aws_sdk_connect/client/create_contact.rs
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateContact`](crate::operation::create_contact::builders::CreateContactFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`instance_id(impl Into<String>)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::instance_id) / [`set_instance_id(Option<String>)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::set_instance_id):<br>required: **true**<br><p>The identifier of the Amazon Connect instance. You can <a href="https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html">find the instance ID</a> in the Amazon Resource Name (ARN) of the instance.</p><br>
/// - [`client_token(impl Into<String>)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::set_client_token):<br>required: **false**<br><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><br>
/// - [`related_contact_id(impl Into<String>)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::related_contact_id) / [`set_related_contact_id(Option<String>)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::set_related_contact_id):<br>required: **false**<br><p>The identifier of the contact in this instance of Amazon Connect.</p><br>
/// - [`attributes(impl Into<String>, impl Into<String>)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::attributes) / [`set_attributes(Option<HashMap::<String, String>>)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::set_attributes):<br>required: **false**<br><p>A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in flows just like any other contact attributes.</p> <p>There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact. Attribute keys can include only alphanumeric, dash, and underscore characters.</p><br>
/// - [`references(impl Into<String>, Reference)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::references) / [`set_references(Option<HashMap::<String, Reference>>)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::set_references):<br>required: **false**<br><p>A formatted URL that is shown to an agent in the Contact Control Panel (CCP). Tasks can have the following reference types at the time of creation: URL | NUMBER | STRING | DATE | EMAIL | ATTACHMENT.</p><br>
/// - [`channel(Channel)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::channel) / [`set_channel(Option<Channel>)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::set_channel):<br>required: **true**<br><p>The channel for the contact</p><br>
/// - [`initiation_method(ContactInitiationMethod)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::initiation_method) / [`set_initiation_method(Option<ContactInitiationMethod>)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::set_initiation_method):<br>required: **true**<br><p>Indicates how the contact was initiated.</p><br>
/// - [`expiry_duration_in_minutes(i32)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::expiry_duration_in_minutes) / [`set_expiry_duration_in_minutes(Option<i32>)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::set_expiry_duration_in_minutes):<br>required: **false**<br><p>Number of minutes the contact will be active for before expiring</p><br>
/// - [`user_info(UserInfo)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::user_info) / [`set_user_info(Option<UserInfo>)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::set_user_info):<br>required: **false**<br><p>User details for the contact</p><br>
/// - [`initiate_as(InitiateAs)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::initiate_as) / [`set_initiate_as(Option<InitiateAs>)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::set_initiate_as):<br>required: **false**<br><p>Initial state of the contact when it's created</p><br>
/// - [`name(impl Into<String>)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::set_name):<br>required: **false**<br><p>The name of a the contact.</p><br>
/// - [`description(impl Into<String>)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::set_description):<br>required: **false**<br><p>A description of the contact.</p><br>
/// - [`segment_attributes(impl Into<String>, SegmentAttributeValue)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::segment_attributes) / [`set_segment_attributes(Option<HashMap::<String, SegmentAttributeValue>>)`](crate::operation::create_contact::builders::CreateContactFluentBuilder::set_segment_attributes):<br>required: **false**<br><p>A set of system defined key-value pairs stored on individual contact segments (unique contact ID) using an attribute map. The attributes are standard Amazon Connect attributes. They can be accessed in flows.</p> <p>Attribute keys can include only alphanumeric, -, and _.</p> <p>This field can be used to set Segment Contact Expiry as a duration in minutes.</p><note> <p>To set contact expiry, a ValueMap must be specified containing the integer number of minutes the contact will be active for before expiring, with <code>SegmentAttributes</code> like { <code> "connect:ContactExpiry": {"ValueMap" : { "ExpiryDuration": { "ValueInteger": 135}}}}</code>.</p> </note><br>
/// - On success, responds with [`CreateContactOutput`](crate::operation::create_contact::CreateContactOutput) with field(s):
/// - [`contact_id(Option<String>)`](crate::operation::create_contact::CreateContactOutput::contact_id): <p>The identifier of the contact in this instance of Amazon Connect.</p>
/// - [`contact_arn(Option<String>)`](crate::operation::create_contact::CreateContactOutput::contact_arn): <p>The Amazon Resource Name (ARN) of the created contact.</p>
/// - On failure, responds with [`SdkError<CreateContactError>`](crate::operation::create_contact::CreateContactError)
pub fn create_contact(&self) -> crate::operation::create_contact::builders::CreateContactFluentBuilder {
crate::operation::create_contact::builders::CreateContactFluentBuilder::new(self.handle.clone())
}
}