@pulumi/scm 1.0.0-alpha.1762562132 → 1.0.0-alpha.1762572739

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) hide show
  1. package/address.d.ts +3 -3
  2. package/address.js +3 -3
  3. package/addressGroup.d.ts +2 -2
  4. package/addressGroup.js +2 -2
  5. package/{aggregateEthernetInterface.d.ts → aggregateInterface.d.ts} +26 -24
  6. package/{aggregateEthernetInterface.js → aggregateInterface.js} +13 -11
  7. package/aggregateInterface.js.map +1 -0
  8. package/antiSpywareSignature.d.ts +3 -3
  9. package/appOverrideRule.d.ts +128 -3
  10. package/appOverrideRule.js +95 -0
  11. package/appOverrideRule.js.map +1 -1
  12. package/applicationFilter.d.ts +16 -0
  13. package/applicationFilter.js +16 -0
  14. package/applicationFilter.js.map +1 -1
  15. package/authenticationRule.d.ts +123 -0
  16. package/authenticationRule.js +103 -0
  17. package/authenticationRule.js.map +1 -1
  18. package/bgpRouteMapRedistribution.d.ts +6 -6
  19. package/certificateProfile.d.ts +29 -0
  20. package/certificateProfile.js +29 -0
  21. package/certificateProfile.js.map +1 -1
  22. package/decryptionProfile.d.ts +139 -0
  23. package/decryptionProfile.js +139 -0
  24. package/decryptionProfile.js.map +1 -1
  25. package/decryptionRule.d.ts +139 -0
  26. package/decryptionRule.js +119 -0
  27. package/decryptionRule.js.map +1 -1
  28. package/dnsProxy.d.ts +6 -6
  29. package/dnsSecurityProfile.d.ts +2 -0
  30. package/dnsSecurityProfile.js +2 -0
  31. package/dnsSecurityProfile.js.map +1 -1
  32. package/dynamicUserGroup.d.ts +3 -3
  33. package/dynamicUserGroup.js +3 -3
  34. package/ethernetInterface.d.ts +13 -11
  35. package/ethernetInterface.js +2 -0
  36. package/ethernetInterface.js.map +1 -1
  37. package/externalDynamicList.d.ts +80 -0
  38. package/externalDynamicList.js +80 -0
  39. package/externalDynamicList.js.map +1 -1
  40. package/folder.d.ts +60 -0
  41. package/folder.js +60 -0
  42. package/folder.js.map +1 -1
  43. package/getAddressGroupList.d.ts +4 -4
  44. package/getAddressGroupList.js +4 -4
  45. package/getAddressList.d.ts +4 -4
  46. package/getAddressList.js +4 -4
  47. package/getAggregateInterface.d.ts +116 -0
  48. package/getAggregateInterface.js +68 -0
  49. package/getAggregateInterface.js.map +1 -0
  50. package/{getAggregateEthernetInterfaceList.d.ts → getAggregateInterfaceList.d.ts} +35 -9
  51. package/getAggregateInterfaceList.js +66 -0
  52. package/getAggregateInterfaceList.js.map +1 -0
  53. package/getAntiSpywareProfileList.d.ts +2 -2
  54. package/getAntiSpywareProfileList.js +2 -2
  55. package/getAntiSpywareSignature.d.ts +1 -1
  56. package/getAntiSpywareSignatureList.d.ts +2 -2
  57. package/getAntiSpywareSignatureList.js +2 -2
  58. package/getAppOverrideRule.d.ts +65 -1
  59. package/getAppOverrideRule.js +52 -0
  60. package/getAppOverrideRule.js.map +1 -1
  61. package/getAppOverrideRuleList.d.ts +48 -2
  62. package/getAppOverrideRuleList.js +36 -2
  63. package/getAppOverrideRuleList.js.map +1 -1
  64. package/getApplicationGroupList.d.ts +4 -4
  65. package/getApplicationGroupList.js +4 -4
  66. package/getApplicationList.d.ts +2 -2
  67. package/getApplicationList.js +2 -2
  68. package/getAuthenticationRule.d.ts +74 -0
  69. package/getAuthenticationRule.js +62 -0
  70. package/getAuthenticationRule.js.map +1 -1
  71. package/getAuthenticationRuleList.d.ts +50 -2
  72. package/getAuthenticationRuleList.js +38 -2
  73. package/getAuthenticationRuleList.js.map +1 -1
  74. package/getBgpRouteMapRedistribution.d.ts +7 -7
  75. package/getCertificateProfileList.d.ts +2 -2
  76. package/getCertificateProfileList.js +2 -2
  77. package/getDecryptionProfile.d.ts +40 -0
  78. package/getDecryptionProfile.js +40 -0
  79. package/getDecryptionProfile.js.map +1 -1
  80. package/getDecryptionProfileList.d.ts +32 -0
  81. package/getDecryptionProfileList.js +32 -0
  82. package/getDecryptionProfileList.js.map +1 -1
  83. package/getDecryptionRule.d.ts +74 -0
  84. package/getDecryptionRule.js +62 -0
  85. package/getDecryptionRule.js.map +1 -1
  86. package/getDecryptionRuleList.d.ts +48 -2
  87. package/getDecryptionRuleList.js +36 -2
  88. package/getDecryptionRuleList.js.map +1 -1
  89. package/getDnsProxy.d.ts +1 -1
  90. package/getDnsSecurityProfile.d.ts +40 -0
  91. package/getDnsSecurityProfile.js +40 -0
  92. package/getDnsSecurityProfile.js.map +1 -1
  93. package/getDnsSecurityProfileList.d.ts +32 -0
  94. package/getDnsSecurityProfileList.js +32 -0
  95. package/getDnsSecurityProfileList.js.map +1 -1
  96. package/getDynamicUserGroupList.d.ts +4 -4
  97. package/getDynamicUserGroupList.js +4 -4
  98. package/getEthernetInterface.d.ts +40 -2
  99. package/getEthernetInterface.js +38 -0
  100. package/getEthernetInterface.js.map +1 -1
  101. package/getEthernetInterfaceList.d.ts +26 -0
  102. package/getEthernetInterfaceList.js +26 -0
  103. package/getEthernetInterfaceList.js.map +1 -1
  104. package/getExternalDynamicListList.d.ts +4 -4
  105. package/getExternalDynamicListList.js +4 -4
  106. package/getFolder.d.ts +36 -0
  107. package/getFolder.js +36 -0
  108. package/getFolder.js.map +1 -1
  109. package/getHipObjectList.d.ts +4 -4
  110. package/getHipObjectList.js +4 -4
  111. package/getHipProfileList.d.ts +4 -4
  112. package/getHipProfileList.js +4 -4
  113. package/getInterfaceManagementProfile.d.ts +89 -8
  114. package/getInterfaceManagementProfile.js +80 -0
  115. package/getInterfaceManagementProfile.js.map +1 -1
  116. package/getInterfaceManagementProfileList.d.ts +42 -0
  117. package/getInterfaceManagementProfileList.js +42 -0
  118. package/getInterfaceManagementProfileList.js.map +1 -1
  119. package/getLayer2Subinterface.d.ts +42 -2
  120. package/getLayer2Subinterface.js +40 -0
  121. package/getLayer2Subinterface.js.map +1 -1
  122. package/getLayer2SubinterfaceList.d.ts +26 -0
  123. package/getLayer2SubinterfaceList.js +26 -0
  124. package/getLayer2SubinterfaceList.js.map +1 -1
  125. package/getLayer3Subinterface.d.ts +45 -3
  126. package/getLayer3Subinterface.js +42 -0
  127. package/getLayer3Subinterface.js.map +1 -1
  128. package/getLayer3SubinterfaceList.d.ts +26 -0
  129. package/getLayer3SubinterfaceList.js +26 -0
  130. package/getLayer3SubinterfaceList.js.map +1 -1
  131. package/getLogicalRouter.d.ts +38 -0
  132. package/getLogicalRouter.js +38 -0
  133. package/getLogicalRouter.js.map +1 -1
  134. package/getLogicalRouterList.d.ts +40 -0
  135. package/getLogicalRouterList.js +30 -0
  136. package/getLogicalRouterList.js.map +1 -1
  137. package/getLoopbackInterface.d.ts +49 -7
  138. package/getLoopbackInterface.js +38 -0
  139. package/getLoopbackInterface.js.map +1 -1
  140. package/getLoopbackInterfaceList.d.ts +26 -0
  141. package/getLoopbackInterfaceList.js +26 -0
  142. package/getLoopbackInterfaceList.js.map +1 -1
  143. package/getNatRule.d.ts +86 -14
  144. package/getNatRule.js +76 -0
  145. package/getNatRule.js.map +1 -1
  146. package/getNatRuleList.d.ts +52 -2
  147. package/getNatRuleList.js +40 -2
  148. package/getNatRuleList.js.map +1 -1
  149. package/getPbfRule.d.ts +88 -0
  150. package/getPbfRule.js +88 -0
  151. package/getPbfRule.js.map +1 -1
  152. package/getPbfRuleList.d.ts +34 -0
  153. package/getPbfRuleList.js +34 -0
  154. package/getPbfRuleList.js.map +1 -1
  155. package/getQosPolicyRule.d.ts +72 -0
  156. package/getQosPolicyRule.js +60 -0
  157. package/getQosPolicyRule.js.map +1 -1
  158. package/getQosPolicyRuleList.d.ts +48 -2
  159. package/getQosPolicyRuleList.js +36 -2
  160. package/getQosPolicyRuleList.js.map +1 -1
  161. package/getRadiusServerProfile.d.ts +54 -0
  162. package/getRadiusServerProfile.js +54 -0
  163. package/getRadiusServerProfile.js.map +1 -1
  164. package/getSdwanTrafficDistributionProfile.d.ts +1 -1
  165. package/getSecurityRule.d.ts +106 -0
  166. package/getSecurityRule.js +94 -0
  167. package/getSecurityRule.js.map +1 -1
  168. package/getSecurityRuleList.d.ts +46 -2
  169. package/getSecurityRuleList.js +34 -2
  170. package/getSecurityRuleList.js.map +1 -1
  171. package/getServiceConnection.d.ts +177 -1
  172. package/getServiceConnection.js +176 -0
  173. package/getServiceConnection.js.map +1 -1
  174. package/getServiceConnectionGroup.d.ts +208 -0
  175. package/getServiceConnectionGroup.js +208 -0
  176. package/getServiceConnectionGroup.js.map +1 -1
  177. package/getServiceGroupList.d.ts +2 -2
  178. package/getServiceGroupList.js +2 -2
  179. package/getServiceList.d.ts +4 -4
  180. package/getServiceList.js +4 -4
  181. package/getSnippet.d.ts +48 -0
  182. package/getSnippet.js +48 -0
  183. package/getSnippet.js.map +1 -1
  184. package/getSnippetList.d.ts +24 -0
  185. package/getSnippetList.js +24 -0
  186. package/getSnippetList.js.map +1 -1
  187. package/getTagList.d.ts +2 -2
  188. package/getTagList.js +2 -2
  189. package/getTunnelInterface.d.ts +42 -4
  190. package/getTunnelInterface.js +38 -0
  191. package/getTunnelInterface.js.map +1 -1
  192. package/getTunnelInterfaceList.d.ts +26 -0
  193. package/getTunnelInterfaceList.js +26 -0
  194. package/getTunnelInterfaceList.js.map +1 -1
  195. package/getUrlAccessProfileList.d.ts +2 -2
  196. package/getUrlAccessProfileList.js +2 -2
  197. package/getUrlCategoryList.d.ts +4 -4
  198. package/getUrlCategoryList.js +4 -4
  199. package/getVlanInterface.d.ts +46 -6
  200. package/getVlanInterface.js +40 -0
  201. package/getVlanInterface.js.map +1 -1
  202. package/getVlanInterfaceList.d.ts +26 -0
  203. package/getVlanInterfaceList.js +26 -0
  204. package/getVlanInterfaceList.js.map +1 -1
  205. package/getVulnerabilityProtectionProfileList.d.ts +2 -2
  206. package/getVulnerabilityProtectionProfileList.js +2 -2
  207. package/getVulnerabilityProtectionSignature.d.ts +41 -1
  208. package/getVulnerabilityProtectionSignature.js +40 -0
  209. package/getVulnerabilityProtectionSignature.js.map +1 -1
  210. package/getVulnerabilityProtectionSignatureList.d.ts +32 -0
  211. package/getVulnerabilityProtectionSignatureList.js +32 -0
  212. package/getVulnerabilityProtectionSignatureList.js.map +1 -1
  213. package/getZone.d.ts +44 -0
  214. package/getZone.js +44 -0
  215. package/getZone.js.map +1 -1
  216. package/getZoneList.d.ts +26 -0
  217. package/getZoneList.js +26 -0
  218. package/getZoneList.js.map +1 -1
  219. package/ikeGateway.d.ts +49 -0
  220. package/ikeGateway.js +49 -0
  221. package/ikeGateway.js.map +1 -1
  222. package/index.d.ts +9 -9
  223. package/index.js +12 -12
  224. package/index.js.map +1 -1
  225. package/interfaceManagementProfile.d.ts +56 -24
  226. package/interfaceManagementProfile.js +30 -0
  227. package/interfaceManagementProfile.js.map +1 -1
  228. package/ipsecCryptoProfile.d.ts +28 -0
  229. package/ipsecCryptoProfile.js +28 -0
  230. package/ipsecCryptoProfile.js.map +1 -1
  231. package/ipsecTunnel.d.ts +66 -0
  232. package/ipsecTunnel.js +66 -0
  233. package/ipsecTunnel.js.map +1 -1
  234. package/layer2Subinterface.d.ts +36 -7
  235. package/layer2Subinterface.js +32 -0
  236. package/layer2Subinterface.js.map +1 -1
  237. package/layer3Subinterface.d.ts +70 -11
  238. package/layer3Subinterface.js +59 -0
  239. package/layer3Subinterface.js.map +1 -1
  240. package/logicalRouter.d.ts +2 -0
  241. package/logicalRouter.js +2 -0
  242. package/logicalRouter.js.map +1 -1
  243. package/loopbackInterface.d.ts +58 -15
  244. package/loopbackInterface.js +35 -2
  245. package/loopbackInterface.js.map +1 -1
  246. package/natRule.d.ts +135 -42
  247. package/natRule.js +121 -8
  248. package/natRule.js.map +1 -1
  249. package/package.json +2 -2
  250. package/pbfRule.d.ts +89 -0
  251. package/pbfRule.js +89 -0
  252. package/pbfRule.js.map +1 -1
  253. package/qosPolicyRule.d.ts +95 -0
  254. package/qosPolicyRule.js +75 -0
  255. package/qosPolicyRule.js.map +1 -1
  256. package/radiusServerProfile.d.ts +38 -0
  257. package/radiusServerProfile.js +38 -0
  258. package/radiusServerProfile.js.map +1 -1
  259. package/remoteNetwork.d.ts +81 -0
  260. package/remoteNetwork.js +81 -0
  261. package/remoteNetwork.js.map +1 -1
  262. package/sdwanTrafficDistributionProfile.d.ts +4 -4
  263. package/securityRule.d.ts +181 -0
  264. package/securityRule.js +161 -0
  265. package/securityRule.js.map +1 -1
  266. package/serviceConnection.d.ts +82 -3
  267. package/serviceConnection.js +81 -2
  268. package/serviceConnection.js.map +1 -1
  269. package/serviceConnectionGroup.d.ts +100 -0
  270. package/serviceConnectionGroup.js +100 -0
  271. package/serviceConnectionGroup.js.map +1 -1
  272. package/serviceGroup.d.ts +2 -2
  273. package/serviceGroup.js +2 -2
  274. package/snippet.d.ts +23 -0
  275. package/snippet.js +23 -0
  276. package/snippet.js.map +1 -1
  277. package/tag.d.ts +3 -3
  278. package/tag.js +3 -3
  279. package/tunnelInterface.d.ts +42 -12
  280. package/tunnelInterface.js +32 -2
  281. package/tunnelInterface.js.map +1 -1
  282. package/types/input.d.ts +607 -335
  283. package/types/output.d.ts +1945 -1069
  284. package/vlanInterface.d.ts +40 -20
  285. package/vlanInterface.js +20 -0
  286. package/vlanInterface.js.map +1 -1
  287. package/vulnerabilityProtectionSignature.d.ts +12 -10
  288. package/vulnerabilityProtectionSignature.js +14 -0
  289. package/vulnerabilityProtectionSignature.js.map +1 -1
  290. package/zone.d.ts +71 -0
  291. package/zone.js +71 -0
  292. package/zone.js.map +1 -1
  293. package/aggregateEthernetInterface.js.map +0 -1
  294. package/getAggregateEthernetInterface.d.ts +0 -78
  295. package/getAggregateEthernetInterface.js +0 -30
  296. package/getAggregateEthernetInterface.js.map +0 -1
  297. package/getAggregateEthernetInterfaceList.js +0 -40
  298. package/getAggregateEthernetInterfaceList.js.map +0 -1
