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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::import_hub_content::_import_hub_content_output::ImportHubContentOutputBuilder;

pub use crate::operation::import_hub_content::_import_hub_content_input::ImportHubContentInputBuilder;

/// Fluent builder constructing a request to `ImportHubContent`.
///
/// <p>Import hub content.</p> <note>
/// <p>Hub APIs are only callable through SageMaker Studio.</p>
/// </note>
#[derive(std::clone::Clone, std::fmt::Debug)]
pub struct ImportHubContentFluentBuilder {
    handle: std::sync::Arc<crate::client::Handle>,
    inner: crate::operation::import_hub_content::builders::ImportHubContentInputBuilder,
}
impl ImportHubContentFluentBuilder {
    /// Creates a new `ImportHubContent`.
    pub(crate) fn new(handle: std::sync::Arc<crate::client::Handle>) -> Self {
        Self {
            handle,
            inner: Default::default(),
        }
    }
    /// Consume this builder, creating a customizable operation that can be modified before being
    /// sent. The operation's inner [http::Request] can be modified as well.
    pub async fn customize(
        self,
    ) -> std::result::Result<
        crate::client::customize::CustomizableOperation<
            crate::operation::import_hub_content::ImportHubContent,
            aws_http::retry::AwsResponseRetryClassifier,
        >,
        aws_smithy_http::result::SdkError<
            crate::operation::import_hub_content::ImportHubContentError,
        >,
    > {
        let handle = self.handle.clone();
        let operation = self
            .inner
            .build()
            .map_err(aws_smithy_http::result::SdkError::construction_failure)?
            .make_operation(&handle.conf)
            .await
            .map_err(aws_smithy_http::result::SdkError::construction_failure)?;
        Ok(crate::client::customize::CustomizableOperation { handle, operation })
    }

