aws_sdk_datazone/operation/list_rules/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::list_rules::_list_rules_output::ListRulesOutputBuilder;
3
4pub use crate::operation::list_rules::_list_rules_input::ListRulesInputBuilder;
5
6impl crate::operation::list_rules::builders::ListRulesInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::list_rules::ListRulesOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::list_rules::ListRulesError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.list_rules();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `ListRules`.
24///
25/// <p>Lists existing rules. In Amazon DataZone, a rule is a formal agreement that enforces specific requirements across user workflows (e.g., publishing assets to the catalog, requesting subscriptions, creating projects) within the Amazon DataZone data portal. These rules help maintain consistency, ensure compliance, and uphold governance standards in data management processes. For instance, a metadata enforcement rule can specify the required information for creating a subscription request or publishing a data asset to the catalog, ensuring alignment with organizational standards.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct ListRulesFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::list_rules::builders::ListRulesInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl crate::client::customize::internal::CustomizableSend<crate::operation::list_rules::ListRulesOutput, crate::operation::list_rules::ListRulesError>
33    for ListRulesFluentBuilder
34{
35    fn send(
36        self,
37        config_override: crate::config::Builder,
38    ) -> crate::client::customize::internal::BoxFuture<
39        crate::client::customize::internal::SendResult<crate::operation::list_rules::ListRulesOutput, crate::operation::list_rules::ListRulesError>,
40    > {
41        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
42    }
43}
44impl ListRulesFluentBuilder {
45    /// Creates a new `ListRulesFluentBuilder`.
46    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
47        Self {
48            handle,
49            inner: ::std::default::Default::default(),
50            config_override: ::std::option::Option::None,
51        }
52    }
53    /// Access the ListRules as a reference.
54    pub fn as_input(&self) -> &crate::operation::list_rules::builders::ListRulesInputBuilder {
55        &self.inner
56    }
57    /// Sends the request and returns the response.
58    ///
59    /// If an error occurs, an `SdkError` will be returned with additional details that
60    /// can be matched against.
61    ///
62    /// By default, any retryable failures will be retried twice. Retry behavior
63    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
64    /// set when configuring the client.
65    pub async fn send(
66        self,
67    ) -> ::std::result::Result<
68        crate::operation::list_rules::ListRulesOutput,
69        ::aws_smithy_runtime_api::client::result::SdkError<
70            crate::operation::list_rules::ListRulesError,
71            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
72        >,
73    > {
74        let input = self
75            .inner
76            .build()
77            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
78        let runtime_plugins = crate::operation::list_rules::ListRules::operation_runtime_plugins(
79            self.handle.runtime_plugins.clone(),
80            &self.handle.conf,
81            self.config_override,
82        );
83        crate::operation::list_rules::ListRules::orchestrate(&runtime_plugins, input).await
84    }
85
86    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
87    pub fn customize(
88        self,
89    ) -> crate::client::customize::CustomizableOperation<
90        crate::operation::list_rules::ListRulesOutput,
91        crate::operation::list_rules::ListRulesError,
92        Self,
93    > {
94        crate::client::customize::CustomizableOperation::new(self)
95    }
96    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
97        self.set_config_override(::std::option::Option::Some(config_override.into()));
98        self
99    }
100
101    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
102        self.config_override = config_override;
103        self
104    }
105    /// Create a paginator for this request
106    ///
107    /// Paginators are used by calling [`send().await`](crate::operation::list_rules::paginator::ListRulesPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream).
108    pub fn into_paginator(self) -> crate::operation::list_rules::paginator::ListRulesPaginator {
109        crate::operation::list_rules::paginator::ListRulesPaginator::new(self.handle, self.inner)
110    }
111    /// <p>The ID of the domain in which the rules are to be listed.</p>
112    pub fn domain_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113        self.inner = self.inner.domain_identifier(input.into());
114        self
115    }
116    /// <p>The ID of the domain in which the rules are to be listed.</p>
117    pub fn set_domain_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118        self.inner = self.inner.set_domain_identifier(input);
119        self
120    }
121    /// <p>The ID of the domain in which the rules are to be listed.</p>
122    pub fn get_domain_identifier(&self) -> &::std::option::Option<::std::string::String> {
123        self.inner.get_domain_identifier()
124    }
125    /// <p>The target type of the rule.</p>
126    pub fn target_type(mut self, input: crate::types::RuleTargetType) -> Self {
127        self.inner = self.inner.target_type(input);
128        self
129    }
130    /// <p>The target type of the rule.</p>
131    pub fn set_target_type(mut self, input: ::std::option::Option<crate::types::RuleTargetType>) -> Self {
132        self.inner = self.inner.set_target_type(input);
133        self
134    }
135    /// <p>The target type of the rule.</p>
136    pub fn get_target_type(&self) -> &::std::option::Option<crate::types::RuleTargetType> {
137        self.inner.get_target_type()
138    }
139    /// <p>The target ID of the rule.</p>
140    pub fn target_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141        self.inner = self.inner.target_identifier(input.into());
142        self
143    }
144    /// <p>The target ID of the rule.</p>
145    pub fn set_target_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
146        self.inner = self.inner.set_target_identifier(input);
147        self
148    }
149    /// <p>The target ID of the rule.</p>
150    pub fn get_target_identifier(&self) -> &::std::option::Option<::std::string::String> {
151        self.inner.get_target_identifier()
152    }
153    /// <p>The type of the rule.</p>
154    pub fn rule_type(mut self, input: crate::types::RuleType) -> Self {
155        self.inner = self.inner.rule_type(input);
156        self
157    }
158    /// <p>The type of the rule.</p>
159    pub fn set_rule_type(mut self, input: ::std::option::Option<crate::types::RuleType>) -> Self {
160        self.inner = self.inner.set_rule_type(input);
161        self
162    }
163    /// <p>The type of the rule.</p>
164    pub fn get_rule_type(&self) -> &::std::option::Option<crate::types::RuleType> {
165        self.inner.get_rule_type()
166    }
167    /// <p>The action of the rule.</p>
168    pub fn action(mut self, input: crate::types::RuleAction) -> Self {
169        self.inner = self.inner.action(input);
170        self
171    }
172    /// <p>The action of the rule.</p>
173    pub fn set_action(mut self, input: ::std::option::Option<crate::types::RuleAction>) -> Self {
174        self.inner = self.inner.set_action(input);
175        self
176    }
177    /// <p>The action of the rule.</p>
178    pub fn get_action(&self) -> &::std::option::Option<crate::types::RuleAction> {
179        self.inner.get_action()
180    }
181    ///
182    /// Appends an item to `projectIds`.
183    ///
184    /// To override the contents of this collection use [`set_project_ids`](Self::set_project_ids).
185    ///
186    /// <p>The IDs of projects in which rules are to be listed.</p>
187    pub fn project_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
188        self.inner = self.inner.project_ids(input.into());
189        self
190    }
191    /// <p>The IDs of projects in which rules are to be listed.</p>
192    pub fn set_project_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
193        self.inner = self.inner.set_project_ids(input);
194        self
195    }
196    /// <p>The IDs of projects in which rules are to be listed.</p>
197    pub fn get_project_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
198        self.inner.get_project_ids()
199    }
200    ///
201    /// Appends an item to `assetTypes`.
202    ///
203    /// To override the contents of this collection use [`set_asset_types`](Self::set_asset_types).
204    ///
205    /// <p>The asset types of the rule.</p>
206    pub fn asset_types(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
207        self.inner = self.inner.asset_types(input.into());
208        self
209    }
210    /// <p>The asset types of the rule.</p>
211    pub fn set_asset_types(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
212        self.inner = self.inner.set_asset_types(input);
213        self
214    }
215    /// <p>The asset types of the rule.</p>
216    pub fn get_asset_types(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
217        self.inner.get_asset_types()
218    }
219    /// <p>The data product of the rule.</p>
220    pub fn data_product(mut self, input: bool) -> Self {
221        self.inner = self.inner.data_product(input);
222        self
223    }
224    /// <p>The data product of the rule.</p>
225    pub fn set_data_product(mut self, input: ::std::option::Option<bool>) -> Self {
226        self.inner = self.inner.set_data_product(input);
227        self
228    }
229    /// <p>The data product of the rule.</p>
230    pub fn get_data_product(&self) -> &::std::option::Option<bool> {
231        self.inner.get_data_product()
232    }
233    /// <p>Specifies whether to include cascading rules in the results.</p>
234    pub fn include_cascaded(mut self, input: bool) -> Self {
235        self.inner = self.inner.include_cascaded(input);
236        self
237    }
238    /// <p>Specifies whether to include cascading rules in the results.</p>
239    pub fn set_include_cascaded(mut self, input: ::std::option::Option<bool>) -> Self {
240        self.inner = self.inner.set_include_cascaded(input);
241        self
242    }
243    /// <p>Specifies whether to include cascading rules in the results.</p>
244    pub fn get_include_cascaded(&self) -> &::std::option::Option<bool> {
245        self.inner.get_include_cascaded()
246    }
247    /// <p>The maximum number of rules to return in a single call to <code>ListRules</code>. When the number of rules to be listed is greater than the value of <code>MaxResults</code>, the response contains a <code>NextToken</code> value that you can use in a subsequent call to <code>ListRules</code> to list the next set of rules.</p>
248    pub fn max_results(mut self, input: i32) -> Self {
249        self.inner = self.inner.max_results(input);
250        self
251    }
252    /// <p>The maximum number of rules to return in a single call to <code>ListRules</code>. When the number of rules to be listed is greater than the value of <code>MaxResults</code>, the response contains a <code>NextToken</code> value that you can use in a subsequent call to <code>ListRules</code> to list the next set of rules.</p>
253    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
254        self.inner = self.inner.set_max_results(input);
255        self
256    }
257    /// <p>The maximum number of rules to return in a single call to <code>ListRules</code>. When the number of rules to be listed is greater than the value of <code>MaxResults</code>, the response contains a <code>NextToken</code> value that you can use in a subsequent call to <code>ListRules</code> to list the next set of rules.</p>
258    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
259        self.inner.get_max_results()
260    }
261    /// <p>When the number of rules is greater than the default value for the <code>MaxResults</code> parameter, or if you explicitly specify a value for <code>MaxResults</code> that is less than the number of rules, the response includes a pagination token named <code>NextToken</code>. You can specify this <code>NextToken</code> value in a subsequent call to <code>ListRules</code> to list the next set of rules.</p>
262    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
263        self.inner = self.inner.next_token(input.into());
264        self
265    }
266    /// <p>When the number of rules is greater than the default value for the <code>MaxResults</code> parameter, or if you explicitly specify a value for <code>MaxResults</code> that is less than the number of rules, the response includes a pagination token named <code>NextToken</code>. You can specify this <code>NextToken</code> value in a subsequent call to <code>ListRules</code> to list the next set of rules.</p>
267    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
268        self.inner = self.inner.set_next_token(input);
269        self
270    }
271    /// <p>When the number of rules is greater than the default value for the <code>MaxResults</code> parameter, or if you explicitly specify a value for <code>MaxResults</code> that is less than the number of rules, the response includes a pagination token named <code>NextToken</code>. You can specify this <code>NextToken</code> value in a subsequent call to <code>ListRules</code> to list the next set of rules.</p>
272    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
273        self.inner.get_next_token()
274    }
275}