package/securityRule.d.ts CHANGED
@@ -5,6 +5,163 @@ import * as outputs from "./types/output";
5
5
  * SecurityRule resource
6
6
  *
7
7
  * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as scm from "@pulumi/scm";
12
+ *
13
+ * // First, create the tag objects that you will reference.
14
+ * const outboundTag = new scm.Tag("outbound_tag", {
15
+ * folder: "All",
16
+ * name: "outbound143",
17
+ * color: "Red",
18
+ * });
19
+ * const webTag = new scm.Tag("web_tag", {
20
+ * folder: "All",
21
+ * name: "web143",
22
+ * color: "Blue",
23
+ * });
24
+ * // --- Existing Rules (Backward Compatibility) ---
25
+ * const standardWebAccess = new scm.SecurityRule("standard_web_access", {
26
+ * folder: "All",
27
+ * name: "Allow Standard Web Access143",
28
+ * description: "Allow outbound web traffic to any destination...",
29
+ * position: "pre",
30
+ * action: "allow",
31
+ * categories: ["any"],
32
+ * applications: [
33
+ * "web-browsing",
34
+ * "ssl",
35
+ * ],
36
+ * services: [
37
+ * "service-http",
38
+ * "service-https",
39
+ * ],
40
+ * froms: [
41
+ * "untrust",
42
+ * "trust",
43
+ * ],
44
+ * tos: ["trust"],
45
+ * sources: ["any"],
46
+ * destinations: ["any"],
47
+ * negateSource: false,
48
+ * negateDestination: false,
49
+ * sourceUsers: ["any"],
50
+ * sourceHips: ["any"],
51
+ * destinationHips: ["any"],
52
+ * logStart: true,
53
+ * logEnd: true,
54
+ * disabled: false,
55
+ * tags: [
56
+ * outboundTag.name,
57
+ * webTag.name,
58
+ * ],
59
+ * });
60
+ * const blockRiskySaas = new scm.SecurityRule("block_risky_saas", {
61
+ * folder: "All",
62
+ * name: "Block Risky SaaS Applications143",
63
+ * description: "Prevent data exfiltration by blocking risky SaaS apps...",
64
+ * action: "deny",
65
+ * policyType: "Internet",
66
+ * securitySettings: {
67
+ * antiSpyware: "yes",
68
+ * vulnerability: "yes",
69
+ * virusAndWildfireAnalysis: "yes",
70
+ * },
71
+ * blockWebApplications: ["facebook-posting"],
72
+ * logSettings: {
73
+ * logSessions: true,
74
+ * },
75
+ * froms: ["any"],
76
+ * tos: ["any"],
77
+ * sources: ["any"],
78
+ * destinations: ["any"],
79
+ * sourceUsers: ["any"],
80
+ * disabled: false,
81
+ * tags: [
82
+ * outboundTag.name,
83
+ * webTag.name,
84
+ * ],
85
+ * });
86
+ * // --- NEW Examples Demonstrating Rule Ordering ---
87
+ * // Example 1: Place a critical block rule at the absolute top
88
+ * const criticalBlockTop = new scm.SecurityRule("critical_block_top", {
89
+ * folder: "All",
90
+ * name: "CRITICAL Block Malicious IPs Top143",
91
+ * description: "Always block known malicious IPs first.",
92
+ * relativePosition: "top",
93
+ * action: "deny",
94
+ * froms: ["any"],
95
+ * tos: ["any"],
96
+ * sources: ["any"],
97
+ * destinations: ["any"],
98
+ * sourceUsers: ["any"],
99
+ * categories: ["any"],
100
+ * applications: ["any"],
101
+ * services: ["any"],
102
+ * logEnd: true,
103
+ * tags: [outboundTag.name],
104
+ * });
105
+ * // Example 2: Place a cleanup rule at the absolute bottom
106
+ * const cleanupDenyBottom = new scm.SecurityRule("cleanup_deny_bottom", {
107
+ * folder: "All",
108
+ * name: "Cleanup Deny All Bottom143",
109
+ * description: "Deny any traffic not explicitly allowed.",
110
+ * relativePosition: "bottom",
111
+ * action: "deny",
112
+ * froms: ["any"],
113
+ * tos: ["any"],
114
+ * sources: ["any"],
115
+ * destinations: ["any"],
116
+ * sourceUsers: ["any"],
117
+ * categories: ["any"],
118
+ * applications: ["any"],
119
+ * services: ["any"],
120
+ * logEnd: true,
121
+ * tags: [outboundTag.name],
122
+ * });
123
+ * // Example 3: Place a rule *before* the standard web access rule
124
+ * const allowUpdatesBeforeWeb = new scm.SecurityRule("allow_updates_before_web", {
125
+ * folder: "All",
126
+ * name: "Allow OS Updates Before Web143",
127
+ * description: "Allow specific OS update traffic before general web access.",
128
+ * relativePosition: "before",
129
+ * targetRule: standardWebAccess.id,
130
+ * action: "allow",
131
+ * froms: ["trust"],
132
+ * tos: ["untrust"],
133
+ * sources: ["any"],
134
+ * destinations: ["any"],
135
+ * sourceUsers: ["any"],
136
+ * categories: ["any"],
137
+ * applications: [
138
+ * "ms-update",
139
+ * "apple-update",
140
+ * ],
141
+ * services: ["service-https"],
142
+ * logEnd: true,
143
+ * tags: [outboundTag.name],
144
+ * });
145
+ * // Example 4: Place a rule *after* the standard web access rule
146
+ * const allowCorpAppsAfterWeb = new scm.SecurityRule("allow_corp_apps_after_web", {
147
+ * folder: "All",
148
+ * name: "Allow Corp Apps After Web143",
149
+ * description: "Allow access to specific corporate apps after general web access.",
150
+ * relativePosition: "after",
151
+ * targetRule: standardWebAccess.id,
152
+ * action: "allow",
153
+ * froms: ["trust"],
154
+ * tos: ["untrust"],
155
+ * sources: ["any"],
156
+ * destinations: ["any"],
157
+ * sourceUsers: ["any"],
158
+ * categories: ["any"],
159
+ * applications: ["ms-update"],
160
+ * services: ["service-https"],
161
+ * logEnd: true,
162
+ * tags: [webTag.name],
163
+ * });
164
+ * ```
8
165
  */
9
166
  export declare class SecurityRule extends pulumi.CustomResource {
10
167
  /**
@@ -130,6 +287,10 @@ export declare class SecurityRule extends pulumi.CustomResource {
130
287
  * The security profile object
131
288
  */
132
289
  readonly profileSetting: pulumi.Output<outputs.SecurityRuleProfileSetting>;
290
+ /**
291
+ * Relative positioning rule. String must be one of these: `"before"`, `"after"`, `"top"`, `"bottom"`. If not specified, rule is created at the bottom of the ruleset.
292
+ */
293
+ readonly relativePosition: pulumi.Output<string | undefined>;
133
294
  /**
134
295
  * Schedule in which this rule will be applied
135
296
  */
@@ -162,6 +323,10 @@ export declare class SecurityRule extends pulumi.CustomResource {
162
323
  * The tags associated with the security rule
163
324
  */
164
325
  readonly tags: pulumi.Output<string[] | undefined>;
326
+ /**
327
+ * The name or UUID of the rule to position this rule relative to. Required when `relativePosition` is `"before"` or `"after"`.
328
+ */
329
+ readonly targetRule: pulumi.Output<string | undefined>;
165
330
  /**
166
331
  * Tenant restrictions
167
332
  */
@@ -292,6 +457,10 @@ export interface SecurityRuleState {
292
457
  * The security profile object
293
458
  */
294
459
  profileSetting?: pulumi.Input<inputs.SecurityRuleProfileSetting>;
460
+ /**
461
+ * Relative positioning rule. String must be one of these: `"before"`, `"after"`, `"top"`, `"bottom"`. If not specified, rule is created at the bottom of the ruleset.
462
+ */
463
+ relativePosition?: pulumi.Input<string>;
295
464
  /**
296
465
  * Schedule in which this rule will be applied
297
466
  */
@@ -324,6 +493,10 @@ export interface SecurityRuleState {
324
493
  * The tags associated with the security rule
325
494
  */
326
495
  tags?: pulumi.Input<pulumi.Input<string>[]>;
496
+ /**
497
+ * The name or UUID of the rule to position this rule relative to. Required when `relativePosition` is `"before"` or `"after"`.
498
+ */
499
+ targetRule?: pulumi.Input<string>;
327
500
  /**
328
501
  * Tenant restrictions
329
502
  */
@@ -446,6 +619,10 @@ export interface SecurityRuleArgs {
446
619
  * The security profile object
447
620
  */
448
621
  profileSetting?: pulumi.Input<inputs.SecurityRuleProfileSetting>;
622
+ /**
623
+ * Relative positioning rule. String must be one of these: `"before"`, `"after"`, `"top"`, `"bottom"`. If not specified, rule is created at the bottom of the ruleset.
624
+ */
625
+ relativePosition?: pulumi.Input<string>;
449
626
  /**
450
627
  * Schedule in which this rule will be applied
451
628
  */
@@ -478,6 +655,10 @@ export interface SecurityRuleArgs {
478
655
  * The tags associated with the security rule
479
656
  */
480
657
  tags?: pulumi.Input<pulumi.Input<string>[]>;
658
+ /**
659
+ * The name or UUID of the rule to position this rule relative to. Required when `relativePosition` is `"before"` or `"after"`.
660
+ */
661
+ targetRule?: pulumi.Input<string>;
481
662
  /**
482
663
  * Tenant restrictions
483
664
  */
package/securityRule.js CHANGED
@@ -9,6 +9,163 @@ const utilities = require("./utilities");
9
9
  * SecurityRule resource
10
10
  *
11
11
  * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as scm from "@pulumi/scm";
16
+ *
17
+ * // First, create the tag objects that you will reference.
18
+ * const outboundTag = new scm.Tag("outbound_tag", {
19
+ * folder: "All",
20
+ * name: "outbound143",
21
+ * color: "Red",
22
+ * });
23
+ * const webTag = new scm.Tag("web_tag", {
24
+ * folder: "All",
25
+ * name: "web143",
26
+ * color: "Blue",
27
+ * });
28
+ * // --- Existing Rules (Backward Compatibility) ---
29
+ * const standardWebAccess = new scm.SecurityRule("standard_web_access", {
30
+ * folder: "All",
31
+ * name: "Allow Standard Web Access143",
32
+ * description: "Allow outbound web traffic to any destination...",
33
+ * position: "pre",
34
+ * action: "allow",
35
+ * categories: ["any"],
36
+ * applications: [
37
+ * "web-browsing",
38
+ * "ssl",
39
+ * ],
40
+ * services: [
41
+ * "service-http",
42
+ * "service-https",
43
+ * ],
44
+ * froms: [
45
+ * "untrust",
46
+ * "trust",
47
+ * ],
48
+ * tos: ["trust"],
49
+ * sources: ["any"],
50
+ * destinations: ["any"],
51
+ * negateSource: false,
52
+ * negateDestination: false,
53
+ * sourceUsers: ["any"],
54
+ * sourceHips: ["any"],
55
+ * destinationHips: ["any"],
56
+ * logStart: true,
57
+ * logEnd: true,
58
+ * disabled: false,
59
+ * tags: [
60
+ * outboundTag.name,
61
+ * webTag.name,
62
+ * ],
63
+ * });
64
+ * const blockRiskySaas = new scm.SecurityRule("block_risky_saas", {
65
+ * folder: "All",
66
+ * name: "Block Risky SaaS Applications143",
67
+ * description: "Prevent data exfiltration by blocking risky SaaS apps...",
68
+ * action: "deny",
69
+ * policyType: "Internet",
70
+ * securitySettings: {
71
+ * antiSpyware: "yes",
72
+ * vulnerability: "yes",
73
+ * virusAndWildfireAnalysis: "yes",
74
+ * },
75
+ * blockWebApplications: ["facebook-posting"],
76
+ * logSettings: {
77
+ * logSessions: true,
78
+ * },
79
+ * froms: ["any"],
80
+ * tos: ["any"],
81
+ * sources: ["any"],
82
+ * destinations: ["any"],
83
+ * sourceUsers: ["any"],
84
+ * disabled: false,
85
+ * tags: [
86
+ * outboundTag.name,
87
+ * webTag.name,
88
+ * ],
89
+ * });
90
+ * // --- NEW Examples Demonstrating Rule Ordering ---
91
+ * // Example 1: Place a critical block rule at the absolute top
92
+ * const criticalBlockTop = new scm.SecurityRule("critical_block_top", {
93
+ * folder: "All",
94
+ * name: "CRITICAL Block Malicious IPs Top143",
95
+ * description: "Always block known malicious IPs first.",
96
+ * relativePosition: "top",
97
+ * action: "deny",
98
+ * froms: ["any"],
99
+ * tos: ["any"],
100
+ * sources: ["any"],
101
+ * destinations: ["any"],
102
+ * sourceUsers: ["any"],
103
+ * categories: ["any"],
104
+ * applications: ["any"],
105
+ * services: ["any"],
106
+ * logEnd: true,
107
+ * tags: [outboundTag.name],
108
+ * });
109
+ * // Example 2: Place a cleanup rule at the absolute bottom
110
+ * const cleanupDenyBottom = new scm.SecurityRule("cleanup_deny_bottom", {
111
+ * folder: "All",
112
+ * name: "Cleanup Deny All Bottom143",
113
+ * description: "Deny any traffic not explicitly allowed.",
114
+ * relativePosition: "bottom",
115
+ * action: "deny",
116
+ * froms: ["any"],
117
+ * tos: ["any"],
118
+ * sources: ["any"],
119
+ * destinations: ["any"],
120
+ * sourceUsers: ["any"],
121
+ * categories: ["any"],
122
+ * applications: ["any"],
123
+ * services: ["any"],
124
+ * logEnd: true,
125
+ * tags: [outboundTag.name],
126
+ * });
127
+ * // Example 3: Place a rule *before* the standard web access rule
128
+ * const allowUpdatesBeforeWeb = new scm.SecurityRule("allow_updates_before_web", {
129
+ * folder: "All",
130
+ * name: "Allow OS Updates Before Web143",
131
+ * description: "Allow specific OS update traffic before general web access.",
132
+ * relativePosition: "before",
133
+ * targetRule: standardWebAccess.id,
134
+ * action: "allow",
135
+ * froms: ["trust"],
136
+ * tos: ["untrust"],
137
+ * sources: ["any"],
138
+ * destinations: ["any"],
139
+ * sourceUsers: ["any"],
140
+ * categories: ["any"],
141
+ * applications: [
142
+ * "ms-update",
143
+ * "apple-update",
144
+ * ],
145
+ * services: ["service-https"],
146
+ * logEnd: true,
147
+ * tags: [outboundTag.name],
148
+ * });
149
+ * // Example 4: Place a rule *after* the standard web access rule
150
+ * const allowCorpAppsAfterWeb = new scm.SecurityRule("allow_corp_apps_after_web", {
151
+ * folder: "All",
152
+ * name: "Allow Corp Apps After Web143",
153
+ * description: "Allow access to specific corporate apps after general web access.",
154
+ * relativePosition: "after",
155
+ * targetRule: standardWebAccess.id,
156
+ * action: "allow",
157
+ * froms: ["trust"],
158
+ * tos: ["untrust"],
159
+ * sources: ["any"],
160
+ * destinations: ["any"],
161
+ * sourceUsers: ["any"],
162
+ * categories: ["any"],
163
+ * applications: ["ms-update"],
164
+ * services: ["service-https"],
165
+ * logEnd: true,
166
+ * tags: [webTag.name],
167
+ * });
168
+ * ```
12
169
  */
