aws_sdk_quicksight/operation/create_analysis/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_analysis::_create_analysis_output::CreateAnalysisOutputBuilder;
3
4pub use crate::operation::create_analysis::_create_analysis_input::CreateAnalysisInputBuilder;
5
6impl crate::operation::create_analysis::builders::CreateAnalysisInputBuilder {
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::create_analysis::CreateAnalysisOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_analysis::CreateAnalysisError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_analysis();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateAnalysis`.
24///
25/// <p>Creates an analysis in Amazon Quick Sight. Analyses can be created either from a template or from an <code>AnalysisDefinition</code>.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct CreateAnalysisFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::create_analysis::builders::CreateAnalysisInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::create_analysis::CreateAnalysisOutput,
35        crate::operation::create_analysis::CreateAnalysisError,
36    > for CreateAnalysisFluentBuilder
37{
38    fn send(
39        self,
40        config_override: crate::config::Builder,
41    ) -> crate::client::customize::internal::BoxFuture<
42        crate::client::customize::internal::SendResult<
43            crate::operation::create_analysis::CreateAnalysisOutput,
44            crate::operation::create_analysis::CreateAnalysisError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl CreateAnalysisFluentBuilder {
51    /// Creates a new `CreateAnalysisFluentBuilder`.
52    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
53        Self {
54            handle,
55            inner: ::std::default::Default::default(),
56            config_override: ::std::option::Option::None,
57        }
58    }
59    /// Access the CreateAnalysis as a reference.
60    pub fn as_input(&self) -> &crate::operation::create_analysis::builders::CreateAnalysisInputBuilder {
61        &self.inner
62    }
63    /// Sends the request and returns the response.
64    ///
65    /// If an error occurs, an `SdkError` will be returned with additional details that
66    /// can be matched against.
67    ///
68    /// By default, any retryable failures will be retried twice. Retry behavior
69    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
70    /// set when configuring the client.
71    pub async fn send(
72        self,
73    ) -> ::std::result::Result<
74        crate::operation::create_analysis::CreateAnalysisOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::create_analysis::CreateAnalysisError,
77            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
78        >,
79    > {
80        let input = self
81            .inner
82            .build()
83            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
84        let runtime_plugins = crate::operation::create_analysis::CreateAnalysis::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::create_analysis::CreateAnalysis::orchestrate(&runtime_plugins, input).await
90    }
91
92    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
93    pub fn customize(
94        self,
95    ) -> crate::client::customize::CustomizableOperation<
96        crate::operation::create_analysis::CreateAnalysisOutput,
97        crate::operation::create_analysis::CreateAnalysisError,
98        Self,
99    > {
100        crate::client::customize::CustomizableOperation::new(self)
101    }
102    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
103        self.set_config_override(::std::option::Option::Some(config_override.into()));
104        self
105    }
106
107    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
108        self.config_override = config_override;
109        self
110    }
111    /// <p>The ID of the Amazon Web Services account where you are creating an analysis.</p>
112    pub fn aws_account_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113        self.inner = self.inner.aws_account_id(input.into());
114        self
115    }
116    /// <p>The ID of the Amazon Web Services account where you are creating an analysis.</p>
117    pub fn set_aws_account_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118        self.inner = self.inner.set_aws_account_id(input);
119        self
120    }
121    /// <p>The ID of the Amazon Web Services account where you are creating an analysis.</p>
122    pub fn get_aws_account_id(&self) -> &::std::option::Option<::std::string::String> {
123        self.inner.get_aws_account_id()
124    }
125    /// <p>The ID for the analysis that you're creating. This ID displays in the URL of the analysis.</p>
126    pub fn analysis_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127        self.inner = self.inner.analysis_id(input.into());
128        self
129    }
130    /// <p>The ID for the analysis that you're creating. This ID displays in the URL of the analysis.</p>
131    pub fn set_analysis_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132        self.inner = self.inner.set_analysis_id(input);
133        self
134    }
135    /// <p>The ID for the analysis that you're creating. This ID displays in the URL of the analysis.</p>
136    pub fn get_analysis_id(&self) -> &::std::option::Option<::std::string::String> {
137        self.inner.get_analysis_id()
138    }
139    /// <p>A descriptive name for the analysis that you're creating. This name displays for the analysis in the Amazon Quick Sight console.</p>
140    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141        self.inner = self.inner.name(input.into());
142        self
143    }
144    /// <p>A descriptive name for the analysis that you're creating. This name displays for the analysis in the Amazon Quick Sight console.</p>
145    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
146        self.inner = self.inner.set_name(input);
147        self
148    }
149    /// <p>A descriptive name for the analysis that you're creating. This name displays for the analysis in the Amazon Quick Sight console.</p>
150    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
151        self.inner.get_name()
152    }
153    /// <p>The parameter names and override values that you want to use. An analysis can have any parameter type, and some parameters might accept multiple values.</p>
154    pub fn parameters(mut self, input: crate::types::Parameters) -> Self {
155        self.inner = self.inner.parameters(input);
156        self
157    }
158    /// <p>The parameter names and override values that you want to use. An analysis can have any parameter type, and some parameters might accept multiple values.</p>
159    pub fn set_parameters(mut self, input: ::std::option::Option<crate::types::Parameters>) -> Self {
160        self.inner = self.inner.set_parameters(input);
161        self
162    }
163    /// <p>The parameter names and override values that you want to use. An analysis can have any parameter type, and some parameters might accept multiple values.</p>
164    pub fn get_parameters(&self) -> &::std::option::Option<crate::types::Parameters> {
165        self.inner.get_parameters()
166    }
167    ///
168    /// Appends an item to `Permissions`.
169    ///
170    /// To override the contents of this collection use [`set_permissions`](Self::set_permissions).
171    ///
172    /// <p>A structure that describes the principals and the resource-level permissions on an analysis. You can use the <code>Permissions</code> structure to grant permissions by providing a list of Identity and Access Management (IAM) action information for each principal listed by Amazon Resource Name (ARN).</p>
173    /// <p>To specify no permissions, omit <code>Permissions</code>.</p>
174    pub fn permissions(mut self, input: crate::types::ResourcePermission) -> Self {
175        self.inner = self.inner.permissions(input);
176        self
177    }
178    /// <p>A structure that describes the principals and the resource-level permissions on an analysis. You can use the <code>Permissions</code> structure to grant permissions by providing a list of Identity and Access Management (IAM) action information for each principal listed by Amazon Resource Name (ARN).</p>
179    /// <p>To specify no permissions, omit <code>Permissions</code>.</p>
180    pub fn set_permissions(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ResourcePermission>>) -> Self {
181        self.inner = self.inner.set_permissions(input);
182        self
183    }
184    /// <p>A structure that describes the principals and the resource-level permissions on an analysis. You can use the <code>Permissions</code> structure to grant permissions by providing a list of Identity and Access Management (IAM) action information for each principal listed by Amazon Resource Name (ARN).</p>
185    /// <p>To specify no permissions, omit <code>Permissions</code>.</p>
186    pub fn get_permissions(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ResourcePermission>> {
187        self.inner.get_permissions()
188    }
189    /// <p>A source entity to use for the analysis that you're creating. This metadata structure contains details that describe a source template and one or more datasets.</p>
190    /// <p>Either a <code>SourceEntity</code> or a <code>Definition</code> must be provided in order for the request to be valid.</p>
191    pub fn source_entity(mut self, input: crate::types::AnalysisSourceEntity) -> Self {
192        self.inner = self.inner.source_entity(input);
193        self
194    }
195    /// <p>A source entity to use for the analysis that you're creating. This metadata structure contains details that describe a source template and one or more datasets.</p>
196    /// <p>Either a <code>SourceEntity</code> or a <code>Definition</code> must be provided in order for the request to be valid.</p>
197    pub fn set_source_entity(mut self, input: ::std::option::Option<crate::types::AnalysisSourceEntity>) -> Self {
198        self.inner = self.inner.set_source_entity(input);
199        self
200    }
201    /// <p>A source entity to use for the analysis that you're creating. This metadata structure contains details that describe a source template and one or more datasets.</p>
202    /// <p>Either a <code>SourceEntity</code> or a <code>Definition</code> must be provided in order for the request to be valid.</p>
203    pub fn get_source_entity(&self) -> &::std::option::Option<crate::types::AnalysisSourceEntity> {
204        self.inner.get_source_entity()
205    }
206    /// <p>The ARN for the theme to apply to the analysis that you're creating. To see the theme in the Amazon Quick Sight console, make sure that you have access to it.</p>
207    pub fn theme_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
208        self.inner = self.inner.theme_arn(input.into());
209        self
210    }
211    /// <p>The ARN for the theme to apply to the analysis that you're creating. To see the theme in the Amazon Quick Sight console, make sure that you have access to it.</p>
212    pub fn set_theme_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
213        self.inner = self.inner.set_theme_arn(input);
214        self
215    }
216    /// <p>The ARN for the theme to apply to the analysis that you're creating. To see the theme in the Amazon Quick Sight console, make sure that you have access to it.</p>
217    pub fn get_theme_arn(&self) -> &::std::option::Option<::std::string::String> {
218        self.inner.get_theme_arn()
219    }
220    ///
221    /// Appends an item to `Tags`.
222    ///
223    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
224    ///
225    /// <p>Contains a map of the key-value pairs for the resource tag or tags assigned to the analysis.</p>
226    pub fn tags(mut self, input: crate::types::Tag) -> Self {
227        self.inner = self.inner.tags(input);
228        self
229    }
230    /// <p>Contains a map of the key-value pairs for the resource tag or tags assigned to the analysis.</p>
231    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
232        self.inner = self.inner.set_tags(input);
233        self
234    }
235    /// <p>Contains a map of the key-value pairs for the resource tag or tags assigned to the analysis.</p>
236    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
237        self.inner.get_tags()
238    }
239    /// <p>The definition of an analysis.</p>
240    /// <p>A definition is the data model of all features in a Dashboard, Template, or Analysis.</p>
241    /// <p>Either a <code>SourceEntity</code> or a <code>Definition</code> must be provided in order for the request to be valid.</p>
242    pub fn definition(mut self, input: crate::types::AnalysisDefinition) -> Self {
243        self.inner = self.inner.definition(input);
244        self
245    }
246    /// <p>The definition of an analysis.</p>
247    /// <p>A definition is the data model of all features in a Dashboard, Template, or Analysis.</p>
248    /// <p>Either a <code>SourceEntity</code> or a <code>Definition</code> must be provided in order for the request to be valid.</p>
249    pub fn set_definition(mut self, input: ::std::option::Option<crate::types::AnalysisDefinition>) -> Self {
250        self.inner = self.inner.set_definition(input);
251        self
252    }
253    /// <p>The definition of an analysis.</p>
254    /// <p>A definition is the data model of all features in a Dashboard, Template, or Analysis.</p>
255    /// <p>Either a <code>SourceEntity</code> or a <code>Definition</code> must be provided in order for the request to be valid.</p>
256    pub fn get_definition(&self) -> &::std::option::Option<crate::types::AnalysisDefinition> {
257        self.inner.get_definition()
258    }
259    /// <p>The option to relax the validation needed to create an analysis with definition objects. This skips the validation step for specific errors.</p>
260    pub fn validation_strategy(mut self, input: crate::types::ValidationStrategy) -> Self {
261        self.inner = self.inner.validation_strategy(input);
262        self
263    }
264    /// <p>The option to relax the validation needed to create an analysis with definition objects. This skips the validation step for specific errors.</p>
265    pub fn set_validation_strategy(mut self, input: ::std::option::Option<crate::types::ValidationStrategy>) -> Self {
266        self.inner = self.inner.set_validation_strategy(input);
267        self
268    }
269    /// <p>The option to relax the validation needed to create an analysis with definition objects. This skips the validation step for specific errors.</p>
270    pub fn get_validation_strategy(&self) -> &::std::option::Option<crate::types::ValidationStrategy> {
271        self.inner.get_validation_strategy()
272    }
273    ///
274    /// Appends an item to `FolderArns`.
275    ///
276    /// To override the contents of this collection use [`set_folder_arns`](Self::set_folder_arns).
277    ///
278    /// <p>When you create the analysis, Amazon Quick Sight adds the analysis to these folders.</p>
279    pub fn folder_arns(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
280        self.inner = self.inner.folder_arns(input.into());
281        self
282    }
283    /// <p>When you create the analysis, Amazon Quick Sight adds the analysis to these folders.</p>
284    pub fn set_folder_arns(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
285        self.inner = self.inner.set_folder_arns(input);
286        self
287    }
288    /// <p>When you create the analysis, Amazon Quick Sight adds the analysis to these folders.</p>
289    pub fn get_folder_arns(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
290        self.inner.get_folder_arns()
291    }
292}