Skip to content

Commit dbbd1ea

Browse files
SDK release for user defined predefined attributes.
1 parent 6c80d96 commit dbbd1ea

34 files changed

+2054
-218
lines changed

generator/ServiceModels/connect/connect-2017-08-08.api.json

Lines changed: 48 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6488,7 +6488,8 @@
64886488
"ContactSearchSummarySegmentAttributes":{
64896489
"type":"map",
64906490
"key":{"shape":"SegmentAttributeName"},
6491-
"value":{"shape":"ContactSearchSummarySegmentAttributeValue"}
6491+
"value":{"shape":"ContactSearchSummarySegmentAttributeValue"},
6492+
"sensitive":true
64926493
},
64936494
"ContactState":{
64946495
"type":"string",
@@ -6973,8 +6974,7 @@
69736974
"type":"structure",
69746975
"required":[
69756976
"InstanceId",
6976-
"Name",
6977-
"Values"
6977+
"Name"
69786978
],
69796979
"members":{
69806980
"InstanceId":{
@@ -6983,7 +6983,9 @@
69836983
"locationName":"InstanceId"
69846984
},
69856985
"Name":{"shape":"PredefinedAttributeName"},
6986-
"Values":{"shape":"PredefinedAttributeValues"}
6986+
"Values":{"shape":"PredefinedAttributeValues"},
6987+
"Purposes":{"shape":"PredefinedAttributePurposeNameList"},
6988+
"AttributeConfiguration":{"shape":"InputPredefinedAttributeConfiguration"}
69876989
}
69886990
},
69896991
"CreatePromptRequest":{
@@ -9577,6 +9579,7 @@
95779579
"type":"structure",
95789580
"members":{}
95799581
},
9582+
"EnableValueValidationOnAssociation":{"type":"boolean"},
95809583
"EncryptionConfig":{
95819584
"type":"structure",
95829585
"required":[
@@ -11259,6 +11262,12 @@
1125911262
"type":"list",
1126011263
"member":{"shape":"ContactInitiationMethod"}
1126111264
},
11265+
"InputPredefinedAttributeConfiguration":{
11266+
"type":"structure",
11267+
"members":{
11268+
"EnableValueValidationOnAssociation":{"shape":"EnableValueValidationOnAssociation"}
11269+
}
11270+
},
1126211271
"Instance":{
1126311272
"type":"structure",
1126411273
"members":{
@@ -11523,6 +11532,7 @@
1152311532
"type":"list",
1152411533
"member":{"shape":"IpCidr"}
1152511534
},
11535+
"IsReadOnly":{"type":"boolean"},
1152611536
"IvrRecordingTrack":{
1152711537
"type":"string",
1152811538
"enum":["ALL"]
@@ -14270,15 +14280,35 @@
1427014280
"members":{
1427114281
"Name":{"shape":"PredefinedAttributeName"},
1427214282
"Values":{"shape":"PredefinedAttributeValues"},
14283+
"Purposes":{"shape":"PredefinedAttributePurposeNameList"},
14284+
"AttributeConfiguration":{"shape":"PredefinedAttributeConfiguration"},
1427314285
"LastModifiedTime":{"shape":"Timestamp"},
1427414286
"LastModifiedRegion":{"shape":"RegionName"}
1427514287
}
1427614288
},
14289+
"PredefinedAttributeConfiguration":{
14290+
"type":"structure",
14291+
"members":{
14292+
"EnableValueValidationOnAssociation":{"shape":"EnableValueValidationOnAssociation"},
14293+
"IsReadOnly":{"shape":"IsReadOnly"}
14294+
}
14295+
},
1427714296
"PredefinedAttributeName":{
1427814297
"type":"string",
14279-
"max":64,
14298+
"max":100,
14299+
"min":1
14300+
},
14301+
"PredefinedAttributePurposeName":{
14302+
"type":"string",
14303+
"max":100,
1428014304
"min":1
1428114305
},
14306+
"PredefinedAttributePurposeNameList":{
14307+
"type":"list",
14308+
"member":{"shape":"PredefinedAttributePurposeName"},
14309+
"max":10,
14310+
"min":0
14311+
},
1428214312
"PredefinedAttributeSearchConditionList":{
1428314313
"type":"list",
1428414314
"member":{"shape":"PredefinedAttributeSearchCriteria"}
@@ -14297,14 +14327,14 @@
1429714327
},
1429814328
"PredefinedAttributeStringValue":{
1429914329
"type":"string",
14300-
"max":64,
14330+
"max":100,
1430114331
"min":1
1430214332
},
1430314333
"PredefinedAttributeStringValuesList":{
1430414334
"type":"list",
1430514335
"member":{"shape":"PredefinedAttributeStringValue"},
14306-
"max":128,
14307-
"min":1
14336+
"max":500,
14337+
"min":0
1430814338
},
1430914339
"PredefinedAttributeSummary":{
1431014340
"type":"structure",
@@ -16360,10 +16390,16 @@
1636016390
"members":{
1636116391
"ValueString":{"shape":"SegmentAttributeValueString"},
1636216392
"ValueMap":{"shape":"SegmentAttributeValueMap"},
16363-
"ValueInteger":{"shape":"SegmentAttributeValueInteger"}
16393+
"ValueInteger":{"shape":"SegmentAttributeValueInteger"},
16394+
"ValueList":{"shape":"SegmentAttributeValueList"},
16395+
"ValueArn":{"shape":"SegmentAttributeValueString"}
1636416396
}
1636516397
},
1636616398
"SegmentAttributeValueInteger":{"type":"integer"},
16399+
"SegmentAttributeValueList":{
16400+
"type":"list",
16401+
"member":{"shape":"SegmentAttributeValue"}
16402+
},
1636716403
"SegmentAttributeValueMap":{
1636816404
"type":"map",
1636916405
"key":{"shape":"SegmentAttributeName"},
@@ -18335,7 +18371,9 @@
1833518371
"location":"uri",
1833618372
"locationName":"Name"
1833718373
},
18338-
"Values":{"shape":"PredefinedAttributeValues"}
18374+
"Values":{"shape":"PredefinedAttributeValues"},
18375+
"Purposes":{"shape":"PredefinedAttributePurposeNameList"},
18376+
"AttributeConfiguration":{"shape":"InputPredefinedAttributeConfiguration"}
1833918377
}
1834018378
},
1834118379
"UpdatePromptRequest":{

generator/ServiceModels/connect/connect-2017-08-08.docs.json

Lines changed: 55 additions & 7 deletions
Large diffs are not rendered by default.

generator/ServiceModels/connect/connect-2017-08-08.normal.json

Lines changed: 86 additions & 13 deletions
Large diffs are not rendered by default.

sdk/code-analysis/ServiceAnalysis/Connect/Generated/PropertyValueRules.xml

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -542,7 +542,7 @@
542542
<property-value-rule>
543543
<property>Amazon.Connect.Model.CreatePredefinedAttributeRequest.Name</property>
544544
<min>1</min>
545-
<max>64</max>
545+
<max>100</max>
546546
</property-value-rule>
547547
<property-value-rule>
548548
<property>Amazon.Connect.Model.CreatePromptRequest.Description</property>
@@ -980,7 +980,7 @@
980980
<property-value-rule>
981981
<property>Amazon.Connect.Model.DeletePredefinedAttributeRequest.Name</property>
982982
<min>1</min>
983-
<max>64</max>
983+
<max>100</max>
984984
</property-value-rule>
985985
<property-value-rule>
986986
<property>Amazon.Connect.Model.DeletePromptRequest.InstanceId</property>
@@ -1258,7 +1258,7 @@
12581258
<property-value-rule>
12591259
<property>Amazon.Connect.Model.DescribePredefinedAttributeRequest.Name</property>
12601260
<min>1</min>
1261-
<max>64</max>
1261+
<max>100</max>
12621262
</property-value-rule>
12631263
<property-value-rule>
12641264
<property>Amazon.Connect.Model.DescribePromptRequest.InstanceId</property>
@@ -3658,7 +3658,7 @@
36583658
<property-value-rule>
36593659
<property>Amazon.Connect.Model.UpdatePredefinedAttributeRequest.Name</property>
36603660
<min>1</min>
3661-
<max>64</max>
3661+
<max>100</max>
36623662
</property-value-rule>
36633663
<property-value-rule>
36643664
<property>Amazon.Connect.Model.UpdatePromptRequest.Description</property>
@@ -4091,7 +4091,7 @@
40914091
<property-value-rule>
40924092
<property>Amazon.Connect.Model.AttributeCondition.Name</property>
40934093
<min>1</min>
4094-
<max>64</max>
4094+
<max>100</max>
40954095
</property-value-rule>
40964096
<property-value-rule>
40974097
<property>Amazon.Connect.Model.AttributeCondition.ProficiencyLevel</property>
@@ -5062,7 +5062,7 @@
50625062
<property-value-rule>
50635063
<property>Amazon.Connect.Model.PredefinedAttribute.Name</property>
50645064
<min>1</min>
5065-
<max>64</max>
5065+
<max>100</max>
50665066
</property-value-rule>
50675067
<property-value-rule>
50685068
<property>Amazon.Connect.Model.PredefinedAttributeSummary.LastModifiedRegion</property>
@@ -5071,7 +5071,7 @@
50715071
<property-value-rule>
50725072
<property>Amazon.Connect.Model.PredefinedAttributeSummary.Name</property>
50735073
<min>1</min>
5074-
<max>64</max>
5074+
<max>100</max>
50755075
</property-value-rule>
50765076
<property-value-rule>
50775077
<property>Amazon.Connect.Model.ProblemDetail.Message</property>
@@ -5467,6 +5467,11 @@
54675467
<property>Amazon.Connect.Model.SecurityProfileSummary.LastModifiedRegion</property>
54685468
<pattern>[a-z]{2}(-[a-z]+){1,2}(-[0-9])?</pattern>
54695469
</property-value-rule>
5470+
<property-value-rule>
5471+
<property>Amazon.Connect.Model.SegmentAttributeValue.ValueArn</property>
5472+
<min>0</min>
5473+
<max>1024</max>
5474+
</property-value-rule>
54705475
<property-value-rule>
54715476
<property>Amazon.Connect.Model.SegmentAttributeValue.ValueString</property>
54725477
<min>0</min>
@@ -5730,12 +5735,12 @@
57305735
<property-value-rule>
57315736
<property>Amazon.Connect.Model.UserProficiency.AttributeName</property>
57325737
<min>1</min>
5733-
<max>64</max>
5738+
<max>100</max>
57345739
</property-value-rule>
57355740
<property-value-rule>
57365741
<property>Amazon.Connect.Model.UserProficiency.AttributeValue</property>
57375742
<min>1</min>
5738-
<max>64</max>
5743+
<max>100</max>
57395744
</property-value-rule>
57405745
<property-value-rule>
57415746
<property>Amazon.Connect.Model.UserProficiency.Level</property>
@@ -5745,12 +5750,12 @@
57455750
<property-value-rule>
57465751
<property>Amazon.Connect.Model.UserProficiencyDisassociate.AttributeName</property>
57475752
<min>1</min>
5748-
<max>64</max>
5753+
<max>100</max>
57495754
</property-value-rule>
57505755
<property-value-rule>
57515756
<property>Amazon.Connect.Model.UserProficiencyDisassociate.AttributeValue</property>
57525757
<min>1</min>
5753-
<max>64</max>
5758+
<max>100</max>
57545759
</property-value-rule>
57555760
<property-value-rule>
57565761
<property>Amazon.Connect.Model.UserQuickConnectConfig.ContactFlowId</property>

sdk/src/Services/Connect/Generated/Model/AttributeCondition.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ internal bool IsSetMatchCriteria()
8484
/// The name of predefined attribute.
8585
/// </para>
8686
/// </summary>
87-
[AWSProperty(Min=1, Max=64)]
87+
[AWSProperty(Min=1, Max=100)]
8888
public string Name
8989
{
9090
get { return this._name; }

sdk/src/Services/Connect/Generated/Model/ContactSearchSummary.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,7 @@ internal bool IsSetScheduledTimestamp()
260260
/// Set of segment attributes for a contact.
261261
/// </para>
262262
/// </summary>
263+
[AWSProperty(Sensitive=true)]
263264
public Dictionary<string, ContactSearchSummarySegmentAttributeValue> SegmentAttributes
264265
{
265266
get { return this._segmentAttributes; }

sdk/src/Services/Connect/Generated/Model/CreatePredefinedAttributeRequest.cs

Lines changed: 77 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,70 @@ namespace Amazon.Connect.Model
3131
{
3232
/// <summary>
3333
/// Container for the parameters to the CreatePredefinedAttribute operation.
34-
/// Creates a new predefined attribute for the specified Amazon Connect instance. <i>Predefined
35-
/// attributes</i> are attributes in an Amazon Connect instance that can be used to route
36-
/// contacts to an agent or pools of agents within a queue. For more information, see
37-
/// <a href="https://docs.aws.amazon.com/connect/latest/adminguide/predefined-attributes.html">Create
34+
/// Creates a new predefined attribute for the specified Amazon Connect instance. A <i>predefined
35+
/// attribute</i> is made up of a name and a value.
36+
///
37+
///
38+
/// <para>
39+
/// For the predefined attributes per instance quota, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#connect-quotas">Amazon
40+
/// Connect quotas</a>.
41+
/// </para>
42+
///
43+
/// <para>
44+
/// <b>Use cases</b>
45+
/// </para>
46+
///
47+
/// <para>
48+
/// Following are common uses cases for this API:
49+
/// </para>
50+
/// <ul> <li>
51+
/// <para>
52+
/// Create an attribute for routing proficiency (for example, agent certification) that
53+
/// has predefined values (for example, a list of possible certifications). For more information,
54+
/// see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/predefined-attributes.html">Create
3855
/// predefined attributes for routing contacts to agents</a>.
56+
/// </para>
57+
/// </li> <li>
58+
/// <para>
59+
/// Create an attribute for business unit name that has a list of predefined business
60+
/// unit names used in your organization. This is a use case where information for a contact
61+
/// varies between transfers or conferences. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/use-contact-segment-attributes.html">Use
62+
/// contact segment attributes</a>.
63+
/// </para>
64+
/// </li> </ul>
65+
/// <para>
66+
/// <b>Endpoints</b>: See <a href="https://docs.aws.amazon.com/general/latest/gr/connect_region.html">Amazon
67+
/// Connect endpoints and quotas</a>.
68+
/// </para>
3969
/// </summary>
4070
public partial class CreatePredefinedAttributeRequest : AmazonConnectRequest
4171
{
72+
private InputPredefinedAttributeConfiguration _attributeConfiguration;
4273
private string _instanceId;
4374
private string _name;
75+
private List<string> _purposes = AWSConfigs.InitializeCollections ? new List<string>() : null;
4476
private PredefinedAttributeValues _values;
4577

78+
/// <summary>
79+
/// Gets and sets the property AttributeConfiguration.
80+
/// <para>
81+
/// Custom metadata that is associated to predefined attributes to control behavior in
82+
/// upstream services, such as controlling how a predefined attribute should be displayed
83+
/// in the Amazon Connect admin website.
84+
/// </para>
85+
/// </summary>
86+
public InputPredefinedAttributeConfiguration AttributeConfiguration
87+
{
88+
get { return this._attributeConfiguration; }
89+
set { this._attributeConfiguration = value; }
90+
}
91+
92+
// Check to see if AttributeConfiguration property is set
93+
internal bool IsSetAttributeConfiguration()
94+
{
95+
return this._attributeConfiguration != null;
96+
}
97+
4698
/// <summary>
4799
/// Gets and sets the property InstanceId.
48100
/// <para>
@@ -69,7 +121,7 @@ internal bool IsSetInstanceId()
69121
/// The name of the predefined attribute.
70122
/// </para>
71123
/// </summary>
72-
[AWSProperty(Required=true, Min=1, Max=64)]
124+
[AWSProperty(Required=true, Min=1, Max=100)]
73125
public string Name
74126
{
75127
get { return this._name; }
@@ -82,13 +134,32 @@ internal bool IsSetName()
82134
return this._name != null;
83135
}
84136

137+
/// <summary>
138+
/// Gets and sets the property Purposes.
139+
/// <para>
140+
/// Values that enable you to categorize your predefined attributes. You can use them
141+
/// in custom UI elements across the Amazon Connect admin website.
142+
/// </para>
143+
/// </summary>
144+
[AWSProperty(Min=0, Max=10)]
145+
public List<string> Purposes
146+
{
147+
get { return this._purposes; }
148+
set { this._purposes = value; }
149+
}
150+
151+
// Check to see if Purposes property is set
152+
internal bool IsSetPurposes()
153+
{
154+
return this._purposes != null && (this._purposes.Count > 0 || !AWSConfigs.InitializeCollections);
155+
}
156+
85157
/// <summary>
86158
/// Gets and sets the property Values.
87159
/// <para>
88160
/// The values of the predefined attribute.
89161
/// </para>
90162
/// </summary>
91-
[AWSProperty(Required=true)]
92163
public PredefinedAttributeValues Values
93164
{
94165
get { return this._values; }

sdk/src/Services/Connect/Generated/Model/DeletePredefinedAttributeRequest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ internal bool IsSetInstanceId()
6464
/// The name of the predefined attribute.
6565
/// </para>
6666
/// </summary>
67-
[AWSProperty(Required=true, Min=1, Max=64)]
67+
[AWSProperty(Required=true, Min=1, Max=100)]
6868
public string Name
6969
{
7070
get { return this._name; }

0 commit comments

Comments
 (0)