pulumi-aws 7.11.1__py3-none-any.whl → 7.12.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. pulumi_aws/__init__.py +57 -0
  2. pulumi_aws/acm/certificate.py +20 -20
  3. pulumi_aws/acmpca/certificate.py +8 -8
  4. pulumi_aws/apigateway/account.py +0 -4
  5. pulumi_aws/appflow/_inputs.py +33 -0
  6. pulumi_aws/appflow/outputs.py +22 -0
  7. pulumi_aws/appsync/graph_ql_api.py +84 -0
  8. pulumi_aws/bedrock/_inputs.py +97 -21
  9. pulumi_aws/bedrock/agent_agent_alias.py +94 -0
  10. pulumi_aws/bedrock/agentcore_agent_runtime.py +4 -4
  11. pulumi_aws/bedrock/agentcore_browser.py +42 -0
  12. pulumi_aws/bedrock/agentcore_gateway_target.py +217 -7
  13. pulumi_aws/bedrock/agentcore_memory.py +37 -9
  14. pulumi_aws/bedrock/agentcore_oauth2_credential_provider.py +38 -0
  15. pulumi_aws/bedrock/outputs.py +64 -17
  16. pulumi_aws/cloudfront/_inputs.py +15 -14
  17. pulumi_aws/cloudfront/distribution.py +28 -0
  18. pulumi_aws/cloudfront/outputs.py +10 -9
  19. pulumi_aws/cloudhsmv2/cluster.py +64 -0
  20. pulumi_aws/cloudwatch/_inputs.py +9 -8
  21. pulumi_aws/cloudwatch/contributor_managed_insight_rule.py +20 -0
  22. pulumi_aws/cloudwatch/log_delivery_destination.py +53 -12
  23. pulumi_aws/cloudwatch/outputs.py +6 -5
  24. pulumi_aws/codebuild/webhook.py +16 -16
  25. pulumi_aws/codepipeline/webhook.py +16 -16
  26. pulumi_aws/connect/_inputs.py +50 -4
  27. pulumi_aws/connect/outputs.py +95 -4
  28. pulumi_aws/connect/routing_profile.py +42 -18
  29. pulumi_aws/datasync/location_fsx_ontap_file_system.py +34 -0
  30. pulumi_aws/datazone/project.py +24 -0
  31. pulumi_aws/detective/organization_configuration.py +20 -0
  32. pulumi_aws/dms/_inputs.py +3 -3
  33. pulumi_aws/dms/outputs.py +2 -2
  34. pulumi_aws/ec2/__init__.py +1 -0
  35. pulumi_aws/ec2/_inputs.py +182 -0
  36. pulumi_aws/ec2/allowed_images_settings.py +338 -0
  37. pulumi_aws/ec2/get_coip_pools.py +24 -0
  38. pulumi_aws/ec2/image_block_public_access.py +48 -1
  39. pulumi_aws/ec2/outputs.py +167 -0
  40. pulumi_aws/ec2/security_group.py +6 -6
  41. pulumi_aws/ec2/serial_console_access.py +50 -3
  42. pulumi_aws/ec2/vpc_endpoint.py +92 -0
  43. pulumi_aws/ec2clientvpn/authorization_rule.py +7 -7
  44. pulumi_aws/ec2clientvpn/route.py +7 -7
  45. pulumi_aws/ec2transitgateway/instance_connect_endpoint.py +47 -0
  46. pulumi_aws/ecrpublic/get_images.py +24 -0
  47. pulumi_aws/ecs/_inputs.py +172 -33
  48. pulumi_aws/ecs/get_service.py +318 -7
  49. pulumi_aws/ecs/outputs.py +957 -86
  50. pulumi_aws/ecs/service.py +76 -0
  51. pulumi_aws/eks/_inputs.py +195 -5
  52. pulumi_aws/eks/outputs.py +164 -4
  53. pulumi_aws/elasticache/_inputs.py +154 -0
  54. pulumi_aws/elasticache/get_replication_group.py +23 -9
  55. pulumi_aws/elasticache/outputs.py +204 -0
  56. pulumi_aws/elasticache/replication_group.py +115 -0
  57. pulumi_aws/elasticache/reserved_cache_node.py +28 -0
  58. pulumi_aws/finspace/kx_cluster.py +76 -0
  59. pulumi_aws/fis/__init__.py +1 -0
  60. pulumi_aws/fis/target_account_configuration.py +401 -0
  61. pulumi_aws/glue/job.py +7 -7
  62. pulumi_aws/guardduty/malware_protection_plan.py +50 -0
  63. pulumi_aws/guardduty/member_detector_feature.py +42 -0
  64. pulumi_aws/invoicing/__init__.py +11 -0
  65. pulumi_aws/invoicing/_inputs.py +128 -0
  66. pulumi_aws/invoicing/invoice_unit.py +620 -0
  67. pulumi_aws/invoicing/outputs.py +99 -0
  68. pulumi_aws/iot/ca_certificate.py +32 -32
  69. pulumi_aws/iot/get_registration_code.py +8 -8
  70. pulumi_aws/ivschat/logging_configuration.py +28 -0
  71. pulumi_aws/kinesis/get_stream.py +15 -1
  72. pulumi_aws/kinesis/stream.py +47 -0
  73. pulumi_aws/kms/key.py +7 -7
  74. pulumi_aws/licensemanager/license_grant.py +36 -0
  75. pulumi_aws/m2/environment.py +150 -0
  76. pulumi_aws/networkfirewall/tls_inspection_configuration.py +84 -0
  77. pulumi_aws/networkflowmonitor/__init__.py +12 -0
  78. pulumi_aws/networkflowmonitor/_inputs.py +412 -0
  79. pulumi_aws/networkflowmonitor/monitor.py +568 -0
  80. pulumi_aws/networkflowmonitor/outputs.py +302 -0
  81. pulumi_aws/networkflowmonitor/scope.py +443 -0
  82. pulumi_aws/observabilityadmin/__init__.py +11 -0
  83. pulumi_aws/observabilityadmin/_inputs.py +506 -0
  84. pulumi_aws/observabilityadmin/centralization_rule_for_organization.py +637 -0
  85. pulumi_aws/observabilityadmin/outputs.py +415 -0
  86. pulumi_aws/opensearch/_inputs.py +92 -133
  87. pulumi_aws/opensearch/authorize_vpc_endpoint_access.py +4 -4
  88. pulumi_aws/opensearch/domain.py +60 -0
  89. pulumi_aws/opensearch/get_domain.py +16 -9
  90. pulumi_aws/opensearch/outputs.py +131 -2
  91. pulumi_aws/organizations/get_policies.py +2 -2
  92. pulumi_aws/organizations/get_policies_for_target.py +2 -2
  93. pulumi_aws/organizations/get_policy.py +1 -1
  94. pulumi_aws/organizations/organization.py +7 -7
  95. pulumi_aws/organizations/policy.py +35 -7
  96. pulumi_aws/pulumi-plugin.json +1 -1
  97. pulumi_aws/quicksight/analysis.py +108 -0
  98. pulumi_aws/quicksight/dashboard.py +110 -0
  99. pulumi_aws/quicksight/template.py +126 -0
  100. pulumi_aws/redshift/cluster_snapshot.py +28 -0
  101. pulumi_aws/redshift/get_cluster.py +52 -0
  102. pulumi_aws/redshift/snapshot_copy_grant.py +22 -0
  103. pulumi_aws/route53/profiles_association.py +30 -0
  104. pulumi_aws/route53/profiles_resource_association.py +34 -0
  105. pulumi_aws/s3control/multi_region_access_point_policy.py +76 -0
  106. pulumi_aws/s3tables/table.py +76 -1
  107. pulumi_aws/s3tables/table_bucket.py +78 -3
  108. pulumi_aws/sagemaker/_inputs.py +225 -232
  109. pulumi_aws/sagemaker/endpoint_configuration.py +111 -64
  110. pulumi_aws/sagemaker/outputs.py +154 -158
  111. pulumi_aws/ssmincidents/get_response_plan.py +14 -0
  112. pulumi_aws/ssoadmin/account_assignment.py +4 -4
  113. pulumi_aws/transfer/profile.py +20 -0
  114. pulumi_aws/transfer/server.py +7 -0
  115. pulumi_aws/transfer/ssh_key.py +6 -6
  116. pulumi_aws/wafv2/rule_group.py +440 -0
  117. pulumi_aws/workspacesweb/session_logger_association.py +80 -0
  118. pulumi_aws/workspacesweb/trust_store_association.py +24 -0
  119. {pulumi_aws-7.11.1.dist-info → pulumi_aws-7.12.0.dist-info}/METADATA +1 -1
  120. {pulumi_aws-7.11.1.dist-info → pulumi_aws-7.12.0.dist-info}/RECORD +122 -107
  121. {pulumi_aws-7.11.1.dist-info → pulumi_aws-7.12.0.dist-info}/WHEEL +0 -0
  122. {pulumi_aws-7.11.1.dist-info → pulumi_aws-7.12.0.dist-info}/top_level.txt +0 -0
