diff --git a/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/BehaviorType.java b/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/BehaviorType.java new file mode 100644 index 0000000000..ba2aa98b5f --- /dev/null +++ b/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/BehaviorType.java @@ -0,0 +1,62 @@ +/* + * Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package com.amazonaws.services.connect.model; + +import java.util.HashMap; +import java.util.Map; + +/** + * Behavior Type + */ +public enum BehaviorType { + + ROUTE_CURRENT_CHANNEL_ONLY("ROUTE_CURRENT_CHANNEL_ONLY"), + ROUTE_ANY_CHANNEL("ROUTE_ANY_CHANNEL"); + + private String value; + + private BehaviorType(String value) { + this.value = value; + } + + @Override + public String toString() { + return value; + } + + private static final Map enumMap; + static { + enumMap = new HashMap(); + enumMap.put("ROUTE_CURRENT_CHANNEL_ONLY", ROUTE_CURRENT_CHANNEL_ONLY); + enumMap.put("ROUTE_ANY_CHANNEL", ROUTE_ANY_CHANNEL); + } + + /** + * Use this in place of valueOf. + * + * @param value real value + * @return BehaviorType corresponding to the value + */ + public static BehaviorType fromValue(String value) { + if (value == null || value.isEmpty()) { + throw new IllegalArgumentException("Value cannot be null or empty!"); + } else if (enumMap.containsKey(value)) { + return enumMap.get(value); + } else { + throw new IllegalArgumentException("Cannot create enum from " + value + " value!"); + } + } +} diff --git a/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/ChatMessage.java b/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/ChatMessage.java index 1c553b5d2c..35c6329a26 100644 --- a/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/ChatMessage.java +++ b/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/ChatMessage.java @@ -26,7 +26,9 @@ public class ChatMessage implements Serializable { /** *

* The type of the content. Supported types are text/plain, - * text/markdown, and application/json. + * text/markdown, application/json, and + * application/vnd.amazonaws.connect.message.interactive.response + * . *

*

* Constraints:
@@ -51,6 +53,13 @@ public class ChatMessage implements Serializable { * 1, Maximum of 12000. *

* + *
  • + *

    + * For + * application/vnd.amazonaws.connect.message.interactive.response + * , the Length Constraints are Minimum of 1, Maximum of 12288. + *

    + *
  • * *

    * Constraints:
    @@ -61,7 +70,9 @@ public class ChatMessage implements Serializable { /** *

    * The type of the content. Supported types are text/plain, - * text/markdown, and application/json. + * text/markdown, application/json, and + * application/vnd.amazonaws.connect.message.interactive.response + * . *

    *

    * Constraints:
    @@ -69,8 +80,10 @@ public class ChatMessage implements Serializable { * * @return

    * The type of the content. Supported types are - * text/plain, text/markdown, and - * application/json. + * text/plain, text/markdown, + * application/json, and + * application/vnd.amazonaws.connect.message.interactive.response + * . *

    */ public String getContentType() { @@ -80,7 +93,9 @@ public String getContentType() { /** *

    * The type of the content. Supported types are text/plain, - * text/markdown, and application/json. + * text/markdown, application/json, and + * application/vnd.amazonaws.connect.message.interactive.response + * . *

    *

    * Constraints:
    @@ -88,8 +103,10 @@ public String getContentType() { * * @param contentType

    * The type of the content. Supported types are - * text/plain, text/markdown, and - * application/json. + * text/plain, text/markdown, + * application/json, and + * application/vnd.amazonaws.connect.message.interactive.response + * . *

    */ public void setContentType(String contentType) { @@ -99,7 +116,9 @@ public void setContentType(String contentType) { /** *

    * The type of the content. Supported types are text/plain, - * text/markdown, and application/json. + * text/markdown, application/json, and + * application/vnd.amazonaws.connect.message.interactive.response + * . *

    *

    * Returns a reference to this object so that method calls can be chained @@ -110,8 +129,10 @@ public void setContentType(String contentType) { * * @param contentType

    * The type of the content. Supported types are - * text/plain, text/markdown, and - * application/json. + * text/plain, text/markdown, + * application/json, and + * application/vnd.amazonaws.connect.message.interactive.response + * . *

    * @return A reference to this updated object so that method calls can be * chained together. @@ -138,6 +159,13 @@ public ChatMessage withContentType(String contentType) { * 1, Maximum of 12000. *

    * + *
  • + *

    + * For + * application/vnd.amazonaws.connect.message.interactive.response + * , the Length Constraints are Minimum of 1, Maximum of 12288. + *

    + *
  • * *

    * Constraints:
    @@ -159,6 +187,13 @@ public ChatMessage withContentType(String contentType) { * Minimum of 1, Maximum of 12000. *

    * + *
  • + *

    + * For + * application/vnd.amazonaws.connect.message.interactive.response + * , the Length Constraints are Minimum of 1, Maximum of 12288. + *

    + *
  • * */ public String getContent() { @@ -182,6 +217,13 @@ public String getContent() { * 1, Maximum of 12000. *

    * + *
  • + *

    + * For + * application/vnd.amazonaws.connect.message.interactive.response + * , the Length Constraints are Minimum of 1, Maximum of 12288. + *

    + *
  • * *

    * Constraints:
    @@ -203,6 +245,13 @@ public String getContent() { * Minimum of 1, Maximum of 12000. *

    * + *
  • + *

    + * For + * application/vnd.amazonaws.connect.message.interactive.response + * , the Length Constraints are Minimum of 1, Maximum of 12288. + *

    + *
  • * */ public void setContent(String content) { @@ -226,6 +275,13 @@ public void setContent(String content) { * 1, Maximum of 12000. *

    * + *
  • + *

    + * For + * application/vnd.amazonaws.connect.message.interactive.response + * , the Length Constraints are Minimum of 1, Maximum of 12288. + *

    + *
  • * *

    * Returns a reference to this object so that method calls can be chained @@ -250,6 +306,13 @@ public void setContent(String content) { * Minimum of 1, Maximum of 12000. *

    * + *
  • + *

    + * For + * application/vnd.amazonaws.connect.message.interactive.response + * , the Length Constraints are Minimum of 1, Maximum of 12288. + *

    + *
  • * * @return A reference to this updated object so that method calls can be * chained together. diff --git a/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/CrossChannelBehavior.java b/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/CrossChannelBehavior.java new file mode 100644 index 0000000000..723e794d89 --- /dev/null +++ b/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/CrossChannelBehavior.java @@ -0,0 +1,190 @@ +/* + * Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package com.amazonaws.services.connect.model; + +import java.io.Serializable; + +/** + *

    + * Defines the cross-channel routing behavior that allows an agent working on a + * contact in one channel to be offered a contact from a different channel. + *

    + */ +public class CrossChannelBehavior implements Serializable { + /** + *

    + * Specifies the other channels that can be routed to an agent handling + * their current channel. + *

    + *

    + * Constraints:
    + * Allowed Values: ROUTE_CURRENT_CHANNEL_ONLY, ROUTE_ANY_CHANNEL + */ + private String behaviorType; + + /** + *

    + * Specifies the other channels that can be routed to an agent handling + * their current channel. + *

    + *

    + * Constraints:
    + * Allowed Values: ROUTE_CURRENT_CHANNEL_ONLY, ROUTE_ANY_CHANNEL + * + * @return

    + * Specifies the other channels that can be routed to an agent + * handling their current channel. + *

    + * @see BehaviorType + */ + public String getBehaviorType() { + return behaviorType; + } + + /** + *

    + * Specifies the other channels that can be routed to an agent handling + * their current channel. + *

    + *

    + * Constraints:
    + * Allowed Values: ROUTE_CURRENT_CHANNEL_ONLY, ROUTE_ANY_CHANNEL + * + * @param behaviorType

    + * Specifies the other channels that can be routed to an agent + * handling their current channel. + *

    + * @see BehaviorType + */ + public void setBehaviorType(String behaviorType) { + this.behaviorType = behaviorType; + } + + /** + *

    + * Specifies the other channels that can be routed to an agent handling + * their current channel. + *

    + *

    + * Returns a reference to this object so that method calls can be chained + * together. + *

    + * Constraints:
    + * Allowed Values: ROUTE_CURRENT_CHANNEL_ONLY, ROUTE_ANY_CHANNEL + * + * @param behaviorType

    + * Specifies the other channels that can be routed to an agent + * handling their current channel. + *

    + * @return A reference to this updated object so that method calls can be + * chained together. + * @see BehaviorType + */ + public CrossChannelBehavior withBehaviorType(String behaviorType) { + this.behaviorType = behaviorType; + return this; + } + + /** + *

    + * Specifies the other channels that can be routed to an agent handling + * their current channel. + *

    + *

    + * Constraints:
    + * Allowed Values: ROUTE_CURRENT_CHANNEL_ONLY, ROUTE_ANY_CHANNEL + * + * @param behaviorType

    + * Specifies the other channels that can be routed to an agent + * handling their current channel. + *

    + * @see BehaviorType + */ + public void setBehaviorType(BehaviorType behaviorType) { + this.behaviorType = behaviorType.toString(); + } + + /** + *

    + * Specifies the other channels that can be routed to an agent handling + * their current channel. + *

    + *

    + * Returns a reference to this object so that method calls can be chained + * together. + *

    + * Constraints:
    + * Allowed Values: ROUTE_CURRENT_CHANNEL_ONLY, ROUTE_ANY_CHANNEL + * + * @param behaviorType

    + * Specifies the other channels that can be routed to an agent + * handling their current channel. + *

    + * @return A reference to this updated object so that method calls can be + * chained together. + * @see BehaviorType + */ + public CrossChannelBehavior withBehaviorType(BehaviorType behaviorType) { + this.behaviorType = behaviorType.toString(); + return this; + } + + /** + * Returns a string representation of this object; useful for testing and + * debugging. + * + * @return A string representation of this object. + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("{"); + if (getBehaviorType() != null) + sb.append("BehaviorType: " + getBehaviorType()); + sb.append("}"); + return sb.toString(); + } + + @Override + public int hashCode() { + final int prime = 31; + int hashCode = 1; + + hashCode = prime * hashCode + + ((getBehaviorType() == null) ? 0 : getBehaviorType().hashCode()); + return hashCode; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + + if (obj instanceof CrossChannelBehavior == false) + return false; + CrossChannelBehavior other = (CrossChannelBehavior) obj; + + if (other.getBehaviorType() == null ^ this.getBehaviorType() == null) + return false; + if (other.getBehaviorType() != null + && other.getBehaviorType().equals(this.getBehaviorType()) == false) + return false; + return true; + } +} diff --git a/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/GetMetricDataV2Request.java b/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/GetMetricDataV2Request.java index 8727434e1e..def6d72d69 100644 --- a/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/GetMetricDataV2Request.java +++ b/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/GetMetricDataV2Request.java @@ -68,7 +68,8 @@ public class GetMetricDataV2Request extends AmazonWebServiceRequest implements S *

    * The timestamp, in UNIX Epoch time format, at which to end the reporting * interval for the retrieval of historical metrics data. The time must be - * later than the start time timestamp. + * later than the start time timestamp. It cannot be later than the current + * timestamp. *

    *

    * The time range between the start and end time must be less than 24 hours. @@ -452,6 +453,11 @@ public class GetMetricDataV2Request extends AmazonWebServiceRequest implements S *

    * Valid groupings and filters: Queue, Channel, Routing Profile *

    + *

    + * Threshold: For ThresholdValue, enter any whole number from 1 + * to 604800 (inclusive), in seconds. For Comparison, you must + * enter LT (for "Less than"). + *

    * *
    SUM_CONTACTS_ABANDONED_IN_X
    *
    @@ -461,6 +467,11 @@ public class GetMetricDataV2Request extends AmazonWebServiceRequest implements S *

    * Valid groupings and filters: Queue, Channel, Routing Profile *

    + *

    + * Threshold: For ThresholdValue, enter any whole number from 1 + * to 604800 (inclusive), in seconds. For Comparison, you must + * enter LT (for "Less than"). + *

    *
    *
    SUM_CONTACTS_DISCONNECTED
    *
    @@ -641,7 +652,8 @@ public GetMetricDataV2Request withStartTime(java.util.Date startTime) { *

    * The timestamp, in UNIX Epoch time format, at which to end the reporting * interval for the retrieval of historical metrics data. The time must be - * later than the start time timestamp. + * later than the start time timestamp. It cannot be later than the current + * timestamp. *

    *

    * The time range between the start and end time must be less than 24 hours. @@ -650,7 +662,8 @@ public GetMetricDataV2Request withStartTime(java.util.Date startTime) { * @return

    * The timestamp, in UNIX Epoch time format, at which to end the * reporting interval for the retrieval of historical metrics data. - * The time must be later than the start time timestamp. + * The time must be later than the start time timestamp. It cannot + * be later than the current timestamp. *

    *

    * The time range between the start and end time must be less than @@ -665,7 +678,8 @@ public java.util.Date getEndTime() { *

    * The timestamp, in UNIX Epoch time format, at which to end the reporting * interval for the retrieval of historical metrics data. The time must be - * later than the start time timestamp. + * later than the start time timestamp. It cannot be later than the current + * timestamp. *

    *

    * The time range between the start and end time must be less than 24 hours. @@ -674,7 +688,8 @@ public java.util.Date getEndTime() { * @param endTime

    * The timestamp, in UNIX Epoch time format, at which to end the * reporting interval for the retrieval of historical metrics - * data. The time must be later than the start time timestamp. + * data. The time must be later than the start time timestamp. It + * cannot be later than the current timestamp. *

    *

    * The time range between the start and end time must be less @@ -689,7 +704,8 @@ public void setEndTime(java.util.Date endTime) { *

    * The timestamp, in UNIX Epoch time format, at which to end the reporting * interval for the retrieval of historical metrics data. The time must be - * later than the start time timestamp. + * later than the start time timestamp. It cannot be later than the current + * timestamp. *

    *

    * The time range between the start and end time must be less than 24 hours. @@ -701,7 +717,8 @@ public void setEndTime(java.util.Date endTime) { * @param endTime

    * The timestamp, in UNIX Epoch time format, at which to end the * reporting interval for the retrieval of historical metrics - * data. The time must be later than the start time timestamp. + * data. The time must be later than the start time timestamp. It + * cannot be later than the current timestamp. *

    *

    * The time range between the start and end time must be less @@ -1796,6 +1813,11 @@ public GetMetricDataV2Request withGroupings(java.util.Collection groupin *

    * Valid groupings and filters: Queue, Channel, Routing Profile *

    + *

    + * Threshold: For ThresholdValue, enter any whole number from 1 + * to 604800 (inclusive), in seconds. For Comparison, you must + * enter LT (for "Less than"). + *

    *
    *
    SUM_CONTACTS_ABANDONED_IN_X
    *
    @@ -1805,6 +1827,11 @@ public GetMetricDataV2Request withGroupings(java.util.Collection groupin *

    * Valid groupings and filters: Queue, Channel, Routing Profile *

    + *

    + * Threshold: For ThresholdValue, enter any whole number from 1 + * to 604800 (inclusive), in seconds. For Comparison, you must + * enter LT (for "Less than"). + *

    *
    *
    SUM_CONTACTS_DISCONNECTED
    *
    @@ -2112,6 +2139,12 @@ public GetMetricDataV2Request withGroupings(java.util.Collection groupin *

    * Valid groupings and filters: Queue, Channel, Routing Profile *

    + *

    + * Threshold: For ThresholdValue, enter any whole + * number from 1 to 604800 (inclusive), in seconds. For + * Comparison, you must enter LT (for + * "Less than"). + *

    *
    *
    SUM_CONTACTS_ABANDONED_IN_X
    *
    @@ -2121,6 +2154,12 @@ public GetMetricDataV2Request withGroupings(java.util.Collection groupin *

    * Valid groupings and filters: Queue, Channel, Routing Profile *

    + *

    + * Threshold: For ThresholdValue, enter any whole + * number from 1 to 604800 (inclusive), in seconds. For + * Comparison, you must enter LT (for + * "Less than"). + *

    *
    *
    SUM_CONTACTS_DISCONNECTED
    *
    @@ -2431,6 +2470,11 @@ public java.util.List getMetrics() { *

    * Valid groupings and filters: Queue, Channel, Routing Profile *

    + *

    + * Threshold: For ThresholdValue, enter any whole number from 1 + * to 604800 (inclusive), in seconds. For Comparison, you must + * enter LT (for "Less than"). + *

    *
    *
    SUM_CONTACTS_ABANDONED_IN_X
    *
    @@ -2440,6 +2484,11 @@ public java.util.List getMetrics() { *

    * Valid groupings and filters: Queue, Channel, Routing Profile *

    + *

    + * Threshold: For ThresholdValue, enter any whole number from 1 + * to 604800 (inclusive), in seconds. For Comparison, you must + * enter LT (for "Less than"). + *

    *
    *
    SUM_CONTACTS_DISCONNECTED
    *
    @@ -2751,6 +2800,12 @@ public java.util.List getMetrics() { *

    * Valid groupings and filters: Queue, Channel, Routing Profile *

    + *

    + * Threshold: For ThresholdValue, enter any whole + * number from 1 to 604800 (inclusive), in seconds. For + * Comparison, you must enter LT (for + * "Less than"). + *

    *
    *
    SUM_CONTACTS_ABANDONED_IN_X
    *
    @@ -2760,6 +2815,12 @@ public java.util.List getMetrics() { *

    * Valid groupings and filters: Queue, Channel, Routing Profile *

    + *

    + * Threshold: For ThresholdValue, enter any whole + * number from 1 to 604800 (inclusive), in seconds. For + * Comparison, you must enter LT (for + * "Less than"). + *

    *
    *
    SUM_CONTACTS_DISCONNECTED
    *
    @@ -3075,6 +3136,11 @@ public void setMetrics(java.util.Collection metrics) { *

    * Valid groupings and filters: Queue, Channel, Routing Profile *

    + *

    + * Threshold: For ThresholdValue, enter any whole number from 1 + * to 604800 (inclusive), in seconds. For Comparison, you must + * enter LT (for "Less than"). + *

    *
    *
    SUM_CONTACTS_ABANDONED_IN_X
    *
    @@ -3084,6 +3150,11 @@ public void setMetrics(java.util.Collection metrics) { *

    * Valid groupings and filters: Queue, Channel, Routing Profile *

    + *

    + * Threshold: For ThresholdValue, enter any whole number from 1 + * to 604800 (inclusive), in seconds. For Comparison, you must + * enter LT (for "Less than"). + *

    *
    *
    SUM_CONTACTS_DISCONNECTED
    *
    @@ -3398,6 +3469,12 @@ public void setMetrics(java.util.Collection metrics) { *

    * Valid groupings and filters: Queue, Channel, Routing Profile *

    + *

    + * Threshold: For ThresholdValue, enter any whole + * number from 1 to 604800 (inclusive), in seconds. For + * Comparison, you must enter LT (for + * "Less than"). + *

    *
    *
    SUM_CONTACTS_ABANDONED_IN_X
    *
    @@ -3407,6 +3484,12 @@ public void setMetrics(java.util.Collection metrics) { *

    * Valid groupings and filters: Queue, Channel, Routing Profile *

    + *

    + * Threshold: For ThresholdValue, enter any whole + * number from 1 to 604800 (inclusive), in seconds. For + * Comparison, you must enter LT (for + * "Less than"). + *

    *
    *
    SUM_CONTACTS_DISCONNECTED
    *
    @@ -3725,6 +3808,11 @@ public GetMetricDataV2Request withMetrics(MetricV2... metrics) { *

    * Valid groupings and filters: Queue, Channel, Routing Profile *

    + *

    + * Threshold: For ThresholdValue, enter any whole number from 1 + * to 604800 (inclusive), in seconds. For Comparison, you must + * enter LT (for "Less than"). + *

    *
    *
    SUM_CONTACTS_ABANDONED_IN_X
    *
    @@ -3734,6 +3822,11 @@ public GetMetricDataV2Request withMetrics(MetricV2... metrics) { *

    * Valid groupings and filters: Queue, Channel, Routing Profile *

    + *

    + * Threshold: For ThresholdValue, enter any whole number from 1 + * to 604800 (inclusive), in seconds. For Comparison, you must + * enter LT (for "Less than"). + *

    *
    *
    SUM_CONTACTS_DISCONNECTED
    *
    @@ -4048,6 +4141,12 @@ public GetMetricDataV2Request withMetrics(MetricV2... metrics) { *

    * Valid groupings and filters: Queue, Channel, Routing Profile *

    + *

    + * Threshold: For ThresholdValue, enter any whole + * number from 1 to 604800 (inclusive), in seconds. For + * Comparison, you must enter LT (for + * "Less than"). + *

    *
    *
    SUM_CONTACTS_ABANDONED_IN_X
    *
    @@ -4057,6 +4156,12 @@ public GetMetricDataV2Request withMetrics(MetricV2... metrics) { *

    * Valid groupings and filters: Queue, Channel, Routing Profile *

    + *

    + * Threshold: For ThresholdValue, enter any whole + * number from 1 to 604800 (inclusive), in seconds. For + * Comparison, you must enter LT (for + * "Less than"). + *

    *
    *
    SUM_CONTACTS_DISCONNECTED
    *
    diff --git a/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/MediaConcurrency.java b/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/MediaConcurrency.java index ab05c69961..0c9c327ade 100644 --- a/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/MediaConcurrency.java +++ b/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/MediaConcurrency.java @@ -56,6 +56,16 @@ public class MediaConcurrency implements Serializable { */ private Integer concurrency; + /** + *

    + * Defines the cross-channel routing behavior for each channel that is + * enabled for this Routing Profile. For example, this allows you to offer + * an agent a different contact from another channel when they are currently + * working with a contact from a Voice channel. + *

    + */ + private CrossChannelBehavior crossChannelBehavior; + /** *

    * The channels that agents can handle in the Contact Control Panel (CCP). @@ -287,6 +297,71 @@ public MediaConcurrency withConcurrency(Integer concurrency) { return this; } + /** + *

    + * Defines the cross-channel routing behavior for each channel that is + * enabled for this Routing Profile. For example, this allows you to offer + * an agent a different contact from another channel when they are currently + * working with a contact from a Voice channel. + *

    + * + * @return

    + * Defines the cross-channel routing behavior for each channel that + * is enabled for this Routing Profile. For example, this allows you + * to offer an agent a different contact from another channel when + * they are currently working with a contact from a Voice channel. + *

    + */ + public CrossChannelBehavior getCrossChannelBehavior() { + return crossChannelBehavior; + } + + /** + *

    + * Defines the cross-channel routing behavior for each channel that is + * enabled for this Routing Profile. For example, this allows you to offer + * an agent a different contact from another channel when they are currently + * working with a contact from a Voice channel. + *

    + * + * @param crossChannelBehavior

    + * Defines the cross-channel routing behavior for each channel + * that is enabled for this Routing Profile. For example, this + * allows you to offer an agent a different contact from another + * channel when they are currently working with a contact from a + * Voice channel. + *

    + */ + public void setCrossChannelBehavior(CrossChannelBehavior crossChannelBehavior) { + this.crossChannelBehavior = crossChannelBehavior; + } + + /** + *

    + * Defines the cross-channel routing behavior for each channel that is + * enabled for this Routing Profile. For example, this allows you to offer + * an agent a different contact from another channel when they are currently + * working with a contact from a Voice channel. + *

    + *

    + * Returns a reference to this object so that method calls can be chained + * together. + * + * @param crossChannelBehavior

    + * Defines the cross-channel routing behavior for each channel + * that is enabled for this Routing Profile. For example, this + * allows you to offer an agent a different contact from another + * channel when they are currently working with a contact from a + * Voice channel. + *

    + * @return A reference to this updated object so that method calls can be + * chained together. + */ + public MediaConcurrency withCrossChannelBehavior(CrossChannelBehavior crossChannelBehavior) { + this.crossChannelBehavior = crossChannelBehavior; + return this; + } + /** * Returns a string representation of this object; useful for testing and * debugging. @@ -301,7 +376,9 @@ public String toString() { if (getChannel() != null) sb.append("Channel: " + getChannel() + ","); if (getConcurrency() != null) - sb.append("Concurrency: " + getConcurrency()); + sb.append("Concurrency: " + getConcurrency() + ","); + if (getCrossChannelBehavior() != null) + sb.append("CrossChannelBehavior: " + getCrossChannelBehavior()); sb.append("}"); return sb.toString(); } @@ -314,6 +391,8 @@ public int hashCode() { hashCode = prime * hashCode + ((getChannel() == null) ? 0 : getChannel().hashCode()); hashCode = prime * hashCode + ((getConcurrency() == null) ? 0 : getConcurrency().hashCode()); + hashCode = prime * hashCode + + ((getCrossChannelBehavior() == null) ? 0 : getCrossChannelBehavior().hashCode()); return hashCode; } @@ -337,6 +416,11 @@ public boolean equals(Object obj) { if (other.getConcurrency() != null && other.getConcurrency().equals(this.getConcurrency()) == false) return false; + if (other.getCrossChannelBehavior() == null ^ this.getCrossChannelBehavior() == null) + return false; + if (other.getCrossChannelBehavior() != null + && other.getCrossChannelBehavior().equals(this.getCrossChannelBehavior()) == false) + return false; return true; } } diff --git a/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/transform/CrossChannelBehaviorJsonMarshaller.java b/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/transform/CrossChannelBehaviorJsonMarshaller.java new file mode 100644 index 0000000000..89877e6cd5 --- /dev/null +++ b/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/transform/CrossChannelBehaviorJsonMarshaller.java @@ -0,0 +1,45 @@ +/* + * Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package com.amazonaws.services.connect.model.transform; + +import com.amazonaws.services.connect.model.*; +import com.amazonaws.util.DateUtils; +import com.amazonaws.util.json.AwsJsonWriter; + +/** + * JSON marshaller for POJO CrossChannelBehavior + */ +class CrossChannelBehaviorJsonMarshaller { + + public void marshall(CrossChannelBehavior crossChannelBehavior, AwsJsonWriter jsonWriter) + throws Exception { + jsonWriter.beginObject(); + if (crossChannelBehavior.getBehaviorType() != null) { + String behaviorType = crossChannelBehavior.getBehaviorType(); + jsonWriter.name("BehaviorType"); + jsonWriter.value(behaviorType); + } + jsonWriter.endObject(); + } + + private static CrossChannelBehaviorJsonMarshaller instance; + + public static CrossChannelBehaviorJsonMarshaller getInstance() { + if (instance == null) + instance = new CrossChannelBehaviorJsonMarshaller(); + return instance; + } +} diff --git a/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/transform/CrossChannelBehaviorJsonUnmarshaller.java b/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/transform/CrossChannelBehaviorJsonUnmarshaller.java new file mode 100644 index 0000000000..d814a1d146 --- /dev/null +++ b/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/transform/CrossChannelBehaviorJsonUnmarshaller.java @@ -0,0 +1,57 @@ +/* + * Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package com.amazonaws.services.connect.model.transform; + +import com.amazonaws.services.connect.model.*; +import com.amazonaws.transform.SimpleTypeJsonUnmarshallers.*; +import com.amazonaws.transform.*; +import com.amazonaws.util.json.AwsJsonReader; + +/** + * JSON unmarshaller for POJO CrossChannelBehavior + */ +class CrossChannelBehaviorJsonUnmarshaller implements + Unmarshaller { + + public CrossChannelBehavior unmarshall(JsonUnmarshallerContext context) throws Exception { + AwsJsonReader reader = context.getReader(); + if (!reader.isContainer()) { + reader.skipValue(); + return null; + } + CrossChannelBehavior crossChannelBehavior = new CrossChannelBehavior(); + reader.beginObject(); + while (reader.hasNext()) { + String name = reader.nextName(); + if (name.equals("BehaviorType")) { + crossChannelBehavior.setBehaviorType(StringJsonUnmarshaller.getInstance() + .unmarshall(context)); + } else { + reader.skipValue(); + } + } + reader.endObject(); + return crossChannelBehavior; + } + + private static CrossChannelBehaviorJsonUnmarshaller instance; + + public static CrossChannelBehaviorJsonUnmarshaller getInstance() { + if (instance == null) + instance = new CrossChannelBehaviorJsonUnmarshaller(); + return instance; + } +} diff --git a/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/transform/MediaConcurrencyJsonMarshaller.java b/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/transform/MediaConcurrencyJsonMarshaller.java index b4b421aa12..e76f9a37cb 100644 --- a/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/transform/MediaConcurrencyJsonMarshaller.java +++ b/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/transform/MediaConcurrencyJsonMarshaller.java @@ -37,6 +37,12 @@ public void marshall(MediaConcurrency mediaConcurrency, AwsJsonWriter jsonWriter jsonWriter.name("Concurrency"); jsonWriter.value(concurrency); } + if (mediaConcurrency.getCrossChannelBehavior() != null) { + CrossChannelBehavior crossChannelBehavior = mediaConcurrency.getCrossChannelBehavior(); + jsonWriter.name("CrossChannelBehavior"); + CrossChannelBehaviorJsonMarshaller.getInstance().marshall(crossChannelBehavior, + jsonWriter); + } jsonWriter.endObject(); } diff --git a/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/transform/MediaConcurrencyJsonUnmarshaller.java b/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/transform/MediaConcurrencyJsonUnmarshaller.java index 0a4bbf248e..b7f11d8720 100644 --- a/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/transform/MediaConcurrencyJsonUnmarshaller.java +++ b/aws-android-sdk-connect/src/main/java/com/amazonaws/services/connect/model/transform/MediaConcurrencyJsonUnmarshaller.java @@ -42,6 +42,10 @@ public MediaConcurrency unmarshall(JsonUnmarshallerContext context) throws Excep } else if (name.equals("Concurrency")) { mediaConcurrency.setConcurrency(IntegerJsonUnmarshaller.getInstance() .unmarshall(context)); + } else if (name.equals("CrossChannelBehavior")) { + mediaConcurrency.setCrossChannelBehavior(CrossChannelBehaviorJsonUnmarshaller + .getInstance() + .unmarshall(context)); } else { reader.skipValue(); }