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
// 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 ListResourcesForWebAclInput {
    /// <p>The Amazon Resource Name (ARN) of the web ACL.</p>
    pub web_acl_arn: ::std::option::Option<::std::string::String>,
    /// <p>Used for web ACLs that are scoped for regional applications. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance.</p><note>
    /// <p>If you don't provide a resource type, the call uses the resource type <code>APPLICATION_LOAD_BALANCER</code>.</p>
    /// </note>
    /// <p>Default: <code>APPLICATION_LOAD_BALANCER</code></p>
    pub resource_type: ::std::option::Option<crate::types::ResourceType>,
}
impl ListResourcesForWebAclInput {
    /// <p>The Amazon Resource Name (ARN) of the web ACL.</p>
    pub fn web_acl_arn(&self) -> ::std::option::Option<&str> {
        self.web_acl_arn.as_deref()
    }
    /// <p>Used for web ACLs that are scoped for regional applications. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance.</p><note>
    /// <p>If you don't provide a resource type, the call uses the resource type <code>APPLICATION_LOAD_BALANCER</code>.</p>
    /// </note>
    /// <p>Default: <code>APPLICATION_LOAD_BALANCER</code></p>
    pub fn resource_type(&self) -> ::std::option::Option<&crate::types::ResourceType> {
        self.resource_type.as_ref()
    }
}
impl ListResourcesForWebAclInput {
    /// Creates a new builder-style object to manufacture [`ListResourcesForWebAclInput`](crate::operation::list_resources_for_web_acl::ListResourcesForWebAclInput).
    pub fn builder() -> crate::operation::list_resources_for_web_acl::builders::ListResourcesForWebAclInputBuilder {
        crate::operation::list_resources_for_web_acl::builders::ListResourcesForWebAclInputBuilder::default()
    }
}

/// A builder for [`ListResourcesForWebAclInput`](crate::operation::list_resources_for_web_acl::ListResourcesForWebAclInput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct ListResourcesForWebAclInputBuilder {
    pub(crate) web_acl_arn: ::std::option::Option<::std::string::String>,
    pub(crate) resource_type: ::std::option::Option<crate::types::ResourceType>,
}
impl ListResourcesForWebAclInputBuilder {
    /// <p>The Amazon Resource Name (ARN) of the web ACL.</p>
    /// This field is required.
    pub fn web_acl_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.web_acl_arn = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The Amazon Resource Name (ARN) of the web ACL.</p>
    pub fn set_web_acl_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.web_acl_arn = input;
        self
    }
    /// <p>The Amazon Resource Name (ARN) of the web ACL.</p>
    pub fn get_web_acl_arn(&self) -> &::std::option::Option<::std::string::String> {
        &self.web_acl_arn
    }
    /// <p>Used for web ACLs that are scoped for regional applications. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance.</p><note>
    /// <p>If you don't provide a resource type, the call uses the resource type <code>APPLICATION_LOAD_BALANCER</code>.</p>
    /// </note>
    /// <p>Default: <code>APPLICATION_LOAD_BALANCER</code></p>
    pub fn resource_type(mut self, input: crate::types::ResourceType) -> Self {
        self.resource_type = ::std::option::Option::Some(input);
        self
    }
    /// <p>Used for web ACLs that are scoped for regional applications. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance.</p><note>
    /// <p>If you don't provide a resource type, the call uses the resource type <code>APPLICATION_LOAD_BALANCER</code>.</p>
    /// </note>
    /// <p>Default: <code>APPLICATION_LOAD_BALANCER</code></p>
    pub fn set_resource_type(mut self, input: ::std::option::Option<crate::types::ResourceType>) -> Self {
        self.resource_type = input;
        self
    }
    /// <p>Used for web ACLs that are scoped for regional applications. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance.</p><note>
    /// <p>If you don't provide a resource type, the call uses the resource type <code>APPLICATION_LOAD_BALANCER</code>.</p>
    /// </note>
    /// <p>Default: <code>APPLICATION_LOAD_BALANCER</code></p>
    pub fn get_resource_type(&self) -> &::std::option::Option<crate::types::ResourceType> {
        &self.resource_type
    }
    /// Consumes the builder and constructs a [`ListResourcesForWebAclInput`](crate::operation::list_resources_for_web_acl::ListResourcesForWebAclInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<
        crate::operation::list_resources_for_web_acl::ListResourcesForWebAclInput,
        ::aws_smithy_types::error::operation::BuildError,
    > {
        ::std::result::Result::Ok(crate::operation::list_resources_for_web_acl::ListResourcesForWebAclInput {
            web_acl_arn: self.web_acl_arn,
            resource_type: self.resource_type,
        })
    }
}