aws_sdk_connect/client/create_data_table_attribute.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3 /// Constructs a fluent builder for the [`CreateDataTableAttribute`](crate::operation::create_data_table_attribute::builders::CreateDataTableAttributeFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`instance_id(impl Into<String>)`](crate::operation::create_data_table_attribute::builders::CreateDataTableAttributeFluentBuilder::instance_id) / [`set_instance_id(Option<String>)`](crate::operation::create_data_table_attribute::builders::CreateDataTableAttributeFluentBuilder::set_instance_id):<br>required: **true**<br><p>The unique identifier for the Amazon Connect instance.</p><br>
7 /// - [`data_table_id(impl Into<String>)`](crate::operation::create_data_table_attribute::builders::CreateDataTableAttributeFluentBuilder::data_table_id) / [`set_data_table_id(Option<String>)`](crate::operation::create_data_table_attribute::builders::CreateDataTableAttributeFluentBuilder::set_data_table_id):<br>required: **true**<br><p>The unique identifier for the data table. Must also accept the table ARN with or without a version alias. If the version is provided as part of the identifier or ARN, the version must be one of the two available system managed aliases, $SAVED or $LATEST.</p><br>
8 /// - [`name(impl Into<String>)`](crate::operation::create_data_table_attribute::builders::CreateDataTableAttributeFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_data_table_attribute::builders::CreateDataTableAttributeFluentBuilder::set_name):<br>required: **true**<br><p>The name for the attribute. Must conform to Connect human readable string specification and have 1-127 characters. Must not start with the reserved case insensitive values 'connect:' and 'aws:'. Whitespace trimmed before persisting. Must be unique for the data table using case-insensitive comparison.</p><br>
9 /// - [`value_type(DataTableAttributeValueType)`](crate::operation::create_data_table_attribute::builders::CreateDataTableAttributeFluentBuilder::value_type) / [`set_value_type(Option<DataTableAttributeValueType>)`](crate::operation::create_data_table_attribute::builders::CreateDataTableAttributeFluentBuilder::set_value_type):<br>required: **true**<br><p>The type of value allowed or the resultant type after the value's expression is evaluated. Must be one of TEXT, TEXT_LIST, NUMBER, NUMBER_LIST, and BOOLEAN.</p><br>
10 /// - [`description(impl Into<String>)`](crate::operation::create_data_table_attribute::builders::CreateDataTableAttributeFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_data_table_attribute::builders::CreateDataTableAttributeFluentBuilder::set_description):<br>required: **false**<br><p>An optional description for the attribute. Must conform to Connect human readable string specification and have 0-250 characters. Whitespace trimmed before persisting.</p><br>
11 /// - [`primary(bool)`](crate::operation::create_data_table_attribute::builders::CreateDataTableAttributeFluentBuilder::primary) / [`set_primary(Option<bool>)`](crate::operation::create_data_table_attribute::builders::CreateDataTableAttributeFluentBuilder::set_primary):<br>required: **false**<br><p>Optional boolean that defaults to false. Determines if the value is used to identify a record in the table. Values for primary attributes must not be expressions.</p><br>
12 /// - [`validation(Validation)`](crate::operation::create_data_table_attribute::builders::CreateDataTableAttributeFluentBuilder::validation) / [`set_validation(Option<Validation>)`](crate::operation::create_data_table_attribute::builders::CreateDataTableAttributeFluentBuilder::set_validation):<br>required: **false**<br><p>Optional validation rules for the attribute. Borrows heavily from JSON Schema - Draft 2020-12. The maximum length of arrays within validations and depth of validations is 5. There are default limits that apply to all types. Customer specified limits in excess of the default limits are not permitted.</p><br>
13 /// - On success, responds with [`CreateDataTableAttributeOutput`](crate::operation::create_data_table_attribute::CreateDataTableAttributeOutput) with field(s):
14 /// - [`name(String)`](crate::operation::create_data_table_attribute::CreateDataTableAttributeOutput::name): <p>The name of the created attribute since it also serves as the identifier. This could be different than the parameter passed in since it will be trimmed for whitespace.</p>
15 /// - [`attribute_id(Option<String>)`](crate::operation::create_data_table_attribute::CreateDataTableAttributeOutput::attribute_id): <p>The unique identifier assigned to the created attribute.</p>
16 /// - [`lock_version(Option<DataTableLockVersion>)`](crate::operation::create_data_table_attribute::CreateDataTableAttributeOutput::lock_version): <p>The lock version information for the data table and attribute, used for optimistic locking and versioning.</p>
17 /// - On failure, responds with [`SdkError<CreateDataTableAttributeError>`](crate::operation::create_data_table_attribute::CreateDataTableAttributeError)
18 pub fn create_data_table_attribute(&self) -> crate::operation::create_data_table_attribute::builders::CreateDataTableAttributeFluentBuilder {
19 crate::operation::create_data_table_attribute::builders::CreateDataTableAttributeFluentBuilder::new(self.handle.clone())
20 }
21}