Skip to content

Commit 8f75bc4

Browse files
authored
Merge pull request #27734 from schuylr/f-connect_multi_party_conference
Add multi_party_conference_enabled to aws_connect_instance
2 parents 1ccdc82 + 7d296f7 commit 8f75bc4

8 files changed

+24
-0
lines changed

.changelog/27734.txt

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
```release-note:enhancement
2+
data-source/aws_connect_instance: Add `multi_party_conference_enabled` attribute
3+
```
4+
5+
```release-note:enhancement
6+
resource/aws_connect_instance: Add `multi_party_conference_enabled` argument
7+
```

internal/service/connect/enum.go

+1
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ func InstanceAttributeMapping() map[string]string {
5454
connect.InstanceAttributeTypeContactLens: "contact_lens_enabled",
5555
connect.InstanceAttributeTypeEarlyMedia: "early_media_enabled",
5656
connect.InstanceAttributeTypeInboundCalls: "inbound_calls_enabled",
57+
connect.InstanceAttributeTypeMultiPartyConference: "multi_party_conference_enabled",
5758
connect.InstanceAttributeTypeOutboundCalls: "outbound_calls_enabled",
5859
// Pre-release feature requiring allow-list from AWS. Removing all functionality until feature is GA
5960
//connect.InstanceAttributeTypeUseCustomTtsVoices: "use_custom_tts_voices_enabled",

internal/service/connect/instance.go

+5
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,11 @@ func ResourceInstance() *schema.Resource {
8888
validation.StringDoesNotMatch(regexp.MustCompile(`^(d-).+$`), "can not start with d-"),
8989
),
9090
},
91+
"multi_party_conference_enabled": {
92+
Type: schema.TypeBool,
93+
Optional: true,
94+
Default: false, //verified default result from ListInstanceAttributes()
95+
},
9196
"outbound_calls_enabled": {
9297
Type: schema.TypeBool,
9398
Required: true,

internal/service/connect/instance_data_source.go

+4
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@ func DataSourceInstance() *schema.Resource {
6262
Computed: true,
6363
ExactlyOneOf: []string{"instance_id", "instance_alias"},
6464
},
65+
"multi_party_conference_enabled": {
66+
Type: schema.TypeBool,
67+
Computed: true,
68+
},
6569
"outbound_calls_enabled": {
6670
Type: schema.TypeBool,
6771
Computed: true,

internal/service/connect/instance_data_source_test.go

+2
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ func testAccInstanceDataSource_basic(t *testing.T) {
4141
resource.TestCheckResourceAttrPair(resourceName, "contact_lens_enabled", dataSourceName, "contact_lens_enabled"),
4242
resource.TestCheckResourceAttrPair(resourceName, "auto_resolve_best_voices_enabled", dataSourceName, "auto_resolve_best_voices_enabled"),
4343
resource.TestCheckResourceAttrPair(resourceName, "early_media_enabled", dataSourceName, "early_media_enabled"),
44+
resource.TestCheckResourceAttrPair(resourceName, "multi_party_conference_enabled", dataSourceName, "multi_party_conference_enabled"),
4445
resource.TestCheckResourceAttrPair(resourceName, "status", dataSourceName, "status"),
4546
resource.TestCheckResourceAttrPair(resourceName, "service_role", dataSourceName, "service_role"),
4647
),
@@ -58,6 +59,7 @@ func testAccInstanceDataSource_basic(t *testing.T) {
5859
resource.TestCheckResourceAttrPair(resourceName, "contact_lens_enabled", dataSourceName, "contact_lens_enabled"),
5960
resource.TestCheckResourceAttrPair(resourceName, "auto_resolve_best_voices_enabled", dataSourceName, "auto_resolve_best_voices_enabled"),
6061
resource.TestCheckResourceAttrPair(resourceName, "early_media_enabled", dataSourceName, "early_media_enabled"),
62+
resource.TestCheckResourceAttrPair(resourceName, "multi_party_conference_enabled", dataSourceName, "multi_party_conference_enabled"),
6163
resource.TestCheckResourceAttrPair(resourceName, "status", dataSourceName, "status"),
6264
resource.TestCheckResourceAttrPair(resourceName, "service_role", dataSourceName, "service_role"),
6365
),

internal/service/connect/instance_test.go

+3
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ func testAccInstance_basic(t *testing.T) {
3939
resource.TestCheckResourceAttr(resourceName, "identity_management_type", connect.DirectoryTypeConnectManaged),
4040
resource.TestCheckResourceAttr(resourceName, "inbound_calls_enabled", "true"),
4141
resource.TestMatchResourceAttr(resourceName, "instance_alias", regexp.MustCompile(rName)),
42+
resource.TestCheckResourceAttr(resourceName, "multi_party_conference_enabled", "false"),
4243
resource.TestCheckResourceAttr(resourceName, "outbound_calls_enabled", "true"),
4344
acctest.MatchResourceAttrGlobalARN(resourceName, "service_role", "iam", regexp.MustCompile(`role/aws-service-role/connect.amazonaws.com/.+`)),
4445
resource.TestCheckResourceAttr(resourceName, "status", connect.InstanceStatusActive),
@@ -61,6 +62,7 @@ func testAccInstance_basic(t *testing.T) {
6162
resource.TestCheckResourceAttr(resourceName, "early_media_enabled", "false"),
6263
resource.TestCheckResourceAttr(resourceName, "inbound_calls_enabled", "false"),
6364
resource.TestMatchResourceAttr(resourceName, "instance_alias", regexp.MustCompile(rName)),
65+
resource.TestCheckResourceAttr(resourceName, "multi_party_conference_enabled", "false"),
6466
resource.TestCheckResourceAttr(resourceName, "outbound_calls_enabled", "false"),
6567
resource.TestCheckResourceAttr(resourceName, "status", connect.InstanceStatusActive),
6668
),
@@ -207,6 +209,7 @@ resource "aws_connect_instance" "test" {
207209
identity_management_type = "CONNECT_MANAGED"
208210
inbound_calls_enabled = false
209211
instance_alias = %[1]q
212+
multi_party_conference_enabled = false
210213
outbound_calls_enabled = false
211214
}
212215
`, rName)

website/docs/d/connect_instance.html.markdown

+1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ In addition to all arguments above, the following attributes are exported:
5050
* `contact_flow_logs_enabled` - Whether contact flow logs are enabled.
5151
* `contact_lens_enabled` - Whether contact lens is enabled.
5252
* `auto_resolve_best_voices` - Whether auto resolve best voices is enabled.
53+
* `multi_party_conference_enabled` - Whether multi-party calls/conference is enabled.
5354
* `use_custom_tts_voices` - Whether use custom tts voices is enabled.
5455
* `status` - State of the instance.
5556
* `service_role` - Service role of the instance.

website/docs/r/connect_instance.html.markdown

+1
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ The following arguments are supported:
5959
* `identity_management_type` - (Required) Specifies the identity management type attached to the instance. Allowed Values are: `SAML`, `CONNECT_MANAGED`, `EXISTING_DIRECTORY`.
6060
* `inbound_calls_enabled` - (Required) Specifies whether inbound calls are enabled.
6161
* `instance_alias` - (Optional) Specifies the name of the instance. Required if `directory_id` not specified.
62+
* `multi_party_conference_enabled` - (Optional) Specifies whether multi-party calls/conference is enabled. Defaults to `false`.
6263
* `outbound_calls_enabled` - (Required) Specifies whether outbound calls are enabled.
6364
<!-- * `use_custom_tts_voices` - (Optional) Whether use custom tts voices is enabled. Defaults to `false` -->
6465

0 commit comments

Comments
 (0)