aws_sdk_wisdom/operation/update_content/_update_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 UpdateContentInput {
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</p>
7 pub knowledge_base_id: ::std::option::Option<::std::string::String>,
8 /// <p>The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>
9 pub content_id: ::std::option::Option<::std::string::String>,
10 /// <p>The <code>revisionId</code> of the content resource to update, taken from an earlier call to <code>GetContent</code>, <code>GetContentSummary</code>, <code>SearchContent</code>, or <code>ListContents</code>. If included, this argument acts as an optimistic lock to ensure content was not modified since it was last read. If it has been modified, this API throws a <code>PreconditionFailedException</code>.</p>
11 pub revision_id: ::std::option::Option<::std::string::String>,
12 /// <p>The title of the content.</p>
13 pub title: ::std::option::Option<::std::string::String>,
14 /// <p>The URI for the article. If the knowledge base has a templateUri, setting this argument overrides it for this piece of content. To remove an existing <code>overrideLinkOurUri</code>, exclude this argument and set <code>removeOverrideLinkOutUri</code> to true.</p>
15 pub override_link_out_uri: ::std::option::Option<::std::string::String>,
16 /// <p>Unset the existing <code>overrideLinkOutUri</code> if it exists.</p>
17 pub remove_override_link_out_uri: ::std::option::Option<bool>,
18 /// <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>
19 pub metadata: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
20 /// <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>
21 pub upload_id: ::std::option::Option<::std::string::String>,
22}
23impl UpdateContentInput {
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</p>
25 pub fn knowledge_base_id(&self) -> ::std::option::Option<&str> {
26 self.knowledge_base_id.as_deref()
27 }
28 /// <p>The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>
29 pub fn content_id(&self) -> ::std::option::Option<&str> {
30 self.content_id.as_deref()
31 }
32 /// <p>The <code>revisionId</code> of the content resource to update, taken from an earlier call to <code>GetContent</code>, <code>GetContentSummary</code>, <code>SearchContent</code>, or <code>ListContents</code>. If included, this argument acts as an optimistic lock to ensure content was not modified since it was last read. If it has been modified, this API throws a <code>PreconditionFailedException</code>.</p>
33 pub fn revision_id(&self) -> ::std::option::Option<&str> {
34 self.revision_id.as_deref()
35 }
36 /// <p>The title of the content.</p>
37 pub fn title(&self) -> ::std::option::Option<&str> {
38 self.title.as_deref()
39 }
40 /// <p>The URI for the article. If the knowledge base has a templateUri, setting this argument overrides it for this piece of content. To remove an existing <code>overrideLinkOurUri</code>, exclude this argument and set <code>removeOverrideLinkOutUri</code> to true.</p>
41 pub fn override_link_out_uri(&self) -> ::std::option::Option<&str> {
42 self.override_link_out_uri.as_deref()
43 }
44 /// <p>Unset the existing <code>overrideLinkOutUri</code> if it exists.</p>
45 pub fn remove_override_link_out_uri(&self) -> ::std::option::Option<bool> {
46 self.remove_override_link_out_uri
47 }
48 /// <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>
49 pub fn metadata(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
50 self.metadata.as_ref()
51 }
52 /// <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>
53 pub fn upload_id(&self) -> ::std::option::Option<&str> {
54 self.upload_id.as_deref()
55 }
56}
57impl UpdateContentInput {
58 /// Creates a new builder-style object to manufacture [`UpdateContentInput`](crate::operation::update_content::UpdateContentInput).
59 pub fn builder() -> crate::operation::update_content::builders::UpdateContentInputBuilder {
60 crate::operation::update_content::builders::UpdateContentInputBuilder::default()
61 }
62}
63
64/// A builder for [`UpdateContentInput`](crate::operation::update_content::UpdateContentInput).
65#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
66#[non_exhaustive]
67pub struct UpdateContentInputBuilder {
68 pub(crate) knowledge_base_id: ::std::option::Option<::std::string::String>,
69 pub(crate) content_id: ::std::option::Option<::std::string::String>,
70 pub(crate) revision_id: ::std::option::Option<::std::string::String>,
71 pub(crate) title: ::std::option::Option<::std::string::String>,
72 pub(crate) override_link_out_uri: ::std::option::Option<::std::string::String>,
73 pub(crate) remove_override_link_out_uri: ::std::option::Option<bool>,
74 pub(crate) metadata: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
75 pub(crate) upload_id: ::std::option::Option<::std::string::String>,
76}
77impl UpdateContentInputBuilder {
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</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</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</p>
90 pub fn get_knowledge_base_id(&self) -> &::std::option::Option<::std::string::String> {
91 &self.knowledge_base_id
92 }
93 /// <p>The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>
94 /// This field is required.
95 pub fn content_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
96 self.content_id = ::std::option::Option::Some(input.into());
97 self
98 }
99 /// <p>The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>
100 pub fn set_content_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
101 self.content_id = input;
102 self
103 }
104 /// <p>The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.</p>
105 pub fn get_content_id(&self) -> &::std::option::Option<::std::string::String> {
106 &self.content_id
107 }
108 /// <p>The <code>revisionId</code> of the content resource to update, taken from an earlier call to <code>GetContent</code>, <code>GetContentSummary</code>, <code>SearchContent</code>, or <code>ListContents</code>. If included, this argument acts as an optimistic lock to ensure content was not modified since it was last read. If it has been modified, this API throws a <code>PreconditionFailedException</code>.</p>
109 pub fn revision_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
110 self.revision_id = ::std::option::Option::Some(input.into());
111 self
112 }
113 /// <p>The <code>revisionId</code> of the content resource to update, taken from an earlier call to <code>GetContent</code>, <code>GetContentSummary</code>, <code>SearchContent</code>, or <code>ListContents</code>. If included, this argument acts as an optimistic lock to ensure content was not modified since it was last read. If it has been modified, this API throws a <code>PreconditionFailedException</code>.</p>
114 pub fn set_revision_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
115 self.revision_id = input;
116 self
117 }
118 /// <p>The <code>revisionId</code> of the content resource to update, taken from an earlier call to <code>GetContent</code>, <code>GetContentSummary</code>, <code>SearchContent</code>, or <code>ListContents</code>. If included, this argument acts as an optimistic lock to ensure content was not modified since it was last read. If it has been modified, this API throws a <code>PreconditionFailedException</code>.</p>
119 pub fn get_revision_id(&self) -> &::std::option::Option<::std::string::String> {
120 &self.revision_id
121 }
122 /// <p>The title of the content.</p>
123 pub fn title(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
124 self.title = ::std::option::Option::Some(input.into());
125 self
126 }
127 /// <p>The title of the content.</p>
128 pub fn set_title(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
129 self.title = input;
130 self
131 }
132 /// <p>The title of the content.</p>
133 pub fn get_title(&self) -> &::std::option::Option<::std::string::String> {
134 &self.title
135 }
136 /// <p>The URI for the article. If the knowledge base has a templateUri, setting this argument overrides it for this piece of content. To remove an existing <code>overrideLinkOurUri</code>, exclude this argument and set <code>removeOverrideLinkOutUri</code> to true.</p>
137 pub fn override_link_out_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
138 self.override_link_out_uri = ::std::option::Option::Some(input.into());
139 self
140 }
141 /// <p>The URI for the article. If the knowledge base has a templateUri, setting this argument overrides it for this piece of content. To remove an existing <code>overrideLinkOurUri</code>, exclude this argument and set <code>removeOverrideLinkOutUri</code> to true.</p>
142 pub fn set_override_link_out_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
143 self.override_link_out_uri = input;
144 self
145 }
146 /// <p>The URI for the article. If the knowledge base has a templateUri, setting this argument overrides it for this piece of content. To remove an existing <code>overrideLinkOurUri</code>, exclude this argument and set <code>removeOverrideLinkOutUri</code> to true.</p>
147 pub fn get_override_link_out_uri(&self) -> &::std::option::Option<::std::string::String> {
148 &self.override_link_out_uri
149 }
150 /// <p>Unset the existing <code>overrideLinkOutUri</code> if it exists.</p>
151 pub fn remove_override_link_out_uri(mut self, input: bool) -> Self {
152 self.remove_override_link_out_uri = ::std::option::Option::Some(input);
153 self
154 }
155 /// <p>Unset the existing <code>overrideLinkOutUri</code> if it exists.</p>
156 pub fn set_remove_override_link_out_uri(mut self, input: ::std::option::Option<bool>) -> Self {
157 self.remove_override_link_out_uri = input;
158 self
159 }
160 /// <p>Unset the existing <code>overrideLinkOutUri</code> if it exists.</p>
161 pub fn get_remove_override_link_out_uri(&self) -> &::std::option::Option<bool> {
162 &self.remove_override_link_out_uri
163 }
164 /// Adds a key-value pair to `metadata`.
165 ///
166 /// To override the contents of this collection use [`set_metadata`](Self::set_metadata).
167 ///
168 /// <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>
169 pub fn metadata(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
170 let mut hash_map = self.metadata.unwrap_or_default();
171 hash_map.insert(k.into(), v.into());
172 self.metadata = ::std::option::Option::Some(hash_map);
173 self
174 }
175 /// <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>
176 pub fn set_metadata(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
177 self.metadata = input;
178 self
179 }
180 /// <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>
181 pub fn get_metadata(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
182 &self.metadata
183 }
184 /// <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>
185 pub fn upload_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
186 self.upload_id = ::std::option::Option::Some(input.into());
187 self
188 }
189 /// <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>
190 pub fn set_upload_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
191 self.upload_id = input;
192 self
193 }
194 /// <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>
195 pub fn get_upload_id(&self) -> &::std::option::Option<::std::string::String> {
196 &self.upload_id
197 }
198 /// Consumes the builder and constructs a [`UpdateContentInput`](crate::operation::update_content::UpdateContentInput).
199 pub fn build(
200 self,
201 ) -> ::std::result::Result<crate::operation::update_content::UpdateContentInput, ::aws_smithy_types::error::operation::BuildError> {
202 ::std::result::Result::Ok(crate::operation::update_content::UpdateContentInput {
203 knowledge_base_id: self.knowledge_base_id,
204 content_id: self.content_id,
205 revision_id: self.revision_id,
206 title: self.title,
207 override_link_out_uri: self.override_link_out_uri,
208 remove_override_link_out_uri: self.remove_override_link_out_uri,
209 metadata: self.metadata,
210 upload_id: self.upload_id,
211 })
212 }
213}