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}