    /// Sends the request and returns the response.
    ///
    /// If an error occurs, an `SdkError` will be returned with additional details that
    /// can be matched against.
    ///
    /// By default, any retryable failures will be retried twice. Retry behavior
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
    /// set when configuring the client.
    pub async fn send(
        self,
    ) -> std::result::Result<
        crate::operation::import_hub_content::ImportHubContentOutput,
        aws_smithy_http::result::SdkError<
            crate::operation::import_hub_content::ImportHubContentError,
        >,
    > {
        let op = self
            .inner
            .build()
            .map_err(aws_smithy_http::result::SdkError::construction_failure)?
            .make_operation(&self.handle.conf)
            .await
            .map_err(aws_smithy_http::result::SdkError::construction_failure)?;
        self.handle.client.call(op).await
    }
    /// <p>The name of the hub content to import.</p>
    pub fn hub_content_name(mut self, input: impl Into<std::string::String>) -> Self {
        self.inner = self.inner.hub_content_name(input.into());
        self
    }
    /// <p>The name of the hub content to import.</p>
    pub fn set_hub_content_name(mut self, input: std::option::Option<std::string::String>) -> Self {
        self.inner = self.inner.set_hub_content_name(input);
        self
    }
    /// <p>The version of the hub content to import.</p>
    pub fn hub_content_version(mut self, input: impl Into<std::string::String>) -> Self {
        self.inner = self.inner.hub_content_version(input.into());
        self
    }
    /// <p>The version of the hub content to import.</p>
    pub fn set_hub_content_version(
        mut self,
        input: std::option::Option<std::string::String>,
    ) -> Self {
        self.inner = self.inner.set_hub_content_version(input);
        self
    }
    /// <p>The type of hub content to import.</p>
    pub fn hub_content_type(mut self, input: crate::types::HubContentType) -> Self {
        self.inner = self.inner.hub_content_type(input);
        self
    }
    /// <p>The type of hub content to import.</p>
    pub fn set_hub_content_type(
        mut self,
        input: std::option::Option<crate::types::HubContentType>,
    ) -> Self {
        self.inner = self.inner.set_hub_content_type(input);
        self
    }
    /// <p>The version of the hub content schema to import.</p>
    pub fn document_schema_version(mut self, input: impl Into<std::string::String>) -> Self {
        self.inner = self.inner.document_schema_version(input.into());
        self
    }
    /// <p>The version of the hub content schema to import.</p>
    pub fn set_document_schema_version(
        mut self,
        input: std::option::Option<std::string::String>,
    ) -> Self {
        self.inner = self.inner.set_document_schema_version(input);
        self
    }
    /// <p>The name of the hub to import content into.</p>
    pub fn hub_name(mut self, input: impl Into<std::string::String>) -> Self {
        self.inner = self.inner.hub_name(input.into());
        self
    }
    /// <p>The name of the hub to import content into.</p>
    pub fn set_hub_name(mut self, input: std::option::Option<std::string::String>) -> Self {
        self.inner = self.inner.set_hub_name(input);
        self
    }
    /// <p>The display name of the hub content to import.</p>
    pub fn hub_content_display_name(mut self, input: impl Into<std::string::String>) -> Self {
        self.inner = self.inner.hub_content_display_name(input.into());
        self
    }
    /// <p>The display name of the hub content to import.</p>
    pub fn set_hub_content_display_name(
        mut self,
        input: std::option::Option<std::string::String>,
    ) -> Self {
        self.inner = self.inner.set_hub_content_display_name(input);
        self
    }
    /// <p>A description of the hub content to import.</p>
    pub fn hub_content_description(mut self, input: impl Into<std::string::String>) -> Self {
        self.inner = self.inner.hub_content_description(input.into());
        self
    }
    /// <p>A description of the hub content to import.</p>
    pub fn set_hub_content_description(
        mut self,
        input: std::option::Option<std::string::String>,
    ) -> Self {
        self.inner = self.inner.set_hub_content_description(input);
        self
    }
    /// <p>A string that provides a description of the hub content. This string can include links, tables, and standard markdown formating.</p>
    pub fn hub_content_markdown(mut self, input: impl Into<std::string::String>) -> Self {
        self.inner = self.inner.hub_content_markdown(input.into());
        self
    }
    /// <p>A string that provides a description of the hub content. This string can include links, tables, and standard markdown formating.</p>
    pub fn set_hub_content_markdown(
        mut self,
        input: std::option::Option<std::string::String>,
    ) -> Self {
        self.inner = self.inner.set_hub_content_markdown(input);
        self
    }
    /// <p>The hub content document that describes information about the hub content such as type, associated containers, scripts, and more.</p>
    pub fn hub_content_document(mut self, input: impl Into<std::string::String>) -> Self {
        self.inner = self.inner.hub_content_document(input.into());
        self
    }
    /// <p>The hub content document that describes information about the hub content such as type, associated containers, scripts, and more.</p>
    pub fn set_hub_content_document(
        mut self,
        input: std::option::Option<std::string::String>,
    ) -> Self {
        self.inner = self.inner.set_hub_content_document(input);
        self
    }
    /// Appends an item to `HubContentSearchKeywords`.
    ///
    /// To override the contents of this collection use [`set_hub_content_search_keywords`](Self::set_hub_content_search_keywords).
    ///
    /// <p>The searchable keywords of the hub content.</p>
    pub fn hub_content_search_keywords(mut self, input: impl Into<std::string::String>) -> Self {
        self.inner = self.inner.hub_content_search_keywords(input.into());
        self
    }
    /// <p>The searchable keywords of the hub content.</p>
    pub fn set_hub_content_search_keywords(
        mut self,
        input: std::option::Option<std::vec::Vec<std::string::String>>,
    ) -> Self {
        self.inner = self.inner.set_hub_content_search_keywords(input);
        self
    }
    /// Appends an item to `Tags`.
    ///
    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
    ///
    /// <p>Any tags associated with the hub content.</p>
    pub fn tags(mut self, input: crate::types::Tag) -> Self {
        self.inner = self.inner.tags(input);
        self
    }
    /// <p>Any tags associated with the hub content.</p>
    pub fn set_tags(
        mut self,
        input: std::option::Option<std::vec::Vec<crate::types::Tag>>,
    ) -> Self {
        self.inner = self.inner.set_tags(input);
        self
    }
}