@@ -398,16 +398,16 @@ class Webhook(pulumi.CustomResource):
398
398
  import pulumi_github as github
399
399
 
400
400
  example = aws.codebuild.Webhook("example", project_name=example_aws_codebuild_project["name"])
401
- example_repository_webhook = github.index.RepositoryWebhook("example",
401
+ example_repository_webhook = github.RepositoryWebhook("example",
402
402
  active=True,
403
- events=[push],
404
- name=example,
405
- repository=example_github_repository.name,
403
+ events=["push"],
404
+ name="example",
405
+ repository=example_github_repository["name"],
406
406
  configuration=[{
407
- url: example.payload_url,
408
- secret: example.secret,
409
- contentType: json,
410
- insecureSsl: False,
407
+ "url": example.payload_url,
408
+ "secret": example.secret,
409
+ "contentType": "json",
410
+ "insecureSsl": False,
411
411
  }])
412
412
  ```
413
413
 
@@ -502,16 +502,16 @@ class Webhook(pulumi.CustomResource):
502
502
  import pulumi_github as github
503
503
 
504
504
  example = aws.codebuild.Webhook("example", project_name=example_aws_codebuild_project["name"])
505
- example_repository_webhook = github.index.RepositoryWebhook("example",
505
+ example_repository_webhook = github.RepositoryWebhook("example",
506
506
  active=True,
507
- events=[push],
508
- name=example,
509
- repository=example_github_repository.name,
507
+ events=["push"],
508
+ name="example",
509
+ repository=example_github_repository["name"],
510
510
  configuration=[{
511
- url: example.payload_url,
512
- secret: example.secret,
513
- contentType: json,
514
- insecureSsl: False,
511
+ "url": example.payload_url,
512
+ "secret": example.secret,
513
+ "contentType": "json",
514
+ "insecureSsl": False,
515
515
  }])
516
516
  ```
517
517
 
@@ -416,16 +416,16 @@ class Webhook(pulumi.CustomResource):
416
416
  "match_equals": "refs/heads/{Branch}",
417
417
  }])
418
418
  # Wire the CodePipeline webhook into a GitHub repository.
