#[allow(missing_docs)] #[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct UpdateSubscriptionTargetInput {
pub domain_identifier: ::std::option::Option<::std::string::String>,
pub environment_identifier: ::std::option::Option<::std::string::String>,
pub identifier: ::std::option::Option<::std::string::String>,
pub name: ::std::option::Option<::std::string::String>,
pub authorized_principals: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub applicable_asset_types: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub subscription_target_config: ::std::option::Option<::std::vec::Vec<crate::types::SubscriptionTargetForm>>,
pub manage_access_role: ::std::option::Option<::std::string::String>,
pub provider: ::std::option::Option<::std::string::String>,
pub subscription_grant_creation_mode: ::std::option::Option<crate::types::SubscriptionGrantCreationMode>,
}
impl UpdateSubscriptionTargetInput {
pub fn domain_identifier(&self) -> ::std::option::Option<&str> {
self.domain_identifier.as_deref()
}
pub fn environment_identifier(&self) -> ::std::option::Option<&str> {
self.environment_identifier.as_deref()
}
pub fn identifier(&self) -> ::std::option::Option<&str> {
self.identifier.as_deref()
}
pub fn name(&self) -> ::std::option::Option<&str> {
self.name.as_deref()
}
pub fn authorized_principals(&self) -> &[::std::string::String] {
self.authorized_principals.as_deref().unwrap_or_default()
}
pub fn applicable_asset_types(&self) -> &[::std::string::String] {
self.applicable_asset_types.as_deref().unwrap_or_default()
}
pub fn subscription_target_config(&self) -> &[crate::types::SubscriptionTargetForm] {
self.subscription_target_config.as_deref().unwrap_or_default()
}
pub fn manage_access_role(&self) -> ::std::option::Option<&str> {
self.manage_access_role.as_deref()
}
pub fn provider(&self) -> ::std::option::Option<&str> {
self.provider.as_deref()
}
pub fn subscription_grant_creation_mode(&self) -> ::std::option::Option<&crate::types::SubscriptionGrantCreationMode> {
self.subscription_grant_creation_mode.as_ref()
}
}
impl ::std::fmt::Debug for UpdateSubscriptionTargetInput {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("UpdateSubscriptionTargetInput");
formatter.field("domain_identifier", &self.domain_identifier);
formatter.field("environment_identifier", &self.environment_identifier);
formatter.field("identifier", &self.identifier);
formatter.field("name", &"*** Sensitive Data Redacted ***");
formatter.field("authorized_principals", &self.authorized_principals);
formatter.field("applicable_asset_types", &self.applicable_asset_types);
formatter.field("subscription_target_config", &self.subscription_target_config);
formatter.field("manage_access_role", &self.manage_access_role);
formatter.field("provider", &self.provider);
formatter.field("subscription_grant_creation_mode", &self.subscription_grant_creation_mode);
formatter.finish()
}
}
impl UpdateSubscriptionTargetInput {
pub fn builder() -> crate::operation::update_subscription_target::builders::UpdateSubscriptionTargetInputBuilder {
crate::operation::update_subscription_target::builders::UpdateSubscriptionTargetInputBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
#[non_exhaustive]
pub struct UpdateSubscriptionTargetInputBuilder {
pub(crate) domain_identifier: ::std::option::Option<::std::string::String>,
pub(crate) environment_identifier: ::std::option::Option<::std::string::String>,
pub(crate) identifier: ::std::option::Option<::std::string::String>,
pub(crate) name: ::std::option::Option<::std::string::String>,
pub(crate) authorized_principals: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) applicable_asset_types: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) subscription_target_config: ::std::option::Option<::std::vec::Vec<crate::types::SubscriptionTargetForm>>,
pub(crate) manage_access_role: ::std::option::Option<::std::string::String>,
pub(crate) provider: ::std::option::Option<::std::string::String>,
pub(crate) subscription_grant_creation_mode: ::std::option::Option<crate::types::SubscriptionGrantCreationMode>,
}
impl UpdateSubscriptionTargetInputBuilder {
pub fn domain_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.domain_identifier = ::std::option::Option::Some(input.into());
self
}
pub fn set_domain_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.domain_identifier = input;
self
}
pub fn get_domain_identifier(&self) -> &::std::option::Option<::std::string::String> {
&self.domain_identifier
}
pub fn environment_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.environment_identifier = ::std::option::Option::Some(input.into());
self
}
pub fn set_environment_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.environment_identifier = input;
self
}
pub fn get_environment_identifier(&self) -> &::std::option::Option<::std::string::String> {
&self.environment_identifier
}
pub fn identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.identifier = ::std::option::Option::Some(input.into());
self
}
pub fn set_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.identifier = input;
self
}
pub fn get_identifier(&self) -> &::std::option::Option<::std::string::String> {
&self.identifier
}
pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.name = ::std::option::Option::Some(input.into());
self
}
pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.name = input;
self
}
pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
&self.name
}
pub fn authorized_principals(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.authorized_principals.unwrap_or_default();
v.push(input.into());
self.authorized_principals = ::std::option::Option::Some(v);
self
}
pub fn set_authorized_principals(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.authorized_principals = input;
self
}
pub fn get_authorized_principals(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.authorized_principals
}
pub fn applicable_asset_types(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.applicable_asset_types.unwrap_or_default();
v.push(input.into());
self.applicable_asset_types = ::std::option::Option::Some(v);
self
}
pub fn set_applicable_asset_types(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.applicable_asset_types = input;
self
}
pub fn get_applicable_asset_types(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.applicable_asset_types
}
pub fn subscription_target_config(mut self, input: crate::types::SubscriptionTargetForm) -> Self {
let mut v = self.subscription_target_config.unwrap_or_default();
v.push(input);
self.subscription_target_config = ::std::option::Option::Some(v);
self
}
pub fn set_subscription_target_config(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::SubscriptionTargetForm>>) -> Self {
self.subscription_target_config = input;
self
}
pub fn get_subscription_target_config(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::SubscriptionTargetForm>> {
&self.subscription_target_config
}
pub fn manage_access_role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.manage_access_role = ::std::option::Option::Some(input.into());
self
}
pub fn set_manage_access_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.manage_access_role = input;
self
}
pub fn get_manage_access_role(&self) -> &::std::option::Option<::std::string::String> {
&self.manage_access_role
}
pub fn provider(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.provider = ::std::option::Option::Some(input.into());
self
}
pub fn set_provider(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.provider = input;
self
}
pub fn get_provider(&self) -> &::std::option::Option<::std::string::String> {
&self.provider
}
pub fn subscription_grant_creation_mode(mut self, input: crate::types::SubscriptionGrantCreationMode) -> Self {
self.subscription_grant_creation_mode = ::std::option::Option::Some(input);
self
}
pub fn set_subscription_grant_creation_mode(mut self, input: ::std::option::Option<crate::types::SubscriptionGrantCreationMode>) -> Self {
self.subscription_grant_creation_mode = input;
self
}
pub fn get_subscription_grant_creation_mode(&self) -> &::std::option::Option<crate::types::SubscriptionGrantCreationMode> {
&self.subscription_grant_creation_mode
}
pub fn build(
self,
) -> ::std::result::Result<
crate::operation::update_subscription_target::UpdateSubscriptionTargetInput,
::aws_smithy_types::error::operation::BuildError,
> {
::std::result::Result::Ok(crate::operation::update_subscription_target::UpdateSubscriptionTargetInput {
domain_identifier: self.domain_identifier,
environment_identifier: self.environment_identifier,
identifier: self.identifier,
name: self.name,
authorized_principals: self.authorized_principals,
applicable_asset_types: self.applicable_asset_types,
subscription_target_config: self.subscription_target_config,
manage_access_role: self.manage_access_role,
provider: self.provider,
subscription_grant_creation_mode: self.subscription_grant_creation_mode,
})
}
}
impl ::std::fmt::Debug for UpdateSubscriptionTargetInputBuilder {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("UpdateSubscriptionTargetInputBuilder");
formatter.field("domain_identifier", &self.domain_identifier);
formatter.field("environment_identifier", &self.environment_identifier);
formatter.field("identifier", &self.identifier);
formatter.field("name", &"*** Sensitive Data Redacted ***");
formatter.field("authorized_principals", &self.authorized_principals);
formatter.field("applicable_asset_types", &self.applicable_asset_types);
formatter.field("subscription_target_config", &self.subscription_target_config);
formatter.field("manage_access_role", &self.manage_access_role);
formatter.field("provider", &self.provider);
formatter.field("subscription_grant_creation_mode", &self.subscription_grant_creation_mode);
formatter.finish()
}
}