Skip to main content

aws_sdk_networksecuritymanager/client/
create_policy.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`CreatePolicy`](crate::operation::create_policy::builders::CreatePolicyFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`client_token(impl Into<String>)`](crate::operation::create_policy::builders::CreatePolicyFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_policy::builders::CreatePolicyFluentBuilder::set_client_token):<br>required: **false**<br><p>A unique, case-sensitive token that you provide to ensure that the operation completes no more than one time. If you retry a request with the same client token and the same parameters, the service returns the result of the original successful request.</p><br>
7    ///   - [`policy_name(impl Into<String>)`](crate::operation::create_policy::builders::CreatePolicyFluentBuilder::policy_name) / [`set_policy_name(Option<String>)`](crate::operation::create_policy::builders::CreatePolicyFluentBuilder::set_policy_name):<br>required: **true**<br><p>The name of the policy.</p><br>
8    ///   - [`policy_description(impl Into<String>)`](crate::operation::create_policy::builders::CreatePolicyFluentBuilder::policy_description) / [`set_policy_description(Option<String>)`](crate::operation::create_policy::builders::CreatePolicyFluentBuilder::set_policy_description):<br>required: **false**<br><p>A description of the policy.</p><br>
9    ///   - [`priority(i32)`](crate::operation::create_policy::builders::CreatePolicyFluentBuilder::priority) / [`set_priority(Option<i32>)`](crate::operation::create_policy::builders::CreatePolicyFluentBuilder::set_priority):<br>required: **true**<br><p>The priority of the resource. A lower number indicates a higher priority.</p><br>
10    ///   - [`associated_template_and_rule_list(TemplateOrRuleReference)`](crate::operation::create_policy::builders::CreatePolicyFluentBuilder::associated_template_and_rule_list) / [`set_associated_template_and_rule_list(Option<Vec::<TemplateOrRuleReference>>)`](crate::operation::create_policy::builders::CreatePolicyFluentBuilder::set_associated_template_and_rule_list):<br>required: **false**<br><p>The templates and rules to associate with the policy. For AWS WAF policies, specify 1 to 100 templates or rules, of which at most 2 can be templates. For AWS Shield Advanced policies, this list must be empty.</p><br>
11    ///   - [`firewall_type(PolicyFirewallType)`](crate::operation::create_policy::builders::CreatePolicyFluentBuilder::firewall_type) / [`set_firewall_type(Option<PolicyFirewallType>)`](crate::operation::create_policy::builders::CreatePolicyFluentBuilder::set_firewall_type):<br>required: **true**<br><p>The firewall type associated with the resource.</p><br>
12    ///   - [`policy_configuration(PolicyConfiguration)`](crate::operation::create_policy::builders::CreatePolicyFluentBuilder::policy_configuration) / [`set_policy_configuration(Option<PolicyConfiguration>)`](crate::operation::create_policy::builders::CreatePolicyFluentBuilder::set_policy_configuration):<br>required: **true**<br><p>The configuration settings that control the policy's behavior, including remediation and firewall-type-specific settings.</p><br>
13    ///   - [`is_published(bool)`](crate::operation::create_policy::builders::CreatePolicyFluentBuilder::is_published) / [`set_is_published(Option<bool>)`](crate::operation::create_policy::builders::CreatePolicyFluentBuilder::set_is_published):<br>required: **false**<br><p>Specifies whether to publish the resource. When <code>true</code>, the resource is saved in published (<code>ACTIVE</code>) state. When <code>false</code>, it is saved as a draft (<code>DRAFT</code>). Default: <code>true</code>.</p><br>
14    ///   - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_policy::builders::CreatePolicyFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_policy::builders::CreatePolicyFluentBuilder::set_tags):<br>required: **false**<br><p>The tags to add to the resource when it is created.</p><br>
15    /// - On success, responds with [`CreatePolicyOutput`](crate::operation::create_policy::CreatePolicyOutput) with field(s):
16    ///   - [`policy_id(String)`](crate::operation::create_policy::CreatePolicyOutput::policy_id): <p>The service-generated id of the policy.</p>
17    ///   - [`policy_arn(String)`](crate::operation::create_policy::CreatePolicyOutput::policy_arn): <p>The Amazon Resource Name (ARN) of the policy.</p>
18    ///   - [`policy_name(String)`](crate::operation::create_policy::CreatePolicyOutput::policy_name): <p>The name of the policy.</p>
19    ///   - [`policy_description(Option<String>)`](crate::operation::create_policy::CreatePolicyOutput::policy_description): <p>A description of the policy.</p>
20    ///   - [`status(EntityStatus)`](crate::operation::create_policy::CreatePolicyOutput::status): <p>The current status of the resource: <code>DRAFT</code> (unpublished, editable) or <code>ACTIVE</code> (published, in use).</p>
21    ///   - [`priority(i32)`](crate::operation::create_policy::CreatePolicyOutput::priority): <p>The priority of the resource. A lower number indicates a higher priority.</p>
22    ///   - [`associated_template_and_rule_list(Vec::<AssociatedTemplateOrRule>)`](crate::operation::create_policy::CreatePolicyOutput::associated_template_and_rule_list): <p>The templates and rules associated with the policy. For AWS WAF policies, this list contains 1 to 100 templates or rules, of which at most 2 can be templates. For AWS Shield Advanced policies, this list is empty.</p>
23    ///   - [`version(String)`](crate::operation::create_policy::CreatePolicyOutput::version): <p>The version of the resource.</p>
24    ///   - [`update_token(Option<String>)`](crate::operation::create_policy::CreatePolicyOutput::update_token): <p>A token used for optimistic concurrency control. Each read and write returns an <code>updateToken</code>. Provide the most recent value on your next update to detect and prevent conflicting concurrent modifications.</p>
25    ///   - [`is_snapshot(Option<bool>)`](crate::operation::create_policy::CreatePolicyOutput::is_snapshot): <p>Specifies whether the resource is a snapshot of a published version.</p>
26    ///   - [`has_published_version(Option<bool>)`](crate::operation::create_policy::CreatePolicyOutput::has_published_version): <p>Specifies whether a published version of the resource exists.</p>
27    ///   - [`firewall_type(PolicyFirewallType)`](crate::operation::create_policy::CreatePolicyOutput::firewall_type): <p>The firewall type associated with the resource.</p>
28    ///   - [`policy_configuration(Option<PolicyConfiguration>)`](crate::operation::create_policy::CreatePolicyOutput::policy_configuration): <p>The configuration settings that control the policy's behavior, including remediation and firewall-type-specific settings.</p>
29    ///   - [`updated_at(Option<DateTime>)`](crate::operation::create_policy::CreatePolicyOutput::updated_at): <p>The time when the resource was last updated.</p>
30    /// - On failure, responds with [`SdkError<CreatePolicyError>`](crate::operation::create_policy::CreatePolicyError)
31    pub fn create_policy(&self) -> crate::operation::create_policy::builders::CreatePolicyFluentBuilder {
32        crate::operation::create_policy::builders::CreatePolicyFluentBuilder::new(self.handle.clone())
33    }
34}