1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// 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())
    }
}