419
- bar_repository_webhook = github.index.RepositoryWebhook("bar",
420
- repository=repo.name,
421
- name=web,
419
+ bar_repository_webhook = github.RepositoryWebhook("bar",
420
+ repository=repo["name"],
421
+ name="web",
422
422
  configuration=[{
423
- url: bar_webhook.url,
424
- contentType: json,
425
- insecureSsl: True,
426
- secret: webhook_secret,
423
+ "url": bar_webhook.url,
424
+ "contentType": "json",
425
+ "insecureSsl": True,
426
+ "secret": webhook_secret,
427
427
  }],
428
- events=[push])
428
+ events=["push"])
429
429
  ```
430
430
 
431
431
  ## Import
@@ -526,16 +526,16 @@ class Webhook(pulumi.CustomResource):
526
526
  "match_equals": "refs/heads/{Branch}",
527
527
  }])
528
528
  # Wire the CodePipeline webhook into a GitHub repository.
529
- bar_repository_webhook = github.index.RepositoryWebhook("bar",
530
- repository=repo.name,
531
- name=web,
529
+ bar_repository_webhook = github.RepositoryWebhook("bar",
530
+ repository=repo["name"],
531
+ name="web",
532
532
  configuration=[{
533
- url: bar_webhook.url,
534
- contentType: json,
535
- insecureSsl: True,
536
- secret: webhook_secret,
533
+ "url": bar_webhook.url,
534
+ "contentType": "json",
535
+ "insecureSsl": True,
536
+ "secret": webhook_secret,
537
537
  }],
538
- events=[push])
538
+ events=["push"])
539
539
  ```
540
540
 
541
541
  ## Import
