aws_sdk_workmail/client/put_access_control_rule.rs
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`PutAccessControlRule`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`name(impl Into<String>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::set_name):<br>required: **true**<br><p>The rule name.</p><br>
/// - [`effect(AccessControlRuleEffect)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::effect) / [`set_effect(Option<AccessControlRuleEffect>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::set_effect):<br>required: **true**<br><p>The rule effect.</p><br>
/// - [`description(impl Into<String>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::set_description):<br>required: **true**<br><p>The rule description.</p><br>
/// - [`ip_ranges(impl Into<String>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::ip_ranges) / [`set_ip_ranges(Option<Vec::<String>>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::set_ip_ranges):<br>required: **false**<br><p>IPv4 CIDR ranges to include in the rule.</p><br>
/// - [`not_ip_ranges(impl Into<String>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::not_ip_ranges) / [`set_not_ip_ranges(Option<Vec::<String>>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::set_not_ip_ranges):<br>required: **false**<br><p>IPv4 CIDR ranges to exclude from the rule.</p><br>
/// - [`actions(impl Into<String>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::actions) / [`set_actions(Option<Vec::<String>>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::set_actions):<br>required: **false**<br><p>Access protocol actions to include in the rule. Valid values include <code>ActiveSync</code>, <code>AutoDiscover</code>, <code>EWS</code>, <code>IMAP</code>, <code>SMTP</code>, <code>WindowsOutlook</code>, and <code>WebMail</code>.</p><br>
/// - [`not_actions(impl Into<String>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::not_actions) / [`set_not_actions(Option<Vec::<String>>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::set_not_actions):<br>required: **false**<br><p>Access protocol actions to exclude from the rule. Valid values include <code>ActiveSync</code>, <code>AutoDiscover</code>, <code>EWS</code>, <code>IMAP</code>, <code>SMTP</code>, <code>WindowsOutlook</code>, and <code>WebMail</code>.</p><br>
/// - [`user_ids(impl Into<String>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::user_ids) / [`set_user_ids(Option<Vec::<String>>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::set_user_ids):<br>required: **false**<br><p>User IDs to include in the rule.</p><br>
/// - [`not_user_ids(impl Into<String>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::not_user_ids) / [`set_not_user_ids(Option<Vec::<String>>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::set_not_user_ids):<br>required: **false**<br><p>User IDs to exclude from the rule.</p><br>
/// - [`organization_id(impl Into<String>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::organization_id) / [`set_organization_id(Option<String>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::set_organization_id):<br>required: **true**<br><p>The identifier of the organization.</p><br>
/// - [`impersonation_role_ids(impl Into<String>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::impersonation_role_ids) / [`set_impersonation_role_ids(Option<Vec::<String>>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::set_impersonation_role_ids):<br>required: **false**<br><p>Impersonation role IDs to include in the rule.</p><br>
/// - [`not_impersonation_role_ids(impl Into<String>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::not_impersonation_role_ids) / [`set_not_impersonation_role_ids(Option<Vec::<String>>)`](crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::set_not_impersonation_role_ids):<br>required: **false**<br><p>Impersonation role IDs to exclude from the rule.</p><br>
/// - On success, responds with [`PutAccessControlRuleOutput`](crate::operation::put_access_control_rule::PutAccessControlRuleOutput)
/// - On failure, responds with [`SdkError<PutAccessControlRuleError>`](crate::operation::put_access_control_rule::PutAccessControlRuleError)
pub fn put_access_control_rule(&self) -> crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder {
crate::operation::put_access_control_rule::builders::PutAccessControlRuleFluentBuilder::new(self.handle.clone())
}
}