13
170
  class SecurityRule extends pulumi.CustomResource {
14
171
  /**
@@ -65,6 +222,7 @@ class SecurityRule extends pulumi.CustomResource {
65
222
  resourceInputs["policyType"] = state?.policyType;
66
223
  resourceInputs["position"] = state?.position;
67
224
  resourceInputs["profileSetting"] = state?.profileSetting;
225
+ resourceInputs["relativePosition"] = state?.relativePosition;
68
226
  resourceInputs["schedule"] = state?.schedule;
69
227
  resourceInputs["securitySettings"] = state?.securitySettings;
70
228
  resourceInputs["services"] = state?.services;
@@ -73,6 +231,7 @@ class SecurityRule extends pulumi.CustomResource {
73
231
  resourceInputs["sourceUsers"] = state?.sourceUsers;
74
232
  resourceInputs["sources"] = state?.sources;
75
233
  resourceInputs["tags"] = state?.tags;
234
+ resourceInputs["targetRule"] = state?.targetRule;
76
235
  resourceInputs["tenantRestrictions"] = state?.tenantRestrictions;
77
236
  resourceInputs["tfid"] = state?.tfid;
78
237
  resourceInputs["tos"] = state?.tos;
@@ -106,6 +265,7 @@ class SecurityRule extends pulumi.CustomResource {
106
265
  resourceInputs["policyType"] = args?.policyType;
107
266
  resourceInputs["position"] = args?.position;
108
267
  resourceInputs["profileSetting"] = args?.profileSetting;
268
+ resourceInputs["relativePosition"] = args?.relativePosition;
109
269
  resourceInputs["schedule"] = args?.schedule;
110
270
  resourceInputs["securitySettings"] = args?.securitySettings;
111
271
  resourceInputs["services"] = args?.services;
@@ -114,6 +274,7 @@ class SecurityRule extends pulumi.CustomResource {
114
274
  resourceInputs["sourceUsers"] = args?.sourceUsers;
115
275
  resourceInputs["sources"] = args?.sources;
116
276
  resourceInputs["tags"] = args?.tags;
277
+ resourceInputs["targetRule"] = args?.targetRule;
117
278
  resourceInputs["tenantRestrictions"] = args?.tenantRestrictions;
118
279
  resourceInputs["tos"] = args?.tos;
119
280
  resourceInputs["tfid"] = undefined /*out*/;
@@ -1 +1 @@
1
- {"version":3,"file":"securityRule.js","sourceRoot":"","sources":["../securityRule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"securityRule.js","sourceRoot":"","sources":["../securityRule.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,85 @@ import * as outputs from "./types/output";
5
5
  * ServiceConnection resource
6
6
  *
7
7
  * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as scm from "@pulumi/scm";
12
+ *
13
+ * const config = new pulumi.Config();
14
+ * // The folder scope for the SCM resource (e.g., 'Shared', 'Predefined', or a specific folder name).
15
+ * const folderScope = config.get("folderScope") || "Service Connections";
16
+ * //# 1. Define the IKE Crypto Profile (IKE Phase 1)
17
+ * // Note: The resource name is plural: "scm_ike_crypto_profile"
18
+ * const example = new scm.IkeCryptoProfile("example", {
19
+ * name: "example-ike-crypto",
20
+ * folder: folderScope,
21
+ * hashes: ["sha256"],
22
+ * dhGroups: ["group14"],
23
+ * encryptions: ["aes-256-cbc"],
24
+ * });
25
+ * //# 2. Define the IPsec Crypto Profile (IKE Phase 2)
26
+ * // Note: The resource name is plural and nested blocks now use an equals sign (=).
27
+ * const exampleIpsecCryptoProfile = new scm.IpsecCryptoProfile("example", {
28
+ * name: "panw-IPSec-Crypto",
29
+ * folder: folderScope,
30
+ * esp: {
31
+ * encryptions: ["aes-256-gcm"],
32
+ * authentications: ["sha256"],
33
+ * },
34
+ * dhGroup: "group14",
35
+ * lifetime: {
36
+ * hours: 8,
37
+ * },
38
+ * });
39
+ * //# 3. Define the IKE Gateway
40
+ * // Note: The resource name is plural and nested blocks now use an equals sign (=).
41
+ * const exampleIkeGateway = new scm.IkeGateway("example", {
42
+ * name: "example-gateway",
43
+ * folder: folderScope,
44
+ * peerAddress: {
45
+ * ip: "1.1.1.1",
46
+ * },
47
+ * authentication: {
48
+ * preSharedKey: {
49
+ * key: "secret",
50
+ * },
51
+ * },
52
+ * protocol: {
53
+ * ikev1: {
54
+ * ikeCryptoProfile: example.name,
55
+ * },
56
+ * },
57
+ * });
58
+ * //# 4. Define the IPsec Tunnel
59
+ * // Note: Nested 'auto_key' block uses an equals sign (=).
60
+ * const exampleIpsecTunnel = new scm.IpsecTunnel("example", {
61
+ * name: "example-tunnel",
62
+ * folder: folderScope,
63
+ * tunnelInterface: "tunnel",
64
+ * antiReplay: true,
65
+ * copyTos: false,
66
+ * enableGreEncapsulation: false,
67
+ * autoKey: {
68
+ * ikeGateways: [{
69
+ * name: exampleIkeGateway.name,
70
+ * }],
71
+ * ipsecCryptoProfile: exampleIpsecCryptoProfile.name,
72
+ * },
73
+ * }, {
74
+ * dependsOn: [exampleIkeGateway],
75
+ * });
76
+ * const siteAVpnSc = new scm.ServiceConnection("site_a_vpn_sc", {
77
+ * name: "creating_a_service_connection",
78
+ * region: "us-west-1",
79
+ * ipsecTunnel: exampleIpsecTunnel.name,
80
+ * subnets: [
81
+ * "10.1.0.0/16",
82
+ * "172.16.0.0/24",
83
+ * ],
84
+ * sourceNat: true,
85
+ * });
86
+ * ```
8
87
  */
9
88
  export declare class ServiceConnection extends pulumi.CustomResource {
10
89
  /**
@@ -25,7 +104,7 @@ export declare class ServiceConnection extends pulumi.CustomResource {
25
104
  /**
26
105
  * Backup s c
27
106
  */
28
- readonly backupSC: pulumi.Output<string | undefined>;
107
+ readonly backupSc: pulumi.Output<string | undefined>;
29
108
  /**
30
109
  * Bgp peer
31
110
  */
@@ -97,7 +176,7 @@ export interface ServiceConnectionState {
97
176
  /**
98
177
  * Backup s c
99
178
  */
100
- backupSC?: pulumi.Input<string>;
179
+ backupSc?: pulumi.Input<string>;
101
180
  /**
102
181
  * Bgp peer
103
182
  */
@@ -161,7 +240,7 @@ export interface ServiceConnectionArgs {
161
240
  /**
162
241
  * Backup s c
163
242
  */
164
- backupSC?: pulumi.Input<string>;
243
+ backupSc?: pulumi.Input<string>;
165
244
  /**
166
245
  * Bgp peer
167
246
  */
@@ -9,6 +9,85 @@ const utilities = require("./utilities");
9
9
  * ServiceConnection resource
10
10
  *
11
11
  * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as scm from "@pulumi/scm";
16
+ *
17
+ * const config = new pulumi.Config();
18
+ * // The folder scope for the SCM resource (e.g., 'Shared', 'Predefined', or a specific folder name).
19
+ * const folderScope = config.get("folderScope") || "Service Connections";
20
+ * //# 1. Define the IKE Crypto Profile (IKE Phase 1)
21
+ * // Note: The resource name is plural: "scm_ike_crypto_profile"
22
+ * const example = new scm.IkeCryptoProfile("example", {
23
+ * name: "example-ike-crypto",
24
+ * folder: folderScope,
25
+ * hashes: ["sha256"],
26
+ * dhGroups: ["group14"],
27
+ * encryptions: ["aes-256-cbc"],
28
+ * });
29
+ * //# 2. Define the IPsec Crypto Profile (IKE Phase 2)
30
+ * // Note: The resource name is plural and nested blocks now use an equals sign (=).
31
+ * const exampleIpsecCryptoProfile = new scm.IpsecCryptoProfile("example", {
32
+ * name: "panw-IPSec-Crypto",
33
+ * folder: folderScope,
34
+ * esp: {
35
+ * encryptions: ["aes-256-gcm"],
36
+ * authentications: ["sha256"],
37
+ * },
38
+ * dhGroup: "group14",
39
+ * lifetime: {
40
+ * hours: 8,
41
+ * },
42
+ * });
43
+ * //# 3. Define the IKE Gateway
44
+ * // Note: The resource name is plural and nested blocks now use an equals sign (=).
45
+ * const exampleIkeGateway = new scm.IkeGateway("example", {
46
+ * name: "example-gateway",
47
+ * folder: folderScope,
48
+ * peerAddress: {
49
+ * ip: "1.1.1.1",
50
+ * },
51
+ * authentication: {
52
+ * preSharedKey: {
53
+ * key: "secret",
54
+ * },
55
+ * },
56
+ * protocol: {
57
+ * ikev1: {
58
+ * ikeCryptoProfile: example.name,
59
+ * },
60
+ * },
61
+ * });
62
+ * //# 4. Define the IPsec Tunnel
63
+ * // Note: Nested 'auto_key' block uses an equals sign (=).
64
+ * const exampleIpsecTunnel = new scm.IpsecTunnel("example", {
65
+ * name: "example-tunnel",
66
+ * folder: folderScope,
67
+ * tunnelInterface: "tunnel",
68
+ * antiReplay: true,
69
+ * copyTos: false,
70
+ * enableGreEncapsulation: false,
71
+ * autoKey: {
72
+ * ikeGateways: [{
73
+ * name: exampleIkeGateway.name,
74
+ * }],
75
+ * ipsecCryptoProfile: exampleIpsecCryptoProfile.name,
76
+ * },
77
+ * }, {
78
+ * dependsOn: [exampleIkeGateway],
79
+ * });
80
+ * const siteAVpnSc = new scm.ServiceConnection("site_a_vpn_sc", {
81
+ * name: "creating_a_service_connection",
82
+ * region: "us-west-1",
83
+ * ipsecTunnel: exampleIpsecTunnel.name,
84
+ * subnets: [
85
+ * "10.1.0.0/16",
86
+ * "172.16.0.0/24",
87
+ * ],
88
+ * sourceNat: true,
89
+ * });
90
+ * ```
12
91
  */
13
92
  class ServiceConnection extends pulumi.CustomResource {
14
93
  /**
@@ -38,7 +117,7 @@ class ServiceConnection extends pulumi.CustomResource {
38
117
  opts = opts || {};
39
118
  if (opts.id) {
40
119
  const state = argsOrState;
41
- resourceInputs["backupSC"] = state?.backupSC;
120
+ resourceInputs["backupSc"] = state?.backupSc;
42
121
  resourceInputs["bgpPeer"] = state?.bgpPeer;
43
122
  resourceInputs["encryptedValues"] = state?.encryptedValues;
44
123
  resourceInputs["ipsecTunnel"] = state?.ipsecTunnel;
@@ -62,7 +141,7 @@ class ServiceConnection extends pulumi.CustomResource {
62
141
  if (args?.region === undefined && !opts.urn) {
63
142
  throw new Error("Missing required property 'region'");
64
143
  }
65
- resourceInputs["backupSC"] = args?.backupSC;
144
+ resourceInputs["backupSc"] = args?.backupSc;
66
145
  resourceInputs["bgpPeer"] = args?.bgpPeer;
67
146
  resourceInputs["ipsecTunnel"] = args?.ipsecTunnel;
68
147
  resourceInputs["name"] = args?.name;
@@ -1 +1 @@
1
- {"version":3,"file":"serviceConnection.js","sourceRoot":"","sources":["../serviceConnection.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;GAIG;AACH,MAAa,iBAAkB,SAAQ,MAAM,CAAC,cAAc;IACxD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA8B,EAAE,IAAmC;QAC5H,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,iBAAiB,CAAC,YAAY,CAAC;IAClE,CAAC;IAoED,YAAY,IAAY,EAAE,WAA4D,EAAE,IAAmC;QACvH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAiD,CAAC;YAChE,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;YAC7C,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,iBAAiB,CAAC,GAAG,KAAK,EAAE,eAAe,CAAC;YAC3D,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,mBAAmB,CAAC,GAAG,KAAK,EAAE,iBAAiB,CAAC;YAC/D,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,EAAE,cAAc,CAAC;YACzD,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;YAC7C,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC;YACnC,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,sBAAsB,CAAC,GAAG,KAAK,EAAE,oBAAoB,CAAC;YACrE,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;SACxC;aAAM;YACH,MAAM,IAAI,GAAG,WAAgD,CAAC;YAC9D,IAAI,IAAI,EAAE,WAAW,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC9C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC9D;YACD,IAAI,IAAI,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACzD;YACD,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,EAAE,iBAAiB,CAAC;YAC9D,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC;YACxD,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC;YAClC,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,sBAAsB,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC;YACpE,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACtD,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAC9C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,EAAE,uBAAuB,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACpE,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7C,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;;AA9IL,8CA+IC;AAjIG,gBAAgB;AACO,8BAAY,GAAG,+CAA+C,CAAC"}
1
+ {"version":3,"file":"serviceConnection.js","sourceRoot":"","sources":["../serviceConnection.ts"],"names":[],"mappings":"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"}