@@ -51,6 +51,8 @@ __all__ = [
51
51
  'QuickConnectQuickConnectConfigUserConfigArgsDict',
52
52
  'RoutingProfileMediaConcurrencyArgs',
53
53
  'RoutingProfileMediaConcurrencyArgsDict',
54
+ 'RoutingProfileMediaConcurrencyCrossChannelBehaviorArgs',
55
+ 'RoutingProfileMediaConcurrencyCrossChannelBehaviorArgsDict',
54
56
  'RoutingProfileQueueConfigArgs',
55
57
  'RoutingProfileQueueConfigArgsDict',
56
58
  'UserHierarchyGroupHierarchyPathArgs',
@@ -1073,8 +1075,9 @@ if not MYPY:
1073
1075
  """
1074
1076
  concurrency: pulumi.Input[_builtins.int]
1075
1077
  """
1076
- Specifies the number of contacts an agent can have on a channel simultaneously. Valid Range for `VOICE`: Minimum value of 1. Maximum value of 1. Valid Range for `CHAT`: Minimum value of 1. Maximum value of 10. Valid Range for `TASK`: Minimum value of 1. Maximum value of 10.
1078
+ Specifies the number of contacts an agent can have on a channel simultaneously. Valid Range for `VOICE`: Minimum value of `1`. Maximum value of `1`. Valid Range for `CHAT`: Minimum value of `1`. Maximum value of `10`. Valid Range for `TASK`: Minimum value of `1`. Maximum value of `10`.
1077
1079
  """
1080
+ cross_channel_behavior: NotRequired[pulumi.Input['RoutingProfileMediaConcurrencyCrossChannelBehaviorArgsDict']]
1078
1081
  elif False:
1079
1082
  RoutingProfileMediaConcurrencyArgsDict: TypeAlias = Mapping[str, Any]
1080
1083
 
@@ -1082,13 +1085,16 @@ elif False:
1082
1085
  class RoutingProfileMediaConcurrencyArgs:
1083
1086
  def __init__(__self__, *,
1084
1087
  channel: pulumi.Input[_builtins.str],
1085
- concurrency: pulumi.Input[_builtins.int]):
1088
+ concurrency: pulumi.Input[_builtins.int],
1089
+ cross_channel_behavior: Optional[pulumi.Input['RoutingProfileMediaConcurrencyCrossChannelBehaviorArgs']] = None):
1086
1090
  """
1087
1091
  :param pulumi.Input[_builtins.str] channel: Specifies the channels that agents can handle in the Contact Control Panel (CCP). Valid values are `VOICE`, `CHAT`, `TASK`.
1088
- :param pulumi.Input[_builtins.int] concurrency: Specifies the number of contacts an agent can have on a channel simultaneously. Valid Range for `VOICE`: Minimum value of 1. Maximum value of 1. Valid Range for `CHAT`: Minimum value of 1. Maximum value of 10. Valid Range for `TASK`: Minimum value of 1. Maximum value of 10.
1092
+ :param pulumi.Input[_builtins.int] concurrency: Specifies the number of contacts an agent can have on a channel simultaneously. Valid Range for `VOICE`: Minimum value of `1`. Maximum value of `1`. Valid Range for `CHAT`: Minimum value of `1`. Maximum value of `10`. Valid Range for `TASK`: Minimum value of `1`. Maximum value of `10`.
1089
1093
  """
1090
1094
  pulumi.set(__self__, "channel", channel)
1091
1095
  pulumi.set(__self__, "concurrency", concurrency)
1096
+ if cross_channel_behavior is not None:
1097
+ pulumi.set(__self__, "cross_channel_behavior", cross_channel_behavior)
1092
1098
 
1093
1099
  @_builtins.property
1094
1100
  @pulumi.getter
@@ -1106,7 +1112,7 @@ class RoutingProfileMediaConcurrencyArgs:
1106
1112
  @pulumi.getter
1107
1113
  def concurrency(self) -> pulumi.Input[_builtins.int]:
1108
1114
  """
1109
- Specifies the number of contacts an agent can have on a channel simultaneously. Valid Range for `VOICE`: Minimum value of 1. Maximum value of 1. Valid Range for `CHAT`: Minimum value of 1. Maximum value of 10. Valid Range for `TASK`: Minimum value of 1. Maximum value of 10.
1115
+ Specifies the number of contacts an agent can have on a channel simultaneously. Valid Range for `VOICE`: Minimum value of `1`. Maximum value of `1`. Valid Range for `CHAT`: Minimum value of `1`. Maximum value of `10`. Valid Range for `TASK`: Minimum value of `1`. Maximum value of `10`.
1110
1116
  """
1111
1117
  return pulumi.get(self, "concurrency")
1112
1118
 
@@ -1114,6 +1120,46 @@ class RoutingProfileMediaConcurrencyArgs:
1114
1120
  def concurrency(self, value: pulumi.Input[_builtins.int]):
1115
1121
  pulumi.set(self, "concurrency", value)
1116
1122
 
1123
+ @_builtins.property
1124
+ @pulumi.getter(name="crossChannelBehavior")
1125
+ def cross_channel_behavior(self) -> Optional[pulumi.Input['RoutingProfileMediaConcurrencyCrossChannelBehaviorArgs']]:
1126
+ return pulumi.get(self, "cross_channel_behavior")
1127
+
1128
+ @cross_channel_behavior.setter
1129
+ def cross_channel_behavior(self, value: Optional[pulumi.Input['RoutingProfileMediaConcurrencyCrossChannelBehaviorArgs']]):
1130
+ pulumi.set(self, "cross_channel_behavior", value)
1131
+
1132
+
1133
+ if not MYPY:
1134
+ class RoutingProfileMediaConcurrencyCrossChannelBehaviorArgsDict(TypedDict):
1135
+ behavior_type: pulumi.Input[_builtins.str]
1136
+ """
1137
+ Specifies the cross-channel behavior for routing contacts across multiple channels. Valid values are `ROUTE_CURRENT_CHANNEL_ONLY` and `ROUTE_ANY_CHANNEL`. `ROUTE_CURRENT_CHANNEL_ONLY` restricts agents to receive contacts only from the channel they are currently handling. `ROUTE_ANY_CHANNEL` allows agents to receive contacts from any channel regardless of what they are currently handling.
1138
+ """
1139
+ elif False:
1140
+ RoutingProfileMediaConcurrencyCrossChannelBehaviorArgsDict: TypeAlias = Mapping[str, Any]
1141
+
1142
+ @pulumi.input_type
1143
+ class RoutingProfileMediaConcurrencyCrossChannelBehaviorArgs:
1144
+ def __init__(__self__, *,
1145
+ behavior_type: pulumi.Input[_builtins.str]):
1146
+ """
1147
+ :param pulumi.Input[_builtins.str] behavior_type: Specifies the cross-channel behavior for routing contacts across multiple channels. Valid values are `ROUTE_CURRENT_CHANNEL_ONLY` and `ROUTE_ANY_CHANNEL`. `ROUTE_CURRENT_CHANNEL_ONLY` restricts agents to receive contacts only from the channel they are currently handling. `ROUTE_ANY_CHANNEL` allows agents to receive contacts from any channel regardless of what they are currently handling.
1148
+ """
1149
+ pulumi.set(__self__, "behavior_type", behavior_type)
1150
+
1151
+ @_builtins.property
1152
+ @pulumi.getter(name="behaviorType")
1153
+ def behavior_type(self) -> pulumi.Input[_builtins.str]:
1154
+ """
1155
+ Specifies the cross-channel behavior for routing contacts across multiple channels. Valid values are `ROUTE_CURRENT_CHANNEL_ONLY` and `ROUTE_ANY_CHANNEL`. `ROUTE_CURRENT_CHANNEL_ONLY` restricts agents to receive contacts only from the channel they are currently handling. `ROUTE_ANY_CHANNEL` allows agents to receive contacts from any channel regardless of what they are currently handling.
1156
+ """
1157
+ return pulumi.get(self, "behavior_type")
1158
+
1159
+ @behavior_type.setter
1160
+ def behavior_type(self, value: pulumi.Input[_builtins.str]):
1161
+ pulumi.set(self, "behavior_type", value)
1162
+
1117
1163
 
1118
1164
  if not MYPY:
1119
1165
  class RoutingProfileQueueConfigArgsDict(TypedDict):
@@ -34,6 +34,7 @@ __all__ = [
34
34
  'QuickConnectQuickConnectConfigQueueConfig',
35
35
  'QuickConnectQuickConnectConfigUserConfig',
36
36
  'RoutingProfileMediaConcurrency',
37
+ 'RoutingProfileMediaConcurrencyCrossChannelBehavior',
37
38
  'RoutingProfileQueueConfig',
38
39
  'UserHierarchyGroupHierarchyPath',
39
40
  'UserHierarchyGroupHierarchyPathLevelFife',
@@ -66,6 +67,7 @@ __all__ = [
66
67
  'GetQuickConnectQuickConnectConfigQueueConfigResult',
67
68
  'GetQuickConnectQuickConnectConfigUserConfigResult',
68
69
  'GetRoutingProfileMediaConcurrencyResult',
70
+ 'GetRoutingProfileMediaConcurrencyCrossChannelBehaviorResult',
69
71
  'GetRoutingProfileQueueConfigResult',
70
72
  'GetUserHierarchyGroupHierarchyPathResult',
71
73
  'GetUserHierarchyGroupHierarchyPathLevelFifeResult',
@@ -930,15 +932,35 @@ class QuickConnectQuickConnectConfigUserConfig(dict):
930
932
 
931
933
  @pulumi.output_type
932
934
  class RoutingProfileMediaConcurrency(dict):
935
+ @staticmethod
936
+ def __key_warning(key: str):
937
+ suggest = None
938
+ if key == "crossChannelBehavior":
939
+ suggest = "cross_channel_behavior"
940
+
941
+ if suggest:
942
+ pulumi.log.warn(f"Key '{key}' not found in RoutingProfileMediaConcurrency. Access the value via the '{suggest}' property getter instead.")
943
+
944
+ def __getitem__(self, key: str) -> Any:
945
+ RoutingProfileMediaConcurrency.__key_warning(key)
946
+ return super().__getitem__(key)
947
+
948
+ def get(self, key: str, default = None) -> Any:
949
+ RoutingProfileMediaConcurrency.__key_warning(key)
950
+ return super().get(key, default)
951
+
933
952
  def __init__(__self__, *,
934
953
  channel: _builtins.str,
935
- concurrency: _builtins.int):
954
+ concurrency: _builtins.int,
955
+ cross_channel_behavior: Optional['outputs.RoutingProfileMediaConcurrencyCrossChannelBehavior'] = None):
936
956
  """
937
957
  :param _builtins.str channel: Specifies the channels that agents can handle in the Contact Control Panel (CCP). Valid values are `VOICE`, `CHAT`, `TASK`.
938
- :param _builtins.int concurrency: Specifies the number of contacts an agent can have on a channel simultaneously. Valid Range for `VOICE`: Minimum value of 1. Maximum value of 1. Valid Range for `CHAT`: Minimum value of 1. Maximum value of 10. Valid Range for `TASK`: Minimum value of 1. Maximum value of 10.
958
+ :param _builtins.int concurrency: Specifies the number of contacts an agent can have on a channel simultaneously. Valid Range for `VOICE`: Minimum value of `1`. Maximum value of `1`. Valid Range for `CHAT`: Minimum value of `1`. Maximum value of `10`. Valid Range for `TASK`: Minimum value of `1`. Maximum value of `10`.
939
959
  """
940
960
  pulumi.set(__self__, "channel", channel)
941
961
  pulumi.set(__self__, "concurrency", concurrency)
962
+ if cross_channel_behavior is not None:
963
+ pulumi.set(__self__, "cross_channel_behavior", cross_channel_behavior)
942
964
 
943
965
  @_builtins.property
944
966
  @pulumi.getter
@@ -952,10 +974,50 @@ class RoutingProfileMediaConcurrency(dict):
952
974
  @pulumi.getter
953
975
  def concurrency(self) -> _builtins.int:
954
976
  """
955
- Specifies the number of contacts an agent can have on a channel simultaneously. Valid Range for `VOICE`: Minimum value of 1. Maximum value of 1. Valid Range for `CHAT`: Minimum value of 1. Maximum value of 10. Valid Range for `TASK`: Minimum value of 1. Maximum value of 10.
977
+ Specifies the number of contacts an agent can have on a channel simultaneously. Valid Range for `VOICE`: Minimum value of `1`. Maximum value of `1`. Valid Range for `CHAT`: Minimum value of `1`. Maximum value of `10`. Valid Range for `TASK`: Minimum value of `1`. Maximum value of `10`.
956
978
  """
957
979
  return pulumi.get(self, "concurrency")
958
980
 
981
+ @_builtins.property
982
+ @pulumi.getter(name="crossChannelBehavior")
983
+ def cross_channel_behavior(self) -> Optional['outputs.RoutingProfileMediaConcurrencyCrossChannelBehavior']:
984
+ return pulumi.get(self, "cross_channel_behavior")
985
+
986
+
987
+ @pulumi.output_type
988
+ class RoutingProfileMediaConcurrencyCrossChannelBehavior(dict):
989
+ @staticmethod
990
+ def __key_warning(key: str):
991
+ suggest = None
992
+ if key == "behaviorType":
993
+ suggest = "behavior_type"
994
+
995
+ if suggest:
996
+ pulumi.log.warn(f"Key '{key}' not found in RoutingProfileMediaConcurrencyCrossChannelBehavior. Access the value via the '{suggest}' property getter instead.")
997
+
998
+ def __getitem__(self, key: str) -> Any:
999
+ RoutingProfileMediaConcurrencyCrossChannelBehavior.__key_warning(key)
1000
+ return super().__getitem__(key)
1001
+
1002
+ def get(self, key: str, default = None) -> Any:
1003
+ RoutingProfileMediaConcurrencyCrossChannelBehavior.__key_warning(key)
1004
+ return super().get(key, default)
1005
+
1006
+ def __init__(__self__, *,
1007
+ behavior_type: _builtins.str):
1008
+ """
1009
+ :param _builtins.str behavior_type: Specifies the cross-channel behavior for routing contacts across multiple channels. Valid values are `ROUTE_CURRENT_CHANNEL_ONLY` and `ROUTE_ANY_CHANNEL`. `ROUTE_CURRENT_CHANNEL_ONLY` restricts agents to receive contacts only from the channel they are currently handling. `ROUTE_ANY_CHANNEL` allows agents to receive contacts from any channel regardless of what they are currently handling.
1010
+ """
1011
+ pulumi.set(__self__, "behavior_type", behavior_type)
1012
+
1013
+ @_builtins.property
1014
+ @pulumi.getter(name="behaviorType")
1015
+ def behavior_type(self) -> _builtins.str:
1016
+ """
1017
+ Specifies the cross-channel behavior for routing contacts across multiple channels. Valid values are `ROUTE_CURRENT_CHANNEL_ONLY` and `ROUTE_ANY_CHANNEL`. `ROUTE_CURRENT_CHANNEL_ONLY` restricts agents to receive contacts only from the channel they are currently handling. `ROUTE_ANY_CHANNEL` allows agents to receive contacts from any channel regardless of what they are currently handling.
1018
+ """
1019
+ return pulumi.get(self, "behavior_type")
1020
+
959
1021
 
960
1022
  @pulumi.output_type
961
1023
  class RoutingProfileQueueConfig(dict):
@@ -2353,13 +2415,16 @@ class GetQuickConnectQuickConnectConfigUserConfigResult(dict):
2353
2415
  class GetRoutingProfileMediaConcurrencyResult(dict):
2354
2416
  def __init__(__self__, *,
2355
2417
  channel: _builtins.str,
2356
- concurrency: _builtins.int):
2418
+ concurrency: _builtins.int,
2419
+ cross_channel_behaviors: Sequence['outputs.GetRoutingProfileMediaConcurrencyCrossChannelBehaviorResult']):
2357
2420
  """
2358
2421
  :param _builtins.str channel: Channels agents can handle in the Contact Control Panel (CCP) for this routing profile. Valid values are `VOICE`, `CHAT`, `TASK`.
2359
2422
  :param _builtins.int concurrency: Number of contacts an agent can have on a channel simultaneously. Valid Range for `VOICE`: Minimum value of 1. Maximum value of 1. Valid Range for `CHAT`: Minimum value of 1. Maximum value of 10. Valid Range for `TASK`: Minimum value of 1. Maximum value of 10.
2423
+ :param Sequence['GetRoutingProfileMediaConcurrencyCrossChannelBehaviorArgs'] cross_channel_behaviors: Configuration block for cross-channel behavior. Documented below.
2360
2424
  """
2361
2425
  pulumi.set(__self__, "channel", channel)
2362
2426
  pulumi.set(__self__, "concurrency", concurrency)
2427
+ pulumi.set(__self__, "cross_channel_behaviors", cross_channel_behaviors)
2363
2428
 
2364
2429
  @_builtins.property
2365
2430
  @pulumi.getter
@@ -2377,6 +2442,32 @@ class GetRoutingProfileMediaConcurrencyResult(dict):
2377
2442
  """
2378
2443
  return pulumi.get(self, "concurrency")
2379
2444
 
2445
+ @_builtins.property
2446
+ @pulumi.getter(name="crossChannelBehaviors")
2447
+ def cross_channel_behaviors(self) -> Sequence['outputs.GetRoutingProfileMediaConcurrencyCrossChannelBehaviorResult']:
2448
+ """
2449
+ Configuration block for cross-channel behavior. Documented below.
2450
+ """
2451
+ return pulumi.get(self, "cross_channel_behaviors")
2452
+
2453
+
2454
+ @pulumi.output_type
2455
+ class GetRoutingProfileMediaConcurrencyCrossChannelBehaviorResult(dict):
2456
+ def __init__(__self__, *,
2457
+ behavior_type: _builtins.str):
2458
+ """
2459
+ :param _builtins.str behavior_type: Cross-channel behavior for routing contacts across multiple channels. Valid values are `ROUTE_CURRENT_CHANNEL_ONLY`, `ROUTE_ANY_CHANNEL`.
2460
+ """
2461
+ pulumi.set(__self__, "behavior_type", behavior_type)
2462
+
2463
+ @_builtins.property
2464
+ @pulumi.getter(name="behaviorType")
2465
+ def behavior_type(self) -> _builtins.str:
2466
+ """
2467
+ Cross-channel behavior for routing contacts across multiple channels. Valid values are `ROUTE_CURRENT_CHANNEL_ONLY`, `ROUTE_ANY_CHANNEL`.
2468
+ """
2469
+ return pulumi.get(self, "behavior_type")
2470
+
2380
2471
 
2381
2472
  @pulumi.output_type
2382
2473
  class GetRoutingProfileQueueConfigResult(dict):
@@ -168,7 +168,7 @@ class _RoutingProfileState:
168
168
  tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None):
