aws_sdk_wisdom/operation/create_content/
_create_content_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateContentInput {
6    /// <p>The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>
7    pub knowledge_base_id: ::std::option::Option<::std::string::String>,
8    /// <p>The name of the content. Each piece of content in a knowledge base must have a unique name. You can retrieve a piece of content using only its knowledge base and its name with the <a href="https://docs.aws.amazon.com/wisdom/latest/APIReference/API_SearchContent.html">SearchContent</a> API.</p>
9    pub name: ::std::option::Option<::std::string::String>,
10    /// <p>The title of the content. If not set, the title is equal to the name.</p>
11    pub title: ::std::option::Option<::std::string::String>,
12    /// <p>The URI you want to use for the article. If the knowledge base has a templateUri, setting this argument overrides it for this piece of content.</p>
13    pub override_link_out_uri: ::std::option::Option<::std::string::String>,
14    /// <p>A key/value map to store attributes without affecting tagging or recommendations. For example, when synchronizing data between an external system and Wisdom, you can store an external version identifier as metadata to utilize for determining drift.</p>
15    pub metadata: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
16    /// <p>A pointer to the uploaded asset. This value is returned by <a href="https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html">StartContentUpload</a>.</p>
17    pub upload_id: ::std::option::Option<::std::string::String>,
18    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see <a href="https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/">Making retries safe with idempotent APIs</a>.</p>
19    pub client_token: ::std::option::Option<::std::string::String>,
20    /// <p>The tags used to organize, track, or control access for this resource.</p>
21    pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
22}
23impl CreateContentInput {
24    /// <p>The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>
25    pub fn knowledge_base_id(&self) -> ::std::option::Option<&str> {
26        self.knowledge_base_id.as_deref()
27    }
28    /// <p>The name of the content. Each piece of content in a knowledge base must have a unique name. You can retrieve a piece of content using only its knowledge base and its name with the <a href="https://docs.aws.amazon.com/wisdom/latest/APIReference/API_SearchContent.html">SearchContent</a> API.</p>
29    pub fn name(&self) -> ::std::option::Option<&str> {
30        self.name.as_deref()
31    }
32    /// <p>The title of the content. If not set, the title is equal to the name.</p>
33    pub fn title(&self) -> ::std::option::Option<&str> {
34        self.title.as_deref()
35    }
36    /// <p>The URI you want to use for the article. If the knowledge base has a templateUri, setting this argument overrides it for this piece of content.</p>
37    pub fn override_link_out_uri(&self) -> ::std::option::Option<&str> {
38        self.override_link_out_uri.as_deref()
39    }
40    /// <p>A key/value map to store attributes without affecting tagging or recommendations. For example, when synchronizing data between an external system and Wisdom, you can store an external version identifier as metadata to utilize for determining drift.</p>
41    pub fn metadata(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
42        self.metadata.as_ref()
43    }
44    /// <p>A pointer to the uploaded asset. This value is returned by <a href="https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html">StartContentUpload</a>.</p>
45    pub fn upload_id(&self) -> ::std::option::Option<&str> {
46        self.upload_id.as_deref()
47    }
48    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see <a href="https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/">Making retries safe with idempotent APIs</a>.</p>
49    pub fn client_token(&self) -> ::std::option::Option<&str> {
50        self.client_token.as_deref()
51    }
52    /// <p>The tags used to organize, track, or control access for this resource.</p>
53    pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
54        self.tags.as_ref()
55    }
56}
57impl CreateContentInput {
58    /// Creates a new builder-style object to manufacture [`CreateContentInput`](crate::operation::create_content::CreateContentInput).
59    pub fn builder() -> crate::operation::create_content::builders::CreateContentInputBuilder {
60        crate::operation::create_content::builders::CreateContentInputBuilder::default()
61    }
62}
63
64/// A builder for [`CreateContentInput`](crate::operation::create_content::CreateContentInput).
65#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
66#[non_exhaustive]
67pub struct CreateContentInputBuilder {
68    pub(crate) knowledge_base_id: ::std::option::Option<::std::string::String>,
69    pub(crate) name: ::std::option::Option<::std::string::String>,
70    pub(crate) title: ::std::option::Option<::std::string::String>,
71    pub(crate) override_link_out_uri: ::std::option::Option<::std::string::String>,
72    pub(crate) metadata: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
73    pub(crate) upload_id: ::std::option::Option<::std::string::String>,
74    pub(crate) client_token: ::std::option::Option<::std::string::String>,
75    pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
76}
77impl CreateContentInputBuilder {
78    /// <p>The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>
79    /// This field is required.
80    pub fn knowledge_base_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
81        self.knowledge_base_id = ::std::option::Option::Some(input.into());
82        self
83    }
84    /// <p>The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>
85    pub fn set_knowledge_base_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
86        self.knowledge_base_id = input;
87        self
88    }
89    /// <p>The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>
90    pub fn get_knowledge_base_id(&self) -> &::std::option::Option<::std::string::String> {
91        &self.knowledge_base_id
92    }
93    /// <p>The name of the content. Each piece of content in a knowledge base must have a unique name. You can retrieve a piece of content using only its knowledge base and its name with the <a href="https://docs.aws.amazon.com/wisdom/latest/APIReference/API_SearchContent.html">SearchContent</a> API.</p>
94    /// This field is required.
95    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
96        self.name = ::std::option::Option::Some(input.into());
97        self
98    }
99    /// <p>The name of the content. Each piece of content in a knowledge base must have a unique name. You can retrieve a piece of content using only its knowledge base and its name with the <a href="https://docs.aws.amazon.com/wisdom/latest/APIReference/API_SearchContent.html">SearchContent</a> API.</p>
100    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
101        self.name = input;
102        self
103    }
104    /// <p>The name of the content. Each piece of content in a knowledge base must have a unique name. You can retrieve a piece of content using only its knowledge base and its name with the <a href="https://docs.aws.amazon.com/wisdom/latest/APIReference/API_SearchContent.html">SearchContent</a> API.</p>
105    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
106        &self.name
107    }
108    /// <p>The title of the content. If not set, the title is equal to the name.</p>
109    pub fn title(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
110        self.title = ::std::option::Option::Some(input.into());
111        self
112    }
113    /// <p>The title of the content. If not set, the title is equal to the name.</p>
114    pub fn set_title(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
115        self.title = input;
116        self
117    }
118    /// <p>The title of the content. If not set, the title is equal to the name.</p>
119    pub fn get_title(&self) -> &::std::option::Option<::std::string::String> {
120        &self.title
121    }
122    /// <p>The URI you want to use for the article. If the knowledge base has a templateUri, setting this argument overrides it for this piece of content.</p>
123    pub fn override_link_out_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
124        self.override_link_out_uri = ::std::option::Option::Some(input.into());
125        self
126    }
127    /// <p>The URI you want to use for the article. If the knowledge base has a templateUri, setting this argument overrides it for this piece of content.</p>
128    pub fn set_override_link_out_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
129        self.override_link_out_uri = input;
130        self
131    }
132    /// <p>The URI you want to use for the article. If the knowledge base has a templateUri, setting this argument overrides it for this piece of content.</p>
133    pub fn get_override_link_out_uri(&self) -> &::std::option::Option<::std::string::String> {
134        &self.override_link_out_uri
135    }
136    /// Adds a key-value pair to `metadata`.
137    ///
138    /// To override the contents of this collection use [`set_metadata`](Self::set_metadata).
139    ///
140    /// <p>A key/value map to store attributes without affecting tagging or recommendations. For example, when synchronizing data between an external system and Wisdom, you can store an external version identifier as metadata to utilize for determining drift.</p>
141    pub fn metadata(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
142        let mut hash_map = self.metadata.unwrap_or_default();
143        hash_map.insert(k.into(), v.into());
144        self.metadata = ::std::option::Option::Some(hash_map);
145        self
146    }
147    /// <p>A key/value map to store attributes without affecting tagging or recommendations. For example, when synchronizing data between an external system and Wisdom, you can store an external version identifier as metadata to utilize for determining drift.</p>
148    pub fn set_metadata(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
149        self.metadata = input;
150        self
151    }
152    /// <p>A key/value map to store attributes without affecting tagging or recommendations. For example, when synchronizing data between an external system and Wisdom, you can store an external version identifier as metadata to utilize for determining drift.</p>
153    pub fn get_metadata(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
154        &self.metadata
155    }
156    /// <p>A pointer to the uploaded asset. This value is returned by <a href="https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html">StartContentUpload</a>.</p>
157    /// This field is required.
158    pub fn upload_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
159        self.upload_id = ::std::option::Option::Some(input.into());
160        self
161    }
162    /// <p>A pointer to the uploaded asset. This value is returned by <a href="https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html">StartContentUpload</a>.</p>
163    pub fn set_upload_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
164        self.upload_id = input;
165        self
166    }
167    /// <p>A pointer to the uploaded asset. This value is returned by <a href="https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html">StartContentUpload</a>.</p>
168    pub fn get_upload_id(&self) -> &::std::option::Option<::std::string::String> {
169        &self.upload_id
170    }
171    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see <a href="https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/">Making retries safe with idempotent APIs</a>.</p>
172    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
173        self.client_token = ::std::option::Option::Some(input.into());
174        self
175    }
176    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see <a href="https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/">Making retries safe with idempotent APIs</a>.</p>
177    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
178        self.client_token = input;
179        self
180    }
181    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see <a href="https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/">Making retries safe with idempotent APIs</a>.</p>
182    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
183        &self.client_token
184    }
185    /// Adds a key-value pair to `tags`.
186    ///
187    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
188    ///
189    /// <p>The tags used to organize, track, or control access for this resource.</p>
190    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
191        let mut hash_map = self.tags.unwrap_or_default();
192        hash_map.insert(k.into(), v.into());
193        self.tags = ::std::option::Option::Some(hash_map);
194        self
195    }
196    /// <p>The tags used to organize, track, or control access for this resource.</p>
197    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
198        self.tags = input;
199        self
200    }
201    /// <p>The tags used to organize, track, or control access for this resource.</p>
202    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
203        &self.tags
204    }
205    /// Consumes the builder and constructs a [`CreateContentInput`](crate::operation::create_content::CreateContentInput).
206    pub fn build(
207        self,
208    ) -> ::std::result::Result<crate::operation::create_content::CreateContentInput, ::aws_smithy_types::error::operation::BuildError> {
209        ::std::result::Result::Ok(crate::operation::create_content::CreateContentInput {
210            knowledge_base_id: self.knowledge_base_id,
211            name: self.name,
212            title: self.title,
213            override_link_out_uri: self.override_link_out_uri,
214            metadata: self.metadata,
215            upload_id: self.upload_id,
216            client_token: self.client_token,
217            tags: self.tags,
218        })
219    }
220}