pulumi-azure-native 2.74.0a1732531694__py3-none-any.whl → 2.75.0a1732957898__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.

Potentially problematic release.


This version of pulumi-azure-native might be problematic. Click here for more details.

Files changed (189) hide show
  1. pulumi_azure_native/__init__.py +35 -0
  2. pulumi_azure_native/azureplaywrightservice/__init__.py +3 -0
  3. pulumi_azure_native/azureplaywrightservice/account.py +3 -3
  4. pulumi_azure_native/azureplaywrightservice/get_account.py +2 -2
  5. pulumi_azure_native/azureplaywrightservice/v20231001preview/account.py +1 -1
  6. pulumi_azure_native/azureplaywrightservice/v20240201preview/account.py +1 -1
  7. pulumi_azure_native/azureplaywrightservice/v20240801preview/account.py +1 -1
  8. pulumi_azure_native/azureplaywrightservice/v20241201/__init__.py +11 -0
  9. pulumi_azure_native/azureplaywrightservice/v20241201/_enums.py +23 -0
  10. pulumi_azure_native/azureplaywrightservice/v20241201/account.py +380 -0
  11. pulumi_azure_native/azureplaywrightservice/v20241201/get_account.py +241 -0
  12. pulumi_azure_native/azureplaywrightservice/v20241201/outputs.py +131 -0
  13. pulumi_azure_native/machinelearningservices/v20241001preview/outputs.py +57 -29
  14. pulumi_azure_native/pulumi-plugin.json +1 -1
  15. pulumi_azure_native/signalrservice/__init__.py +3 -0
  16. pulumi_azure_native/signalrservice/get_signal_r.py +2 -2
  17. pulumi_azure_native/signalrservice/get_signal_r_custom_certificate.py +2 -2
  18. pulumi_azure_native/signalrservice/get_signal_r_custom_domain.py +2 -2
  19. pulumi_azure_native/signalrservice/get_signal_r_private_endpoint_connection.py +2 -2
  20. pulumi_azure_native/signalrservice/get_signal_r_replica.py +2 -2
  21. pulumi_azure_native/signalrservice/get_signal_r_shared_private_link_resource.py +2 -2
  22. pulumi_azure_native/signalrservice/list_signal_r_keys.py +2 -2
  23. pulumi_azure_native/signalrservice/signal_r.py +3 -3
  24. pulumi_azure_native/signalrservice/signal_r_custom_certificate.py +3 -3
  25. pulumi_azure_native/signalrservice/signal_r_custom_domain.py +3 -3
  26. pulumi_azure_native/signalrservice/signal_r_private_endpoint_connection.py +3 -3
  27. pulumi_azure_native/signalrservice/signal_r_replica.py +3 -3
  28. pulumi_azure_native/signalrservice/signal_r_shared_private_link_resource.py +3 -3
  29. pulumi_azure_native/signalrservice/v20230201/signal_r.py +1 -1
  30. pulumi_azure_native/signalrservice/v20230201/signal_r_custom_certificate.py +1 -1
  31. pulumi_azure_native/signalrservice/v20230201/signal_r_custom_domain.py +1 -1
  32. pulumi_azure_native/signalrservice/v20230201/signal_r_private_endpoint_connection.py +1 -1
  33. pulumi_azure_native/signalrservice/v20230201/signal_r_shared_private_link_resource.py +1 -1
  34. pulumi_azure_native/signalrservice/v20230301preview/signal_r.py +1 -1
  35. pulumi_azure_native/signalrservice/v20230301preview/signal_r_custom_certificate.py +1 -1
  36. pulumi_azure_native/signalrservice/v20230301preview/signal_r_custom_domain.py +1 -1
  37. pulumi_azure_native/signalrservice/v20230301preview/signal_r_private_endpoint_connection.py +1 -1
  38. pulumi_azure_native/signalrservice/v20230301preview/signal_r_replica.py +1 -1
  39. pulumi_azure_native/signalrservice/v20230301preview/signal_r_shared_private_link_resource.py +1 -1
  40. pulumi_azure_native/signalrservice/v20230601preview/signal_r.py +1 -1
  41. pulumi_azure_native/signalrservice/v20230601preview/signal_r_custom_certificate.py +1 -1
  42. pulumi_azure_native/signalrservice/v20230601preview/signal_r_custom_domain.py +1 -1
  43. pulumi_azure_native/signalrservice/v20230601preview/signal_r_private_endpoint_connection.py +1 -1
  44. pulumi_azure_native/signalrservice/v20230601preview/signal_r_replica.py +1 -1
  45. pulumi_azure_native/signalrservice/v20230601preview/signal_r_shared_private_link_resource.py +1 -1
  46. pulumi_azure_native/signalrservice/v20230801preview/signal_r.py +1 -1
  47. pulumi_azure_native/signalrservice/v20230801preview/signal_r_custom_certificate.py +1 -1
  48. pulumi_azure_native/signalrservice/v20230801preview/signal_r_custom_domain.py +1 -1
  49. pulumi_azure_native/signalrservice/v20230801preview/signal_r_private_endpoint_connection.py +1 -1
  50. pulumi_azure_native/signalrservice/v20230801preview/signal_r_replica.py +1 -1
  51. pulumi_azure_native/signalrservice/v20230801preview/signal_r_shared_private_link_resource.py +1 -1
  52. pulumi_azure_native/signalrservice/v20240101preview/signal_r.py +1 -1
  53. pulumi_azure_native/signalrservice/v20240101preview/signal_r_custom_certificate.py +1 -1
  54. pulumi_azure_native/signalrservice/v20240101preview/signal_r_custom_domain.py +1 -1
  55. pulumi_azure_native/signalrservice/v20240101preview/signal_r_private_endpoint_connection.py +1 -1
  56. pulumi_azure_native/signalrservice/v20240101preview/signal_r_replica.py +1 -1
  57. pulumi_azure_native/signalrservice/v20240101preview/signal_r_shared_private_link_resource.py +1 -1
  58. pulumi_azure_native/signalrservice/v20240301/signal_r.py +1 -1
  59. pulumi_azure_native/signalrservice/v20240301/signal_r_custom_certificate.py +1 -1
  60. pulumi_azure_native/signalrservice/v20240301/signal_r_custom_domain.py +1 -1
  61. pulumi_azure_native/signalrservice/v20240301/signal_r_private_endpoint_connection.py +1 -1
  62. pulumi_azure_native/signalrservice/v20240301/signal_r_replica.py +1 -1
  63. pulumi_azure_native/signalrservice/v20240301/signal_r_shared_private_link_resource.py +1 -1
  64. pulumi_azure_native/signalrservice/v20240401preview/signal_r.py +1 -1
  65. pulumi_azure_native/signalrservice/v20240401preview/signal_r_custom_certificate.py +1 -1
  66. pulumi_azure_native/signalrservice/v20240401preview/signal_r_custom_domain.py +1 -1
  67. pulumi_azure_native/signalrservice/v20240401preview/signal_r_private_endpoint_connection.py +1 -1
  68. pulumi_azure_native/signalrservice/v20240401preview/signal_r_replica.py +1 -1
  69. pulumi_azure_native/signalrservice/v20240401preview/signal_r_shared_private_link_resource.py +1 -1
  70. pulumi_azure_native/signalrservice/v20240801preview/signal_r.py +1 -1
  71. pulumi_azure_native/signalrservice/v20240801preview/signal_r_custom_certificate.py +1 -1
  72. pulumi_azure_native/signalrservice/v20240801preview/signal_r_custom_domain.py +1 -1
  73. pulumi_azure_native/signalrservice/v20240801preview/signal_r_private_endpoint_connection.py +1 -1
  74. pulumi_azure_native/signalrservice/v20240801preview/signal_r_replica.py +1 -1
  75. pulumi_azure_native/signalrservice/v20240801preview/signal_r_shared_private_link_resource.py +1 -1
  76. pulumi_azure_native/signalrservice/v20241001preview/__init__.py +23 -0
  77. pulumi_azure_native/signalrservice/v20241001preview/_enums.py +109 -0
  78. pulumi_azure_native/signalrservice/v20241001preview/_inputs.py +1976 -0
  79. pulumi_azure_native/signalrservice/v20241001preview/get_signal_r.py +536 -0
  80. pulumi_azure_native/signalrservice/v20241001preview/get_signal_r_custom_certificate.py +191 -0
  81. pulumi_azure_native/signalrservice/v20241001preview/get_signal_r_custom_domain.py +177 -0
  82. pulumi_azure_native/signalrservice/v20241001preview/get_signal_r_private_endpoint_connection.py +191 -0
  83. pulumi_azure_native/signalrservice/v20241001preview/get_signal_r_replica.py +222 -0
  84. pulumi_azure_native/signalrservice/v20241001preview/get_signal_r_shared_private_link_resource.py +219 -0
  85. pulumi_azure_native/signalrservice/v20241001preview/list_signal_r_keys.py +128 -0
  86. pulumi_azure_native/signalrservice/v20241001preview/outputs.py +2015 -0
  87. pulumi_azure_native/signalrservice/v20241001preview/signal_r.py +892 -0
  88. pulumi_azure_native/signalrservice/v20241001preview/signal_r_custom_certificate.py +289 -0
  89. pulumi_azure_native/signalrservice/v20241001preview/signal_r_custom_domain.py +260 -0
  90. pulumi_azure_native/signalrservice/v20241001preview/signal_r_private_endpoint_connection.py +270 -0
  91. pulumi_azure_native/signalrservice/v20241001preview/signal_r_replica.py +367 -0
  92. pulumi_azure_native/signalrservice/v20241001preview/signal_r_shared_private_link_resource.py +328 -0
  93. pulumi_azure_native/webpubsub/__init__.py +3 -0
  94. pulumi_azure_native/webpubsub/get_web_pub_sub.py +2 -2
  95. pulumi_azure_native/webpubsub/get_web_pub_sub_custom_certificate.py +2 -2
  96. pulumi_azure_native/webpubsub/get_web_pub_sub_custom_domain.py +2 -2
  97. pulumi_azure_native/webpubsub/get_web_pub_sub_hub.py +2 -2
  98. pulumi_azure_native/webpubsub/get_web_pub_sub_private_endpoint_connection.py +2 -2
  99. pulumi_azure_native/webpubsub/get_web_pub_sub_replica.py +2 -2
  100. pulumi_azure_native/webpubsub/get_web_pub_sub_shared_private_link_resource.py +2 -2
  101. pulumi_azure_native/webpubsub/list_web_pub_sub_keys.py +2 -2
  102. pulumi_azure_native/webpubsub/v20210401preview/web_pub_sub.py +1 -1
  103. pulumi_azure_native/webpubsub/v20210601preview/web_pub_sub.py +1 -1
  104. pulumi_azure_native/webpubsub/v20210901preview/web_pub_sub.py +1 -1
  105. pulumi_azure_native/webpubsub/v20230201/web_pub_sub.py +1 -1
  106. pulumi_azure_native/webpubsub/v20230201/web_pub_sub_custom_certificate.py +1 -1
  107. pulumi_azure_native/webpubsub/v20230201/web_pub_sub_custom_domain.py +1 -1
  108. pulumi_azure_native/webpubsub/v20230201/web_pub_sub_hub.py +1 -1
  109. pulumi_azure_native/webpubsub/v20230201/web_pub_sub_private_endpoint_connection.py +1 -1
  110. pulumi_azure_native/webpubsub/v20230201/web_pub_sub_shared_private_link_resource.py +1 -1
  111. pulumi_azure_native/webpubsub/v20230301preview/web_pub_sub.py +1 -1
  112. pulumi_azure_native/webpubsub/v20230301preview/web_pub_sub_custom_certificate.py +1 -1
  113. pulumi_azure_native/webpubsub/v20230301preview/web_pub_sub_custom_domain.py +1 -1
  114. pulumi_azure_native/webpubsub/v20230301preview/web_pub_sub_hub.py +1 -1
  115. pulumi_azure_native/webpubsub/v20230301preview/web_pub_sub_private_endpoint_connection.py +1 -1
  116. pulumi_azure_native/webpubsub/v20230301preview/web_pub_sub_replica.py +1 -1
  117. pulumi_azure_native/webpubsub/v20230301preview/web_pub_sub_shared_private_link_resource.py +1 -1
  118. pulumi_azure_native/webpubsub/v20230601preview/web_pub_sub.py +1 -1
  119. pulumi_azure_native/webpubsub/v20230601preview/web_pub_sub_custom_certificate.py +1 -1
  120. pulumi_azure_native/webpubsub/v20230601preview/web_pub_sub_custom_domain.py +1 -1
  121. pulumi_azure_native/webpubsub/v20230601preview/web_pub_sub_hub.py +1 -1
  122. pulumi_azure_native/webpubsub/v20230601preview/web_pub_sub_private_endpoint_connection.py +1 -1
  123. pulumi_azure_native/webpubsub/v20230601preview/web_pub_sub_replica.py +1 -1
  124. pulumi_azure_native/webpubsub/v20230601preview/web_pub_sub_shared_private_link_resource.py +1 -1
  125. pulumi_azure_native/webpubsub/v20230801preview/web_pub_sub.py +1 -1
  126. pulumi_azure_native/webpubsub/v20230801preview/web_pub_sub_custom_certificate.py +1 -1
  127. pulumi_azure_native/webpubsub/v20230801preview/web_pub_sub_custom_domain.py +1 -1
  128. pulumi_azure_native/webpubsub/v20230801preview/web_pub_sub_hub.py +1 -1
  129. pulumi_azure_native/webpubsub/v20230801preview/web_pub_sub_private_endpoint_connection.py +1 -1
  130. pulumi_azure_native/webpubsub/v20230801preview/web_pub_sub_replica.py +1 -1
  131. pulumi_azure_native/webpubsub/v20230801preview/web_pub_sub_shared_private_link_resource.py +1 -1
  132. pulumi_azure_native/webpubsub/v20240101preview/web_pub_sub.py +1 -1
  133. pulumi_azure_native/webpubsub/v20240101preview/web_pub_sub_custom_certificate.py +1 -1
  134. pulumi_azure_native/webpubsub/v20240101preview/web_pub_sub_custom_domain.py +1 -1
  135. pulumi_azure_native/webpubsub/v20240101preview/web_pub_sub_hub.py +1 -1
  136. pulumi_azure_native/webpubsub/v20240101preview/web_pub_sub_private_endpoint_connection.py +1 -1
  137. pulumi_azure_native/webpubsub/v20240101preview/web_pub_sub_replica.py +1 -1
  138. pulumi_azure_native/webpubsub/v20240101preview/web_pub_sub_shared_private_link_resource.py +1 -1
  139. pulumi_azure_native/webpubsub/v20240301/web_pub_sub.py +1 -1
  140. pulumi_azure_native/webpubsub/v20240301/web_pub_sub_custom_certificate.py +1 -1
  141. pulumi_azure_native/webpubsub/v20240301/web_pub_sub_custom_domain.py +1 -1
  142. pulumi_azure_native/webpubsub/v20240301/web_pub_sub_hub.py +1 -1
  143. pulumi_azure_native/webpubsub/v20240301/web_pub_sub_private_endpoint_connection.py +1 -1
  144. pulumi_azure_native/webpubsub/v20240301/web_pub_sub_replica.py +1 -1
  145. pulumi_azure_native/webpubsub/v20240301/web_pub_sub_shared_private_link_resource.py +1 -1
  146. pulumi_azure_native/webpubsub/v20240401preview/web_pub_sub.py +1 -1
  147. pulumi_azure_native/webpubsub/v20240401preview/web_pub_sub_custom_certificate.py +1 -1
  148. pulumi_azure_native/webpubsub/v20240401preview/web_pub_sub_custom_domain.py +1 -1
  149. pulumi_azure_native/webpubsub/v20240401preview/web_pub_sub_hub.py +1 -1
  150. pulumi_azure_native/webpubsub/v20240401preview/web_pub_sub_private_endpoint_connection.py +1 -1
  151. pulumi_azure_native/webpubsub/v20240401preview/web_pub_sub_replica.py +1 -1
  152. pulumi_azure_native/webpubsub/v20240401preview/web_pub_sub_shared_private_link_resource.py +1 -1
  153. pulumi_azure_native/webpubsub/v20240801preview/web_pub_sub.py +1 -1
  154. pulumi_azure_native/webpubsub/v20240801preview/web_pub_sub_custom_certificate.py +1 -1
  155. pulumi_azure_native/webpubsub/v20240801preview/web_pub_sub_custom_domain.py +1 -1
  156. pulumi_azure_native/webpubsub/v20240801preview/web_pub_sub_hub.py +1 -1
  157. pulumi_azure_native/webpubsub/v20240801preview/web_pub_sub_private_endpoint_connection.py +1 -1
  158. pulumi_azure_native/webpubsub/v20240801preview/web_pub_sub_replica.py +1 -1
  159. pulumi_azure_native/webpubsub/v20240801preview/web_pub_sub_shared_private_link_resource.py +1 -1
  160. pulumi_azure_native/webpubsub/v20241001preview/__init__.py +25 -0
  161. pulumi_azure_native/webpubsub/v20241001preview/_enums.py +104 -0
  162. pulumi_azure_native/webpubsub/v20241001preview/_inputs.py +2053 -0
  163. pulumi_azure_native/webpubsub/v20241001preview/get_web_pub_sub.py +489 -0
  164. pulumi_azure_native/webpubsub/v20241001preview/get_web_pub_sub_custom_certificate.py +191 -0
  165. pulumi_azure_native/webpubsub/v20241001preview/get_web_pub_sub_custom_domain.py +177 -0
  166. pulumi_azure_native/webpubsub/v20241001preview/get_web_pub_sub_hub.py +149 -0
  167. pulumi_azure_native/webpubsub/v20241001preview/get_web_pub_sub_private_endpoint_connection.py +191 -0
  168. pulumi_azure_native/webpubsub/v20241001preview/get_web_pub_sub_replica.py +222 -0
  169. pulumi_azure_native/webpubsub/v20241001preview/get_web_pub_sub_shared_private_link_resource.py +219 -0
  170. pulumi_azure_native/webpubsub/v20241001preview/list_web_pub_sub_keys.py +128 -0
  171. pulumi_azure_native/webpubsub/v20241001preview/outputs.py +2099 -0
  172. pulumi_azure_native/webpubsub/v20241001preview/web_pub_sub.py +785 -0
  173. pulumi_azure_native/webpubsub/v20241001preview/web_pub_sub_custom_certificate.py +289 -0
  174. pulumi_azure_native/webpubsub/v20241001preview/web_pub_sub_custom_domain.py +260 -0
  175. pulumi_azure_native/webpubsub/v20241001preview/web_pub_sub_hub.py +222 -0
  176. pulumi_azure_native/webpubsub/v20241001preview/web_pub_sub_private_endpoint_connection.py +270 -0
  177. pulumi_azure_native/webpubsub/v20241001preview/web_pub_sub_replica.py +367 -0
  178. pulumi_azure_native/webpubsub/v20241001preview/web_pub_sub_shared_private_link_resource.py +328 -0
  179. pulumi_azure_native/webpubsub/web_pub_sub.py +3 -3
  180. pulumi_azure_native/webpubsub/web_pub_sub_custom_certificate.py +3 -3
  181. pulumi_azure_native/webpubsub/web_pub_sub_custom_domain.py +3 -3
  182. pulumi_azure_native/webpubsub/web_pub_sub_hub.py +3 -3
  183. pulumi_azure_native/webpubsub/web_pub_sub_private_endpoint_connection.py +3 -3
  184. pulumi_azure_native/webpubsub/web_pub_sub_replica.py +3 -3
  185. pulumi_azure_native/webpubsub/web_pub_sub_shared_private_link_resource.py +3 -3
  186. {pulumi_azure_native-2.74.0a1732531694.dist-info → pulumi_azure_native-2.75.0a1732957898.dist-info}/METADATA +1 -1
  187. {pulumi_azure_native-2.74.0a1732531694.dist-info → pulumi_azure_native-2.75.0a1732957898.dist-info}/RECORD +189 -148
  188. {pulumi_azure_native-2.74.0a1732531694.dist-info → pulumi_azure_native-2.75.0a1732957898.dist-info}/WHEEL +0 -0
  189. {pulumi_azure_native-2.74.0a1732531694.dist-info → pulumi_azure_native-2.75.0a1732957898.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,2053 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from ... import _utilities
16
+ from ._enums import *
17
+
18
+ __all__ = [
19
+ 'ApplicationFirewallSettingsArgs',
20
+ 'ApplicationFirewallSettingsArgsDict',
21
+ 'EventHandlerArgs',
22
+ 'EventHandlerArgsDict',
23
+ 'EventHubEndpointArgs',
24
+ 'EventHubEndpointArgsDict',
25
+ 'EventListenerArgs',
26
+ 'EventListenerArgsDict',
27
+ 'EventNameFilterArgs',
28
+ 'EventNameFilterArgsDict',
29
+ 'IPRuleArgs',
30
+ 'IPRuleArgsDict',
31
+ 'LiveTraceCategoryArgs',
32
+ 'LiveTraceCategoryArgsDict',
33
+ 'LiveTraceConfigurationArgs',
34
+ 'LiveTraceConfigurationArgsDict',
35
+ 'ManagedIdentitySettingsArgs',
36
+ 'ManagedIdentitySettingsArgsDict',
37
+ 'ManagedIdentityArgs',
38
+ 'ManagedIdentityArgsDict',
39
+ 'NetworkACLArgs',
40
+ 'NetworkACLArgsDict',
41
+ 'PrivateEndpointACLArgs',
42
+ 'PrivateEndpointACLArgsDict',
43
+ 'PrivateEndpointArgs',
44
+ 'PrivateEndpointArgsDict',
45
+ 'PrivateLinkServiceConnectionStateArgs',
46
+ 'PrivateLinkServiceConnectionStateArgsDict',
47
+ 'ResourceLogCategoryArgs',
48
+ 'ResourceLogCategoryArgsDict',
49
+ 'ResourceLogConfigurationArgs',
50
+ 'ResourceLogConfigurationArgsDict',
51
+ 'ResourceReferenceArgs',
52
+ 'ResourceReferenceArgsDict',
53
+ 'ResourceSkuArgs',
54
+ 'ResourceSkuArgsDict',
55
+ 'ThrottleByJwtCustomClaimRuleArgs',
56
+ 'ThrottleByJwtCustomClaimRuleArgsDict',
57
+ 'ThrottleByJwtSignatureRuleArgs',
58
+ 'ThrottleByJwtSignatureRuleArgsDict',
59
+ 'ThrottleByUserIdRuleArgs',
60
+ 'ThrottleByUserIdRuleArgsDict',
61
+ 'TrafficThrottleByJwtCustomClaimRuleArgs',
62
+ 'TrafficThrottleByJwtCustomClaimRuleArgsDict',
63
+ 'TrafficThrottleByJwtSignatureRuleArgs',
64
+ 'TrafficThrottleByJwtSignatureRuleArgsDict',
65
+ 'TrafficThrottleByUserIdRuleArgs',
66
+ 'TrafficThrottleByUserIdRuleArgsDict',
67
+ 'UpstreamAuthSettingsArgs',
68
+ 'UpstreamAuthSettingsArgsDict',
69
+ 'WebPubSubHubPropertiesArgs',
70
+ 'WebPubSubHubPropertiesArgsDict',
71
+ 'WebPubSubNetworkACLsArgs',
72
+ 'WebPubSubNetworkACLsArgsDict',
73
+ 'WebPubSubSocketIOSettingsArgs',
74
+ 'WebPubSubSocketIOSettingsArgsDict',
75
+ 'WebPubSubTlsSettingsArgs',
76
+ 'WebPubSubTlsSettingsArgsDict',
77
+ ]
78
+
79
+ MYPY = False
80
+
81
+ if not MYPY:
82
+ class ApplicationFirewallSettingsArgsDict(TypedDict):
83
+ """
84
+ Application firewall settings for the resource
85
+ """
86
+ client_connection_count_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input[Union['ThrottleByJwtCustomClaimRuleArgsDict', 'ThrottleByJwtSignatureRuleArgsDict', 'ThrottleByUserIdRuleArgsDict']]]]]
87
+ """
88
+ Rules to control the client connection count
89
+ """
90
+ client_traffic_control_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input[Union['TrafficThrottleByJwtCustomClaimRuleArgsDict', 'TrafficThrottleByJwtSignatureRuleArgsDict', 'TrafficThrottleByUserIdRuleArgsDict']]]]]
91
+ """
92
+ Rules to control the client traffic
93
+ """
94
+ elif False:
95
+ ApplicationFirewallSettingsArgsDict: TypeAlias = Mapping[str, Any]
96
+
97
+ @pulumi.input_type
98
+ class ApplicationFirewallSettingsArgs:
99
+ def __init__(__self__, *,
100
+ client_connection_count_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ThrottleByJwtCustomClaimRuleArgs', 'ThrottleByJwtSignatureRuleArgs', 'ThrottleByUserIdRuleArgs']]]]] = None,
101
+ client_traffic_control_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TrafficThrottleByJwtCustomClaimRuleArgs', 'TrafficThrottleByJwtSignatureRuleArgs', 'TrafficThrottleByUserIdRuleArgs']]]]] = None):
102
+ """
103
+ Application firewall settings for the resource
104
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ThrottleByJwtCustomClaimRuleArgs', 'ThrottleByJwtSignatureRuleArgs', 'ThrottleByUserIdRuleArgs']]]] client_connection_count_rules: Rules to control the client connection count
105
+ :param pulumi.Input[Sequence[pulumi.Input[Union['TrafficThrottleByJwtCustomClaimRuleArgs', 'TrafficThrottleByJwtSignatureRuleArgs', 'TrafficThrottleByUserIdRuleArgs']]]] client_traffic_control_rules: Rules to control the client traffic
106
+ """
107
+ if client_connection_count_rules is not None:
108
+ pulumi.set(__self__, "client_connection_count_rules", client_connection_count_rules)
109
+ if client_traffic_control_rules is not None:
110
+ pulumi.set(__self__, "client_traffic_control_rules", client_traffic_control_rules)
111
+
112
+ @property
113
+ @pulumi.getter(name="clientConnectionCountRules")
114
+ def client_connection_count_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union['ThrottleByJwtCustomClaimRuleArgs', 'ThrottleByJwtSignatureRuleArgs', 'ThrottleByUserIdRuleArgs']]]]]:
115
+ """
116
+ Rules to control the client connection count
117
+ """
118
+ return pulumi.get(self, "client_connection_count_rules")
119
+
120
+ @client_connection_count_rules.setter
121
+ def client_connection_count_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ThrottleByJwtCustomClaimRuleArgs', 'ThrottleByJwtSignatureRuleArgs', 'ThrottleByUserIdRuleArgs']]]]]):
122
+ pulumi.set(self, "client_connection_count_rules", value)
123
+
124
+ @property
125
+ @pulumi.getter(name="clientTrafficControlRules")
126
+ def client_traffic_control_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union['TrafficThrottleByJwtCustomClaimRuleArgs', 'TrafficThrottleByJwtSignatureRuleArgs', 'TrafficThrottleByUserIdRuleArgs']]]]]:
127
+ """
128
+ Rules to control the client traffic
129
+ """
130
+ return pulumi.get(self, "client_traffic_control_rules")
131
+
132
+ @client_traffic_control_rules.setter
133
+ def client_traffic_control_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TrafficThrottleByJwtCustomClaimRuleArgs', 'TrafficThrottleByJwtSignatureRuleArgs', 'TrafficThrottleByUserIdRuleArgs']]]]]):
134
+ pulumi.set(self, "client_traffic_control_rules", value)
135
+
136
+
137
+ if not MYPY:
138
+ class EventHandlerArgsDict(TypedDict):
139
+ """
140
+ Properties of event handler.
141
+ """
142
+ url_template: pulumi.Input[str]
143
+ """
144
+ Gets or sets the URL template for the event handler. The actual URL is calculated when the corresponding event is triggered.
145
+ The template supports predefined parameters syntax: `{event}`, `{hub}`, and KeyVault reference syntax `{@Microsoft.KeyVault(SecretUri=_your_secret_identifier_)}`
146
+ For example, if the template is `http://example.com/api/{event}`, when `connect` event is triggered, a POST request will be sent to the URL `http://example.com/chat/api/connect`.
147
+ Note: Parameters are not allowed in the hostname of the URL, and curly brackets `{}` are reserved for parameter syntax only. If your URL path contains literal curly brackets, please URL-encode them to ensure proper handling.
148
+ """
149
+ auth: NotRequired[pulumi.Input['UpstreamAuthSettingsArgsDict']]
150
+ """
151
+ Upstream auth settings. If not set, no auth is used for upstream messages.
152
+ """
153
+ system_events: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
154
+ """
155
+ Gets or sets the list of system events.
156
+ """
157
+ user_event_pattern: NotRequired[pulumi.Input[str]]
158
+ """
159
+ Gets or sets the matching pattern for event names.
160
+ There are 3 kinds of patterns supported:
161
+ 1. "*", it matches any event name
162
+ 2. Combine multiple events with ",", for example "event1,event2", it matches event "event1" and "event2"
163
+ 3. A single event name, for example, "event1", it matches "event1"
164
+ """
165
+ elif False:
166
+ EventHandlerArgsDict: TypeAlias = Mapping[str, Any]
167
+
168
+ @pulumi.input_type
169
+ class EventHandlerArgs:
170
+ def __init__(__self__, *,
171
+ url_template: pulumi.Input[str],
172
+ auth: Optional[pulumi.Input['UpstreamAuthSettingsArgs']] = None,
173
+ system_events: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
174
+ user_event_pattern: Optional[pulumi.Input[str]] = None):
175
+ """
176
+ Properties of event handler.
177
+ :param pulumi.Input[str] url_template: Gets or sets the URL template for the event handler. The actual URL is calculated when the corresponding event is triggered.
178
+ The template supports predefined parameters syntax: `{event}`, `{hub}`, and KeyVault reference syntax `{@Microsoft.KeyVault(SecretUri=_your_secret_identifier_)}`
179
+ For example, if the template is `http://example.com/api/{event}`, when `connect` event is triggered, a POST request will be sent to the URL `http://example.com/chat/api/connect`.
180
+ Note: Parameters are not allowed in the hostname of the URL, and curly brackets `{}` are reserved for parameter syntax only. If your URL path contains literal curly brackets, please URL-encode them to ensure proper handling.
181
+ :param pulumi.Input['UpstreamAuthSettingsArgs'] auth: Upstream auth settings. If not set, no auth is used for upstream messages.
182
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] system_events: Gets or sets the list of system events.
183
+ :param pulumi.Input[str] user_event_pattern: Gets or sets the matching pattern for event names.
184
+ There are 3 kinds of patterns supported:
185
+ 1. "*", it matches any event name
186
+ 2. Combine multiple events with ",", for example "event1,event2", it matches event "event1" and "event2"
187
+ 3. A single event name, for example, "event1", it matches "event1"
188
+ """
189
+ pulumi.set(__self__, "url_template", url_template)
190
+ if auth is not None:
191
+ pulumi.set(__self__, "auth", auth)
192
+ if system_events is not None:
193
+ pulumi.set(__self__, "system_events", system_events)
194
+ if user_event_pattern is not None:
195
+ pulumi.set(__self__, "user_event_pattern", user_event_pattern)
196
+
197
+ @property
198
+ @pulumi.getter(name="urlTemplate")
199
+ def url_template(self) -> pulumi.Input[str]:
200
+ """
201
+ Gets or sets the URL template for the event handler. The actual URL is calculated when the corresponding event is triggered.
202
+ The template supports predefined parameters syntax: `{event}`, `{hub}`, and KeyVault reference syntax `{@Microsoft.KeyVault(SecretUri=_your_secret_identifier_)}`
203
+ For example, if the template is `http://example.com/api/{event}`, when `connect` event is triggered, a POST request will be sent to the URL `http://example.com/chat/api/connect`.
204
+ Note: Parameters are not allowed in the hostname of the URL, and curly brackets `{}` are reserved for parameter syntax only. If your URL path contains literal curly brackets, please URL-encode them to ensure proper handling.
205
+ """
206
+ return pulumi.get(self, "url_template")
207
+
208
+ @url_template.setter
209
+ def url_template(self, value: pulumi.Input[str]):
210
+ pulumi.set(self, "url_template", value)
211
+
212
+ @property
213
+ @pulumi.getter
214
+ def auth(self) -> Optional[pulumi.Input['UpstreamAuthSettingsArgs']]:
215
+ """
216
+ Upstream auth settings. If not set, no auth is used for upstream messages.
217
+ """
218
+ return pulumi.get(self, "auth")
219
+
220
+ @auth.setter
221
+ def auth(self, value: Optional[pulumi.Input['UpstreamAuthSettingsArgs']]):
222
+ pulumi.set(self, "auth", value)
223
+
224
+ @property
225
+ @pulumi.getter(name="systemEvents")
226
+ def system_events(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
227
+ """
228
+ Gets or sets the list of system events.
229
+ """
230
+ return pulumi.get(self, "system_events")
231
+
232
+ @system_events.setter
233
+ def system_events(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
234
+ pulumi.set(self, "system_events", value)
235
+
236
+ @property
237
+ @pulumi.getter(name="userEventPattern")
238
+ def user_event_pattern(self) -> Optional[pulumi.Input[str]]:
239
+ """
240
+ Gets or sets the matching pattern for event names.
241
+ There are 3 kinds of patterns supported:
242
+ 1. "*", it matches any event name
243
+ 2. Combine multiple events with ",", for example "event1,event2", it matches event "event1" and "event2"
244
+ 3. A single event name, for example, "event1", it matches "event1"
245
+ """
246
+ return pulumi.get(self, "user_event_pattern")
247
+
248
+ @user_event_pattern.setter
249
+ def user_event_pattern(self, value: Optional[pulumi.Input[str]]):
250
+ pulumi.set(self, "user_event_pattern", value)
251
+
252
+
253
+ if not MYPY:
254
+ class EventHubEndpointArgsDict(TypedDict):
255
+ """
256
+ An Event Hub endpoint.
257
+ The managed identity of Web PubSub service must be enabled, and the identity should have the "Azure Event Hubs Data sender" role to access Event Hub.
258
+ """
259
+ event_hub_name: pulumi.Input[str]
260
+ """
261
+ The name of the Event Hub.
262
+ """
263
+ fully_qualified_namespace: pulumi.Input[str]
264
+ """
265
+ The fully qualified namespace name of the Event Hub resource.
266
+ """
267
+ type: pulumi.Input[str]
268
+ """
269
+
270
+ Expected value is 'EventHub'.
271
+ """
272
+ elif False:
273
+ EventHubEndpointArgsDict: TypeAlias = Mapping[str, Any]
274
+
275
+ @pulumi.input_type
276
+ class EventHubEndpointArgs:
277
+ def __init__(__self__, *,
278
+ event_hub_name: pulumi.Input[str],
279
+ fully_qualified_namespace: pulumi.Input[str],
280
+ type: pulumi.Input[str]):
281
+ """
282
+ An Event Hub endpoint.
283
+ The managed identity of Web PubSub service must be enabled, and the identity should have the "Azure Event Hubs Data sender" role to access Event Hub.
284
+ :param pulumi.Input[str] event_hub_name: The name of the Event Hub.
285
+ :param pulumi.Input[str] fully_qualified_namespace: The fully qualified namespace name of the Event Hub resource.
286
+ :param pulumi.Input[str] type:
287
+ Expected value is 'EventHub'.
288
+ """
289
+ pulumi.set(__self__, "event_hub_name", event_hub_name)
290
+ pulumi.set(__self__, "fully_qualified_namespace", fully_qualified_namespace)
291
+ pulumi.set(__self__, "type", 'EventHub')
292
+
293
+ @property
294
+ @pulumi.getter(name="eventHubName")
295
+ def event_hub_name(self) -> pulumi.Input[str]:
296
+ """
297
+ The name of the Event Hub.
298
+ """
299
+ return pulumi.get(self, "event_hub_name")
300
+
301
+ @event_hub_name.setter
302
+ def event_hub_name(self, value: pulumi.Input[str]):
303
+ pulumi.set(self, "event_hub_name", value)
304
+
305
+ @property
306
+ @pulumi.getter(name="fullyQualifiedNamespace")
307
+ def fully_qualified_namespace(self) -> pulumi.Input[str]:
308
+ """
309
+ The fully qualified namespace name of the Event Hub resource.
310
+ """
311
+ return pulumi.get(self, "fully_qualified_namespace")
312
+
313
+ @fully_qualified_namespace.setter
314
+ def fully_qualified_namespace(self, value: pulumi.Input[str]):
315
+ pulumi.set(self, "fully_qualified_namespace", value)
316
+
317
+ @property
318
+ @pulumi.getter
319
+ def type(self) -> pulumi.Input[str]:
320
+ """
321
+
322
+ Expected value is 'EventHub'.
323
+ """
324
+ return pulumi.get(self, "type")
325
+
326
+ @type.setter
327
+ def type(self, value: pulumi.Input[str]):
328
+ pulumi.set(self, "type", value)
329
+
330
+
331
+ if not MYPY:
332
+ class EventListenerArgsDict(TypedDict):
333
+ """
334
+ A setting defines which kinds of events should be sent to which endpoint.
335
+ """
336
+ endpoint: pulumi.Input['EventHubEndpointArgsDict']
337
+ """
338
+ An endpoint specifying where Web PubSub should send events to.
339
+ """
340
+ filter: pulumi.Input['EventNameFilterArgsDict']
341
+ """
342
+ A base class for event filter which determines whether an event should be sent to an event listener.
343
+ """
344
+ elif False:
345
+ EventListenerArgsDict: TypeAlias = Mapping[str, Any]
346
+
347
+ @pulumi.input_type
348
+ class EventListenerArgs:
349
+ def __init__(__self__, *,
350
+ endpoint: pulumi.Input['EventHubEndpointArgs'],
351
+ filter: pulumi.Input['EventNameFilterArgs']):
352
+ """
353
+ A setting defines which kinds of events should be sent to which endpoint.
354
+ :param pulumi.Input['EventHubEndpointArgs'] endpoint: An endpoint specifying where Web PubSub should send events to.
355
+ :param pulumi.Input['EventNameFilterArgs'] filter: A base class for event filter which determines whether an event should be sent to an event listener.
356
+ """
357
+ pulumi.set(__self__, "endpoint", endpoint)
358
+ pulumi.set(__self__, "filter", filter)
359
+
360
+ @property
361
+ @pulumi.getter
362
+ def endpoint(self) -> pulumi.Input['EventHubEndpointArgs']:
363
+ """
364
+ An endpoint specifying where Web PubSub should send events to.
365
+ """
366
+ return pulumi.get(self, "endpoint")
367
+
368
+ @endpoint.setter
369
+ def endpoint(self, value: pulumi.Input['EventHubEndpointArgs']):
370
+ pulumi.set(self, "endpoint", value)
371
+
372
+ @property
373
+ @pulumi.getter
374
+ def filter(self) -> pulumi.Input['EventNameFilterArgs']:
375
+ """
376
+ A base class for event filter which determines whether an event should be sent to an event listener.
377
+ """
378
+ return pulumi.get(self, "filter")
379
+
380
+ @filter.setter
381
+ def filter(self, value: pulumi.Input['EventNameFilterArgs']):
382
+ pulumi.set(self, "filter", value)
383
+
384
+
385
+ if not MYPY:
386
+ class EventNameFilterArgsDict(TypedDict):
387
+ """
388
+ Filter events by their name.
389
+ """
390
+ type: pulumi.Input[str]
391
+ """
392
+
393
+ Expected value is 'EventName'.
394
+ """
395
+ system_events: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
396
+ """
397
+ Gets or sets a list of system events. Supported events: "connected" and "disconnected". Blocking event "connect" is not supported because it requires a response.
398
+ """
399
+ user_event_pattern: NotRequired[pulumi.Input[str]]
400
+ """
401
+ Gets or sets a matching pattern for event names.
402
+ There are 3 kinds of patterns supported:
403
+ 1. "*", it matches any event name
404
+ 2. Combine multiple events with ",", for example "event1,event2", it matches events "event1" and "event2"
405
+ 3. A single event name, for example, "event1", it matches "event1"
406
+ """
407
+ elif False:
408
+ EventNameFilterArgsDict: TypeAlias = Mapping[str, Any]
409
+
410
+ @pulumi.input_type
411
+ class EventNameFilterArgs:
412
+ def __init__(__self__, *,
413
+ type: pulumi.Input[str],
414
+ system_events: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
415
+ user_event_pattern: Optional[pulumi.Input[str]] = None):
416
+ """
417
+ Filter events by their name.
418
+ :param pulumi.Input[str] type:
419
+ Expected value is 'EventName'.
420
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] system_events: Gets or sets a list of system events. Supported events: "connected" and "disconnected". Blocking event "connect" is not supported because it requires a response.
421
+ :param pulumi.Input[str] user_event_pattern: Gets or sets a matching pattern for event names.
422
+ There are 3 kinds of patterns supported:
423
+ 1. "*", it matches any event name
424
+ 2. Combine multiple events with ",", for example "event1,event2", it matches events "event1" and "event2"
425
+ 3. A single event name, for example, "event1", it matches "event1"
426
+ """
427
+ pulumi.set(__self__, "type", 'EventName')
428
+ if system_events is not None:
429
+ pulumi.set(__self__, "system_events", system_events)
430
+ if user_event_pattern is not None:
431
+ pulumi.set(__self__, "user_event_pattern", user_event_pattern)
432
+
433
+ @property
434
+ @pulumi.getter
435
+ def type(self) -> pulumi.Input[str]:
436
+ """
437
+
438
+ Expected value is 'EventName'.
439
+ """
440
+ return pulumi.get(self, "type")
441
+
442
+ @type.setter
443
+ def type(self, value: pulumi.Input[str]):
444
+ pulumi.set(self, "type", value)
445
+
446
+ @property
447
+ @pulumi.getter(name="systemEvents")
448
+ def system_events(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
449
+ """
450
+ Gets or sets a list of system events. Supported events: "connected" and "disconnected". Blocking event "connect" is not supported because it requires a response.
451
+ """
452
+ return pulumi.get(self, "system_events")
453
+
454
+ @system_events.setter
455
+ def system_events(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
456
+ pulumi.set(self, "system_events", value)
457
+
458
+ @property
459
+ @pulumi.getter(name="userEventPattern")
460
+ def user_event_pattern(self) -> Optional[pulumi.Input[str]]:
461
+ """
462
+ Gets or sets a matching pattern for event names.
463
+ There are 3 kinds of patterns supported:
464
+ 1. "*", it matches any event name
465
+ 2. Combine multiple events with ",", for example "event1,event2", it matches events "event1" and "event2"
466
+ 3. A single event name, for example, "event1", it matches "event1"
467
+ """
468
+ return pulumi.get(self, "user_event_pattern")
469
+
470
+ @user_event_pattern.setter
471
+ def user_event_pattern(self, value: Optional[pulumi.Input[str]]):
472
+ pulumi.set(self, "user_event_pattern", value)
473
+
474
+
475
+ if not MYPY:
476
+ class IPRuleArgsDict(TypedDict):
477
+ """
478
+ An IP rule
479
+ """
480
+ action: NotRequired[pulumi.Input[Union[str, 'ACLAction']]]
481
+ """
482
+ Azure Networking ACL Action.
483
+ """
484
+ value: NotRequired[pulumi.Input[str]]
485
+ """
486
+ An IP or CIDR or ServiceTag
487
+ """
488
+ elif False:
489
+ IPRuleArgsDict: TypeAlias = Mapping[str, Any]
490
+
491
+ @pulumi.input_type
492
+ class IPRuleArgs:
493
+ def __init__(__self__, *,
494
+ action: Optional[pulumi.Input[Union[str, 'ACLAction']]] = None,
495
+ value: Optional[pulumi.Input[str]] = None):
496
+ """
497
+ An IP rule
498
+ :param pulumi.Input[Union[str, 'ACLAction']] action: Azure Networking ACL Action.
499
+ :param pulumi.Input[str] value: An IP or CIDR or ServiceTag
500
+ """
501
+ if action is not None:
502
+ pulumi.set(__self__, "action", action)
503
+ if value is not None:
504
+ pulumi.set(__self__, "value", value)
505
+
506
+ @property
507
+ @pulumi.getter
508
+ def action(self) -> Optional[pulumi.Input[Union[str, 'ACLAction']]]:
509
+ """
510
+ Azure Networking ACL Action.
511
+ """
512
+ return pulumi.get(self, "action")
513
+
514
+ @action.setter
515
+ def action(self, value: Optional[pulumi.Input[Union[str, 'ACLAction']]]):
516
+ pulumi.set(self, "action", value)
517
+
518
+ @property
519
+ @pulumi.getter
520
+ def value(self) -> Optional[pulumi.Input[str]]:
521
+ """
522
+ An IP or CIDR or ServiceTag
523
+ """
524
+ return pulumi.get(self, "value")
525
+
526
+ @value.setter
527
+ def value(self, value: Optional[pulumi.Input[str]]):
528
+ pulumi.set(self, "value", value)
529
+
530
+
531
+ if not MYPY:
532
+ class LiveTraceCategoryArgsDict(TypedDict):
533
+ """
534
+ Live trace category configuration of a Microsoft.SignalRService resource.
535
+ """
536
+ enabled: NotRequired[pulumi.Input[str]]
537
+ """
538
+ Indicates whether or the live trace category is enabled.
539
+ Available values: true, false.
540
+ Case insensitive.
541
+ """
542
+ name: NotRequired[pulumi.Input[str]]
543
+ """
544
+ Gets or sets the live trace category's name.
545
+ Available values: ConnectivityLogs, MessagingLogs.
546
+ Case insensitive.
547
+ """
548
+ elif False:
549
+ LiveTraceCategoryArgsDict: TypeAlias = Mapping[str, Any]
550
+
551
+ @pulumi.input_type
552
+ class LiveTraceCategoryArgs:
553
+ def __init__(__self__, *,
554
+ enabled: Optional[pulumi.Input[str]] = None,
555
+ name: Optional[pulumi.Input[str]] = None):
556
+ """
557
+ Live trace category configuration of a Microsoft.SignalRService resource.
558
+ :param pulumi.Input[str] enabled: Indicates whether or the live trace category is enabled.
559
+ Available values: true, false.
560
+ Case insensitive.
561
+ :param pulumi.Input[str] name: Gets or sets the live trace category's name.
562
+ Available values: ConnectivityLogs, MessagingLogs.
563
+ Case insensitive.
564
+ """
565
+ if enabled is not None:
566
+ pulumi.set(__self__, "enabled", enabled)
567
+ if name is not None:
568
+ pulumi.set(__self__, "name", name)
569
+
570
+ @property
571
+ @pulumi.getter
572
+ def enabled(self) -> Optional[pulumi.Input[str]]:
573
+ """
574
+ Indicates whether or the live trace category is enabled.
575
+ Available values: true, false.
576
+ Case insensitive.
577
+ """
578
+ return pulumi.get(self, "enabled")
579
+
580
+ @enabled.setter
581
+ def enabled(self, value: Optional[pulumi.Input[str]]):
582
+ pulumi.set(self, "enabled", value)
583
+
584
+ @property
585
+ @pulumi.getter
586
+ def name(self) -> Optional[pulumi.Input[str]]:
587
+ """
588
+ Gets or sets the live trace category's name.
589
+ Available values: ConnectivityLogs, MessagingLogs.
590
+ Case insensitive.
591
+ """
592
+ return pulumi.get(self, "name")
593
+
594
+ @name.setter
595
+ def name(self, value: Optional[pulumi.Input[str]]):
596
+ pulumi.set(self, "name", value)
597
+
598
+
599
+ if not MYPY:
600
+ class LiveTraceConfigurationArgsDict(TypedDict):
601
+ """
602
+ Live trace configuration of a Microsoft.SignalRService resource.
603
+ """
604
+ categories: NotRequired[pulumi.Input[Sequence[pulumi.Input['LiveTraceCategoryArgsDict']]]]
605
+ """
606
+ Gets or sets the list of category configurations.
607
+ """
608
+ enabled: NotRequired[pulumi.Input[str]]
609
+ """
610
+ Indicates whether or not enable live trace.
611
+ When it's set to true, live trace client can connect to the service.
612
+ Otherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in "categories".
613
+ Available values: true, false.
614
+ Case insensitive.
615
+ """
616
+ elif False:
617
+ LiveTraceConfigurationArgsDict: TypeAlias = Mapping[str, Any]
618
+
619
+ @pulumi.input_type
620
+ class LiveTraceConfigurationArgs:
621
+ def __init__(__self__, *,
622
+ categories: Optional[pulumi.Input[Sequence[pulumi.Input['LiveTraceCategoryArgs']]]] = None,
623
+ enabled: Optional[pulumi.Input[str]] = None):
624
+ """
625
+ Live trace configuration of a Microsoft.SignalRService resource.
626
+ :param pulumi.Input[Sequence[pulumi.Input['LiveTraceCategoryArgs']]] categories: Gets or sets the list of category configurations.
627
+ :param pulumi.Input[str] enabled: Indicates whether or not enable live trace.
628
+ When it's set to true, live trace client can connect to the service.
629
+ Otherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in "categories".
630
+ Available values: true, false.
631
+ Case insensitive.
632
+ """
633
+ if categories is not None:
634
+ pulumi.set(__self__, "categories", categories)
635
+ if enabled is None:
636
+ enabled = 'false'
637
+ if enabled is not None:
638
+ pulumi.set(__self__, "enabled", enabled)
639
+
640
+ @property
641
+ @pulumi.getter
642
+ def categories(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LiveTraceCategoryArgs']]]]:
643
+ """
644
+ Gets or sets the list of category configurations.
645
+ """
646
+ return pulumi.get(self, "categories")
647
+
648
+ @categories.setter
649
+ def categories(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['LiveTraceCategoryArgs']]]]):
650
+ pulumi.set(self, "categories", value)
651
+
652
+ @property
653
+ @pulumi.getter
654
+ def enabled(self) -> Optional[pulumi.Input[str]]:
655
+ """
656
+ Indicates whether or not enable live trace.
657
+ When it's set to true, live trace client can connect to the service.
658
+ Otherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in "categories".
659
+ Available values: true, false.
660
+ Case insensitive.
661
+ """
662
+ return pulumi.get(self, "enabled")
663
+
664
+ @enabled.setter
665
+ def enabled(self, value: Optional[pulumi.Input[str]]):
666
+ pulumi.set(self, "enabled", value)
667
+
668
+
669
+ if not MYPY:
670
+ class ManagedIdentitySettingsArgsDict(TypedDict):
671
+ """
672
+ Managed identity settings for upstream.
673
+ """
674
+ resource: NotRequired[pulumi.Input[str]]
675
+ """
676
+ The Resource indicating the App ID URI of the target resource.
677
+ It also appears in the aud (audience) claim of the issued token.
678
+ """
679
+ elif False:
680
+ ManagedIdentitySettingsArgsDict: TypeAlias = Mapping[str, Any]
681
+
682
+ @pulumi.input_type
683
+ class ManagedIdentitySettingsArgs:
684
+ def __init__(__self__, *,
685
+ resource: Optional[pulumi.Input[str]] = None):
686
+ """
687
+ Managed identity settings for upstream.
688
+ :param pulumi.Input[str] resource: The Resource indicating the App ID URI of the target resource.
689
+ It also appears in the aud (audience) claim of the issued token.
690
+ """
691
+ if resource is not None:
692
+ pulumi.set(__self__, "resource", resource)
693
+
694
+ @property
695
+ @pulumi.getter
696
+ def resource(self) -> Optional[pulumi.Input[str]]:
697
+ """
698
+ The Resource indicating the App ID URI of the target resource.
699
+ It also appears in the aud (audience) claim of the issued token.
700
+ """
701
+ return pulumi.get(self, "resource")
702
+
703
+ @resource.setter
704
+ def resource(self, value: Optional[pulumi.Input[str]]):
705
+ pulumi.set(self, "resource", value)
706
+
707
+
708
+ if not MYPY:
709
+ class ManagedIdentityArgsDict(TypedDict):
710
+ """
711
+ A class represent managed identities used for request and response
712
+ """
713
+ type: NotRequired[pulumi.Input[Union[str, 'ManagedIdentityType']]]
714
+ """
715
+ Represents the identity type: systemAssigned, userAssigned, None
716
+ """
717
+ user_assigned_identities: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
718
+ """
719
+ Get or set the user assigned identities
720
+ """
721
+ elif False:
722
+ ManagedIdentityArgsDict: TypeAlias = Mapping[str, Any]
723
+
724
+ @pulumi.input_type
725
+ class ManagedIdentityArgs:
726
+ def __init__(__self__, *,
727
+ type: Optional[pulumi.Input[Union[str, 'ManagedIdentityType']]] = None,
728
+ user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
729
+ """
730
+ A class represent managed identities used for request and response
731
+ :param pulumi.Input[Union[str, 'ManagedIdentityType']] type: Represents the identity type: systemAssigned, userAssigned, None
732
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: Get or set the user assigned identities
733
+ """
734
+ if type is not None:
735
+ pulumi.set(__self__, "type", type)
736
+ if user_assigned_identities is not None:
737
+ pulumi.set(__self__, "user_assigned_identities", user_assigned_identities)
738
+
739
+ @property
740
+ @pulumi.getter
741
+ def type(self) -> Optional[pulumi.Input[Union[str, 'ManagedIdentityType']]]:
742
+ """
743
+ Represents the identity type: systemAssigned, userAssigned, None
744
+ """
745
+ return pulumi.get(self, "type")
746
+
747
+ @type.setter
748
+ def type(self, value: Optional[pulumi.Input[Union[str, 'ManagedIdentityType']]]):
749
+ pulumi.set(self, "type", value)
750
+
751
+ @property
752
+ @pulumi.getter(name="userAssignedIdentities")
753
+ def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
754
+ """
755
+ Get or set the user assigned identities
756
+ """
757
+ return pulumi.get(self, "user_assigned_identities")
758
+
759
+ @user_assigned_identities.setter
760
+ def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
761
+ pulumi.set(self, "user_assigned_identities", value)
762
+
763
+
764
+ if not MYPY:
765
+ class NetworkACLArgsDict(TypedDict):
766
+ """
767
+ Network ACL
768
+ """
769
+ allow: NotRequired[pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]]]
770
+ """
771
+ Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.
772
+ """
773
+ deny: NotRequired[pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]]]
774
+ """
775
+ Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.
776
+ """
777
+ elif False:
778
+ NetworkACLArgsDict: TypeAlias = Mapping[str, Any]
779
+
780
+ @pulumi.input_type
781
+ class NetworkACLArgs:
782
+ def __init__(__self__, *,
783
+ allow: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]]] = None,
784
+ deny: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]]] = None):
785
+ """
786
+ Network ACL
787
+ :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]] allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.
788
+ :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]] deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.
789
+ """
790
+ if allow is not None:
791
+ pulumi.set(__self__, "allow", allow)
792
+ if deny is not None:
793
+ pulumi.set(__self__, "deny", deny)
794
+
795
+ @property
796
+ @pulumi.getter
797
+ def allow(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]]]:
798
+ """
799
+ Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.
800
+ """
801
+ return pulumi.get(self, "allow")
802
+
803
+ @allow.setter
804
+ def allow(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]]]):
805
+ pulumi.set(self, "allow", value)
806
+
807
+ @property
808
+ @pulumi.getter
809
+ def deny(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]]]:
810
+ """
811
+ Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.
812
+ """
813
+ return pulumi.get(self, "deny")
814
+
815
+ @deny.setter
816
+ def deny(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]]]):
817
+ pulumi.set(self, "deny", value)
818
+
819
+
820
+ if not MYPY:
821
+ class PrivateEndpointACLArgsDict(TypedDict):
822
+ """
823
+ ACL for a private endpoint
824
+ """
825
+ name: pulumi.Input[str]
826
+ """
827
+ Name of the private endpoint connection
828
+ """
829
+ allow: NotRequired[pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]]]
830
+ """
831
+ Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.
832
+ """
833
+ deny: NotRequired[pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]]]
834
+ """
835
+ Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.
836
+ """
837
+ elif False:
838
+ PrivateEndpointACLArgsDict: TypeAlias = Mapping[str, Any]
839
+
840
+ @pulumi.input_type
841
+ class PrivateEndpointACLArgs:
842
+ def __init__(__self__, *,
843
+ name: pulumi.Input[str],
844
+ allow: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]]] = None,
845
+ deny: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]]] = None):
846
+ """
847
+ ACL for a private endpoint
848
+ :param pulumi.Input[str] name: Name of the private endpoint connection
849
+ :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]] allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.
850
+ :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]] deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.
851
+ """
852
+ pulumi.set(__self__, "name", name)
853
+ if allow is not None:
854
+ pulumi.set(__self__, "allow", allow)
855
+ if deny is not None:
856
+ pulumi.set(__self__, "deny", deny)
857
+
858
+ @property
859
+ @pulumi.getter
860
+ def name(self) -> pulumi.Input[str]:
861
+ """
862
+ Name of the private endpoint connection
863
+ """
864
+ return pulumi.get(self, "name")
865
+
866
+ @name.setter
867
+ def name(self, value: pulumi.Input[str]):
868
+ pulumi.set(self, "name", value)
869
+
870
+ @property
871
+ @pulumi.getter
872
+ def allow(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]]]:
873
+ """
874
+ Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.
875
+ """
876
+ return pulumi.get(self, "allow")
877
+
878
+ @allow.setter
879
+ def allow(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]]]):
880
+ pulumi.set(self, "allow", value)
881
+
882
+ @property
883
+ @pulumi.getter
884
+ def deny(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]]]:
885
+ """
886
+ Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.
887
+ """
888
+ return pulumi.get(self, "deny")
889
+
890
+ @deny.setter
891
+ def deny(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'WebPubSubRequestType']]]]]):
892
+ pulumi.set(self, "deny", value)
893
+
894
+
895
+ if not MYPY:
896
+ class PrivateEndpointArgsDict(TypedDict):
897
+ """
898
+ Private endpoint
899
+ """
900
+ id: NotRequired[pulumi.Input[str]]
901
+ """
902
+ Full qualified Id of the private endpoint
903
+ """
904
+ elif False:
905
+ PrivateEndpointArgsDict: TypeAlias = Mapping[str, Any]
906
+
907
+ @pulumi.input_type
908
+ class PrivateEndpointArgs:
909
+ def __init__(__self__, *,
910
+ id: Optional[pulumi.Input[str]] = None):
911
+ """
912
+ Private endpoint
913
+ :param pulumi.Input[str] id: Full qualified Id of the private endpoint
914
+ """
915
+ if id is not None:
916
+ pulumi.set(__self__, "id", id)
917
+
918
+ @property
919
+ @pulumi.getter
920
+ def id(self) -> Optional[pulumi.Input[str]]:
921
+ """
922
+ Full qualified Id of the private endpoint
923
+ """
924
+ return pulumi.get(self, "id")
925
+
926
+ @id.setter
927
+ def id(self, value: Optional[pulumi.Input[str]]):
928
+ pulumi.set(self, "id", value)
929
+
930
+
931
+ if not MYPY:
932
+ class PrivateLinkServiceConnectionStateArgsDict(TypedDict):
933
+ """
934
+ Connection state of the private endpoint connection
935
+ """
936
+ actions_required: NotRequired[pulumi.Input[str]]
937
+ """
938
+ A message indicating if changes on the service provider require any updates on the consumer.
939
+ """
940
+ description: NotRequired[pulumi.Input[str]]
941
+ """
942
+ The reason for approval/rejection of the connection.
943
+ """
944
+ status: NotRequired[pulumi.Input[Union[str, 'PrivateLinkServiceConnectionStatus']]]
945
+ """
946
+ Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.
947
+ """
948
+ elif False:
949
+ PrivateLinkServiceConnectionStateArgsDict: TypeAlias = Mapping[str, Any]
950
+
951
+ @pulumi.input_type
952
+ class PrivateLinkServiceConnectionStateArgs:
953
+ def __init__(__self__, *,
954
+ actions_required: Optional[pulumi.Input[str]] = None,
955
+ description: Optional[pulumi.Input[str]] = None,
956
+ status: Optional[pulumi.Input[Union[str, 'PrivateLinkServiceConnectionStatus']]] = None):
957
+ """
958
+ Connection state of the private endpoint connection
959
+ :param pulumi.Input[str] actions_required: A message indicating if changes on the service provider require any updates on the consumer.
960
+ :param pulumi.Input[str] description: The reason for approval/rejection of the connection.
961
+ :param pulumi.Input[Union[str, 'PrivateLinkServiceConnectionStatus']] status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.
962
+ """
963
+ if actions_required is not None:
964
+ pulumi.set(__self__, "actions_required", actions_required)
965
+ if description is not None:
966
+ pulumi.set(__self__, "description", description)
967
+ if status is not None:
968
+ pulumi.set(__self__, "status", status)
969
+
970
+ @property
971
+ @pulumi.getter(name="actionsRequired")
972
+ def actions_required(self) -> Optional[pulumi.Input[str]]:
973
+ """
974
+ A message indicating if changes on the service provider require any updates on the consumer.
975
+ """
976
+ return pulumi.get(self, "actions_required")
977
+
978
+ @actions_required.setter
979
+ def actions_required(self, value: Optional[pulumi.Input[str]]):
980
+ pulumi.set(self, "actions_required", value)
981
+
982
+ @property
983
+ @pulumi.getter
984
+ def description(self) -> Optional[pulumi.Input[str]]:
985
+ """
986
+ The reason for approval/rejection of the connection.
987
+ """
988
+ return pulumi.get(self, "description")
989
+
990
+ @description.setter
991
+ def description(self, value: Optional[pulumi.Input[str]]):
992
+ pulumi.set(self, "description", value)
993
+
994
+ @property
995
+ @pulumi.getter
996
+ def status(self) -> Optional[pulumi.Input[Union[str, 'PrivateLinkServiceConnectionStatus']]]:
997
+ """
998
+ Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.
999
+ """
1000
+ return pulumi.get(self, "status")
1001
+
1002
+ @status.setter
1003
+ def status(self, value: Optional[pulumi.Input[Union[str, 'PrivateLinkServiceConnectionStatus']]]):
1004
+ pulumi.set(self, "status", value)
1005
+
1006
+
1007
+ if not MYPY:
1008
+ class ResourceLogCategoryArgsDict(TypedDict):
1009
+ """
1010
+ Resource log category configuration of a Microsoft.SignalRService resource.
1011
+ """
1012
+ enabled: NotRequired[pulumi.Input[str]]
1013
+ """
1014
+ Indicates whether or the resource log category is enabled.
1015
+ Available values: true, false.
1016
+ Case insensitive.
1017
+ """
1018
+ name: NotRequired[pulumi.Input[str]]
1019
+ """
1020
+ Gets or sets the resource log category's name.
1021
+ Available values: ConnectivityLogs, MessagingLogs.
1022
+ Case insensitive.
1023
+ """
1024
+ elif False:
1025
+ ResourceLogCategoryArgsDict: TypeAlias = Mapping[str, Any]
1026
+
1027
+ @pulumi.input_type
1028
+ class ResourceLogCategoryArgs:
1029
+ def __init__(__self__, *,
1030
+ enabled: Optional[pulumi.Input[str]] = None,
1031
+ name: Optional[pulumi.Input[str]] = None):
1032
+ """
1033
+ Resource log category configuration of a Microsoft.SignalRService resource.
1034
+ :param pulumi.Input[str] enabled: Indicates whether or the resource log category is enabled.
1035
+ Available values: true, false.
1036
+ Case insensitive.
1037
+ :param pulumi.Input[str] name: Gets or sets the resource log category's name.
1038
+ Available values: ConnectivityLogs, MessagingLogs.
1039
+ Case insensitive.
1040
+ """
1041
+ if enabled is not None:
1042
+ pulumi.set(__self__, "enabled", enabled)
1043
+ if name is not None:
1044
+ pulumi.set(__self__, "name", name)
1045
+
1046
+ @property
1047
+ @pulumi.getter
1048
+ def enabled(self) -> Optional[pulumi.Input[str]]:
1049
+ """
1050
+ Indicates whether or the resource log category is enabled.
1051
+ Available values: true, false.
1052
+ Case insensitive.
1053
+ """
1054
+ return pulumi.get(self, "enabled")
1055
+
1056
+ @enabled.setter
1057
+ def enabled(self, value: Optional[pulumi.Input[str]]):
1058
+ pulumi.set(self, "enabled", value)
1059
+
1060
+ @property
1061
+ @pulumi.getter
1062
+ def name(self) -> Optional[pulumi.Input[str]]:
1063
+ """
1064
+ Gets or sets the resource log category's name.
1065
+ Available values: ConnectivityLogs, MessagingLogs.
1066
+ Case insensitive.
1067
+ """
1068
+ return pulumi.get(self, "name")
1069
+
1070
+ @name.setter
1071
+ def name(self, value: Optional[pulumi.Input[str]]):
1072
+ pulumi.set(self, "name", value)
1073
+
1074
+
1075
+ if not MYPY:
1076
+ class ResourceLogConfigurationArgsDict(TypedDict):
1077
+ """
1078
+ Resource log configuration of a Microsoft.SignalRService resource.
1079
+ """
1080
+ categories: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResourceLogCategoryArgsDict']]]]
1081
+ """
1082
+ Gets or sets the list of category configurations.
1083
+ """
1084
+ elif False:
1085
+ ResourceLogConfigurationArgsDict: TypeAlias = Mapping[str, Any]
1086
+
1087
+ @pulumi.input_type
1088
+ class ResourceLogConfigurationArgs:
1089
+ def __init__(__self__, *,
1090
+ categories: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceLogCategoryArgs']]]] = None):
1091
+ """
1092
+ Resource log configuration of a Microsoft.SignalRService resource.
1093
+ :param pulumi.Input[Sequence[pulumi.Input['ResourceLogCategoryArgs']]] categories: Gets or sets the list of category configurations.
1094
+ """
1095
+ if categories is not None:
1096
+ pulumi.set(__self__, "categories", categories)
1097
+
1098
+ @property
1099
+ @pulumi.getter
1100
+ def categories(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResourceLogCategoryArgs']]]]:
1101
+ """
1102
+ Gets or sets the list of category configurations.
1103
+ """
1104
+ return pulumi.get(self, "categories")
1105
+
1106
+ @categories.setter
1107
+ def categories(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceLogCategoryArgs']]]]):
1108
+ pulumi.set(self, "categories", value)
1109
+
1110
+
1111
+ if not MYPY:
1112
+ class ResourceReferenceArgsDict(TypedDict):
1113
+ """
1114
+ Reference to a resource.
1115
+ """
1116
+ id: NotRequired[pulumi.Input[str]]
1117
+ """
1118
+ Resource ID.
1119
+ """
1120
+ elif False:
1121
+ ResourceReferenceArgsDict: TypeAlias = Mapping[str, Any]
1122
+
1123
+ @pulumi.input_type
1124
+ class ResourceReferenceArgs:
1125
+ def __init__(__self__, *,
1126
+ id: Optional[pulumi.Input[str]] = None):
1127
+ """
1128
+ Reference to a resource.
1129
+ :param pulumi.Input[str] id: Resource ID.
1130
+ """
1131
+ if id is not None:
1132
+ pulumi.set(__self__, "id", id)
1133
+
1134
+ @property
1135
+ @pulumi.getter
1136
+ def id(self) -> Optional[pulumi.Input[str]]:
1137
+ """
1138
+ Resource ID.
1139
+ """
1140
+ return pulumi.get(self, "id")
1141
+
1142
+ @id.setter
1143
+ def id(self, value: Optional[pulumi.Input[str]]):
1144
+ pulumi.set(self, "id", value)
1145
+
1146
+
1147
+ if not MYPY:
1148
+ class ResourceSkuArgsDict(TypedDict):
1149
+ """
1150
+ The billing information of the resource.
1151
+ """
1152
+ name: pulumi.Input[str]
1153
+ """
1154
+ The name of the SKU. Required.
1155
+
1156
+ Allowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2
1157
+ """
1158
+ capacity: NotRequired[pulumi.Input[int]]
1159
+ """
1160
+ Optional, integer. The unit count of the resource.
1161
+ 1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.
1162
+
1163
+ If present, following values are allowed:
1164
+ Free_F1: 1;
1165
+ Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;
1166
+ Premium_P1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;
1167
+ Premium_P2: 100,200,300,400,500,600,700,800,900,1000;
1168
+ """
1169
+ tier: NotRequired[pulumi.Input[Union[str, 'WebPubSubSkuTier']]]
1170
+ """
1171
+ Optional tier of this particular SKU. 'Standard' or 'Free'.
1172
+
1173
+ `Basic` is deprecated, use `Standard` instead.
1174
+ """
1175
+ elif False:
1176
+ ResourceSkuArgsDict: TypeAlias = Mapping[str, Any]
1177
+
1178
+ @pulumi.input_type
1179
+ class ResourceSkuArgs:
1180
+ def __init__(__self__, *,
1181
+ name: pulumi.Input[str],
1182
+ capacity: Optional[pulumi.Input[int]] = None,
1183
+ tier: Optional[pulumi.Input[Union[str, 'WebPubSubSkuTier']]] = None):
1184
+ """
1185
+ The billing information of the resource.
1186
+ :param pulumi.Input[str] name: The name of the SKU. Required.
1187
+
1188
+ Allowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2
1189
+ :param pulumi.Input[int] capacity: Optional, integer. The unit count of the resource.
1190
+ 1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.
1191
+
1192
+ If present, following values are allowed:
1193
+ Free_F1: 1;
1194
+ Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;
1195
+ Premium_P1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;
1196
+ Premium_P2: 100,200,300,400,500,600,700,800,900,1000;
1197
+ :param pulumi.Input[Union[str, 'WebPubSubSkuTier']] tier: Optional tier of this particular SKU. 'Standard' or 'Free'.
1198
+
1199
+ `Basic` is deprecated, use `Standard` instead.
1200
+ """
1201
+ pulumi.set(__self__, "name", name)
1202
+ if capacity is not None:
1203
+ pulumi.set(__self__, "capacity", capacity)
1204
+ if tier is not None:
1205
+ pulumi.set(__self__, "tier", tier)
1206
+
1207
+ @property
1208
+ @pulumi.getter
1209
+ def name(self) -> pulumi.Input[str]:
1210
+ """
1211
+ The name of the SKU. Required.
1212
+
1213
+ Allowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2
1214
+ """
1215
+ return pulumi.get(self, "name")
1216
+
1217
+ @name.setter
1218
+ def name(self, value: pulumi.Input[str]):
1219
+ pulumi.set(self, "name", value)
1220
+
1221
+ @property
1222
+ @pulumi.getter
1223
+ def capacity(self) -> Optional[pulumi.Input[int]]:
1224
+ """
1225
+ Optional, integer. The unit count of the resource.
1226
+ 1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.
1227
+
1228
+ If present, following values are allowed:
1229
+ Free_F1: 1;
1230
+ Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;
1231
+ Premium_P1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;
1232
+ Premium_P2: 100,200,300,400,500,600,700,800,900,1000;
1233
+ """
1234
+ return pulumi.get(self, "capacity")
1235
+
1236
+ @capacity.setter
1237
+ def capacity(self, value: Optional[pulumi.Input[int]]):
1238
+ pulumi.set(self, "capacity", value)
1239
+
1240
+ @property
1241
+ @pulumi.getter
1242
+ def tier(self) -> Optional[pulumi.Input[Union[str, 'WebPubSubSkuTier']]]:
1243
+ """
1244
+ Optional tier of this particular SKU. 'Standard' or 'Free'.
1245
+
1246
+ `Basic` is deprecated, use `Standard` instead.
1247
+ """
1248
+ return pulumi.get(self, "tier")
1249
+
1250
+ @tier.setter
1251
+ def tier(self, value: Optional[pulumi.Input[Union[str, 'WebPubSubSkuTier']]]):
1252
+ pulumi.set(self, "tier", value)
1253
+
1254
+
1255
+ if not MYPY:
1256
+ class ThrottleByJwtCustomClaimRuleArgsDict(TypedDict):
1257
+ """
1258
+ Throttle the client connection by a custom JWT claim
1259
+ """
1260
+ claim_name: pulumi.Input[str]
1261
+ """
1262
+ The name of the claim in the JWT token. The client connection with the same claim value will be aggregated. If the claim is not found in the token, the connection will be allowed.
1263
+ """
1264
+ type: pulumi.Input[str]
1265
+ """
1266
+
1267
+ Expected value is 'ThrottleByJwtCustomClaimRule'.
1268
+ """
1269
+ max_count: NotRequired[pulumi.Input[int]]
1270
+ """
1271
+ Maximum connection count allowed for the same Jwt claim value. Clients with the same Jwt claim will get rejected if the connection count exceeds this value. Default value is 20.
1272
+ """
1273
+ elif False:
1274
+ ThrottleByJwtCustomClaimRuleArgsDict: TypeAlias = Mapping[str, Any]
1275
+
1276
+ @pulumi.input_type
1277
+ class ThrottleByJwtCustomClaimRuleArgs:
1278
+ def __init__(__self__, *,
1279
+ claim_name: pulumi.Input[str],
1280
+ type: pulumi.Input[str],
1281
+ max_count: Optional[pulumi.Input[int]] = None):
1282
+ """
1283
+ Throttle the client connection by a custom JWT claim
1284
+ :param pulumi.Input[str] claim_name: The name of the claim in the JWT token. The client connection with the same claim value will be aggregated. If the claim is not found in the token, the connection will be allowed.
1285
+ :param pulumi.Input[str] type:
1286
+ Expected value is 'ThrottleByJwtCustomClaimRule'.
1287
+ :param pulumi.Input[int] max_count: Maximum connection count allowed for the same Jwt claim value. Clients with the same Jwt claim will get rejected if the connection count exceeds this value. Default value is 20.
1288
+ """
1289
+ pulumi.set(__self__, "claim_name", claim_name)
1290
+ pulumi.set(__self__, "type", 'ThrottleByJwtCustomClaimRule')
1291
+ if max_count is None:
1292
+ max_count = 20
1293
+ if max_count is not None:
1294
+ pulumi.set(__self__, "max_count", max_count)
1295
+
1296
+ @property
1297
+ @pulumi.getter(name="claimName")
1298
+ def claim_name(self) -> pulumi.Input[str]:
1299
+ """
1300
+ The name of the claim in the JWT token. The client connection with the same claim value will be aggregated. If the claim is not found in the token, the connection will be allowed.
1301
+ """
1302
+ return pulumi.get(self, "claim_name")
1303
+
1304
+ @claim_name.setter
1305
+ def claim_name(self, value: pulumi.Input[str]):
1306
+ pulumi.set(self, "claim_name", value)
1307
+
1308
+ @property
1309
+ @pulumi.getter
1310
+ def type(self) -> pulumi.Input[str]:
1311
+ """
1312
+
1313
+ Expected value is 'ThrottleByJwtCustomClaimRule'.
1314
+ """
1315
+ return pulumi.get(self, "type")
1316
+
1317
+ @type.setter
1318
+ def type(self, value: pulumi.Input[str]):
1319
+ pulumi.set(self, "type", value)
1320
+
1321
+ @property
1322
+ @pulumi.getter(name="maxCount")
1323
+ def max_count(self) -> Optional[pulumi.Input[int]]:
1324
+ """
1325
+ Maximum connection count allowed for the same Jwt claim value. Clients with the same Jwt claim will get rejected if the connection count exceeds this value. Default value is 20.
1326
+ """
1327
+ return pulumi.get(self, "max_count")
1328
+
1329
+ @max_count.setter
1330
+ def max_count(self, value: Optional[pulumi.Input[int]]):
1331
+ pulumi.set(self, "max_count", value)
1332
+
1333
+
1334
+ if not MYPY:
1335
+ class ThrottleByJwtSignatureRuleArgsDict(TypedDict):
1336
+ """
1337
+ Throttle the client connection by the JWT signature
1338
+ """
1339
+ type: pulumi.Input[str]
1340
+ """
1341
+
1342
+ Expected value is 'ThrottleByJwtSignatureRule'.
1343
+ """
1344
+ max_count: NotRequired[pulumi.Input[int]]
1345
+ """
1346
+ Maximum connection count allowed for the same JWT signature. Clients with the same JWT signature will get rejected if the connection count exceeds this value. Default value is 20.
1347
+ """
1348
+ elif False:
1349
+ ThrottleByJwtSignatureRuleArgsDict: TypeAlias = Mapping[str, Any]
1350
+
1351
+ @pulumi.input_type
1352
+ class ThrottleByJwtSignatureRuleArgs:
1353
+ def __init__(__self__, *,
1354
+ type: pulumi.Input[str],
1355
+ max_count: Optional[pulumi.Input[int]] = None):
1356
+ """
1357
+ Throttle the client connection by the JWT signature
1358
+ :param pulumi.Input[str] type:
1359
+ Expected value is 'ThrottleByJwtSignatureRule'.
1360
+ :param pulumi.Input[int] max_count: Maximum connection count allowed for the same JWT signature. Clients with the same JWT signature will get rejected if the connection count exceeds this value. Default value is 20.
1361
+ """
1362
+ pulumi.set(__self__, "type", 'ThrottleByJwtSignatureRule')
1363
+ if max_count is None:
1364
+ max_count = 20
1365
+ if max_count is not None:
1366
+ pulumi.set(__self__, "max_count", max_count)
1367
+
1368
+ @property
1369
+ @pulumi.getter
1370
+ def type(self) -> pulumi.Input[str]:
1371
+ """
1372
+
1373
+ Expected value is 'ThrottleByJwtSignatureRule'.
1374
+ """
1375
+ return pulumi.get(self, "type")
1376
+
1377
+ @type.setter
1378
+ def type(self, value: pulumi.Input[str]):
1379
+ pulumi.set(self, "type", value)
1380
+
1381
+ @property
1382
+ @pulumi.getter(name="maxCount")
1383
+ def max_count(self) -> Optional[pulumi.Input[int]]:
1384
+ """
1385
+ Maximum connection count allowed for the same JWT signature. Clients with the same JWT signature will get rejected if the connection count exceeds this value. Default value is 20.
1386
+ """
1387
+ return pulumi.get(self, "max_count")
1388
+
1389
+ @max_count.setter
1390
+ def max_count(self, value: Optional[pulumi.Input[int]]):
1391
+ pulumi.set(self, "max_count", value)
1392
+
1393
+
1394
+ if not MYPY:
1395
+ class ThrottleByUserIdRuleArgsDict(TypedDict):
1396
+ """
1397
+ Throttle the client connection by the user ID
1398
+ """
1399
+ type: pulumi.Input[str]
1400
+ """
1401
+
1402
+ Expected value is 'ThrottleByUserIdRule'.
1403
+ """
1404
+ max_count: NotRequired[pulumi.Input[int]]
1405
+ """
1406
+ Maximum connection count allowed for the same user ID. Clients with the same user ID will get rejected if the connection count exceeds this value. Default value is 20.
1407
+ """
1408
+ elif False:
1409
+ ThrottleByUserIdRuleArgsDict: TypeAlias = Mapping[str, Any]
1410
+
1411
+ @pulumi.input_type
1412
+ class ThrottleByUserIdRuleArgs:
1413
+ def __init__(__self__, *,
1414
+ type: pulumi.Input[str],
1415
+ max_count: Optional[pulumi.Input[int]] = None):
1416
+ """
1417
+ Throttle the client connection by the user ID
1418
+ :param pulumi.Input[str] type:
1419
+ Expected value is 'ThrottleByUserIdRule'.
1420
+ :param pulumi.Input[int] max_count: Maximum connection count allowed for the same user ID. Clients with the same user ID will get rejected if the connection count exceeds this value. Default value is 20.
1421
+ """
1422
+ pulumi.set(__self__, "type", 'ThrottleByUserIdRule')
1423
+ if max_count is None:
1424
+ max_count = 20
1425
+ if max_count is not None:
1426
+ pulumi.set(__self__, "max_count", max_count)
1427
+
1428
+ @property
1429
+ @pulumi.getter
1430
+ def type(self) -> pulumi.Input[str]:
1431
+ """
1432
+
1433
+ Expected value is 'ThrottleByUserIdRule'.
1434
+ """
1435
+ return pulumi.get(self, "type")
1436
+
1437
+ @type.setter
1438
+ def type(self, value: pulumi.Input[str]):
1439
+ pulumi.set(self, "type", value)
1440
+
1441
+ @property
1442
+ @pulumi.getter(name="maxCount")
1443
+ def max_count(self) -> Optional[pulumi.Input[int]]:
1444
+ """
1445
+ Maximum connection count allowed for the same user ID. Clients with the same user ID will get rejected if the connection count exceeds this value. Default value is 20.
1446
+ """
1447
+ return pulumi.get(self, "max_count")
1448
+
1449
+ @max_count.setter
1450
+ def max_count(self, value: Optional[pulumi.Input[int]]):
1451
+ pulumi.set(self, "max_count", value)
1452
+
1453
+
1454
+ if not MYPY:
1455
+ class TrafficThrottleByJwtCustomClaimRuleArgsDict(TypedDict):
1456
+ """
1457
+ Throttle the client traffic by a custom JWT claim
1458
+ """
1459
+ claim_name: pulumi.Input[str]
1460
+ """
1461
+ The name of the claim in the JWT token. The message bytes with the same claim value will be aggregated. If the claim is not found in the token, the rule will be skipped.
1462
+ """
1463
+ type: pulumi.Input[str]
1464
+ """
1465
+
1466
+ Expected value is 'TrafficThrottleByJwtCustomClaimRule'.
1467
+ """
1468
+ aggregation_window_in_seconds: NotRequired[pulumi.Input[int]]
1469
+ """
1470
+ The aggregation window for the message bytes. The message bytes will be aggregated in this window and be reset after the window. Default value is 60 seconds.
1471
+ """
1472
+ max_inbound_message_bytes: NotRequired[pulumi.Input[float]]
1473
+ """
1474
+ Maximum accumulated inbound message bytes allowed for the same JWT signature within a time window. Clients with the same JWT claim will get disconnected if the message bytes exceeds this value. Default value is 1GB.
1475
+ """
1476
+ elif False:
1477
+ TrafficThrottleByJwtCustomClaimRuleArgsDict: TypeAlias = Mapping[str, Any]
1478
+
1479
+ @pulumi.input_type
1480
+ class TrafficThrottleByJwtCustomClaimRuleArgs:
1481
+ def __init__(__self__, *,
1482
+ claim_name: pulumi.Input[str],
1483
+ type: pulumi.Input[str],
1484
+ aggregation_window_in_seconds: Optional[pulumi.Input[int]] = None,
1485
+ max_inbound_message_bytes: Optional[pulumi.Input[float]] = None):
1486
+ """
1487
+ Throttle the client traffic by a custom JWT claim
1488
+ :param pulumi.Input[str] claim_name: The name of the claim in the JWT token. The message bytes with the same claim value will be aggregated. If the claim is not found in the token, the rule will be skipped.
1489
+ :param pulumi.Input[str] type:
1490
+ Expected value is 'TrafficThrottleByJwtCustomClaimRule'.
1491
+ :param pulumi.Input[int] aggregation_window_in_seconds: The aggregation window for the message bytes. The message bytes will be aggregated in this window and be reset after the window. Default value is 60 seconds.
1492
+ :param pulumi.Input[float] max_inbound_message_bytes: Maximum accumulated inbound message bytes allowed for the same JWT signature within a time window. Clients with the same JWT claim will get disconnected if the message bytes exceeds this value. Default value is 1GB.
1493
+ """
1494
+ pulumi.set(__self__, "claim_name", claim_name)
1495
+ pulumi.set(__self__, "type", 'TrafficThrottleByJwtCustomClaimRule')
1496
+ if aggregation_window_in_seconds is None:
1497
+ aggregation_window_in_seconds = 60
1498
+ if aggregation_window_in_seconds is not None:
1499
+ pulumi.set(__self__, "aggregation_window_in_seconds", aggregation_window_in_seconds)
1500
+ if max_inbound_message_bytes is not None:
1501
+ pulumi.set(__self__, "max_inbound_message_bytes", max_inbound_message_bytes)
1502
+
1503
+ @property
1504
+ @pulumi.getter(name="claimName")
1505
+ def claim_name(self) -> pulumi.Input[str]:
1506
+ """
1507
+ The name of the claim in the JWT token. The message bytes with the same claim value will be aggregated. If the claim is not found in the token, the rule will be skipped.
1508
+ """
1509
+ return pulumi.get(self, "claim_name")
1510
+
1511
+ @claim_name.setter
1512
+ def claim_name(self, value: pulumi.Input[str]):
1513
+ pulumi.set(self, "claim_name", value)
1514
+
1515
+ @property
1516
+ @pulumi.getter
1517
+ def type(self) -> pulumi.Input[str]:
1518
+ """
1519
+
1520
+ Expected value is 'TrafficThrottleByJwtCustomClaimRule'.
1521
+ """
1522
+ return pulumi.get(self, "type")
1523
+
1524
+ @type.setter
1525
+ def type(self, value: pulumi.Input[str]):
1526
+ pulumi.set(self, "type", value)
1527
+
1528
+ @property
1529
+ @pulumi.getter(name="aggregationWindowInSeconds")
1530
+ def aggregation_window_in_seconds(self) -> Optional[pulumi.Input[int]]:
1531
+ """
1532
+ The aggregation window for the message bytes. The message bytes will be aggregated in this window and be reset after the window. Default value is 60 seconds.
1533
+ """
1534
+ return pulumi.get(self, "aggregation_window_in_seconds")
1535
+
1536
+ @aggregation_window_in_seconds.setter
1537
+ def aggregation_window_in_seconds(self, value: Optional[pulumi.Input[int]]):
1538
+ pulumi.set(self, "aggregation_window_in_seconds", value)
1539
+
1540
+ @property
1541
+ @pulumi.getter(name="maxInboundMessageBytes")
1542
+ def max_inbound_message_bytes(self) -> Optional[pulumi.Input[float]]:
1543
+ """
1544
+ Maximum accumulated inbound message bytes allowed for the same JWT signature within a time window. Clients with the same JWT claim will get disconnected if the message bytes exceeds this value. Default value is 1GB.
1545
+ """
1546
+ return pulumi.get(self, "max_inbound_message_bytes")
1547
+
1548
+ @max_inbound_message_bytes.setter
1549
+ def max_inbound_message_bytes(self, value: Optional[pulumi.Input[float]]):
1550
+ pulumi.set(self, "max_inbound_message_bytes", value)
1551
+
1552
+
1553
+ if not MYPY:
1554
+ class TrafficThrottleByJwtSignatureRuleArgsDict(TypedDict):
1555
+ """
1556
+ Throttle the client traffic by the JWT signature
1557
+ """
1558
+ type: pulumi.Input[str]
1559
+ """
1560
+
1561
+ Expected value is 'TrafficThrottleByJwtSignatureRule'.
1562
+ """
1563
+ aggregation_window_in_seconds: NotRequired[pulumi.Input[int]]
1564
+ """
1565
+ The aggregation window for the message bytes. The message bytes will be aggregated in this window and be reset after the window. Default value is 60 seconds.
1566
+ """
1567
+ max_inbound_message_bytes: NotRequired[pulumi.Input[float]]
1568
+ """
1569
+ Maximum accumulated inbound message bytes allowed for the same JWT signature within a time window. Clients with the same JWT signature will get disconnected if the message bytes exceeds this value. Default value is 1GB.
1570
+ """
1571
+ elif False:
1572
+ TrafficThrottleByJwtSignatureRuleArgsDict: TypeAlias = Mapping[str, Any]
1573
+
1574
+ @pulumi.input_type
1575
+ class TrafficThrottleByJwtSignatureRuleArgs:
1576
+ def __init__(__self__, *,
1577
+ type: pulumi.Input[str],
1578
+ aggregation_window_in_seconds: Optional[pulumi.Input[int]] = None,
1579
+ max_inbound_message_bytes: Optional[pulumi.Input[float]] = None):
1580
+ """
1581
+ Throttle the client traffic by the JWT signature
1582
+ :param pulumi.Input[str] type:
1583
+ Expected value is 'TrafficThrottleByJwtSignatureRule'.
1584
+ :param pulumi.Input[int] aggregation_window_in_seconds: The aggregation window for the message bytes. The message bytes will be aggregated in this window and be reset after the window. Default value is 60 seconds.
1585
+ :param pulumi.Input[float] max_inbound_message_bytes: Maximum accumulated inbound message bytes allowed for the same JWT signature within a time window. Clients with the same JWT signature will get disconnected if the message bytes exceeds this value. Default value is 1GB.
1586
+ """
1587
+ pulumi.set(__self__, "type", 'TrafficThrottleByJwtSignatureRule')
1588
+ if aggregation_window_in_seconds is None:
1589
+ aggregation_window_in_seconds = 60
1590
+ if aggregation_window_in_seconds is not None:
1591
+ pulumi.set(__self__, "aggregation_window_in_seconds", aggregation_window_in_seconds)
1592
+ if max_inbound_message_bytes is not None:
1593
+ pulumi.set(__self__, "max_inbound_message_bytes", max_inbound_message_bytes)
1594
+
1595
+ @property
1596
+ @pulumi.getter
1597
+ def type(self) -> pulumi.Input[str]:
1598
+ """
1599
+
1600
+ Expected value is 'TrafficThrottleByJwtSignatureRule'.
1601
+ """
1602
+ return pulumi.get(self, "type")
1603
+
1604
+ @type.setter
1605
+ def type(self, value: pulumi.Input[str]):
1606
+ pulumi.set(self, "type", value)
1607
+
1608
+ @property
1609
+ @pulumi.getter(name="aggregationWindowInSeconds")
1610
+ def aggregation_window_in_seconds(self) -> Optional[pulumi.Input[int]]:
1611
+ """
1612
+ The aggregation window for the message bytes. The message bytes will be aggregated in this window and be reset after the window. Default value is 60 seconds.
1613
+ """
1614
+ return pulumi.get(self, "aggregation_window_in_seconds")
1615
+
1616
+ @aggregation_window_in_seconds.setter
1617
+ def aggregation_window_in_seconds(self, value: Optional[pulumi.Input[int]]):
1618
+ pulumi.set(self, "aggregation_window_in_seconds", value)
1619
+
1620
+ @property
1621
+ @pulumi.getter(name="maxInboundMessageBytes")
1622
+ def max_inbound_message_bytes(self) -> Optional[pulumi.Input[float]]:
1623
+ """
1624
+ Maximum accumulated inbound message bytes allowed for the same JWT signature within a time window. Clients with the same JWT signature will get disconnected if the message bytes exceeds this value. Default value is 1GB.
1625
+ """
1626
+ return pulumi.get(self, "max_inbound_message_bytes")
1627
+
1628
+ @max_inbound_message_bytes.setter
1629
+ def max_inbound_message_bytes(self, value: Optional[pulumi.Input[float]]):
1630
+ pulumi.set(self, "max_inbound_message_bytes", value)
1631
+
1632
+
1633
+ if not MYPY:
1634
+ class TrafficThrottleByUserIdRuleArgsDict(TypedDict):
1635
+ """
1636
+ Throttle the client traffic by the user ID
1637
+ """
1638
+ type: pulumi.Input[str]
1639
+ """
1640
+
1641
+ Expected value is 'TrafficThrottleByUserIdRule'.
1642
+ """
1643
+ aggregation_window_in_seconds: NotRequired[pulumi.Input[int]]
1644
+ """
1645
+ The aggregation window for the message bytes. The message bytes will be aggregated in this window and be reset after the window. Default value is 60 seconds.
1646
+ """
1647
+ max_inbound_message_bytes: NotRequired[pulumi.Input[float]]
1648
+ """
1649
+ Maximum accumulated inbound message bytes allowed for the same user ID within a time window. Clients with the same user ID will get disconnected if the message bytes exceeds this value. Default value is 1GB.
1650
+ """
1651
+ elif False:
1652
+ TrafficThrottleByUserIdRuleArgsDict: TypeAlias = Mapping[str, Any]
1653
+
1654
+ @pulumi.input_type
1655
+ class TrafficThrottleByUserIdRuleArgs:
1656
+ def __init__(__self__, *,
1657
+ type: pulumi.Input[str],
1658
+ aggregation_window_in_seconds: Optional[pulumi.Input[int]] = None,
1659
+ max_inbound_message_bytes: Optional[pulumi.Input[float]] = None):
1660
+ """
1661
+ Throttle the client traffic by the user ID
1662
+ :param pulumi.Input[str] type:
1663
+ Expected value is 'TrafficThrottleByUserIdRule'.
1664
+ :param pulumi.Input[int] aggregation_window_in_seconds: The aggregation window for the message bytes. The message bytes will be aggregated in this window and be reset after the window. Default value is 60 seconds.
1665
+ :param pulumi.Input[float] max_inbound_message_bytes: Maximum accumulated inbound message bytes allowed for the same user ID within a time window. Clients with the same user ID will get disconnected if the message bytes exceeds this value. Default value is 1GB.
1666
+ """
1667
+ pulumi.set(__self__, "type", 'TrafficThrottleByUserIdRule')
1668
+ if aggregation_window_in_seconds is None:
1669
+ aggregation_window_in_seconds = 60
1670
+ if aggregation_window_in_seconds is not None:
1671
+ pulumi.set(__self__, "aggregation_window_in_seconds", aggregation_window_in_seconds)
1672
+ if max_inbound_message_bytes is not None:
1673
+ pulumi.set(__self__, "max_inbound_message_bytes", max_inbound_message_bytes)
1674
+
1675
+ @property
1676
+ @pulumi.getter
1677
+ def type(self) -> pulumi.Input[str]:
1678
+ """
1679
+
1680
+ Expected value is 'TrafficThrottleByUserIdRule'.
1681
+ """
1682
+ return pulumi.get(self, "type")
1683
+
1684
+ @type.setter
1685
+ def type(self, value: pulumi.Input[str]):
1686
+ pulumi.set(self, "type", value)
1687
+
1688
+ @property
1689
+ @pulumi.getter(name="aggregationWindowInSeconds")
1690
+ def aggregation_window_in_seconds(self) -> Optional[pulumi.Input[int]]:
1691
+ """
1692
+ The aggregation window for the message bytes. The message bytes will be aggregated in this window and be reset after the window. Default value is 60 seconds.
1693
+ """
1694
+ return pulumi.get(self, "aggregation_window_in_seconds")
1695
+
1696
+ @aggregation_window_in_seconds.setter
1697
+ def aggregation_window_in_seconds(self, value: Optional[pulumi.Input[int]]):
1698
+ pulumi.set(self, "aggregation_window_in_seconds", value)
1699
+
1700
+ @property
1701
+ @pulumi.getter(name="maxInboundMessageBytes")
1702
+ def max_inbound_message_bytes(self) -> Optional[pulumi.Input[float]]:
1703
+ """
1704
+ Maximum accumulated inbound message bytes allowed for the same user ID within a time window. Clients with the same user ID will get disconnected if the message bytes exceeds this value. Default value is 1GB.
1705
+ """
1706
+ return pulumi.get(self, "max_inbound_message_bytes")
1707
+
1708
+ @max_inbound_message_bytes.setter
1709
+ def max_inbound_message_bytes(self, value: Optional[pulumi.Input[float]]):
1710
+ pulumi.set(self, "max_inbound_message_bytes", value)
1711
+
1712
+
1713
+ if not MYPY:
1714
+ class UpstreamAuthSettingsArgsDict(TypedDict):
1715
+ """
1716
+ Upstream auth settings. If not set, no auth is used for upstream messages.
1717
+ """
1718
+ managed_identity: NotRequired[pulumi.Input['ManagedIdentitySettingsArgsDict']]
1719
+ """
1720
+ Managed identity settings for upstream.
1721
+ """
1722
+ type: NotRequired[pulumi.Input[Union[str, 'UpstreamAuthType']]]
1723
+ """
1724
+ Upstream auth type enum.
1725
+ """
1726
+ elif False:
1727
+ UpstreamAuthSettingsArgsDict: TypeAlias = Mapping[str, Any]
1728
+
1729
+ @pulumi.input_type
1730
+ class UpstreamAuthSettingsArgs:
1731
+ def __init__(__self__, *,
1732
+ managed_identity: Optional[pulumi.Input['ManagedIdentitySettingsArgs']] = None,
1733
+ type: Optional[pulumi.Input[Union[str, 'UpstreamAuthType']]] = None):
1734
+ """
1735
+ Upstream auth settings. If not set, no auth is used for upstream messages.
1736
+ :param pulumi.Input['ManagedIdentitySettingsArgs'] managed_identity: Managed identity settings for upstream.
1737
+ :param pulumi.Input[Union[str, 'UpstreamAuthType']] type: Upstream auth type enum.
1738
+ """
1739
+ if managed_identity is not None:
1740
+ pulumi.set(__self__, "managed_identity", managed_identity)
1741
+ if type is not None:
1742
+ pulumi.set(__self__, "type", type)
1743
+
1744
+ @property
1745
+ @pulumi.getter(name="managedIdentity")
1746
+ def managed_identity(self) -> Optional[pulumi.Input['ManagedIdentitySettingsArgs']]:
1747
+ """
1748
+ Managed identity settings for upstream.
1749
+ """
1750
+ return pulumi.get(self, "managed_identity")
1751
+
1752
+ @managed_identity.setter
1753
+ def managed_identity(self, value: Optional[pulumi.Input['ManagedIdentitySettingsArgs']]):
1754
+ pulumi.set(self, "managed_identity", value)
1755
+
1756
+ @property
1757
+ @pulumi.getter
1758
+ def type(self) -> Optional[pulumi.Input[Union[str, 'UpstreamAuthType']]]:
1759
+ """
1760
+ Upstream auth type enum.
1761
+ """
1762
+ return pulumi.get(self, "type")
1763
+
1764
+ @type.setter
1765
+ def type(self, value: Optional[pulumi.Input[Union[str, 'UpstreamAuthType']]]):
1766
+ pulumi.set(self, "type", value)
1767
+
1768
+
1769
+ if not MYPY:
1770
+ class WebPubSubHubPropertiesArgsDict(TypedDict):
1771
+ """
1772
+ Properties of a hub.
1773
+ """
1774
+ anonymous_connect_policy: NotRequired[pulumi.Input[str]]
1775
+ """
1776
+ The settings for configuring if anonymous connections are allowed for this hub: "allow" or "deny". Default to "deny".
1777
+ """
1778
+ event_handlers: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventHandlerArgsDict']]]]
1779
+ """
1780
+ Event handler of a hub.
1781
+ """
1782
+ event_listeners: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventListenerArgsDict']]]]
1783
+ """
1784
+ Event listener settings for forwarding your client events to listeners.
1785
+ Event listener is transparent to Web PubSub clients, and it doesn't return any result to clients nor interrupt the lifetime of clients.
1786
+ One event can be sent to multiple listeners, as long as it matches the filters in those listeners. The order of the array elements doesn't matter.
1787
+ Maximum count of event listeners among all hubs is 10.
1788
+ """
1789
+ web_socket_keep_alive_interval_in_seconds: NotRequired[pulumi.Input[int]]
1790
+ """
1791
+ The settings for configuring the WebSocket ping-pong interval in seconds for all clients in the hub. Valid range: 1 to 120. Default to 20 seconds.
1792
+ """
1793
+ elif False:
1794
+ WebPubSubHubPropertiesArgsDict: TypeAlias = Mapping[str, Any]
1795
+
1796
+ @pulumi.input_type
1797
+ class WebPubSubHubPropertiesArgs:
1798
+ def __init__(__self__, *,
1799
+ anonymous_connect_policy: Optional[pulumi.Input[str]] = None,
1800
+ event_handlers: Optional[pulumi.Input[Sequence[pulumi.Input['EventHandlerArgs']]]] = None,
1801
+ event_listeners: Optional[pulumi.Input[Sequence[pulumi.Input['EventListenerArgs']]]] = None,
1802
+ web_socket_keep_alive_interval_in_seconds: Optional[pulumi.Input[int]] = None):
1803
+ """
1804
+ Properties of a hub.
1805
+ :param pulumi.Input[str] anonymous_connect_policy: The settings for configuring if anonymous connections are allowed for this hub: "allow" or "deny". Default to "deny".
1806
+ :param pulumi.Input[Sequence[pulumi.Input['EventHandlerArgs']]] event_handlers: Event handler of a hub.
1807
+ :param pulumi.Input[Sequence[pulumi.Input['EventListenerArgs']]] event_listeners: Event listener settings for forwarding your client events to listeners.
1808
+ Event listener is transparent to Web PubSub clients, and it doesn't return any result to clients nor interrupt the lifetime of clients.
1809
+ One event can be sent to multiple listeners, as long as it matches the filters in those listeners. The order of the array elements doesn't matter.
1810
+ Maximum count of event listeners among all hubs is 10.
1811
+ :param pulumi.Input[int] web_socket_keep_alive_interval_in_seconds: The settings for configuring the WebSocket ping-pong interval in seconds for all clients in the hub. Valid range: 1 to 120. Default to 20 seconds.
1812
+ """
1813
+ if anonymous_connect_policy is None:
1814
+ anonymous_connect_policy = 'deny'
1815
+ if anonymous_connect_policy is not None:
1816
+ pulumi.set(__self__, "anonymous_connect_policy", anonymous_connect_policy)
1817
+ if event_handlers is not None:
1818
+ pulumi.set(__self__, "event_handlers", event_handlers)
1819
+ if event_listeners is not None:
1820
+ pulumi.set(__self__, "event_listeners", event_listeners)
1821
+ if web_socket_keep_alive_interval_in_seconds is None:
1822
+ web_socket_keep_alive_interval_in_seconds = 20
1823
+ if web_socket_keep_alive_interval_in_seconds is not None:
1824
+ pulumi.set(__self__, "web_socket_keep_alive_interval_in_seconds", web_socket_keep_alive_interval_in_seconds)
1825
+
1826
+ @property
1827
+ @pulumi.getter(name="anonymousConnectPolicy")
1828
+ def anonymous_connect_policy(self) -> Optional[pulumi.Input[str]]:
1829
+ """
1830
+ The settings for configuring if anonymous connections are allowed for this hub: "allow" or "deny". Default to "deny".
1831
+ """
1832
+ return pulumi.get(self, "anonymous_connect_policy")
1833
+
1834
+ @anonymous_connect_policy.setter
1835
+ def anonymous_connect_policy(self, value: Optional[pulumi.Input[str]]):
1836
+ pulumi.set(self, "anonymous_connect_policy", value)
1837
+
1838
+ @property
1839
+ @pulumi.getter(name="eventHandlers")
1840
+ def event_handlers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['EventHandlerArgs']]]]:
1841
+ """
1842
+ Event handler of a hub.
1843
+ """
1844
+ return pulumi.get(self, "event_handlers")
1845
+
1846
+ @event_handlers.setter
1847
+ def event_handlers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EventHandlerArgs']]]]):
1848
+ pulumi.set(self, "event_handlers", value)
1849
+
1850
+ @property
1851
+ @pulumi.getter(name="eventListeners")
1852
+ def event_listeners(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['EventListenerArgs']]]]:
1853
+ """
1854
+ Event listener settings for forwarding your client events to listeners.
1855
+ Event listener is transparent to Web PubSub clients, and it doesn't return any result to clients nor interrupt the lifetime of clients.
1856
+ One event can be sent to multiple listeners, as long as it matches the filters in those listeners. The order of the array elements doesn't matter.
1857
+ Maximum count of event listeners among all hubs is 10.
1858
+ """
1859
+ return pulumi.get(self, "event_listeners")
1860
+
1861
+ @event_listeners.setter
1862
+ def event_listeners(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EventListenerArgs']]]]):
1863
+ pulumi.set(self, "event_listeners", value)
1864
+
1865
+ @property
1866
+ @pulumi.getter(name="webSocketKeepAliveIntervalInSeconds")
1867
+ def web_socket_keep_alive_interval_in_seconds(self) -> Optional[pulumi.Input[int]]:
1868
+ """
1869
+ The settings for configuring the WebSocket ping-pong interval in seconds for all clients in the hub. Valid range: 1 to 120. Default to 20 seconds.
1870
+ """
1871
+ return pulumi.get(self, "web_socket_keep_alive_interval_in_seconds")
1872
+
1873
+ @web_socket_keep_alive_interval_in_seconds.setter
1874
+ def web_socket_keep_alive_interval_in_seconds(self, value: Optional[pulumi.Input[int]]):
1875
+ pulumi.set(self, "web_socket_keep_alive_interval_in_seconds", value)
1876
+
1877
+
1878
+ if not MYPY:
1879
+ class WebPubSubNetworkACLsArgsDict(TypedDict):
1880
+ """
1881
+ Network ACLs for the resource
1882
+ """
1883
+ default_action: NotRequired[pulumi.Input[Union[str, 'ACLAction']]]
1884
+ """
1885
+ Azure Networking ACL Action.
1886
+ """
1887
+ ip_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['IPRuleArgsDict']]]]
1888
+ """
1889
+ IP rules for filtering public traffic
1890
+ """
1891
+ private_endpoints: NotRequired[pulumi.Input[Sequence[pulumi.Input['PrivateEndpointACLArgsDict']]]]
1892
+ """
1893
+ ACLs for requests from private endpoints
1894
+ """
1895
+ public_network: NotRequired[pulumi.Input['NetworkACLArgsDict']]
1896
+ """
1897
+ Network ACL
1898
+ """
1899
+ elif False:
1900
+ WebPubSubNetworkACLsArgsDict: TypeAlias = Mapping[str, Any]
1901
+
1902
+ @pulumi.input_type
1903
+ class WebPubSubNetworkACLsArgs:
1904
+ def __init__(__self__, *,
1905
+ default_action: Optional[pulumi.Input[Union[str, 'ACLAction']]] = None,
1906
+ ip_rules: Optional[pulumi.Input[Sequence[pulumi.Input['IPRuleArgs']]]] = None,
1907
+ private_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateEndpointACLArgs']]]] = None,
1908
+ public_network: Optional[pulumi.Input['NetworkACLArgs']] = None):
1909
+ """
1910
+ Network ACLs for the resource
1911
+ :param pulumi.Input[Union[str, 'ACLAction']] default_action: Azure Networking ACL Action.
1912
+ :param pulumi.Input[Sequence[pulumi.Input['IPRuleArgs']]] ip_rules: IP rules for filtering public traffic
1913
+ :param pulumi.Input[Sequence[pulumi.Input['PrivateEndpointACLArgs']]] private_endpoints: ACLs for requests from private endpoints
1914
+ :param pulumi.Input['NetworkACLArgs'] public_network: Network ACL
1915
+ """
1916
+ if default_action is not None:
1917
+ pulumi.set(__self__, "default_action", default_action)
1918
+ if ip_rules is not None:
1919
+ pulumi.set(__self__, "ip_rules", ip_rules)
1920
+ if private_endpoints is not None:
1921
+ pulumi.set(__self__, "private_endpoints", private_endpoints)
1922
+ if public_network is not None:
1923
+ pulumi.set(__self__, "public_network", public_network)
1924
+
1925
+ @property
1926
+ @pulumi.getter(name="defaultAction")
1927
+ def default_action(self) -> Optional[pulumi.Input[Union[str, 'ACLAction']]]:
1928
+ """
1929
+ Azure Networking ACL Action.
1930
+ """
1931
+ return pulumi.get(self, "default_action")
1932
+
1933
+ @default_action.setter
1934
+ def default_action(self, value: Optional[pulumi.Input[Union[str, 'ACLAction']]]):
1935
+ pulumi.set(self, "default_action", value)
1936
+
1937
+ @property
1938
+ @pulumi.getter(name="ipRules")
1939
+ def ip_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IPRuleArgs']]]]:
1940
+ """
1941
+ IP rules for filtering public traffic
1942
+ """
1943
+ return pulumi.get(self, "ip_rules")
1944
+
1945
+ @ip_rules.setter
1946
+ def ip_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IPRuleArgs']]]]):
1947
+ pulumi.set(self, "ip_rules", value)
1948
+
1949
+ @property
1950
+ @pulumi.getter(name="privateEndpoints")
1951
+ def private_endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PrivateEndpointACLArgs']]]]:
1952
+ """
1953
+ ACLs for requests from private endpoints
1954
+ """
1955
+ return pulumi.get(self, "private_endpoints")
1956
+
1957
+ @private_endpoints.setter
1958
+ def private_endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateEndpointACLArgs']]]]):
1959
+ pulumi.set(self, "private_endpoints", value)
1960
+
1961
+ @property
1962
+ @pulumi.getter(name="publicNetwork")
1963
+ def public_network(self) -> Optional[pulumi.Input['NetworkACLArgs']]:
1964
+ """
1965
+ Network ACL
1966
+ """
1967
+ return pulumi.get(self, "public_network")
1968
+
1969
+ @public_network.setter
1970
+ def public_network(self, value: Optional[pulumi.Input['NetworkACLArgs']]):
1971
+ pulumi.set(self, "public_network", value)
1972
+
1973
+
1974
+ if not MYPY:
1975
+ class WebPubSubSocketIOSettingsArgsDict(TypedDict):
1976
+ """
1977
+ SocketIO settings for the resource
1978
+ """
1979
+ service_mode: NotRequired[pulumi.Input[str]]
1980
+ """
1981
+ The service mode of Web PubSub for Socket.IO. Values allowed:
1982
+ "Default": have your own backend Socket.IO server
1983
+ "Serverless": your application doesn't have a backend server
1984
+ """
1985
+ elif False:
1986
+ WebPubSubSocketIOSettingsArgsDict: TypeAlias = Mapping[str, Any]
1987
+
1988
+ @pulumi.input_type
1989
+ class WebPubSubSocketIOSettingsArgs:
1990
+ def __init__(__self__, *,
1991
+ service_mode: Optional[pulumi.Input[str]] = None):
1992
+ """
1993
+ SocketIO settings for the resource
1994
+ :param pulumi.Input[str] service_mode: The service mode of Web PubSub for Socket.IO. Values allowed:
1995
+ "Default": have your own backend Socket.IO server
1996
+ "Serverless": your application doesn't have a backend server
1997
+ """
1998
+ if service_mode is not None:
1999
+ pulumi.set(__self__, "service_mode", service_mode)
2000
+
2001
+ @property
2002
+ @pulumi.getter(name="serviceMode")
2003
+ def service_mode(self) -> Optional[pulumi.Input[str]]:
2004
+ """
2005
+ The service mode of Web PubSub for Socket.IO. Values allowed:
2006
+ "Default": have your own backend Socket.IO server
2007
+ "Serverless": your application doesn't have a backend server
2008
+ """
2009
+ return pulumi.get(self, "service_mode")
2010
+
2011
+ @service_mode.setter
2012
+ def service_mode(self, value: Optional[pulumi.Input[str]]):
2013
+ pulumi.set(self, "service_mode", value)
2014
+
2015
+
2016
+ if not MYPY:
2017
+ class WebPubSubTlsSettingsArgsDict(TypedDict):
2018
+ """
2019
+ TLS settings for the resource
2020
+ """
2021
+ client_cert_enabled: NotRequired[pulumi.Input[bool]]
2022
+ """
2023
+ Request client certificate during TLS handshake if enabled. Not supported for free tier. Any input will be ignored for free tier.
2024
+ """
2025
+ elif False:
2026
+ WebPubSubTlsSettingsArgsDict: TypeAlias = Mapping[str, Any]
2027
+
2028
+ @pulumi.input_type
2029
+ class WebPubSubTlsSettingsArgs:
2030
+ def __init__(__self__, *,
2031
+ client_cert_enabled: Optional[pulumi.Input[bool]] = None):
2032
+ """
2033
+ TLS settings for the resource
2034
+ :param pulumi.Input[bool] client_cert_enabled: Request client certificate during TLS handshake if enabled. Not supported for free tier. Any input will be ignored for free tier.
2035
+ """
2036
+ if client_cert_enabled is None:
2037
+ client_cert_enabled = False
2038
+ if client_cert_enabled is not None:
2039
+ pulumi.set(__self__, "client_cert_enabled", client_cert_enabled)
2040
+
2041
+ @property
2042
+ @pulumi.getter(name="clientCertEnabled")
2043
+ def client_cert_enabled(self) -> Optional[pulumi.Input[bool]]:
2044
+ """
2045
+ Request client certificate during TLS handshake if enabled. Not supported for free tier. Any input will be ignored for free tier.
2046
+ """
2047
+ return pulumi.get(self, "client_cert_enabled")
2048
+
2049
+ @client_cert_enabled.setter
2050
+ def client_cert_enabled(self, value: Optional[pulumi.Input[bool]]):
2051
+ pulumi.set(self, "client_cert_enabled", value)
2052
+
2053
+