169
169
  """
170
170
  Input properties used for looking up and filtering RoutingProfile resources.
171
- :param pulumi.Input[_builtins.str] arn: The Amazon Resource Name (ARN) of the Routing Profile.
171
+ :param pulumi.Input[_builtins.str] arn: Amazon Resource Name (ARN) of the Routing Profile.
172
172
  :param pulumi.Input[_builtins.str] default_outbound_queue_id: Specifies the default outbound queue for the Routing Profile.
173
173
  :param pulumi.Input[_builtins.str] description: Specifies the description of the Routing Profile.
174
174
  :param pulumi.Input[_builtins.str] instance_id: Specifies the identifier of the hosting Amazon Connect Instance.
@@ -176,7 +176,7 @@ class _RoutingProfileState:
176
176
  :param pulumi.Input[_builtins.str] name: Specifies the name of the Routing Profile.
177
177
  :param pulumi.Input[Sequence[pulumi.Input['RoutingProfileQueueConfigArgs']]] queue_configs: One or more `queue_configs` blocks that specify the inbound queues associated with the routing profile. If no queue is added, the agent only can make outbound calls. The `queue_configs` block is documented below.
178
178
  :param pulumi.Input[_builtins.str] region: Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
179
- :param pulumi.Input[_builtins.str] routing_profile_id: The identifier for the Routing Profile.
179
+ :param pulumi.Input[_builtins.str] routing_profile_id: Identifier for the Routing Profile.
180
180
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Tags to apply to the Routing Profile. If configured with a provider
181
181
  `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
182
182
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
@@ -208,7 +208,7 @@ class _RoutingProfileState:
208
208
  @pulumi.getter
209
209
  def arn(self) -> Optional[pulumi.Input[_builtins.str]]:
210
210
  """
