#[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 CertificateAuthorityStatus {
#[allow(missing_docs)] Active,
#[allow(missing_docs)] Creating,
#[allow(missing_docs)] Deleted,
#[allow(missing_docs)] Disabled,
#[allow(missing_docs)] Expired,
#[allow(missing_docs)] Failed,
#[allow(missing_docs)] PendingCertificate,
Unknown(String),
}
impl std::convert::From<&str> for CertificateAuthorityStatus {
fn from(s: &str) -> Self {
match s {
"ACTIVE" => CertificateAuthorityStatus::Active,
"CREATING" => CertificateAuthorityStatus::Creating,
"DELETED" => CertificateAuthorityStatus::Deleted,
"DISABLED" => CertificateAuthorityStatus::Disabled,
"EXPIRED" => CertificateAuthorityStatus::Expired,
"FAILED" => CertificateAuthorityStatus::Failed,
"PENDING_CERTIFICATE" => CertificateAuthorityStatus::PendingCertificate,
other => CertificateAuthorityStatus::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for CertificateAuthorityStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(CertificateAuthorityStatus::from(s))
}
}
impl CertificateAuthorityStatus {
pub fn as_str(&self) -> &str {
match self {
CertificateAuthorityStatus::Active => "ACTIVE",
CertificateAuthorityStatus::Creating => "CREATING",
CertificateAuthorityStatus::Deleted => "DELETED",
CertificateAuthorityStatus::Disabled => "DISABLED",
CertificateAuthorityStatus::Expired => "EXPIRED",
CertificateAuthorityStatus::Failed => "FAILED",
CertificateAuthorityStatus::PendingCertificate => "PENDING_CERTIFICATE",
CertificateAuthorityStatus::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&[
"ACTIVE",
"CREATING",
"DELETED",
"DISABLED",
"EXPIRED",
"FAILED",
"PENDING_CERTIFICATE",
]
}
}
impl AsRef<str> for CertificateAuthorityStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct RevocationConfiguration {
pub crl_configuration: std::option::Option<crate::model::CrlConfiguration>,
pub ocsp_configuration: std::option::Option<crate::model::OcspConfiguration>,
}
impl RevocationConfiguration {
pub fn crl_configuration(&self) -> std::option::Option<&crate::model::CrlConfiguration> {
self.crl_configuration.as_ref()
}
pub fn ocsp_configuration(&self) -> std::option::Option<&crate::model::OcspConfiguration> {
self.ocsp_configuration.as_ref()
}
}
impl std::fmt::Debug for RevocationConfiguration {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("RevocationConfiguration");
formatter.field("crl_configuration", &self.crl_configuration);
formatter.field("ocsp_configuration", &self.ocsp_configuration);
formatter.finish()
}
}
pub mod revocation_configuration {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) crl_configuration: std::option::Option<crate::model::CrlConfiguration>,
pub(crate) ocsp_configuration: std::option::Option<crate::model::OcspConfiguration>,
}
impl Builder {
pub fn crl_configuration(mut self, input: crate::model::CrlConfiguration) -> Self {
self.crl_configuration = Some(input);
self
}
pub fn set_crl_configuration(
mut self,
input: std::option::Option<crate::model::CrlConfiguration>,
) -> Self {
self.crl_configuration = input;
self
}
pub fn ocsp_configuration(mut self, input: crate::model::OcspConfiguration) -> Self {
self.ocsp_configuration = Some(input);
self
}
pub fn set_ocsp_configuration(
mut self,
input: std::option::Option<crate::model::OcspConfiguration>,
) -> Self {
self.ocsp_configuration = input;
self
}
pub fn build(self) -> crate::model::RevocationConfiguration {
crate::model::RevocationConfiguration {
crl_configuration: self.crl_configuration,
ocsp_configuration: self.ocsp_configuration,
}
}
}
}
impl RevocationConfiguration {
pub fn builder() -> crate::model::revocation_configuration::Builder {
crate::model::revocation_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct OcspConfiguration {
pub enabled: std::option::Option<bool>,
pub ocsp_custom_cname: std::option::Option<std::string::String>,
}
impl OcspConfiguration {
pub fn enabled(&self) -> std::option::Option<bool> {
self.enabled
}
pub fn ocsp_custom_cname(&self) -> std::option::Option<&str> {
self.ocsp_custom_cname.as_deref()
}
}
impl std::fmt::Debug for OcspConfiguration {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("OcspConfiguration");
formatter.field("enabled", &self.enabled);
formatter.field("ocsp_custom_cname", &self.ocsp_custom_cname);
formatter.finish()
}
}
pub mod ocsp_configuration {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) enabled: std::option::Option<bool>,
pub(crate) ocsp_custom_cname: std::option::Option<std::string::String>,
}
impl Builder {
pub fn enabled(mut self, input: bool) -> Self {
self.enabled = Some(input);
self
}
pub fn set_enabled(mut self, input: std::option::Option<bool>) -> Self {
self.enabled = input;
self
}
pub fn ocsp_custom_cname(mut self, input: impl Into<std::string::String>) -> Self {
self.ocsp_custom_cname = Some(input.into());
self
}
pub fn set_ocsp_custom_cname(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.ocsp_custom_cname = input;
self
}
pub fn build(self) -> crate::model::OcspConfiguration {
crate::model::OcspConfiguration {
enabled: self.enabled,
ocsp_custom_cname: self.ocsp_custom_cname,
}
}
}
}
impl OcspConfiguration {
pub fn builder() -> crate::model::ocsp_configuration::Builder {
crate::model::ocsp_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct CrlConfiguration {
pub enabled: std::option::Option<bool>,
pub expiration_in_days: std::option::Option<i32>,
pub custom_cname: std::option::Option<std::string::String>,
pub s3_bucket_name: std::option::Option<std::string::String>,
pub s3_object_acl: std::option::Option<crate::model::S3ObjectAcl>,
}
impl CrlConfiguration {
pub fn enabled(&self) -> std::option::Option<bool> {
self.enabled
}
pub fn expiration_in_days(&self) -> std::option::Option<i32> {
self.expiration_in_days
}
pub fn custom_cname(&self) -> std::option::Option<&str> {
self.custom_cname.as_deref()
}
pub fn s3_bucket_name(&self) -> std::option::Option<&str> {
self.s3_bucket_name.as_deref()
}
pub fn s3_object_acl(&self) -> std::option::Option<&crate::model::S3ObjectAcl> {
self.s3_object_acl.as_ref()
}
}
impl std::fmt::Debug for CrlConfiguration {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("CrlConfiguration");
formatter.field("enabled", &self.enabled);
formatter.field("expiration_in_days", &self.expiration_in_days);
formatter.field("custom_cname", &self.custom_cname);
formatter.field("s3_bucket_name", &self.s3_bucket_name);
formatter.field("s3_object_acl", &self.s3_object_acl);
formatter.finish()
}
}
pub mod crl_configuration {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) enabled: std::option::Option<bool>,
pub(crate) expiration_in_days: std::option::Option<i32>,
pub(crate) custom_cname: std::option::Option<std::string::String>,
pub(crate) s3_bucket_name: std::option::Option<std::string::String>,
pub(crate) s3_object_acl: std::option::Option<crate::model::S3ObjectAcl>,
}
impl Builder {
pub fn enabled(mut self, input: bool) -> Self {
self.enabled = Some(input);
self
}
pub fn set_enabled(mut self, input: std::option::Option<bool>) -> Self {
self.enabled = input;
self
}
pub fn expiration_in_days(mut self, input: i32) -> Self {
self.expiration_in_days = Some(input);
self
}
pub fn set_expiration_in_days(mut self, input: std::option::Option<i32>) -> Self {
self.expiration_in_days = input;
self
}
pub fn custom_cname(mut self, input: impl Into<std::string::String>) -> Self {
self.custom_cname = Some(input.into());
self
}
pub fn set_custom_cname(mut self, input: std::option::Option<std::string::String>) -> Self {
self.custom_cname = input;
self
}
pub fn s3_bucket_name(mut self, input: impl Into<std::string::String>) -> Self {
self.s3_bucket_name = Some(input.into());
self
}
pub fn set_s3_bucket_name(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.s3_bucket_name = input;
self
}
pub fn s3_object_acl(mut self, input: crate::model::S3ObjectAcl) -> Self {
self.s3_object_acl = Some(input);
self
}
pub fn set_s3_object_acl(
mut self,
input: std::option::Option<crate::model::S3ObjectAcl>,
) -> Self {
self.s3_object_acl = input;
self
}
pub fn build(self) -> crate::model::CrlConfiguration {
crate::model::CrlConfiguration {
enabled: self.enabled,
expiration_in_days: self.expiration_in_days,
custom_cname: self.custom_cname,
s3_bucket_name: self.s3_bucket_name,
s3_object_acl: self.s3_object_acl,
}
}
}
}
impl CrlConfiguration {
pub fn builder() -> crate::model::crl_configuration::Builder {
crate::model::crl_configuration::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 S3ObjectAcl {
#[allow(missing_docs)] BucketOwnerFullControl,
#[allow(missing_docs)] PublicRead,
Unknown(String),
}
impl std::convert::From<&str> for S3ObjectAcl {
fn from(s: &str) -> Self {
match s {
"BUCKET_OWNER_FULL_CONTROL" => S3ObjectAcl::BucketOwnerFullControl,
"PUBLIC_READ" => S3ObjectAcl::PublicRead,
other => S3ObjectAcl::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for S3ObjectAcl {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(S3ObjectAcl::from(s))
}
}
impl S3ObjectAcl {
pub fn as_str(&self) -> &str {
match self {
S3ObjectAcl::BucketOwnerFullControl => "BUCKET_OWNER_FULL_CONTROL",
S3ObjectAcl::PublicRead => "PUBLIC_READ",
S3ObjectAcl::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["BUCKET_OWNER_FULL_CONTROL", "PUBLIC_READ"]
}
}
impl AsRef<str> for S3ObjectAcl {
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()
}
}
#[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 RevocationReason {
#[allow(missing_docs)] AffiliationChanged,
#[allow(missing_docs)] AACompromise,
#[allow(missing_docs)] CertificateAuthorityCompromise,
#[allow(missing_docs)] CessationOfOperation,
#[allow(missing_docs)] KeyCompromise,
#[allow(missing_docs)] PrivilegeWithdrawn,
#[allow(missing_docs)] Superseded,
#[allow(missing_docs)] Unspecified,
Unknown(String),
}
impl std::convert::From<&str> for RevocationReason {
fn from(s: &str) -> Self {
match s {
"AFFILIATION_CHANGED" => RevocationReason::AffiliationChanged,
"A_A_COMPROMISE" => RevocationReason::AACompromise,
"CERTIFICATE_AUTHORITY_COMPROMISE" => RevocationReason::CertificateAuthorityCompromise,
"CESSATION_OF_OPERATION" => RevocationReason::CessationOfOperation,
"KEY_COMPROMISE" => RevocationReason::KeyCompromise,
"PRIVILEGE_WITHDRAWN" => RevocationReason::PrivilegeWithdrawn,
"SUPERSEDED" => RevocationReason::Superseded,
"UNSPECIFIED" => RevocationReason::Unspecified,
other => RevocationReason::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for RevocationReason {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(RevocationReason::from(s))
}
}
impl RevocationReason {
pub fn as_str(&self) -> &str {
match self {
RevocationReason::AffiliationChanged => "AFFILIATION_CHANGED",
RevocationReason::AACompromise => "A_A_COMPROMISE",
RevocationReason::CertificateAuthorityCompromise => "CERTIFICATE_AUTHORITY_COMPROMISE",
RevocationReason::CessationOfOperation => "CESSATION_OF_OPERATION",
RevocationReason::KeyCompromise => "KEY_COMPROMISE",
RevocationReason::PrivilegeWithdrawn => "PRIVILEGE_WITHDRAWN",
RevocationReason::Superseded => "SUPERSEDED",
RevocationReason::Unspecified => "UNSPECIFIED",
RevocationReason::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&[
"AFFILIATION_CHANGED",
"A_A_COMPROMISE",
"CERTIFICATE_AUTHORITY_COMPROMISE",
"CESSATION_OF_OPERATION",
"KEY_COMPROMISE",
"PRIVILEGE_WITHDRAWN",
"SUPERSEDED",
"UNSPECIFIED",
]
}
}
impl AsRef<str> for RevocationReason {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct Permission {
pub certificate_authority_arn: std::option::Option<std::string::String>,
pub created_at: std::option::Option<aws_smithy_types::Instant>,
pub principal: std::option::Option<std::string::String>,
pub source_account: std::option::Option<std::string::String>,
pub actions: std::option::Option<std::vec::Vec<crate::model::ActionType>>,
pub policy: std::option::Option<std::string::String>,
}
impl Permission {
pub fn certificate_authority_arn(&self) -> std::option::Option<&str> {
self.certificate_authority_arn.as_deref()
}
pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::Instant> {
self.created_at.as_ref()
}
pub fn principal(&self) -> std::option::Option<&str> {
self.principal.as_deref()
}
pub fn source_account(&self) -> std::option::Option<&str> {
self.source_account.as_deref()
}
pub fn actions(&self) -> std::option::Option<&[crate::model::ActionType]> {
self.actions.as_deref()
}
pub fn policy(&self) -> std::option::Option<&str> {
self.policy.as_deref()
}
}
impl std::fmt::Debug for Permission {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("Permission");
formatter.field("certificate_authority_arn", &self.certificate_authority_arn);
formatter.field("created_at", &self.created_at);
formatter.field("principal", &self.principal);
formatter.field("source_account", &self.source_account);
formatter.field("actions", &self.actions);
formatter.field("policy", &self.policy);
formatter.finish()
}
}
pub mod permission {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) certificate_authority_arn: std::option::Option<std::string::String>,
pub(crate) created_at: std::option::Option<aws_smithy_types::Instant>,
pub(crate) principal: std::option::Option<std::string::String>,
pub(crate) source_account: std::option::Option<std::string::String>,
pub(crate) actions: std::option::Option<std::vec::Vec<crate::model::ActionType>>,
pub(crate) policy: std::option::Option<std::string::String>,
}
impl Builder {
pub fn certificate_authority_arn(mut self, input: impl Into<std::string::String>) -> Self {
self.certificate_authority_arn = Some(input.into());
self
}
pub fn set_certificate_authority_arn(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.certificate_authority_arn = input;
self
}
pub fn created_at(mut self, input: aws_smithy_types::Instant) -> Self {
self.created_at = Some(input);
self
}
pub fn set_created_at(
mut self,
input: std::option::Option<aws_smithy_types::Instant>,
) -> Self {
self.created_at = input;
self
}
pub fn principal(mut self, input: impl Into<std::string::String>) -> Self {
self.principal = Some(input.into());
self
}
pub fn set_principal(mut self, input: std::option::Option<std::string::String>) -> Self {
self.principal = input;
self
}
pub fn source_account(mut self, input: impl Into<std::string::String>) -> Self {
self.source_account = Some(input.into());
self
}
pub fn set_source_account(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.source_account = input;
self
}
pub fn actions(mut self, input: impl Into<crate::model::ActionType>) -> Self {
let mut v = self.actions.unwrap_or_default();
v.push(input.into());
self.actions = Some(v);
self
}
pub fn set_actions(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::ActionType>>,
) -> Self {
self.actions = input;
self
}
pub fn policy(mut self, input: impl Into<std::string::String>) -> Self {
self.policy = Some(input.into());
self
}
pub fn set_policy(mut self, input: std::option::Option<std::string::String>) -> Self {
self.policy = input;
self
}
pub fn build(self) -> crate::model::Permission {
crate::model::Permission {
certificate_authority_arn: self.certificate_authority_arn,
created_at: self.created_at,
principal: self.principal,
source_account: self.source_account,
actions: self.actions,
policy: self.policy,
}
}
}
}
impl Permission {
pub fn builder() -> crate::model::permission::Builder {
crate::model::permission::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 ActionType {
#[allow(missing_docs)] GetCertificate,
#[allow(missing_docs)] IssueCertificate,
#[allow(missing_docs)] ListPermissions,
Unknown(String),
}
impl std::convert::From<&str> for ActionType {
fn from(s: &str) -> Self {
match s {
"GetCertificate" => ActionType::GetCertificate,
"IssueCertificate" => ActionType::IssueCertificate,
"ListPermissions" => ActionType::ListPermissions,
other => ActionType::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for ActionType {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ActionType::from(s))
}
}
impl ActionType {
pub fn as_str(&self) -> &str {
match self {
ActionType::GetCertificate => "GetCertificate",
ActionType::IssueCertificate => "IssueCertificate",
ActionType::ListPermissions => "ListPermissions",
ActionType::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["GetCertificate", "IssueCertificate", "ListPermissions"]
}
}
impl AsRef<str> for ActionType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct CertificateAuthority {
pub arn: std::option::Option<std::string::String>,
pub owner_account: std::option::Option<std::string::String>,
pub created_at: std::option::Option<aws_smithy_types::Instant>,
pub last_state_change_at: std::option::Option<aws_smithy_types::Instant>,
pub r#type: std::option::Option<crate::model::CertificateAuthorityType>,
pub serial: std::option::Option<std::string::String>,
pub status: std::option::Option<crate::model::CertificateAuthorityStatus>,
pub not_before: std::option::Option<aws_smithy_types::Instant>,
pub not_after: std::option::Option<aws_smithy_types::Instant>,
pub failure_reason: std::option::Option<crate::model::FailureReason>,
pub certificate_authority_configuration:
std::option::Option<crate::model::CertificateAuthorityConfiguration>,
pub revocation_configuration: std::option::Option<crate::model::RevocationConfiguration>,
pub restorable_until: std::option::Option<aws_smithy_types::Instant>,
pub key_storage_security_standard:
std::option::Option<crate::model::KeyStorageSecurityStandard>,
}
impl CertificateAuthority {
pub fn arn(&self) -> std::option::Option<&str> {
self.arn.as_deref()
}
pub fn owner_account(&self) -> std::option::Option<&str> {
self.owner_account.as_deref()
}
pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::Instant> {
self.created_at.as_ref()
}
pub fn last_state_change_at(&self) -> std::option::Option<&aws_smithy_types::Instant> {
self.last_state_change_at.as_ref()
}
pub fn r#type(&self) -> std::option::Option<&crate::model::CertificateAuthorityType> {
self.r#type.as_ref()
}
pub fn serial(&self) -> std::option::Option<&str> {
self.serial.as_deref()
}
pub fn status(&self) -> std::option::Option<&crate::model::CertificateAuthorityStatus> {
self.status.as_ref()
}
pub fn not_before(&self) -> std::option::Option<&aws_smithy_types::Instant> {
self.not_before.as_ref()
}
pub fn not_after(&self) -> std::option::Option<&aws_smithy_types::Instant> {
self.not_after.as_ref()
}
pub fn failure_reason(&self) -> std::option::Option<&crate::model::FailureReason> {
self.failure_reason.as_ref()
}
pub fn certificate_authority_configuration(
&self,
) -> std::option::Option<&crate::model::CertificateAuthorityConfiguration> {
self.certificate_authority_configuration.as_ref()
}
pub fn revocation_configuration(
&self,
) -> std::option::Option<&crate::model::RevocationConfiguration> {
self.revocation_configuration.as_ref()
}
pub fn restorable_until(&self) -> std::option::Option<&aws_smithy_types::Instant> {
self.restorable_until.as_ref()
}
pub fn key_storage_security_standard(
&self,
) -> std::option::Option<&crate::model::KeyStorageSecurityStandard> {
self.key_storage_security_standard.as_ref()
}
}
impl std::fmt::Debug for CertificateAuthority {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("CertificateAuthority");
formatter.field("arn", &self.arn);
formatter.field("owner_account", &self.owner_account);
formatter.field("created_at", &self.created_at);
formatter.field("last_state_change_at", &self.last_state_change_at);
formatter.field("r#type", &self.r#type);
formatter.field("serial", &self.serial);
formatter.field("status", &self.status);
formatter.field("not_before", &self.not_before);
formatter.field("not_after", &self.not_after);
formatter.field("failure_reason", &self.failure_reason);
formatter.field(
"certificate_authority_configuration",
&self.certificate_authority_configuration,
);
formatter.field("revocation_configuration", &self.revocation_configuration);
formatter.field("restorable_until", &self.restorable_until);
formatter.field(
"key_storage_security_standard",
&self.key_storage_security_standard,
);
formatter.finish()
}
}
pub mod certificate_authority {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) arn: std::option::Option<std::string::String>,
pub(crate) owner_account: std::option::Option<std::string::String>,
pub(crate) created_at: std::option::Option<aws_smithy_types::Instant>,
pub(crate) last_state_change_at: std::option::Option<aws_smithy_types::Instant>,
pub(crate) r#type: std::option::Option<crate::model::CertificateAuthorityType>,
pub(crate) serial: std::option::Option<std::string::String>,
pub(crate) status: std::option::Option<crate::model::CertificateAuthorityStatus>,
pub(crate) not_before: std::option::Option<aws_smithy_types::Instant>,
pub(crate) not_after: std::option::Option<aws_smithy_types::Instant>,
pub(crate) failure_reason: std::option::Option<crate::model::FailureReason>,
pub(crate) certificate_authority_configuration:
std::option::Option<crate::model::CertificateAuthorityConfiguration>,
pub(crate) revocation_configuration:
std::option::Option<crate::model::RevocationConfiguration>,
pub(crate) restorable_until: std::option::Option<aws_smithy_types::Instant>,
pub(crate) key_storage_security_standard:
std::option::Option<crate::model::KeyStorageSecurityStandard>,
}
impl Builder {
pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
self.arn = Some(input.into());
self
}
pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
self.arn = input;
self
}
pub fn owner_account(mut self, input: impl Into<std::string::String>) -> Self {
self.owner_account = Some(input.into());
self
}
pub fn set_owner_account(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.owner_account = input;
self
}
pub fn created_at(mut self, input: aws_smithy_types::Instant) -> Self {
self.created_at = Some(input);
self
}
pub fn set_created_at(
mut self,
input: std::option::Option<aws_smithy_types::Instant>,
) -> Self {
self.created_at = input;
self
}
pub fn last_state_change_at(mut self, input: aws_smithy_types::Instant) -> Self {
self.last_state_change_at = Some(input);
self
}
pub fn set_last_state_change_at(
mut self,
input: std::option::Option<aws_smithy_types::Instant>,
) -> Self {
self.last_state_change_at = input;
self
}
pub fn r#type(mut self, input: crate::model::CertificateAuthorityType) -> Self {
self.r#type = Some(input);
self
}
pub fn set_type(
mut self,
input: std::option::Option<crate::model::CertificateAuthorityType>,
) -> Self {
self.r#type = input;
self
}
pub fn serial(mut self, input: impl Into<std::string::String>) -> Self {
self.serial = Some(input.into());
self
}
pub fn set_serial(mut self, input: std::option::Option<std::string::String>) -> Self {
self.serial = input;
self
}
pub fn status(mut self, input: crate::model::CertificateAuthorityStatus) -> Self {
self.status = Some(input);
self
}
pub fn set_status(
mut self,
input: std::option::Option<crate::model::CertificateAuthorityStatus>,
) -> Self {
self.status = input;
self
}
pub fn not_before(mut self, input: aws_smithy_types::Instant) -> Self {
self.not_before = Some(input);
self
}
pub fn set_not_before(
mut self,
input: std::option::Option<aws_smithy_types::Instant>,
) -> Self {
self.not_before = input;
self
}
pub fn not_after(mut self, input: aws_smithy_types::Instant) -> Self {
self.not_after = Some(input);
self
}
pub fn set_not_after(
mut self,
input: std::option::Option<aws_smithy_types::Instant>,
) -> Self {
self.not_after = input;
self
}
pub fn failure_reason(mut self, input: crate::model::FailureReason) -> Self {
self.failure_reason = Some(input);
self
}
pub fn set_failure_reason(
mut self,
input: std::option::Option<crate::model::FailureReason>,
) -> Self {
self.failure_reason = input;
self
}
pub fn certificate_authority_configuration(
mut self,
input: crate::model::CertificateAuthorityConfiguration,
) -> Self {
self.certificate_authority_configuration = Some(input);
self
}
pub fn set_certificate_authority_configuration(
mut self,
input: std::option::Option<crate::model::CertificateAuthorityConfiguration>,
) -> Self {
self.certificate_authority_configuration = input;
self
}
pub fn revocation_configuration(
mut self,
input: crate::model::RevocationConfiguration,
) -> Self {
self.revocation_configuration = Some(input);
self
}
pub fn set_revocation_configuration(
mut self,
input: std::option::Option<crate::model::RevocationConfiguration>,
) -> Self {
self.revocation_configuration = input;
self
}
pub fn restorable_until(mut self, input: aws_smithy_types::Instant) -> Self {
self.restorable_until = Some(input);
self
}
pub fn set_restorable_until(
mut self,
input: std::option::Option<aws_smithy_types::Instant>,
) -> Self {
self.restorable_until = input;
self
}
pub fn key_storage_security_standard(
mut self,
input: crate::model::KeyStorageSecurityStandard,
) -> Self {
self.key_storage_security_standard = Some(input);
self
}
pub fn set_key_storage_security_standard(
mut self,
input: std::option::Option<crate::model::KeyStorageSecurityStandard>,
) -> Self {
self.key_storage_security_standard = input;
self
}
pub fn build(self) -> crate::model::CertificateAuthority {
crate::model::CertificateAuthority {
arn: self.arn,
owner_account: self.owner_account,
created_at: self.created_at,
last_state_change_at: self.last_state_change_at,
r#type: self.r#type,
serial: self.serial,
status: self.status,
not_before: self.not_before,
not_after: self.not_after,
failure_reason: self.failure_reason,
certificate_authority_configuration: self.certificate_authority_configuration,
revocation_configuration: self.revocation_configuration,
restorable_until: self.restorable_until,
key_storage_security_standard: self.key_storage_security_standard,
}
}
}
}
impl CertificateAuthority {
pub fn builder() -> crate::model::certificate_authority::Builder {
crate::model::certificate_authority::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 KeyStorageSecurityStandard {
#[allow(missing_docs)] Fips1402Level2OrHigher,
#[allow(missing_docs)] Fips1402Level3OrHigher,
Unknown(String),
}
impl std::convert::From<&str> for KeyStorageSecurityStandard {
fn from(s: &str) -> Self {
match s {
"FIPS_140_2_LEVEL_2_OR_HIGHER" => KeyStorageSecurityStandard::Fips1402Level2OrHigher,
"FIPS_140_2_LEVEL_3_OR_HIGHER" => KeyStorageSecurityStandard::Fips1402Level3OrHigher,
other => KeyStorageSecurityStandard::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for KeyStorageSecurityStandard {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(KeyStorageSecurityStandard::from(s))
}
}
impl KeyStorageSecurityStandard {
pub fn as_str(&self) -> &str {
match self {
KeyStorageSecurityStandard::Fips1402Level2OrHigher => "FIPS_140_2_LEVEL_2_OR_HIGHER",
KeyStorageSecurityStandard::Fips1402Level3OrHigher => "FIPS_140_2_LEVEL_3_OR_HIGHER",
KeyStorageSecurityStandard::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&[
"FIPS_140_2_LEVEL_2_OR_HIGHER",
"FIPS_140_2_LEVEL_3_OR_HIGHER",
]
}
}
impl AsRef<str> for KeyStorageSecurityStandard {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct CertificateAuthorityConfiguration {
pub key_algorithm: std::option::Option<crate::model::KeyAlgorithm>,
pub signing_algorithm: std::option::Option<crate::model::SigningAlgorithm>,
pub subject: std::option::Option<crate::model::Asn1Subject>,
pub csr_extensions: std::option::Option<crate::model::CsrExtensions>,
}
impl CertificateAuthorityConfiguration {
pub fn key_algorithm(&self) -> std::option::Option<&crate::model::KeyAlgorithm> {
self.key_algorithm.as_ref()
}
pub fn signing_algorithm(&self) -> std::option::Option<&crate::model::SigningAlgorithm> {
self.signing_algorithm.as_ref()
}
pub fn subject(&self) -> std::option::Option<&crate::model::Asn1Subject> {
self.subject.as_ref()
}
pub fn csr_extensions(&self) -> std::option::Option<&crate::model::CsrExtensions> {
self.csr_extensions.as_ref()
}
}
impl std::fmt::Debug for CertificateAuthorityConfiguration {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("CertificateAuthorityConfiguration");
formatter.field("key_algorithm", &self.key_algorithm);
formatter.field("signing_algorithm", &self.signing_algorithm);
formatter.field("subject", &self.subject);
formatter.field("csr_extensions", &self.csr_extensions);
formatter.finish()
}
}
pub mod certificate_authority_configuration {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) key_algorithm: std::option::Option<crate::model::KeyAlgorithm>,
pub(crate) signing_algorithm: std::option::Option<crate::model::SigningAlgorithm>,
pub(crate) subject: std::option::Option<crate::model::Asn1Subject>,
pub(crate) csr_extensions: std::option::Option<crate::model::CsrExtensions>,
}
impl Builder {
pub fn key_algorithm(mut self, input: crate::model::KeyAlgorithm) -> Self {
self.key_algorithm = Some(input);
self
}
pub fn set_key_algorithm(
mut self,
input: std::option::Option<crate::model::KeyAlgorithm>,
) -> Self {
self.key_algorithm = input;
self
}
pub fn signing_algorithm(mut self, input: crate::model::SigningAlgorithm) -> Self {
self.signing_algorithm = Some(input);
self
}
pub fn set_signing_algorithm(
mut self,
input: std::option::Option<crate::model::SigningAlgorithm>,
) -> Self {
self.signing_algorithm = input;
self
}
pub fn subject(mut self, input: crate::model::Asn1Subject) -> Self {
self.subject = Some(input);
self
}
pub fn set_subject(
mut self,
input: std::option::Option<crate::model::Asn1Subject>,
) -> Self {
self.subject = input;
self
}
pub fn csr_extensions(mut self, input: crate::model::CsrExtensions) -> Self {
self.csr_extensions = Some(input);
self
}
pub fn set_csr_extensions(
mut self,
input: std::option::Option<crate::model::CsrExtensions>,
) -> Self {
self.csr_extensions = input;
self
}
pub fn build(self) -> crate::model::CertificateAuthorityConfiguration {
crate::model::CertificateAuthorityConfiguration {
key_algorithm: self.key_algorithm,
signing_algorithm: self.signing_algorithm,
subject: self.subject,
csr_extensions: self.csr_extensions,
}
}
}
}
impl CertificateAuthorityConfiguration {
pub fn builder() -> crate::model::certificate_authority_configuration::Builder {
crate::model::certificate_authority_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct CsrExtensions {
pub key_usage: std::option::Option<crate::model::KeyUsage>,
pub subject_information_access:
std::option::Option<std::vec::Vec<crate::model::AccessDescription>>,
}
impl CsrExtensions {
pub fn key_usage(&self) -> std::option::Option<&crate::model::KeyUsage> {
self.key_usage.as_ref()
}
pub fn subject_information_access(
&self,
) -> std::option::Option<&[crate::model::AccessDescription]> {
self.subject_information_access.as_deref()
}
}
impl std::fmt::Debug for CsrExtensions {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("CsrExtensions");
formatter.field("key_usage", &self.key_usage);
formatter.field(
"subject_information_access",
&self.subject_information_access,
);
formatter.finish()
}
}
pub mod csr_extensions {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) key_usage: std::option::Option<crate::model::KeyUsage>,
pub(crate) subject_information_access:
std::option::Option<std::vec::Vec<crate::model::AccessDescription>>,
}
impl Builder {
pub fn key_usage(mut self, input: crate::model::KeyUsage) -> Self {
self.key_usage = Some(input);
self
}
pub fn set_key_usage(mut self, input: std::option::Option<crate::model::KeyUsage>) -> Self {
self.key_usage = input;
self
}
pub fn subject_information_access(
mut self,
input: impl Into<crate::model::AccessDescription>,
) -> Self {
let mut v = self.subject_information_access.unwrap_or_default();
v.push(input.into());
self.subject_information_access = Some(v);
self
}
pub fn set_subject_information_access(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::AccessDescription>>,
) -> Self {
self.subject_information_access = input;
self
}
pub fn build(self) -> crate::model::CsrExtensions {
crate::model::CsrExtensions {
key_usage: self.key_usage,
subject_information_access: self.subject_information_access,
}
}
}
}
impl CsrExtensions {
pub fn builder() -> crate::model::csr_extensions::Builder {
crate::model::csr_extensions::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct AccessDescription {
pub access_method: std::option::Option<crate::model::AccessMethod>,
pub access_location: std::option::Option<crate::model::GeneralName>,
}
impl AccessDescription {
pub fn access_method(&self) -> std::option::Option<&crate::model::AccessMethod> {
self.access_method.as_ref()
}
pub fn access_location(&self) -> std::option::Option<&crate::model::GeneralName> {
self.access_location.as_ref()
}
}
impl std::fmt::Debug for AccessDescription {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("AccessDescription");
formatter.field("access_method", &self.access_method);
formatter.field("access_location", &self.access_location);
formatter.finish()
}
}
pub mod access_description {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) access_method: std::option::Option<crate::model::AccessMethod>,
pub(crate) access_location: std::option::Option<crate::model::GeneralName>,
}
impl Builder {
pub fn access_method(mut self, input: crate::model::AccessMethod) -> Self {
self.access_method = Some(input);
self
}
pub fn set_access_method(
mut self,
input: std::option::Option<crate::model::AccessMethod>,
) -> Self {
self.access_method = input;
self
}
pub fn access_location(mut self, input: crate::model::GeneralName) -> Self {
self.access_location = Some(input);
self
}
pub fn set_access_location(
mut self,
input: std::option::Option<crate::model::GeneralName>,
) -> Self {
self.access_location = input;
self
}
pub fn build(self) -> crate::model::AccessDescription {
crate::model::AccessDescription {
access_method: self.access_method,
access_location: self.access_location,
}
}
}
}
impl AccessDescription {
pub fn builder() -> crate::model::access_description::Builder {
crate::model::access_description::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct GeneralName {
pub other_name: std::option::Option<crate::model::OtherName>,
pub rfc822_name: std::option::Option<std::string::String>,
pub dns_name: std::option::Option<std::string::String>,
pub directory_name: std::option::Option<crate::model::Asn1Subject>,
pub edi_party_name: std::option::Option<crate::model::EdiPartyName>,
pub uniform_resource_identifier: std::option::Option<std::string::String>,
pub ip_address: std::option::Option<std::string::String>,
pub registered_id: std::option::Option<std::string::String>,
}
impl GeneralName {
pub fn other_name(&self) -> std::option::Option<&crate::model::OtherName> {
self.other_name.as_ref()
}
pub fn rfc822_name(&self) -> std::option::Option<&str> {
self.rfc822_name.as_deref()
}
pub fn dns_name(&self) -> std::option::Option<&str> {
self.dns_name.as_deref()
}
pub fn directory_name(&self) -> std::option::Option<&crate::model::Asn1Subject> {
self.directory_name.as_ref()
}
pub fn edi_party_name(&self) -> std::option::Option<&crate::model::EdiPartyName> {
self.edi_party_name.as_ref()
}
pub fn uniform_resource_identifier(&self) -> std::option::Option<&str> {
self.uniform_resource_identifier.as_deref()
}
pub fn ip_address(&self) -> std::option::Option<&str> {
self.ip_address.as_deref()
}
pub fn registered_id(&self) -> std::option::Option<&str> {
self.registered_id.as_deref()
}
}
impl std::fmt::Debug for GeneralName {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("GeneralName");
formatter.field("other_name", &self.other_name);
formatter.field("rfc822_name", &self.rfc822_name);
formatter.field("dns_name", &self.dns_name);
formatter.field("directory_name", &self.directory_name);
formatter.field("edi_party_name", &self.edi_party_name);
formatter.field(
"uniform_resource_identifier",
&self.uniform_resource_identifier,
);
formatter.field("ip_address", &self.ip_address);
formatter.field("registered_id", &self.registered_id);
formatter.finish()
}
}
pub mod general_name {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) other_name: std::option::Option<crate::model::OtherName>,
pub(crate) rfc822_name: std::option::Option<std::string::String>,
pub(crate) dns_name: std::option::Option<std::string::String>,
pub(crate) directory_name: std::option::Option<crate::model::Asn1Subject>,
pub(crate) edi_party_name: std::option::Option<crate::model::EdiPartyName>,
pub(crate) uniform_resource_identifier: std::option::Option<std::string::String>,
pub(crate) ip_address: std::option::Option<std::string::String>,
pub(crate) registered_id: std::option::Option<std::string::String>,
}
impl Builder {
pub fn other_name(mut self, input: crate::model::OtherName) -> Self {
self.other_name = Some(input);
self
}
pub fn set_other_name(
mut self,
input: std::option::Option<crate::model::OtherName>,
) -> Self {
self.other_name = input;
self
}
pub fn rfc822_name(mut self, input: impl Into<std::string::String>) -> Self {
self.rfc822_name = Some(input.into());
self
}
pub fn set_rfc822_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.rfc822_name = input;
self
}
pub fn dns_name(mut self, input: impl Into<std::string::String>) -> Self {
self.dns_name = Some(input.into());
self
}
pub fn set_dns_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.dns_name = input;
self
}
pub fn directory_name(mut self, input: crate::model::Asn1Subject) -> Self {
self.directory_name = Some(input);
self
}
pub fn set_directory_name(
mut self,
input: std::option::Option<crate::model::Asn1Subject>,
) -> Self {
self.directory_name = input;
self
}
pub fn edi_party_name(mut self, input: crate::model::EdiPartyName) -> Self {
self.edi_party_name = Some(input);
self
}
pub fn set_edi_party_name(
mut self,
input: std::option::Option<crate::model::EdiPartyName>,
) -> Self {
self.edi_party_name = input;
self
}
pub fn uniform_resource_identifier(
mut self,
input: impl Into<std::string::String>,
) -> Self {
self.uniform_resource_identifier = Some(input.into());
self
}
pub fn set_uniform_resource_identifier(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.uniform_resource_identifier = 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 registered_id(mut self, input: impl Into<std::string::String>) -> Self {
self.registered_id = Some(input.into());
self
}
pub fn set_registered_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.registered_id = input;
self
}
pub fn build(self) -> crate::model::GeneralName {
crate::model::GeneralName {
other_name: self.other_name,
rfc822_name: self.rfc822_name,
dns_name: self.dns_name,
directory_name: self.directory_name,
edi_party_name: self.edi_party_name,
uniform_resource_identifier: self.uniform_resource_identifier,
ip_address: self.ip_address,
registered_id: self.registered_id,
}
}
}
}
impl GeneralName {
pub fn builder() -> crate::model::general_name::Builder {
crate::model::general_name::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct EdiPartyName {
pub party_name: std::option::Option<std::string::String>,
pub name_assigner: std::option::Option<std::string::String>,
}
impl EdiPartyName {
pub fn party_name(&self) -> std::option::Option<&str> {
self.party_name.as_deref()
}
pub fn name_assigner(&self) -> std::option::Option<&str> {
self.name_assigner.as_deref()
}
}
impl std::fmt::Debug for EdiPartyName {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("EdiPartyName");
formatter.field("party_name", &self.party_name);
formatter.field("name_assigner", &self.name_assigner);
formatter.finish()
}
}
pub mod edi_party_name {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) party_name: std::option::Option<std::string::String>,
pub(crate) name_assigner: std::option::Option<std::string::String>,
}
impl Builder {
pub fn party_name(mut self, input: impl Into<std::string::String>) -> Self {
self.party_name = Some(input.into());
self
}
pub fn set_party_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.party_name = input;
self
}
pub fn name_assigner(mut self, input: impl Into<std::string::String>) -> Self {
self.name_assigner = Some(input.into());
self
}
pub fn set_name_assigner(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.name_assigner = input;
self
}
pub fn build(self) -> crate::model::EdiPartyName {
crate::model::EdiPartyName {
party_name: self.party_name,
name_assigner: self.name_assigner,
}
}
}
}
impl EdiPartyName {
pub fn builder() -> crate::model::edi_party_name::Builder {
crate::model::edi_party_name::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct Asn1Subject {
pub country: std::option::Option<std::string::String>,
pub organization: std::option::Option<std::string::String>,
pub organizational_unit: std::option::Option<std::string::String>,
pub distinguished_name_qualifier: std::option::Option<std::string::String>,
pub state: std::option::Option<std::string::String>,
pub common_name: std::option::Option<std::string::String>,
pub serial_number: std::option::Option<std::string::String>,
pub locality: std::option::Option<std::string::String>,
pub title: std::option::Option<std::string::String>,
pub surname: std::option::Option<std::string::String>,
pub given_name: std::option::Option<std::string::String>,
pub initials: std::option::Option<std::string::String>,
pub pseudonym: std::option::Option<std::string::String>,
pub generation_qualifier: std::option::Option<std::string::String>,
}
impl Asn1Subject {
pub fn country(&self) -> std::option::Option<&str> {
self.country.as_deref()
}
pub fn organization(&self) -> std::option::Option<&str> {
self.organization.as_deref()
}
pub fn organizational_unit(&self) -> std::option::Option<&str> {
self.organizational_unit.as_deref()
}
pub fn distinguished_name_qualifier(&self) -> std::option::Option<&str> {
self.distinguished_name_qualifier.as_deref()
}
pub fn state(&self) -> std::option::Option<&str> {
self.state.as_deref()
}
pub fn common_name(&self) -> std::option::Option<&str> {
self.common_name.as_deref()
}
pub fn serial_number(&self) -> std::option::Option<&str> {
self.serial_number.as_deref()
}
pub fn locality(&self) -> std::option::Option<&str> {
self.locality.as_deref()
}
pub fn title(&self) -> std::option::Option<&str> {
self.title.as_deref()
}
pub fn surname(&self) -> std::option::Option<&str> {
self.surname.as_deref()
}
pub fn given_name(&self) -> std::option::Option<&str> {
self.given_name.as_deref()
}
pub fn initials(&self) -> std::option::Option<&str> {
self.initials.as_deref()
}
pub fn pseudonym(&self) -> std::option::Option<&str> {
self.pseudonym.as_deref()
}
pub fn generation_qualifier(&self) -> std::option::Option<&str> {
self.generation_qualifier.as_deref()
}
}
impl std::fmt::Debug for Asn1Subject {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("Asn1Subject");
formatter.field("country", &self.country);
formatter.field("organization", &self.organization);
formatter.field("organizational_unit", &self.organizational_unit);
formatter.field(
"distinguished_name_qualifier",
&self.distinguished_name_qualifier,
);
formatter.field("state", &self.state);
formatter.field("common_name", &self.common_name);
formatter.field("serial_number", &self.serial_number);
formatter.field("locality", &self.locality);
formatter.field("title", &self.title);
formatter.field("surname", &self.surname);
formatter.field("given_name", &self.given_name);
formatter.field("initials", &self.initials);
formatter.field("pseudonym", &self.pseudonym);
formatter.field("generation_qualifier", &self.generation_qualifier);
formatter.finish()
}
}
pub mod asn1_subject {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) country: std::option::Option<std::string::String>,
pub(crate) organization: std::option::Option<std::string::String>,
pub(crate) organizational_unit: std::option::Option<std::string::String>,
pub(crate) distinguished_name_qualifier: std::option::Option<std::string::String>,
pub(crate) state: std::option::Option<std::string::String>,
pub(crate) common_name: std::option::Option<std::string::String>,
pub(crate) serial_number: std::option::Option<std::string::String>,
pub(crate) locality: std::option::Option<std::string::String>,
pub(crate) title: std::option::Option<std::string::String>,
pub(crate) surname: std::option::Option<std::string::String>,
pub(crate) given_name: std::option::Option<std::string::String>,
pub(crate) initials: std::option::Option<std::string::String>,
pub(crate) pseudonym: std::option::Option<std::string::String>,
pub(crate) generation_qualifier: std::option::Option<std::string::String>,
}
impl Builder {
pub fn country(mut self, input: impl Into<std::string::String>) -> Self {
self.country = Some(input.into());
self
}
pub fn set_country(mut self, input: std::option::Option<std::string::String>) -> Self {
self.country = input;
self
}
pub fn organization(mut self, input: impl Into<std::string::String>) -> Self {
self.organization = Some(input.into());
self
}
pub fn set_organization(mut self, input: std::option::Option<std::string::String>) -> Self {
self.organization = input;
self
}
pub fn organizational_unit(mut self, input: impl Into<std::string::String>) -> Self {
self.organizational_unit = Some(input.into());
self
}
pub fn set_organizational_unit(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.organizational_unit = input;
self
}
pub fn distinguished_name_qualifier(
mut self,
input: impl Into<std::string::String>,
) -> Self {
self.distinguished_name_qualifier = Some(input.into());
self
}
pub fn set_distinguished_name_qualifier(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.distinguished_name_qualifier = input;
self
}
pub fn state(mut self, input: impl Into<std::string::String>) -> Self {
self.state = Some(input.into());
self
}
pub fn set_state(mut self, input: std::option::Option<std::string::String>) -> Self {
self.state = input;
self
}
pub fn common_name(mut self, input: impl Into<std::string::String>) -> Self {
self.common_name = Some(input.into());
self
}
pub fn set_common_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.common_name = input;
self
}
pub fn serial_number(mut self, input: impl Into<std::string::String>) -> Self {
self.serial_number = Some(input.into());
self
}
pub fn set_serial_number(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.serial_number = input;
self
}
pub fn locality(mut self, input: impl Into<std::string::String>) -> Self {
self.locality = Some(input.into());
self
}
pub fn set_locality(mut self, input: std::option::Option<std::string::String>) -> Self {
self.locality = input;
self
}
pub fn title(mut self, input: impl Into<std::string::String>) -> Self {
self.title = Some(input.into());
self
}
pub fn set_title(mut self, input: std::option::Option<std::string::String>) -> Self {
self.title = input;
self
}
pub fn surname(mut self, input: impl Into<std::string::String>) -> Self {
self.surname = Some(input.into());
self
}
pub fn set_surname(mut self, input: std::option::Option<std::string::String>) -> Self {
self.surname = input;
self
}
pub fn given_name(mut self, input: impl Into<std::string::String>) -> Self {
self.given_name = Some(input.into());
self
}
pub fn set_given_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.given_name = input;
self
}
pub fn initials(mut self, input: impl Into<std::string::String>) -> Self {
self.initials = Some(input.into());
self
}
pub fn set_initials(mut self, input: std::option::Option<std::string::String>) -> Self {
self.initials = input;
self
}
pub fn pseudonym(mut self, input: impl Into<std::string::String>) -> Self {
self.pseudonym = Some(input.into());
self
}
pub fn set_pseudonym(mut self, input: std::option::Option<std::string::String>) -> Self {
self.pseudonym = input;
self
}
pub fn generation_qualifier(mut self, input: impl Into<std::string::String>) -> Self {
self.generation_qualifier = Some(input.into());
self
}
pub fn set_generation_qualifier(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.generation_qualifier = input;
self
}
pub fn build(self) -> crate::model::Asn1Subject {
crate::model::Asn1Subject {
country: self.country,
organization: self.organization,
organizational_unit: self.organizational_unit,
distinguished_name_qualifier: self.distinguished_name_qualifier,
state: self.state,
common_name: self.common_name,
serial_number: self.serial_number,
locality: self.locality,
title: self.title,
surname: self.surname,
given_name: self.given_name,
initials: self.initials,
pseudonym: self.pseudonym,
generation_qualifier: self.generation_qualifier,
}
}
}
}
impl Asn1Subject {
pub fn builder() -> crate::model::asn1_subject::Builder {
crate::model::asn1_subject::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct OtherName {
pub type_id: std::option::Option<std::string::String>,
pub value: std::option::Option<std::string::String>,
}
impl OtherName {
pub fn type_id(&self) -> std::option::Option<&str> {
self.type_id.as_deref()
}
pub fn value(&self) -> std::option::Option<&str> {
self.value.as_deref()
}
}
impl std::fmt::Debug for OtherName {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("OtherName");
formatter.field("type_id", &self.type_id);
formatter.field("value", &self.value);
formatter.finish()
}
}
pub mod other_name {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) type_id: std::option::Option<std::string::String>,
pub(crate) value: std::option::Option<std::string::String>,
}
impl Builder {
pub fn type_id(mut self, input: impl Into<std::string::String>) -> Self {
self.type_id = Some(input.into());
self
}
pub fn set_type_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.type_id = 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::OtherName {
crate::model::OtherName {
type_id: self.type_id,
value: self.value,
}
}
}
}
impl OtherName {
pub fn builder() -> crate::model::other_name::Builder {
crate::model::other_name::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct AccessMethod {
pub custom_object_identifier: std::option::Option<std::string::String>,
pub access_method_type: std::option::Option<crate::model::AccessMethodType>,
}
impl AccessMethod {
pub fn custom_object_identifier(&self) -> std::option::Option<&str> {
self.custom_object_identifier.as_deref()
}
pub fn access_method_type(&self) -> std::option::Option<&crate::model::AccessMethodType> {
self.access_method_type.as_ref()
}
}
impl std::fmt::Debug for AccessMethod {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("AccessMethod");
formatter.field("custom_object_identifier", &self.custom_object_identifier);
formatter.field("access_method_type", &self.access_method_type);
formatter.finish()
}
}
pub mod access_method {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) custom_object_identifier: std::option::Option<std::string::String>,
pub(crate) access_method_type: std::option::Option<crate::model::AccessMethodType>,
}
impl Builder {
pub fn custom_object_identifier(mut self, input: impl Into<std::string::String>) -> Self {
self.custom_object_identifier = Some(input.into());
self
}
pub fn set_custom_object_identifier(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.custom_object_identifier = input;
self
}
pub fn access_method_type(mut self, input: crate::model::AccessMethodType) -> Self {
self.access_method_type = Some(input);
self
}
pub fn set_access_method_type(
mut self,
input: std::option::Option<crate::model::AccessMethodType>,
) -> Self {
self.access_method_type = input;
self
}
pub fn build(self) -> crate::model::AccessMethod {
crate::model::AccessMethod {
custom_object_identifier: self.custom_object_identifier,
access_method_type: self.access_method_type,
}
}
}
}
impl AccessMethod {
pub fn builder() -> crate::model::access_method::Builder {
crate::model::access_method::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 AccessMethodType {
#[allow(missing_docs)] CaRepository,
#[allow(missing_docs)] ResourcePkiManifest,
#[allow(missing_docs)] ResourcePkiNotify,
Unknown(String),
}
impl std::convert::From<&str> for AccessMethodType {
fn from(s: &str) -> Self {
match s {
"CA_REPOSITORY" => AccessMethodType::CaRepository,
"RESOURCE_PKI_MANIFEST" => AccessMethodType::ResourcePkiManifest,
"RESOURCE_PKI_NOTIFY" => AccessMethodType::ResourcePkiNotify,
other => AccessMethodType::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for AccessMethodType {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(AccessMethodType::from(s))
}
}
impl AccessMethodType {
pub fn as_str(&self) -> &str {
match self {
AccessMethodType::CaRepository => "CA_REPOSITORY",
AccessMethodType::ResourcePkiManifest => "RESOURCE_PKI_MANIFEST",
AccessMethodType::ResourcePkiNotify => "RESOURCE_PKI_NOTIFY",
AccessMethodType::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&[
"CA_REPOSITORY",
"RESOURCE_PKI_MANIFEST",
"RESOURCE_PKI_NOTIFY",
]
}
}
impl AsRef<str> for AccessMethodType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct KeyUsage {
pub digital_signature: bool,
pub non_repudiation: bool,
pub key_encipherment: bool,
pub data_encipherment: bool,
pub key_agreement: bool,
pub key_cert_sign: bool,
pub crl_sign: bool,
pub encipher_only: bool,
pub decipher_only: bool,
}
impl KeyUsage {
pub fn digital_signature(&self) -> bool {
self.digital_signature
}
pub fn non_repudiation(&self) -> bool {
self.non_repudiation
}
pub fn key_encipherment(&self) -> bool {
self.key_encipherment
}
pub fn data_encipherment(&self) -> bool {
self.data_encipherment
}
pub fn key_agreement(&self) -> bool {
self.key_agreement
}
pub fn key_cert_sign(&self) -> bool {
self.key_cert_sign
}
pub fn crl_sign(&self) -> bool {
self.crl_sign
}
pub fn encipher_only(&self) -> bool {
self.encipher_only
}
pub fn decipher_only(&self) -> bool {
self.decipher_only
}
}
impl std::fmt::Debug for KeyUsage {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("KeyUsage");
formatter.field("digital_signature", &self.digital_signature);
formatter.field("non_repudiation", &self.non_repudiation);
formatter.field("key_encipherment", &self.key_encipherment);
formatter.field("data_encipherment", &self.data_encipherment);
formatter.field("key_agreement", &self.key_agreement);
formatter.field("key_cert_sign", &self.key_cert_sign);
formatter.field("crl_sign", &self.crl_sign);
formatter.field("encipher_only", &self.encipher_only);
formatter.field("decipher_only", &self.decipher_only);
formatter.finish()
}
}
pub mod key_usage {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) digital_signature: std::option::Option<bool>,
pub(crate) non_repudiation: std::option::Option<bool>,
pub(crate) key_encipherment: std::option::Option<bool>,
pub(crate) data_encipherment: std::option::Option<bool>,
pub(crate) key_agreement: std::option::Option<bool>,
pub(crate) key_cert_sign: std::option::Option<bool>,
pub(crate) crl_sign: std::option::Option<bool>,
pub(crate) encipher_only: std::option::Option<bool>,
pub(crate) decipher_only: std::option::Option<bool>,
}
impl Builder {
pub fn digital_signature(mut self, input: bool) -> Self {
self.digital_signature = Some(input);
self
}
pub fn set_digital_signature(mut self, input: std::option::Option<bool>) -> Self {
self.digital_signature = input;
self
}
pub fn non_repudiation(mut self, input: bool) -> Self {
self.non_repudiation = Some(input);
self
}
pub fn set_non_repudiation(mut self, input: std::option::Option<bool>) -> Self {
self.non_repudiation = input;
self
}
pub fn key_encipherment(mut self, input: bool) -> Self {
self.key_encipherment = Some(input);
self
}
pub fn set_key_encipherment(mut self, input: std::option::Option<bool>) -> Self {
self.key_encipherment = input;
self
}
pub fn data_encipherment(mut self, input: bool) -> Self {
self.data_encipherment = Some(input);
self
}
pub fn set_data_encipherment(mut self, input: std::option::Option<bool>) -> Self {
self.data_encipherment = input;
self
}
pub fn key_agreement(mut self, input: bool) -> Self {
self.key_agreement = Some(input);
self
}
pub fn set_key_agreement(mut self, input: std::option::Option<bool>) -> Self {
self.key_agreement = input;
self
}
pub fn key_cert_sign(mut self, input: bool) -> Self {
self.key_cert_sign = Some(input);
self
}
pub fn set_key_cert_sign(mut self, input: std::option::Option<bool>) -> Self {
self.key_cert_sign = input;
self
}
pub fn crl_sign(mut self, input: bool) -> Self {
self.crl_sign = Some(input);
self
}
pub fn set_crl_sign(mut self, input: std::option::Option<bool>) -> Self {
self.crl_sign = input;
self
}
pub fn encipher_only(mut self, input: bool) -> Self {
self.encipher_only = Some(input);
self
}
pub fn set_encipher_only(mut self, input: std::option::Option<bool>) -> Self {
self.encipher_only = input;
self
}
pub fn decipher_only(mut self, input: bool) -> Self {
self.decipher_only = Some(input);
self
}
pub fn set_decipher_only(mut self, input: std::option::Option<bool>) -> Self {
self.decipher_only = input;
self
}
pub fn build(self) -> crate::model::KeyUsage {
crate::model::KeyUsage {
digital_signature: self.digital_signature.unwrap_or_default(),
non_repudiation: self.non_repudiation.unwrap_or_default(),
key_encipherment: self.key_encipherment.unwrap_or_default(),
data_encipherment: self.data_encipherment.unwrap_or_default(),
key_agreement: self.key_agreement.unwrap_or_default(),
key_cert_sign: self.key_cert_sign.unwrap_or_default(),
crl_sign: self.crl_sign.unwrap_or_default(),
encipher_only: self.encipher_only.unwrap_or_default(),
decipher_only: self.decipher_only.unwrap_or_default(),
}
}
}
}
impl KeyUsage {
pub fn builder() -> crate::model::key_usage::Builder {
crate::model::key_usage::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 SigningAlgorithm {
#[allow(missing_docs)] Sha256Withecdsa,
#[allow(missing_docs)] Sha256Withrsa,
#[allow(missing_docs)] Sha384Withecdsa,
#[allow(missing_docs)] Sha384Withrsa,
#[allow(missing_docs)] Sha512Withecdsa,
#[allow(missing_docs)] Sha512Withrsa,
Unknown(String),
}
impl std::convert::From<&str> for SigningAlgorithm {
fn from(s: &str) -> Self {
match s {
"SHA256WITHECDSA" => SigningAlgorithm::Sha256Withecdsa,
"SHA256WITHRSA" => SigningAlgorithm::Sha256Withrsa,
"SHA384WITHECDSA" => SigningAlgorithm::Sha384Withecdsa,
"SHA384WITHRSA" => SigningAlgorithm::Sha384Withrsa,
"SHA512WITHECDSA" => SigningAlgorithm::Sha512Withecdsa,
"SHA512WITHRSA" => SigningAlgorithm::Sha512Withrsa,
other => SigningAlgorithm::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for SigningAlgorithm {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(SigningAlgorithm::from(s))
}
}
impl SigningAlgorithm {
pub fn as_str(&self) -> &str {
match self {
SigningAlgorithm::Sha256Withecdsa => "SHA256WITHECDSA",
SigningAlgorithm::Sha256Withrsa => "SHA256WITHRSA",
SigningAlgorithm::Sha384Withecdsa => "SHA384WITHECDSA",
SigningAlgorithm::Sha384Withrsa => "SHA384WITHRSA",
SigningAlgorithm::Sha512Withecdsa => "SHA512WITHECDSA",
SigningAlgorithm::Sha512Withrsa => "SHA512WITHRSA",
SigningAlgorithm::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&[
"SHA256WITHECDSA",
"SHA256WITHRSA",
"SHA384WITHECDSA",
"SHA384WITHRSA",
"SHA512WITHECDSA",
"SHA512WITHRSA",
]
}
}
impl AsRef<str> for SigningAlgorithm {
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 KeyAlgorithm {
#[allow(missing_docs)] EcPrime256v1,
#[allow(missing_docs)] EcSecp384r1,
#[allow(missing_docs)] Rsa2048,
#[allow(missing_docs)] Rsa4096,
Unknown(String),
}
impl std::convert::From<&str> for KeyAlgorithm {
fn from(s: &str) -> Self {
match s {
"EC_prime256v1" => KeyAlgorithm::EcPrime256v1,
"EC_secp384r1" => KeyAlgorithm::EcSecp384r1,
"RSA_2048" => KeyAlgorithm::Rsa2048,
"RSA_4096" => KeyAlgorithm::Rsa4096,
other => KeyAlgorithm::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for KeyAlgorithm {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(KeyAlgorithm::from(s))
}
}
impl KeyAlgorithm {
pub fn as_str(&self) -> &str {
match self {
KeyAlgorithm::EcPrime256v1 => "EC_prime256v1",
KeyAlgorithm::EcSecp384r1 => "EC_secp384r1",
KeyAlgorithm::Rsa2048 => "RSA_2048",
KeyAlgorithm::Rsa4096 => "RSA_4096",
KeyAlgorithm::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["EC_prime256v1", "EC_secp384r1", "RSA_2048", "RSA_4096"]
}
}
impl AsRef<str> for KeyAlgorithm {
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 FailureReason {
#[allow(missing_docs)] Other,
#[allow(missing_docs)] RequestTimedOut,
#[allow(missing_docs)] UnsupportedAlgorithm,
Unknown(String),
}
impl std::convert::From<&str> for FailureReason {
fn from(s: &str) -> Self {
match s {
"OTHER" => FailureReason::Other,
"REQUEST_TIMED_OUT" => FailureReason::RequestTimedOut,
"UNSUPPORTED_ALGORITHM" => FailureReason::UnsupportedAlgorithm,
other => FailureReason::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for FailureReason {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(FailureReason::from(s))
}
}
impl FailureReason {
pub fn as_str(&self) -> &str {
match self {
FailureReason::Other => "OTHER",
FailureReason::RequestTimedOut => "REQUEST_TIMED_OUT",
FailureReason::UnsupportedAlgorithm => "UNSUPPORTED_ALGORITHM",
FailureReason::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["OTHER", "REQUEST_TIMED_OUT", "UNSUPPORTED_ALGORITHM"]
}
}
impl AsRef<str> for FailureReason {
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 CertificateAuthorityType {
#[allow(missing_docs)] Root,
#[allow(missing_docs)] Subordinate,
Unknown(String),
}
impl std::convert::From<&str> for CertificateAuthorityType {
fn from(s: &str) -> Self {
match s {
"ROOT" => CertificateAuthorityType::Root,
"SUBORDINATE" => CertificateAuthorityType::Subordinate,
other => CertificateAuthorityType::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for CertificateAuthorityType {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(CertificateAuthorityType::from(s))
}
}
impl CertificateAuthorityType {
pub fn as_str(&self) -> &str {
match self {
CertificateAuthorityType::Root => "ROOT",
CertificateAuthorityType::Subordinate => "SUBORDINATE",
CertificateAuthorityType::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["ROOT", "SUBORDINATE"]
}
}
impl AsRef<str> for CertificateAuthorityType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[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 ResourceOwner {
#[allow(missing_docs)] OtherAccounts,
SelfValue,
Unknown(String),
}
impl std::convert::From<&str> for ResourceOwner {
fn from(s: &str) -> Self {
match s {
"OTHER_ACCOUNTS" => ResourceOwner::OtherAccounts,
"SELF" => ResourceOwner::SelfValue,
other => ResourceOwner::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for ResourceOwner {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ResourceOwner::from(s))
}
}
impl ResourceOwner {
pub fn as_str(&self) -> &str {
match self {
ResourceOwner::OtherAccounts => "OTHER_ACCOUNTS",
ResourceOwner::SelfValue => "SELF",
ResourceOwner::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["OTHER_ACCOUNTS", "SELF"]
}
}
impl AsRef<str> for ResourceOwner {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct Validity {
pub value: std::option::Option<i64>,
pub r#type: std::option::Option<crate::model::ValidityPeriodType>,
}
impl Validity {
pub fn value(&self) -> std::option::Option<i64> {
self.value
}
pub fn r#type(&self) -> std::option::Option<&crate::model::ValidityPeriodType> {
self.r#type.as_ref()
}
}
impl std::fmt::Debug for Validity {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("Validity");
formatter.field("value", &self.value);
formatter.field("r#type", &self.r#type);
formatter.finish()
}
}
pub mod validity {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) value: std::option::Option<i64>,
pub(crate) r#type: std::option::Option<crate::model::ValidityPeriodType>,
}
impl Builder {
pub fn value(mut self, input: i64) -> Self {
self.value = Some(input);
self
}
pub fn set_value(mut self, input: std::option::Option<i64>) -> Self {
self.value = input;
self
}
pub fn r#type(mut self, input: crate::model::ValidityPeriodType) -> Self {
self.r#type = Some(input);
self
}
pub fn set_type(
mut self,
input: std::option::Option<crate::model::ValidityPeriodType>,
) -> Self {
self.r#type = input;
self
}
pub fn build(self) -> crate::model::Validity {
crate::model::Validity {
value: self.value,
r#type: self.r#type,
}
}
}
}
impl Validity {
pub fn builder() -> crate::model::validity::Builder {
crate::model::validity::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 ValidityPeriodType {
#[allow(missing_docs)] Absolute,
#[allow(missing_docs)] Days,
#[allow(missing_docs)] EndDate,
#[allow(missing_docs)] Months,
#[allow(missing_docs)] Years,
Unknown(String),
}
impl std::convert::From<&str> for ValidityPeriodType {
fn from(s: &str) -> Self {
match s {
"ABSOLUTE" => ValidityPeriodType::Absolute,
"DAYS" => ValidityPeriodType::Days,
"END_DATE" => ValidityPeriodType::EndDate,
"MONTHS" => ValidityPeriodType::Months,
"YEARS" => ValidityPeriodType::Years,
other => ValidityPeriodType::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for ValidityPeriodType {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ValidityPeriodType::from(s))
}
}
impl ValidityPeriodType {
pub fn as_str(&self) -> &str {
match self {
ValidityPeriodType::Absolute => "ABSOLUTE",
ValidityPeriodType::Days => "DAYS",
ValidityPeriodType::EndDate => "END_DATE",
ValidityPeriodType::Months => "MONTHS",
ValidityPeriodType::Years => "YEARS",
ValidityPeriodType::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["ABSOLUTE", "DAYS", "END_DATE", "MONTHS", "YEARS"]
}
}
impl AsRef<str> for ValidityPeriodType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct ApiPassthrough {
pub extensions: std::option::Option<crate::model::Extensions>,
pub subject: std::option::Option<crate::model::Asn1Subject>,
}
impl ApiPassthrough {
pub fn extensions(&self) -> std::option::Option<&crate::model::Extensions> {
self.extensions.as_ref()
}
pub fn subject(&self) -> std::option::Option<&crate::model::Asn1Subject> {
self.subject.as_ref()
}
}
impl std::fmt::Debug for ApiPassthrough {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("ApiPassthrough");
formatter.field("extensions", &self.extensions);
formatter.field("subject", &self.subject);
formatter.finish()
}
}
pub mod api_passthrough {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) extensions: std::option::Option<crate::model::Extensions>,
pub(crate) subject: std::option::Option<crate::model::Asn1Subject>,
}
impl Builder {
pub fn extensions(mut self, input: crate::model::Extensions) -> Self {
self.extensions = Some(input);
self
}
pub fn set_extensions(
mut self,
input: std::option::Option<crate::model::Extensions>,
) -> Self {
self.extensions = input;
self
}
pub fn subject(mut self, input: crate::model::Asn1Subject) -> Self {
self.subject = Some(input);
self
}
pub fn set_subject(
mut self,
input: std::option::Option<crate::model::Asn1Subject>,
) -> Self {
self.subject = input;
self
}
pub fn build(self) -> crate::model::ApiPassthrough {
crate::model::ApiPassthrough {
extensions: self.extensions,
subject: self.subject,
}
}
}
}
impl ApiPassthrough {
pub fn builder() -> crate::model::api_passthrough::Builder {
crate::model::api_passthrough::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct Extensions {
pub certificate_policies: std::option::Option<std::vec::Vec<crate::model::PolicyInformation>>,
pub extended_key_usage: std::option::Option<std::vec::Vec<crate::model::ExtendedKeyUsage>>,
pub key_usage: std::option::Option<crate::model::KeyUsage>,
pub subject_alternative_names: std::option::Option<std::vec::Vec<crate::model::GeneralName>>,
}
impl Extensions {
pub fn certificate_policies(&self) -> std::option::Option<&[crate::model::PolicyInformation]> {
self.certificate_policies.as_deref()
}
pub fn extended_key_usage(&self) -> std::option::Option<&[crate::model::ExtendedKeyUsage]> {
self.extended_key_usage.as_deref()
}
pub fn key_usage(&self) -> std::option::Option<&crate::model::KeyUsage> {
self.key_usage.as_ref()
}
pub fn subject_alternative_names(&self) -> std::option::Option<&[crate::model::GeneralName]> {
self.subject_alternative_names.as_deref()
}
}
impl std::fmt::Debug for Extensions {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("Extensions");
formatter.field("certificate_policies", &self.certificate_policies);
formatter.field("extended_key_usage", &self.extended_key_usage);
formatter.field("key_usage", &self.key_usage);
formatter.field("subject_alternative_names", &self.subject_alternative_names);
formatter.finish()
}
}
pub mod extensions {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) certificate_policies:
std::option::Option<std::vec::Vec<crate::model::PolicyInformation>>,
pub(crate) extended_key_usage:
std::option::Option<std::vec::Vec<crate::model::ExtendedKeyUsage>>,
pub(crate) key_usage: std::option::Option<crate::model::KeyUsage>,
pub(crate) subject_alternative_names:
std::option::Option<std::vec::Vec<crate::model::GeneralName>>,
}
impl Builder {
pub fn certificate_policies(
mut self,
input: impl Into<crate::model::PolicyInformation>,
) -> Self {
let mut v = self.certificate_policies.unwrap_or_default();
v.push(input.into());
self.certificate_policies = Some(v);
self
}
pub fn set_certificate_policies(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::PolicyInformation>>,
) -> Self {
self.certificate_policies = input;
self
}
pub fn extended_key_usage(
mut self,
input: impl Into<crate::model::ExtendedKeyUsage>,
) -> Self {
let mut v = self.extended_key_usage.unwrap_or_default();
v.push(input.into());
self.extended_key_usage = Some(v);
self
}
pub fn set_extended_key_usage(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::ExtendedKeyUsage>>,
) -> Self {
self.extended_key_usage = input;
self
}
pub fn key_usage(mut self, input: crate::model::KeyUsage) -> Self {
self.key_usage = Some(input);
self
}
pub fn set_key_usage(mut self, input: std::option::Option<crate::model::KeyUsage>) -> Self {
self.key_usage = input;
self
}
pub fn subject_alternative_names(
mut self,
input: impl Into<crate::model::GeneralName>,
) -> Self {
let mut v = self.subject_alternative_names.unwrap_or_default();
v.push(input.into());
self.subject_alternative_names = Some(v);
self
}
pub fn set_subject_alternative_names(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::GeneralName>>,
) -> Self {
self.subject_alternative_names = input;
self
}
pub fn build(self) -> crate::model::Extensions {
crate::model::Extensions {
certificate_policies: self.certificate_policies,
extended_key_usage: self.extended_key_usage,
key_usage: self.key_usage,
subject_alternative_names: self.subject_alternative_names,
}
}
}
}
impl Extensions {
pub fn builder() -> crate::model::extensions::Builder {
crate::model::extensions::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct ExtendedKeyUsage {
pub extended_key_usage_type: std::option::Option<crate::model::ExtendedKeyUsageType>,
pub extended_key_usage_object_identifier: std::option::Option<std::string::String>,
}
impl ExtendedKeyUsage {
pub fn extended_key_usage_type(
&self,
) -> std::option::Option<&crate::model::ExtendedKeyUsageType> {
self.extended_key_usage_type.as_ref()
}
pub fn extended_key_usage_object_identifier(&self) -> std::option::Option<&str> {
self.extended_key_usage_object_identifier.as_deref()
}
}
impl std::fmt::Debug for ExtendedKeyUsage {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("ExtendedKeyUsage");
formatter.field("extended_key_usage_type", &self.extended_key_usage_type);
formatter.field(
"extended_key_usage_object_identifier",
&self.extended_key_usage_object_identifier,
);
formatter.finish()
}
}
pub mod extended_key_usage {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) extended_key_usage_type: std::option::Option<crate::model::ExtendedKeyUsageType>,
pub(crate) extended_key_usage_object_identifier: std::option::Option<std::string::String>,
}
impl Builder {
pub fn extended_key_usage_type(
mut self,
input: crate::model::ExtendedKeyUsageType,
) -> Self {
self.extended_key_usage_type = Some(input);
self
}
pub fn set_extended_key_usage_type(
mut self,
input: std::option::Option<crate::model::ExtendedKeyUsageType>,
) -> Self {
self.extended_key_usage_type = input;
self
}
pub fn extended_key_usage_object_identifier(
mut self,
input: impl Into<std::string::String>,
) -> Self {
self.extended_key_usage_object_identifier = Some(input.into());
self
}
pub fn set_extended_key_usage_object_identifier(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.extended_key_usage_object_identifier = input;
self
}
pub fn build(self) -> crate::model::ExtendedKeyUsage {
crate::model::ExtendedKeyUsage {
extended_key_usage_type: self.extended_key_usage_type,
extended_key_usage_object_identifier: self.extended_key_usage_object_identifier,
}
}
}
}
impl ExtendedKeyUsage {
pub fn builder() -> crate::model::extended_key_usage::Builder {
crate::model::extended_key_usage::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 ExtendedKeyUsageType {
#[allow(missing_docs)] CertificateTransparency,
#[allow(missing_docs)] ClientAuth,
#[allow(missing_docs)] CodeSigning,
#[allow(missing_docs)] DocumentSigning,
#[allow(missing_docs)] EmailProtection,
#[allow(missing_docs)] OcspSigning,
#[allow(missing_docs)] ServerAuth,
#[allow(missing_docs)] SmartCardLogin,
#[allow(missing_docs)] TimeStamping,
Unknown(String),
}
impl std::convert::From<&str> for ExtendedKeyUsageType {
fn from(s: &str) -> Self {
match s {
"CERTIFICATE_TRANSPARENCY" => ExtendedKeyUsageType::CertificateTransparency,
"CLIENT_AUTH" => ExtendedKeyUsageType::ClientAuth,
"CODE_SIGNING" => ExtendedKeyUsageType::CodeSigning,
"DOCUMENT_SIGNING" => ExtendedKeyUsageType::DocumentSigning,
"EMAIL_PROTECTION" => ExtendedKeyUsageType::EmailProtection,
"OCSP_SIGNING" => ExtendedKeyUsageType::OcspSigning,
"SERVER_AUTH" => ExtendedKeyUsageType::ServerAuth,
"SMART_CARD_LOGIN" => ExtendedKeyUsageType::SmartCardLogin,
"TIME_STAMPING" => ExtendedKeyUsageType::TimeStamping,
other => ExtendedKeyUsageType::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for ExtendedKeyUsageType {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ExtendedKeyUsageType::from(s))
}
}
impl ExtendedKeyUsageType {
pub fn as_str(&self) -> &str {
match self {
ExtendedKeyUsageType::CertificateTransparency => "CERTIFICATE_TRANSPARENCY",
ExtendedKeyUsageType::ClientAuth => "CLIENT_AUTH",
ExtendedKeyUsageType::CodeSigning => "CODE_SIGNING",
ExtendedKeyUsageType::DocumentSigning => "DOCUMENT_SIGNING",
ExtendedKeyUsageType::EmailProtection => "EMAIL_PROTECTION",
ExtendedKeyUsageType::OcspSigning => "OCSP_SIGNING",
ExtendedKeyUsageType::ServerAuth => "SERVER_AUTH",
ExtendedKeyUsageType::SmartCardLogin => "SMART_CARD_LOGIN",
ExtendedKeyUsageType::TimeStamping => "TIME_STAMPING",
ExtendedKeyUsageType::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&[
"CERTIFICATE_TRANSPARENCY",
"CLIENT_AUTH",
"CODE_SIGNING",
"DOCUMENT_SIGNING",
"EMAIL_PROTECTION",
"OCSP_SIGNING",
"SERVER_AUTH",
"SMART_CARD_LOGIN",
"TIME_STAMPING",
]
}
}
impl AsRef<str> for ExtendedKeyUsageType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct PolicyInformation {
pub cert_policy_id: std::option::Option<std::string::String>,
pub policy_qualifiers: std::option::Option<std::vec::Vec<crate::model::PolicyQualifierInfo>>,
}
impl PolicyInformation {
pub fn cert_policy_id(&self) -> std::option::Option<&str> {
self.cert_policy_id.as_deref()
}
pub fn policy_qualifiers(&self) -> std::option::Option<&[crate::model::PolicyQualifierInfo]> {
self.policy_qualifiers.as_deref()
}
}
impl std::fmt::Debug for PolicyInformation {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("PolicyInformation");
formatter.field("cert_policy_id", &self.cert_policy_id);
formatter.field("policy_qualifiers", &self.policy_qualifiers);
formatter.finish()
}
}
pub mod policy_information {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) cert_policy_id: std::option::Option<std::string::String>,
pub(crate) policy_qualifiers:
std::option::Option<std::vec::Vec<crate::model::PolicyQualifierInfo>>,
}
impl Builder {
pub fn cert_policy_id(mut self, input: impl Into<std::string::String>) -> Self {
self.cert_policy_id = Some(input.into());
self
}
pub fn set_cert_policy_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.cert_policy_id = input;
self
}
pub fn policy_qualifiers(
mut self,
input: impl Into<crate::model::PolicyQualifierInfo>,
) -> Self {
let mut v = self.policy_qualifiers.unwrap_or_default();
v.push(input.into());
self.policy_qualifiers = Some(v);
self
}
pub fn set_policy_qualifiers(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::PolicyQualifierInfo>>,
) -> Self {
self.policy_qualifiers = input;
self
}
pub fn build(self) -> crate::model::PolicyInformation {
crate::model::PolicyInformation {
cert_policy_id: self.cert_policy_id,
policy_qualifiers: self.policy_qualifiers,
}
}
}
}
impl PolicyInformation {
pub fn builder() -> crate::model::policy_information::Builder {
crate::model::policy_information::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct PolicyQualifierInfo {
pub policy_qualifier_id: std::option::Option<crate::model::PolicyQualifierId>,
pub qualifier: std::option::Option<crate::model::Qualifier>,
}
impl PolicyQualifierInfo {
pub fn policy_qualifier_id(&self) -> std::option::Option<&crate::model::PolicyQualifierId> {
self.policy_qualifier_id.as_ref()
}
pub fn qualifier(&self) -> std::option::Option<&crate::model::Qualifier> {
self.qualifier.as_ref()
}
}
impl std::fmt::Debug for PolicyQualifierInfo {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("PolicyQualifierInfo");
formatter.field("policy_qualifier_id", &self.policy_qualifier_id);
formatter.field("qualifier", &self.qualifier);
formatter.finish()
}
}
pub mod policy_qualifier_info {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) policy_qualifier_id: std::option::Option<crate::model::PolicyQualifierId>,
pub(crate) qualifier: std::option::Option<crate::model::Qualifier>,
}
impl Builder {
pub fn policy_qualifier_id(mut self, input: crate::model::PolicyQualifierId) -> Self {
self.policy_qualifier_id = Some(input);
self
}
pub fn set_policy_qualifier_id(
mut self,
input: std::option::Option<crate::model::PolicyQualifierId>,
) -> Self {
self.policy_qualifier_id = input;
self
}
pub fn qualifier(mut self, input: crate::model::Qualifier) -> Self {
self.qualifier = Some(input);
self
}
pub fn set_qualifier(
mut self,
input: std::option::Option<crate::model::Qualifier>,
) -> Self {
self.qualifier = input;
self
}
pub fn build(self) -> crate::model::PolicyQualifierInfo {
crate::model::PolicyQualifierInfo {
policy_qualifier_id: self.policy_qualifier_id,
qualifier: self.qualifier,
}
}
}
}
impl PolicyQualifierInfo {
pub fn builder() -> crate::model::policy_qualifier_info::Builder {
crate::model::policy_qualifier_info::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct Qualifier {
pub cps_uri: std::option::Option<std::string::String>,
}
impl Qualifier {
pub fn cps_uri(&self) -> std::option::Option<&str> {
self.cps_uri.as_deref()
}
}
impl std::fmt::Debug for Qualifier {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("Qualifier");
formatter.field("cps_uri", &self.cps_uri);
formatter.finish()
}
}
pub mod qualifier {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) cps_uri: std::option::Option<std::string::String>,
}
impl Builder {
pub fn cps_uri(mut self, input: impl Into<std::string::String>) -> Self {
self.cps_uri = Some(input.into());
self
}
pub fn set_cps_uri(mut self, input: std::option::Option<std::string::String>) -> Self {
self.cps_uri = input;
self
}
pub fn build(self) -> crate::model::Qualifier {
crate::model::Qualifier {
cps_uri: self.cps_uri,
}
}
}
}
impl Qualifier {
pub fn builder() -> crate::model::qualifier::Builder {
crate::model::qualifier::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 PolicyQualifierId {
#[allow(missing_docs)] Cps,
Unknown(String),
}
impl std::convert::From<&str> for PolicyQualifierId {
fn from(s: &str) -> Self {
match s {
"CPS" => PolicyQualifierId::Cps,
other => PolicyQualifierId::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for PolicyQualifierId {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(PolicyQualifierId::from(s))
}
}
impl PolicyQualifierId {
pub fn as_str(&self) -> &str {
match self {
PolicyQualifierId::Cps => "CPS",
PolicyQualifierId::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["CPS"]
}
}
impl AsRef<str> for PolicyQualifierId {
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 AuditReportStatus {
#[allow(missing_docs)] Creating,
#[allow(missing_docs)] Failed,
#[allow(missing_docs)] Success,
Unknown(String),
}
impl std::convert::From<&str> for AuditReportStatus {
fn from(s: &str) -> Self {
match s {
"CREATING" => AuditReportStatus::Creating,
"FAILED" => AuditReportStatus::Failed,
"SUCCESS" => AuditReportStatus::Success,
other => AuditReportStatus::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for AuditReportStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(AuditReportStatus::from(s))
}
}
impl AuditReportStatus {
pub fn as_str(&self) -> &str {
match self {
AuditReportStatus::Creating => "CREATING",
AuditReportStatus::Failed => "FAILED",
AuditReportStatus::Success => "SUCCESS",
AuditReportStatus::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["CREATING", "FAILED", "SUCCESS"]
}
}
impl AsRef<str> for AuditReportStatus {
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 AuditReportResponseFormat {
#[allow(missing_docs)] Csv,
#[allow(missing_docs)] Json,
Unknown(String),
}
impl std::convert::From<&str> for AuditReportResponseFormat {
fn from(s: &str) -> Self {
match s {
"CSV" => AuditReportResponseFormat::Csv,
"JSON" => AuditReportResponseFormat::Json,
other => AuditReportResponseFormat::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for AuditReportResponseFormat {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(AuditReportResponseFormat::from(s))
}
}
impl AuditReportResponseFormat {
pub fn as_str(&self) -> &str {
match self {
AuditReportResponseFormat::Csv => "CSV",
AuditReportResponseFormat::Json => "JSON",
AuditReportResponseFormat::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["CSV", "JSON"]
}
}
impl AsRef<str> for AuditReportResponseFormat {
fn as_ref(&self) -> &str {
self.as_str()
}
}