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