211
- The Amazon Resource Name (ARN) of the Routing Profile.
211
+ Amazon Resource Name (ARN) of the Routing Profile.
212
212
  """
213
213
  return pulumi.get(self, "arn")
214
214
 
@@ -304,7 +304,7 @@ class _RoutingProfileState:
304
304
  @pulumi.getter(name="routingProfileId")
305
305
  def routing_profile_id(self) -> Optional[pulumi.Input[_builtins.str]]:
306
306
  """
307
- The identifier for the Routing Profile.
307
+ Identifier for the Routing Profile.
308
308
  """
309
309
  return pulumi.get(self, "routing_profile_id")
310
310
 
@@ -355,7 +355,7 @@ class RoutingProfile(pulumi.CustomResource):
355
355
  __props__=None):
356
356
  """
357
357
  Provides an Amazon Connect Routing Profile resource. For more information see
358
- [Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)
358
+ [Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html).
359
359
 
360
360
  ## Example Usage
361
361
 
@@ -368,10 +368,22 @@ class RoutingProfile(pulumi.CustomResource):
368
368
  name="example",
369
369
  default_outbound_queue_id="12345678-1234-1234-1234-123456789012",
370
370
  description="example description",
371
- media_concurrencies=[{
372
- "channel": "VOICE",
373
- "concurrency": 1,
374
- }],
371
+ media_concurrencies=[
372
+ {
373
+ "channel": "VOICE",
374
+ "concurrency": 1,
375
+ "cross_channel_behavior": {
376
+ "behavior_type": "ROUTE_ANY_CHANNEL",
377
+ },
378
+ },
379
+ {
380
+ "channel": "CHAT",
381
+ "concurrency": 3,
382
+ "cross_channel_behavior": {
383
+ "behavior_type": "ROUTE_CURRENT_CHANNEL_ONLY",
384
+ },
385
+ },
386
+ ],
375
387
  queue_configs=[{
376
388
  "channel": "VOICE",
377
389
  "delay": 2,
@@ -411,7 +423,7 @@ class RoutingProfile(pulumi.CustomResource):
411
423
  opts: Optional[pulumi.ResourceOptions] = None):
412
424
  """
413
425
  Provides an Amazon Connect Routing Profile resource. For more information see
414
- [Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)
426
+ [Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html).
415
427
 
416
428
  ## Example Usage
417
429
 
@@ -424,10 +436,22 @@ class RoutingProfile(pulumi.CustomResource):
424
436
  name="example",
425
437
  default_outbound_queue_id="12345678-1234-1234-1234-123456789012",
426
438
  description="example description",
427
- media_concurrencies=[{
428
- "channel": "VOICE",
429
- "concurrency": 1,
430
- }],
439
+ media_concurrencies=[
440
+ {
441
+ "channel": "VOICE",
442
+ "concurrency": 1,
443
+ "cross_channel_behavior": {
444
+ "behavior_type": "ROUTE_ANY_CHANNEL",
445
+ },
446
+ },
447
+ {
448
+ "channel": "CHAT",
449
+ "concurrency": 3,
450
+ "cross_channel_behavior": {
451
+ "behavior_type": "ROUTE_CURRENT_CHANNEL_ONLY",
452
+ },
453
+ },
454
+ ],
431
455
  queue_configs=[{
432
456
  "channel": "VOICE",
433
457
  "delay": 2,
@@ -526,7 +550,7 @@ class RoutingProfile(pulumi.CustomResource):
526
550
  :param str resource_name: The unique name of the resulting resource.
527
551
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
528
552
  :param pulumi.ResourceOptions opts: Options for the resource.
529
- :param pulumi.Input[_builtins.str] arn: The Amazon Resource Name (ARN) of the Routing Profile.
553
+ :param pulumi.Input[_builtins.str] arn: Amazon Resource Name (ARN) of the Routing Profile.
530
554
  :param pulumi.Input[_builtins.str] default_outbound_queue_id: Specifies the default outbound queue for the Routing Profile.
531
555
  :param pulumi.Input[_builtins.str] description: Specifies the description of the Routing Profile.
532
556
  :param pulumi.Input[_builtins.str] instance_id: Specifies the identifier of the hosting Amazon Connect Instance.
@@ -534,7 +558,7 @@ class RoutingProfile(pulumi.CustomResource):
534
558
  :param pulumi.Input[_builtins.str] name: Specifies the name of the Routing Profile.
535
559
  :param pulumi.Input[Sequence[pulumi.Input[Union['RoutingProfileQueueConfigArgs', 'RoutingProfileQueueConfigArgsDict']]]] queue_configs: One or more `queue_configs` blocks that specify the inbound queues associated with the routing profile. If no queue is added, the agent only can make outbound calls. The `queue_configs` block is documented below.
536
560
  :param pulumi.Input[_builtins.str] region: Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
537
- :param pulumi.Input[_builtins.str] routing_profile_id: The identifier for the Routing Profile.
561
+ :param pulumi.Input[_builtins.str] routing_profile_id: Identifier for the Routing Profile.
538
562
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Tags to apply to the Routing Profile. If configured with a provider
539
563
  `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
540
564
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
@@ -560,7 +584,7 @@ class RoutingProfile(pulumi.CustomResource):
560
584
  @pulumi.getter
561
585
  def arn(self) -> pulumi.Output[_builtins.str]:
562
586
  """
563
- The Amazon Resource Name (ARN) of the Routing Profile.
587
+ Amazon Resource Name (ARN) of the Routing Profile.
564
588
  """
565
589
  return pulumi.get(self, "arn")
566
590
 
@@ -624,7 +648,7 @@ class RoutingProfile(pulumi.CustomResource):
624
648
  @pulumi.getter(name="routingProfileId")
625
649
  def routing_profile_id(self) -> pulumi.Output[_builtins.str]:
626
650
  """
627
- The identifier for the Routing Profile.
651
+ Identifier for the Routing Profile.
628
652
  """
629
653
  return pulumi.get(self, "routing_profile_id")
630
654
 
@@ -331,6 +331,23 @@ class LocationFsxOntapFileSystem(pulumi.CustomResource):
331
331
 
332
332
  ### Basic Usage
333
333
 
334
+ ```python
335
+ import pulumi
336
+ import pulumi_aws as aws
337
+
338
+ test = aws.datasync.LocationFsxOntapFileSystem("test",
339
+ fsx_filesystem_arn=test_aws_fsx_ontap_file_system["arn"],
340
+ security_group_arns=[test_aws_security_group["arn"]],
341
+ storage_virtual_machine_arn=test_aws_fsx_ontap_storage_virtual_machine["arn"],
342
+ protocol={
343
+ "nfs": {
344
+ "mount_options": {
345
+ "version": "NFS3",
346
+ },
347
+ },
348
+ })
349
+ ```
350
+
334
351
  ## Import
335
352
 
336
353
  Using `pulumi import`, import `aws_datasync_location_fsx_ontap_file_system` using the `DataSync-ARN#FSx-ontap-svm-ARN`. For example:
@@ -365,6 +382,23 @@ class LocationFsxOntapFileSystem(pulumi.CustomResource):
365
382
 
366
383
  ### Basic Usage
367
384
 
385
+ ```python
386
+ import pulumi
387
+ import pulumi_aws as aws
388
+
389
+ test = aws.datasync.LocationFsxOntapFileSystem("test",
390
+ fsx_filesystem_arn=test_aws_fsx_ontap_file_system["arn"],
391
+ security_group_arns=[test_aws_security_group["arn"]],
392
+ storage_virtual_machine_arn=test_aws_fsx_ontap_storage_virtual_machine["arn"],
393
+ protocol={
394
+ "nfs": {
395
+ "mount_options": {
396
+ "version": "NFS3",
397
+ },
398
+ },
399
+ })
400
+ ```
401
+
368
402
  ## Import
369
403
 
370
404
  Using `pulumi import`, import `aws_datasync_location_fsx_ontap_file_system` using the `DataSync-ARN#FSx-ontap-svm-ARN`. For example:
@@ -356,6 +356,18 @@ class Project(pulumi.CustomResource):
356
356
 
357
357
  ## Example Usage
358
358
 
359
+ ```python
360
+ import pulumi
361
+ import pulumi_aws as aws
362
+
363
+ test = aws.datazone.Project("test",
364
+ domain_id=test_aws_datazone_domain["id"],
365
+ glossary_terms=["2N8w6XJCwZf"],
366
+ name="name",
367
+ description="desc",
368
+ skip_deletion_check=True)
369
+ ```
370
+
359
371
  ### Basic Usage
360
372
 
361
373
  ```python
@@ -397,6 +409,18 @@ class Project(pulumi.CustomResource):
397
409
 
398
410
  ## Example Usage
399
411
 
412
+ ```python
413
+ import pulumi
414
+ import pulumi_aws as aws
415
+
416
+ test = aws.datazone.Project("test",
417
+ domain_id=test_aws_datazone_domain["id"],
418
+ glossary_terms=["2N8w6XJCwZf"],
419
+ name="name",
420
+ description="desc",
421
+ skip_deletion_check=True)
422
+ ```
423
+
400
424
  ### Basic Usage
401
425
 
402
426
  ```python
@@ -139,6 +139,16 @@ class OrganizationConfiguration(pulumi.CustomResource):
139
139
  """
140
140
  ## Example Usage
141
141
 
142
+ ```python
143
+ import pulumi
144
+ import pulumi_aws as aws
145
+
146
+ example = aws.detective.Graph("example", enable=True)
147
+ example_organization_configuration = aws.detective.OrganizationConfiguration("example",
148
+ auto_enable=True,
149
+ graph_arn=example.graph_arn)
150
+ ```
151
+
142
152
  ## Import
143
153
 
144
154
  Using `pulumi import`, import `aws_detective_organization_admin_account` using the behavior graph ARN. For example:
@@ -162,6 +172,16 @@ class OrganizationConfiguration(pulumi.CustomResource):
162
172
  """
163
173
  ## Example Usage
164
174
 
175
+ ```python
176
+ import pulumi
177
+ import pulumi_aws as aws
178
+
179
+ example = aws.detective.Graph("example", enable=True)
180
+ example_organization_configuration = aws.detective.OrganizationConfiguration("example",
181
+ auto_enable=True,
182
+ graph_arn=example.graph_arn)
183
+ ```
184
+
165
185
  ## Import
166
186
 
167
187
  Using `pulumi import`, import `aws_detective_organization_admin_account` using the behavior graph ARN. For example:
pulumi_aws/dms/_inputs.py CHANGED
@@ -1194,7 +1194,7 @@ if not MYPY:
1194
1194
  """
1195
1195
  plugin_name: NotRequired[pulumi.Input[_builtins.str]]
1196
1196
  """
1197
- Specifies the plugin to use to create a replication slot. Valid values: `pglogical`, `test_decoding`.
1197
+ Specifies the plugin to use to create a replication slot. Valid values: `pglogical`, `test-decoding`.
1198
1198
  """
1199
1199
  service_access_role_arn: NotRequired[pulumi.Input[_builtins.str]]
1200
1200
  """
@@ -1244,7 +1244,7 @@ class EndpointPostgresSettingsArgs:
1244
1244
  :param pulumi.Input[_builtins.bool] map_jsonb_as_clob: Optional When true, DMS migrates JSONB values as CLOB.
1245
1245
  :param pulumi.Input[_builtins.str] map_long_varchar_as: Optional When true, DMS migrates LONG values as VARCHAR.
1246
1246
  :param pulumi.Input[_builtins.int] max_file_size: Specifies the maximum size (in KB) of any .csv file used to transfer data to PostgreSQL. Default is `32,768 KB`.
1247
- :param pulumi.Input[_builtins.str] plugin_name: Specifies the plugin to use to create a replication slot. Valid values: `pglogical`, `test_decoding`.
1247
+ :param pulumi.Input[_builtins.str] plugin_name: Specifies the plugin to use to create a replication slot. Valid values: `pglogical`, `test-decoding`.
1248
1248
  :param pulumi.Input[_builtins.str] service_access_role_arn: Specifies the IAM role to use to authenticate the connection.
1249
1249
  :param pulumi.Input[_builtins.str] slot_name: Sets the name of a previously created logical replication slot for a CDC load of the PostgreSQL source instance.
1250
1250
  """
@@ -1469,7 +1469,7 @@ class EndpointPostgresSettingsArgs:
1469
1469
  @pulumi.getter(name="pluginName")
1470
1470
  def plugin_name(self) -> Optional[pulumi.Input[_builtins.str]]:
1471
1471
  """
1472
- Specifies the plugin to use to create a replication slot. Valid values: `pglogical`, `test_decoding`.
1472
+ Specifies the plugin to use to create a replication slot. Valid values: `pglogical`, `test-decoding`.
1473
1473
  """
1474
1474
  return pulumi.get(self, "plugin_name")
1475
1475