1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct EnablePolicyTypeInput {
/// <p>The unique identifier (ID) of the root in which you want to enable a policy type. You can get the ID from the <code>ListRoots</code> operation.</p>
/// <p>The <a href="http://wikipedia.org/wiki/regex">regex pattern</a> for a root ID string requires "r-" followed by from 4 to 32 lowercase letters or digits.</p>
pub root_id: ::std::option::Option<::std::string::String>,
/// <p>The policy type that you want to enable. You can specify one of the following values:</p>
/// <ul>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html">AISERVICES_OPT_OUT_POLICY</a></p></li>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html">BACKUP_POLICY</a></p></li>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html">SERVICE_CONTROL_POLICY</a></p></li>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html">TAG_POLICY</a></p></li>
/// </ul>
pub policy_type: ::std::option::Option<crate::types::PolicyType>,
}
impl EnablePolicyTypeInput {
/// <p>The unique identifier (ID) of the root in which you want to enable a policy type. You can get the ID from the <code>ListRoots</code> operation.</p>
/// <p>The <a href="http://wikipedia.org/wiki/regex">regex pattern</a> for a root ID string requires "r-" followed by from 4 to 32 lowercase letters or digits.</p>
pub fn root_id(&self) -> ::std::option::Option<&str> {
self.root_id.as_deref()
}
/// <p>The policy type that you want to enable. You can specify one of the following values:</p>
/// <ul>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html">AISERVICES_OPT_OUT_POLICY</a></p></li>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html">BACKUP_POLICY</a></p></li>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html">SERVICE_CONTROL_POLICY</a></p></li>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html">TAG_POLICY</a></p></li>
/// </ul>
pub fn policy_type(&self) -> ::std::option::Option<&crate::types::PolicyType> {
self.policy_type.as_ref()
}
}
impl EnablePolicyTypeInput {
/// Creates a new builder-style object to manufacture [`EnablePolicyTypeInput`](crate::operation::enable_policy_type::EnablePolicyTypeInput).
pub fn builder() -> crate::operation::enable_policy_type::builders::EnablePolicyTypeInputBuilder {
crate::operation::enable_policy_type::builders::EnablePolicyTypeInputBuilder::default()
}
}
/// A builder for [`EnablePolicyTypeInput`](crate::operation::enable_policy_type::EnablePolicyTypeInput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct EnablePolicyTypeInputBuilder {
pub(crate) root_id: ::std::option::Option<::std::string::String>,
pub(crate) policy_type: ::std::option::Option<crate::types::PolicyType>,
}
impl EnablePolicyTypeInputBuilder {
/// <p>The unique identifier (ID) of the root in which you want to enable a policy type. You can get the ID from the <code>ListRoots</code> operation.</p>
/// <p>The <a href="http://wikipedia.org/wiki/regex">regex pattern</a> for a root ID string requires "r-" followed by from 4 to 32 lowercase letters or digits.</p>
/// This field is required.
pub fn root_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.root_id = ::std::option::Option::Some(input.into());
self
}
/// <p>The unique identifier (ID) of the root in which you want to enable a policy type. You can get the ID from the <code>ListRoots</code> operation.</p>
/// <p>The <a href="http://wikipedia.org/wiki/regex">regex pattern</a> for a root ID string requires "r-" followed by from 4 to 32 lowercase letters or digits.</p>
pub fn set_root_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.root_id = input;
self
}
/// <p>The unique identifier (ID) of the root in which you want to enable a policy type. You can get the ID from the <code>ListRoots</code> operation.</p>
/// <p>The <a href="http://wikipedia.org/wiki/regex">regex pattern</a> for a root ID string requires "r-" followed by from 4 to 32 lowercase letters or digits.</p>
pub fn get_root_id(&self) -> &::std::option::Option<::std::string::String> {
&self.root_id
}
/// <p>The policy type that you want to enable. You can specify one of the following values:</p>
/// <ul>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html">AISERVICES_OPT_OUT_POLICY</a></p></li>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html">BACKUP_POLICY</a></p></li>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html">SERVICE_CONTROL_POLICY</a></p></li>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html">TAG_POLICY</a></p></li>
/// </ul>
/// This field is required.
pub fn policy_type(mut self, input: crate::types::PolicyType) -> Self {
self.policy_type = ::std::option::Option::Some(input);
self
}
/// <p>The policy type that you want to enable. You can specify one of the following values:</p>
/// <ul>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html">AISERVICES_OPT_OUT_POLICY</a></p></li>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html">BACKUP_POLICY</a></p></li>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html">SERVICE_CONTROL_POLICY</a></p></li>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html">TAG_POLICY</a></p></li>
/// </ul>
pub fn set_policy_type(mut self, input: ::std::option::Option<crate::types::PolicyType>) -> Self {
self.policy_type = input;
self
}
/// <p>The policy type that you want to enable. You can specify one of the following values:</p>
/// <ul>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html">AISERVICES_OPT_OUT_POLICY</a></p></li>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html">BACKUP_POLICY</a></p></li>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html">SERVICE_CONTROL_POLICY</a></p></li>
/// <li>
/// <p><a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html">TAG_POLICY</a></p></li>
/// </ul>
pub fn get_policy_type(&self) -> &::std::option::Option<crate::types::PolicyType> {
&self.policy_type
}
/// Consumes the builder and constructs a [`EnablePolicyTypeInput`](crate::operation::enable_policy_type::EnablePolicyTypeInput).
pub fn build(
self,
) -> ::std::result::Result<crate::operation::enable_policy_type::EnablePolicyTypeInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::enable_policy_type::EnablePolicyTypeInput {
root_id: self.root_id,
policy_type: self.policy_type,
})
}
}