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
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
/// <p>Information about the task action.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct TaskActionDefinition {
/// <p>The name. Supports variable injection. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p>
pub name: ::std::string::String,
/// <p>The description. Supports variable injection. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p>
pub description: ::std::option::Option<::std::string::String>,
/// <p>The identifier of the flow.</p>
pub contact_flow_id: ::std::string::String,
/// <p>Information about the reference when the <code>referenceType</code> is <code>URL</code>. Otherwise, null. (Supports variable injection in the <code>Value</code> field.)</p>
pub references: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Reference>>,
}
impl TaskActionDefinition {
/// <p>The name. Supports variable injection. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p>
pub fn name(&self) -> &str {
use std::ops::Deref;
self.name.deref()
}
/// <p>The description. Supports variable injection. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p>
pub fn description(&self) -> ::std::option::Option<&str> {
self.description.as_deref()
}
/// <p>The identifier of the flow.</p>
pub fn contact_flow_id(&self) -> &str {
use std::ops::Deref;
self.contact_flow_id.deref()
}
/// <p>Information about the reference when the <code>referenceType</code> is <code>URL</code>. Otherwise, null. (Supports variable injection in the <code>Value</code> field.)</p>
pub fn references(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::Reference>> {
self.references.as_ref()
}
}
impl TaskActionDefinition {
/// Creates a new builder-style object to manufacture [`TaskActionDefinition`](crate::types::TaskActionDefinition).
pub fn builder() -> crate::types::builders::TaskActionDefinitionBuilder {
crate::types::builders::TaskActionDefinitionBuilder::default()
}
}
/// A builder for [`TaskActionDefinition`](crate::types::TaskActionDefinition).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct TaskActionDefinitionBuilder {
pub(crate) name: ::std::option::Option<::std::string::String>,
pub(crate) description: ::std::option::Option<::std::string::String>,
pub(crate) contact_flow_id: ::std::option::Option<::std::string::String>,
pub(crate) references: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Reference>>,
}
impl TaskActionDefinitionBuilder {
/// <p>The name. Supports variable injection. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p>
/// This field is required.
pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.name = ::std::option::Option::Some(input.into());
self
}
/// <p>The name. Supports variable injection. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p>
pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.name = input;
self
}
/// <p>The name. Supports variable injection. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p>
pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
&self.name
}
/// <p>The description. Supports variable injection. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p>
pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.description = ::std::option::Option::Some(input.into());
self
}
/// <p>The description. Supports variable injection. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p>
pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.description = input;
self
}
/// <p>The description. Supports variable injection. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p>
pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
&self.description
}
/// <p>The identifier of the flow.</p>
/// This field is required.
pub fn contact_flow_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.contact_flow_id = ::std::option::Option::Some(input.into());
self
}
/// <p>The identifier of the flow.</p>
pub fn set_contact_flow_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.contact_flow_id = input;
self
}
/// <p>The identifier of the flow.</p>
pub fn get_contact_flow_id(&self) -> &::std::option::Option<::std::string::String> {
&self.contact_flow_id
}
/// Adds a key-value pair to `references`.
///
/// To override the contents of this collection use [`set_references`](Self::set_references).
///
/// <p>Information about the reference when the <code>referenceType</code> is <code>URL</code>. Otherwise, null. (Supports variable injection in the <code>Value</code> field.)</p>
pub fn references(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::Reference) -> Self {
let mut hash_map = self.references.unwrap_or_default();
hash_map.insert(k.into(), v);
self.references = ::std::option::Option::Some(hash_map);
self
}
/// <p>Information about the reference when the <code>referenceType</code> is <code>URL</code>. Otherwise, null. (Supports variable injection in the <code>Value</code> field.)</p>
pub fn set_references(
mut self,
input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Reference>>,
) -> Self {
self.references = input;
self
}
/// <p>Information about the reference when the <code>referenceType</code> is <code>URL</code>. Otherwise, null. (Supports variable injection in the <code>Value</code> field.)</p>
pub fn get_references(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Reference>> {
&self.references
}
/// Consumes the builder and constructs a [`TaskActionDefinition`](crate::types::TaskActionDefinition).
/// This method will fail if any of the following fields are not set:
/// - [`name`](crate::types::builders::TaskActionDefinitionBuilder::name)
/// - [`contact_flow_id`](crate::types::builders::TaskActionDefinitionBuilder::contact_flow_id)
pub fn build(self) -> ::std::result::Result<crate::types::TaskActionDefinition, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::types::TaskActionDefinition {
name: self.name.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"name",
"name was not specified but it is required when building TaskActionDefinition",
)
})?,
description: self.description,
contact_flow_id: self.contact_flow_id.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"contact_flow_id",
"contact_flow_id was not specified but it is required when building TaskActionDefinition",
)
})?,
references: self.references,
})
}
}