@volcengine/pulumi 0.0.33 → 0.0.34

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 (246) hide show
  1. package/apig/apigCustomDomain.d.ts +244 -0
  2. package/apig/apigCustomDomain.js +167 -0
  3. package/apig/apigCustomDomain.js.map +1 -0
  4. package/apig/apigGateway.d.ts +262 -0
  5. package/apig/apigGateway.js +150 -0
  6. package/apig/apigGateway.js.map +1 -0
  7. package/apig/apigGatewayService.d.ts +206 -0
  8. package/apig/apigGatewayService.js +159 -0
  9. package/apig/apigGatewayService.js.map +1 -0
  10. package/apig/apigRoute.d.ts +397 -0
  11. package/apig/apigRoute.js +299 -0
  12. package/apig/apigRoute.js.map +1 -0
  13. package/apig/apigUpstream.d.ts +375 -0
  14. package/apig/apigUpstream.js +278 -0
  15. package/apig/apigUpstream.js.map +1 -0
  16. package/apig/apigUpstreamSource.d.ts +214 -0
  17. package/apig/apigUpstreamSource.js +182 -0
  18. package/apig/apigUpstreamSource.js.map +1 -0
  19. package/apig/apigUpstreamVersion.d.ts +211 -0
  20. package/apig/apigUpstreamVersion.js +206 -0
  21. package/apig/apigUpstreamVersion.js.map +1 -0
  22. package/apig/customDomains.d.ts +112 -0
  23. package/apig/customDomains.js +55 -0
  24. package/apig/customDomains.js.map +1 -0
  25. package/apig/gatewayServices.d.ts +104 -0
  26. package/apig/gatewayServices.js +52 -0
  27. package/apig/gatewayServices.js.map +1 -0
  28. package/apig/gateways.d.ts +162 -0
  29. package/apig/gateways.js +63 -0
  30. package/apig/gateways.js.map +1 -0
  31. package/apig/getCustomDomains.d.ts +110 -0
  32. package/apig/getCustomDomains.js +52 -0
  33. package/apig/getCustomDomains.js.map +1 -0
  34. package/apig/getGatewayServices.d.ts +102 -0
  35. package/apig/getGatewayServices.js +49 -0
  36. package/apig/getGatewayServices.js.map +1 -0
  37. package/apig/getGateways.d.ts +160 -0
  38. package/apig/getGateways.js +60 -0
  39. package/apig/getGateways.js.map +1 -0
  40. package/apig/getRoutes.d.ts +153 -0
  41. package/apig/getRoutes.js +54 -0
  42. package/apig/getRoutes.js.map +1 -0
  43. package/apig/getUpstreamSources.d.ts +123 -0
  44. package/apig/getUpstreamSources.js +51 -0
  45. package/apig/getUpstreamSources.js.map +1 -0
  46. package/apig/getUpstreamVersions.d.ts +84 -0
  47. package/apig/getUpstreamVersions.js +47 -0
  48. package/apig/getUpstreamVersions.js.map +1 -0
  49. package/apig/getUpstreams.d.ts +140 -0
  50. package/apig/getUpstreams.js +60 -0
  51. package/apig/getUpstreams.js.map +1 -0
  52. package/apig/index.d.ts +63 -0
  53. package/apig/index.js +94 -0
  54. package/apig/index.js.map +1 -0
  55. package/apig/routes.d.ts +155 -0
  56. package/apig/routes.js +57 -0
  57. package/apig/routes.js.map +1 -0
  58. package/apig/upstreamSources.d.ts +125 -0
  59. package/apig/upstreamSources.js +54 -0
  60. package/apig/upstreamSources.js.map +1 -0
  61. package/apig/upstreamVersions.d.ts +86 -0
  62. package/apig/upstreamVersions.js +50 -0
  63. package/apig/upstreamVersions.js.map +1 -0
  64. package/apig/upstreams.d.ts +142 -0
  65. package/apig/upstreams.js +63 -0
  66. package/apig/upstreams.js.map +1 -0
  67. package/cen/interRegionBandwidth.d.ts +12 -0
  68. package/cen/interRegionBandwidth.js +2 -0
  69. package/cen/interRegionBandwidth.js.map +1 -1
  70. package/index.d.ts +3 -1
  71. package/index.js +6 -2
  72. package/index.js.map +1 -1
  73. package/package.json +1 -1
  74. package/types/input.d.ts +5918 -4016
  75. package/types/output.d.ts +35080 -27674
  76. package/vpc/cidrBlockAssociate.d.ts +83 -0
  77. package/vpc/cidrBlockAssociate.js +80 -0
  78. package/vpc/cidrBlockAssociate.js.map +1 -0
  79. package/vpc/flowLog.d.ts +266 -0
  80. package/vpc/flowLog.js +148 -0
  81. package/vpc/flowLog.js.map +1 -0
  82. package/vpc/flowLogActive.d.ts +103 -0
  83. package/vpc/flowLogActive.js +101 -0
  84. package/vpc/flowLogActive.js.map +1 -0
  85. package/vpc/flowLogs.d.ts +231 -0
  86. package/vpc/flowLogs.js +63 -0
  87. package/vpc/flowLogs.js.map +1 -0
  88. package/vpc/getFlowLogs.d.ts +229 -0
  89. package/vpc/getFlowLogs.js +60 -0
  90. package/vpc/getFlowLogs.js.map +1 -0
  91. package/vpc/getSubnets.d.ts +9 -0
  92. package/vpc/getSubnets.js +1 -0
  93. package/vpc/getSubnets.js.map +1 -1
  94. package/vpc/getTrafficMirrorFilterRules.d.ts +103 -0
  95. package/vpc/getTrafficMirrorFilterRules.js +50 -0
  96. package/vpc/getTrafficMirrorFilterRules.js.map +1 -0
  97. package/vpc/getTrafficMirrorFilters.d.ts +118 -0
  98. package/vpc/getTrafficMirrorFilters.js +51 -0
  99. package/vpc/getTrafficMirrorFilters.js.map +1 -0
  100. package/vpc/getTrafficMirrorSessions.d.ts +187 -0
  101. package/vpc/getTrafficMirrorSessions.js +57 -0
  102. package/vpc/getTrafficMirrorSessions.js.map +1 -0
  103. package/vpc/getTrafficMirrorTargets.d.ts +121 -0
  104. package/vpc/getTrafficMirrorTargets.js +51 -0
  105. package/vpc/getTrafficMirrorTargets.js.map +1 -0
  106. package/vpc/getVpcs.d.ts +9 -0
  107. package/vpc/getVpcs.js +1 -0
  108. package/vpc/getVpcs.js.map +1 -1
  109. package/vpc/index.d.ts +51 -0
  110. package/vpc/index.js +67 -2
  111. package/vpc/index.js.map +1 -1
  112. package/vpc/subnets.d.ts +9 -0
  113. package/vpc/subnets.js +1 -0
  114. package/vpc/subnets.js.map +1 -1
  115. package/vpc/trafficMirrorFilter.d.ts +137 -0
  116. package/vpc/trafficMirrorFilter.js +88 -0
  117. package/vpc/trafficMirrorFilter.js.map +1 -0
  118. package/vpc/trafficMirrorFilterRule.d.ts +245 -0
  119. package/vpc/trafficMirrorFilterRule.js +144 -0
  120. package/vpc/trafficMirrorFilterRule.js.map +1 -0
  121. package/vpc/trafficMirrorFilterRules.d.ts +105 -0
  122. package/vpc/trafficMirrorFilterRules.js +53 -0
  123. package/vpc/trafficMirrorFilterRules.js.map +1 -0
  124. package/vpc/trafficMirrorFilters.d.ts +120 -0
  125. package/vpc/trafficMirrorFilters.js +54 -0
  126. package/vpc/trafficMirrorFilters.js.map +1 -0
  127. package/vpc/trafficMirrorSession.d.ts +330 -0
  128. package/vpc/trafficMirrorSession.js +221 -0
  129. package/vpc/trafficMirrorSession.js.map +1 -0
  130. package/vpc/trafficMirrorSessions.d.ts +189 -0
  131. package/vpc/trafficMirrorSessions.js +60 -0
  132. package/vpc/trafficMirrorSessions.js.map +1 -0
  133. package/vpc/trafficMirrorTarget.d.ts +222 -0
  134. package/vpc/trafficMirrorTarget.js +159 -0
  135. package/vpc/trafficMirrorTarget.js.map +1 -0
  136. package/vpc/trafficMirrorTargets.d.ts +123 -0
  137. package/vpc/trafficMirrorTargets.js +54 -0
  138. package/vpc/trafficMirrorTargets.js.map +1 -0
  139. package/vpc/vpc.d.ts +8 -0
  140. package/vpc/vpc.js +2 -0
  141. package/vpc/vpc.js.map +1 -1
  142. package/vpc/vpcs.d.ts +9 -0
  143. package/vpc/vpcs.js +1 -0
  144. package/vpc/vpcs.js.map +1 -1
  145. package/waf/aclRule.d.ts +326 -0
  146. package/waf/aclRule.js +150 -0
  147. package/waf/aclRule.js.map +1 -0
  148. package/waf/aclRules.d.ts +170 -0
  149. package/waf/aclRules.js +69 -0
  150. package/waf/aclRules.js.map +1 -0
  151. package/waf/botAnalyseProtectRule.d.ts +320 -0
  152. package/waf/botAnalyseProtectRule.js +171 -0
  153. package/waf/botAnalyseProtectRule.js.map +1 -0
  154. package/waf/botAnalyseProtectRules.d.ts +145 -0
  155. package/waf/botAnalyseProtectRules.js +57 -0
  156. package/waf/botAnalyseProtectRules.js.map +1 -0
  157. package/waf/ccRule.d.ts +337 -0
  158. package/waf/ccRule.js +182 -0
  159. package/waf/ccRule.js.map +1 -0
  160. package/waf/ccRules.d.ts +149 -0
  161. package/waf/ccRules.js +61 -0
  162. package/waf/ccRules.js.map +1 -0
  163. package/waf/customBot.d.ts +191 -0
  164. package/waf/customBot.js +127 -0
  165. package/waf/customBot.js.map +1 -0
  166. package/waf/customBots.d.ts +86 -0
  167. package/waf/customBots.js +51 -0
  168. package/waf/customBots.js.map +1 -0
  169. package/waf/customPage.d.ts +310 -0
  170. package/waf/customPage.js +160 -0
  171. package/waf/customPage.js.map +1 -0
  172. package/waf/customPages.d.ts +110 -0
  173. package/waf/customPages.js +52 -0
  174. package/waf/customPages.js.map +1 -0
  175. package/waf/domains.d.ts +94 -0
  176. package/waf/domains.js +48 -0
  177. package/waf/domains.js.map +1 -0
  178. package/waf/getAclRules.d.ts +168 -0
  179. package/waf/getAclRules.js +66 -0
  180. package/waf/getAclRules.js.map +1 -0
  181. package/waf/getBotAnalyseProtectRules.d.ts +143 -0
  182. package/waf/getBotAnalyseProtectRules.js +54 -0
  183. package/waf/getBotAnalyseProtectRules.js.map +1 -0
  184. package/waf/getCcRules.d.ts +147 -0
  185. package/waf/getCcRules.js +58 -0
  186. package/waf/getCcRules.js.map +1 -0
  187. package/waf/getCustomBots.d.ts +84 -0
  188. package/waf/getCustomBots.js +48 -0
  189. package/waf/getCustomBots.js.map +1 -0
  190. package/waf/getCustomPages.d.ts +108 -0
  191. package/waf/getCustomPages.js +49 -0
  192. package/waf/getCustomPages.js.map +1 -0
  193. package/waf/getDomains.d.ts +92 -0
  194. package/waf/getDomains.js +45 -0
  195. package/waf/getDomains.js.map +1 -0
  196. package/waf/getHostGroups.d.ts +146 -0
  197. package/waf/getHostGroups.js +55 -0
  198. package/waf/getHostGroups.js.map +1 -0
  199. package/waf/getIpGroups.d.ts +105 -0
  200. package/waf/getIpGroups.js +49 -0
  201. package/waf/getIpGroups.js.map +1 -0
  202. package/waf/getProhibitions.d.ts +127 -0
  203. package/waf/getProhibitions.js +55 -0
  204. package/waf/getProhibitions.js.map +1 -0
  205. package/waf/getServiceCertificates.d.ts +71 -0
  206. package/waf/getServiceCertificates.js +43 -0
  207. package/waf/getServiceCertificates.js.map +1 -0
  208. package/waf/getSystemBots.d.ts +84 -0
  209. package/waf/getSystemBots.js +47 -0
  210. package/waf/getSystemBots.js.map +1 -0
  211. package/waf/hostGroup.d.ts +152 -0
  212. package/waf/hostGroup.js +90 -0
  213. package/waf/hostGroup.js.map +1 -0
  214. package/waf/hostGroups.d.ts +148 -0
  215. package/waf/hostGroups.js +58 -0
  216. package/waf/hostGroups.js.map +1 -0
  217. package/waf/index.d.ts +99 -0
  218. package/waf/index.js +139 -0
  219. package/waf/index.js.map +1 -0
  220. package/waf/instanceCtl.d.ts +95 -0
  221. package/waf/instanceCtl.js +76 -0
  222. package/waf/instanceCtl.js.map +1 -0
  223. package/waf/ipGroup.d.ts +132 -0
  224. package/waf/ipGroup.js +93 -0
  225. package/waf/ipGroup.js.map +1 -0
  226. package/waf/ipGroups.d.ts +107 -0
  227. package/waf/ipGroups.js +52 -0
  228. package/waf/ipGroups.js.map +1 -0
  229. package/waf/prohibitions.d.ts +129 -0
  230. package/waf/prohibitions.js +58 -0
  231. package/waf/prohibitions.js.map +1 -0
  232. package/waf/serviceCertificates.d.ts +73 -0
  233. package/waf/serviceCertificates.js +46 -0
  234. package/waf/serviceCertificates.js.map +1 -0
  235. package/waf/systemBot.d.ts +137 -0
  236. package/waf/systemBot.js +92 -0
  237. package/waf/systemBot.js.map +1 -0
  238. package/waf/systemBots.d.ts +86 -0
  239. package/waf/systemBots.js +50 -0
  240. package/waf/systemBots.js.map +1 -0
  241. package/waf/vulnerability.d.ts +116 -0
  242. package/waf/vulnerability.js +72 -0
  243. package/waf/vulnerability.js.map +1 -0
  244. package/waf/wafDomain.d.ts +877 -0
  245. package/waf/wafDomain.js +252 -0
  246. package/waf/wafDomain.js.map +1 -0
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.botAnalyseProtectRulesOutput = exports.botAnalyseProtectRules = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Use this data source to query detailed information of waf bot analyse protect rules
10
+ * ## Example Usage
11
+ *
12
+ * ```typescript
13
+ * import * as pulumi from "@pulumi/pulumi";
14
+ * import * as volcengine from "@pulumi/volcengine";
15
+ *
16
+ * const foo = volcengine.waf.getBotAnalyseProtectRules({
17
+ * botSpace: "BotRepeat",
18
+ * host: "www.tf-test.com",
19
+ * });
20
+ * ```
21
+ */
22
+ /** @deprecated volcengine.waf.BotAnalyseProtectRules has been deprecated in favor of volcengine.waf.getBotAnalyseProtectRules */
23
+ function botAnalyseProtectRules(args, opts) {
24
+ pulumi.log.warn("botAnalyseProtectRules is deprecated: volcengine.waf.BotAnalyseProtectRules has been deprecated in favor of volcengine.waf.getBotAnalyseProtectRules");
25
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
26
+ return pulumi.runtime.invoke("volcengine:waf/botAnalyseProtectRules:BotAnalyseProtectRules", {
27
+ "botSpace": args.botSpace,
28
+ "host": args.host,
29
+ "name": args.name,
30
+ "nameRegex": args.nameRegex,
31
+ "outputFile": args.outputFile,
32
+ "path": args.path,
33
+ "projectName": args.projectName,
34
+ "ruleTag": args.ruleTag,
35
+ }, opts);
36
+ }
37
+ exports.botAnalyseProtectRules = botAnalyseProtectRules;
38
+ /**
39
+ * Use this data source to query detailed information of waf bot analyse protect rules
40
+ * ## Example Usage
41
+ *
42
+ * ```typescript
43
+ * import * as pulumi from "@pulumi/pulumi";
44
+ * import * as volcengine from "@pulumi/volcengine";
45
+ *
46
+ * const foo = volcengine.waf.getBotAnalyseProtectRules({
47
+ * botSpace: "BotRepeat",
48
+ * host: "www.tf-test.com",
49
+ * });
50
+ * ```
51
+ */
52
+ /** @deprecated volcengine.waf.BotAnalyseProtectRules has been deprecated in favor of volcengine.waf.getBotAnalyseProtectRules */
53
+ function botAnalyseProtectRulesOutput(args, opts) {
54
+ return pulumi.output(args).apply((a) => botAnalyseProtectRules(a, opts));
55
+ }
56
+ exports.botAnalyseProtectRulesOutput = botAnalyseProtectRulesOutput;
57
+ //# sourceMappingURL=botAnalyseProtectRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"botAnalyseProtectRules.js","sourceRoot":"","sources":["../../waf/botAnalyseProtectRules.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,0CAA0C;AAE1C;;;;;;;;;;;;;GAaG;AACH,iIAAiI;AACjI,SAAgB,sBAAsB,CAAC,IAAgC,EAAE,IAA2B;IAChG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,sJAAsJ,CAAC,CAAA;IAEvK,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,8DAA8D,EAAE;QACzF,UAAU,EAAE,IAAI,CAAC,QAAQ;QACzB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,WAAW,EAAE,IAAI,CAAC,SAAS;QAC3B,YAAY,EAAE,IAAI,CAAC,UAAU;QAC7B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,aAAa,EAAE,IAAI,CAAC,WAAW;QAC/B,SAAS,EAAE,IAAI,CAAC,OAAO;KAC1B,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAdD,wDAcC;AA6ED;;;;;;;;;;;;;GAaG;AACH,iIAAiI;AACjI,SAAgB,4BAA4B,CAAC,IAAsC,EAAE,IAA2B;IAC5G,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AACjF,CAAC;AAFD,oEAEC"}
@@ -0,0 +1,337 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as outputs from "../types/output";
4
+ /**
5
+ * Provides a resource to manage waf cc rule
6
+ * ## Example Usage
7
+ *
8
+ * ```typescript
9
+ * import * as pulumi from "@pulumi/pulumi";
10
+ * import * as volcengine from "@volcengine/pulumi";
11
+ *
12
+ * const foo = new volcengine.waf.CcRule("foo", {
13
+ * accurateGroup: {
14
+ * accurateRules: [
15
+ * {
16
+ * httpObj: "request.uri",
17
+ * objType: 1,
18
+ * opretar: 2,
19
+ * property: 0,
20
+ * valueString: "tf",
21
+ * },
22
+ * {
23
+ * httpObj: "request.schema",
24
+ * objType: 0,
25
+ * opretar: 2,
26
+ * property: 0,
27
+ * valueString: "tf-2",
28
+ * },
29
+ * ],
30
+ * logic: 2,
31
+ * },
32
+ * ccType: 1,
33
+ * countTime: 102,
34
+ * cronConfs: [
35
+ * {
36
+ * crontab: "* 0 * * 1,2,3,4,5,6,0",
37
+ * pathThreshold: 123,
38
+ * singleThreshold: 234,
39
+ * },
40
+ * {
41
+ * crontab: "* 3-8 * * 1,2,3,4,5,6,0",
42
+ * pathThreshold: 345,
43
+ * singleThreshold: 456,
44
+ * },
45
+ * ],
46
+ * cronEnable: 1,
47
+ * effectTime: 200,
48
+ * enable: 1,
49
+ * exemptionTime: 0,
50
+ * field: "HEADER:User-Agemnt",
51
+ * host: "www.tf-test.com",
52
+ * pathThreshold: 101,
53
+ * rulePriority: 2,
54
+ * singleThreshold: 100,
55
+ * url: "/",
56
+ * });
57
+ * ```
58
+ *
59
+ * ## Import
60
+ *
61
+ * WafCcRule can be imported using the id, e.g.
62
+ *
63
+ * ```sh
64
+ * $ pulumi import volcengine:waf/ccRule:CcRule default resource_id:Host
65
+ * ```
66
+ */
67
+ export declare class CcRule extends pulumi.CustomResource {
68
+ /**
69
+ * Get an existing CcRule resource's state with the given name, ID, and optional extra
70
+ * properties used to qualify the lookup.
71
+ *
72
+ * @param name The _unique_ name of the resulting resource.
73
+ * @param id The _unique_ provider ID of the resource to lookup.
74
+ * @param state Any extra arguments used during the lookup.
75
+ * @param opts Optional settings to control the behavior of the CustomResource.
76
+ */
77
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CcRuleState, opts?: pulumi.CustomResourceOptions): CcRule;
78
+ /**
79
+ * Returns true if the given object is an instance of CcRule. This is designed to work even
80
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
81
+ */
82
+ static isInstance(obj: any): obj is CcRule;
83
+ /**
84
+ * Advanced conditions.
85
+ */
86
+ readonly accurateGroup: pulumi.Output<outputs.waf.CcRuleAccurateGroup | undefined>;
87
+ /**
88
+ * Whether to enable advanced conditions.
89
+ */
90
+ readonly advancedEnable: pulumi.Output<boolean | undefined>;
91
+ /**
92
+ * The actions performed on subsequent requests after meeting the statistical conditions.
93
+ */
94
+ readonly ccType: pulumi.Output<number>;
95
+ /**
96
+ * The statistical period of the strategy.
97
+ */
98
+ readonly countTime: pulumi.Output<number>;
99
+ /**
100
+ * Details of the periodic loop configuration.
101
+ */
102
+ readonly cronConfs: pulumi.Output<outputs.waf.CcRuleCronConf[] | undefined>;
103
+ /**
104
+ * Whether to set the cycle to take effect.
105
+ */
106
+ readonly cronEnable: pulumi.Output<number | undefined>;
107
+ /**
108
+ * Limit the duration, that is, the effective duration of the action.
109
+ */
110
+ readonly effectTime: pulumi.Output<number>;
111
+ /**
112
+ * Whether to enable the rules.
113
+ */
114
+ readonly enable: pulumi.Output<number>;
115
+ /**
116
+ * The total number of enabled rules within the rule group.
117
+ */
118
+ readonly enableCount: pulumi.Output<number>;
119
+ /**
120
+ * Strategy exemption time.
121
+ */
122
+ readonly exemptionTime: pulumi.Output<number | undefined>;
123
+ /**
124
+ * statistical object.
125
+ */
126
+ readonly field: pulumi.Output<string>;
127
+ /**
128
+ * Website domain names that require the setting of protection rules.
129
+ */
130
+ readonly host: pulumi.Output<string>;
131
+ /**
132
+ * The creation time of the rule group.
133
+ */
134
+ readonly insertTime: pulumi.Output<string>;
135
+ /**
136
+ * The name of cc rule.
137
+ */
138
+ readonly name: pulumi.Output<string>;
139
+ /**
140
+ * The threshold of the total number of times the request path is accessed.
141
+ */
142
+ readonly pathThreshold: pulumi.Output<number>;
143
+ /**
144
+ * The Name of the affiliated project resource.
145
+ */
146
+ readonly projectName: pulumi.Output<string | undefined>;
147
+ /**
148
+ * Details of the rule group.
149
+ */
150
+ readonly ruleGroups: pulumi.Output<outputs.waf.CcRuleRuleGroup[]>;
151
+ /**
152
+ * Rule execution priority.
153
+ */
154
+ readonly rulePriority: pulumi.Output<number>;
155
+ /**
156
+ * The threshold of the number of times each statistical object accesses the request path.
157
+ */
158
+ readonly singleThreshold: pulumi.Output<number>;
159
+ /**
160
+ * The total number of rules within the rule group.
161
+ */
162
+ readonly totalCount: pulumi.Output<number>;
163
+ /**
164
+ * The website request path that needs protection.
165
+ */
166
+ readonly url: pulumi.Output<string>;
167
+ /**
168
+ * Create a CcRule resource with the given unique name, arguments, and options.
169
+ *
170
+ * @param name The _unique_ name of the resource.
171
+ * @param args The arguments to use to populate this resource's properties.
172
+ * @param opts A bag of options that control this resource's behavior.
173
+ */
174
+ constructor(name: string, args: CcRuleArgs, opts?: pulumi.CustomResourceOptions);
175
+ }
176
+ /**
177
+ * Input properties used for looking up and filtering CcRule resources.
178
+ */
179
+ export interface CcRuleState {
180
+ /**
181
+ * Advanced conditions.
182
+ */
183
+ accurateGroup?: pulumi.Input<inputs.waf.CcRuleAccurateGroup>;
184
+ /**
185
+ * Whether to enable advanced conditions.
186
+ */
187
+ advancedEnable?: pulumi.Input<boolean>;
188
+ /**
189
+ * The actions performed on subsequent requests after meeting the statistical conditions.
190
+ */
191
+ ccType?: pulumi.Input<number>;
192
+ /**
193
+ * The statistical period of the strategy.
194
+ */
195
+ countTime?: pulumi.Input<number>;
196
+ /**
197
+ * Details of the periodic loop configuration.
198
+ */
199
+ cronConfs?: pulumi.Input<pulumi.Input<inputs.waf.CcRuleCronConf>[]>;
200
+ /**
201
+ * Whether to set the cycle to take effect.
202
+ */
203
+ cronEnable?: pulumi.Input<number>;
204
+ /**
205
+ * Limit the duration, that is, the effective duration of the action.
206
+ */
207
+ effectTime?: pulumi.Input<number>;
208
+ /**
209
+ * Whether to enable the rules.
210
+ */
211
+ enable?: pulumi.Input<number>;
212
+ /**
213
+ * The total number of enabled rules within the rule group.
214
+ */
215
+ enableCount?: pulumi.Input<number>;
216
+ /**
217
+ * Strategy exemption time.
218
+ */
219
+ exemptionTime?: pulumi.Input<number>;
220
+ /**
221
+ * statistical object.
222
+ */
223
+ field?: pulumi.Input<string>;
224
+ /**
225
+ * Website domain names that require the setting of protection rules.
226
+ */
227
+ host?: pulumi.Input<string>;
228
+ /**
229
+ * The creation time of the rule group.
230
+ */
231
+ insertTime?: pulumi.Input<string>;
232
+ /**
233
+ * The name of cc rule.
234
+ */
235
+ name?: pulumi.Input<string>;
236
+ /**
237
+ * The threshold of the total number of times the request path is accessed.
238
+ */
239
+ pathThreshold?: pulumi.Input<number>;
240
+ /**
241
+ * The Name of the affiliated project resource.
242
+ */
243
+ projectName?: pulumi.Input<string>;
244
+ /**
245
+ * Details of the rule group.
246
+ */
247
+ ruleGroups?: pulumi.Input<pulumi.Input<inputs.waf.CcRuleRuleGroup>[]>;
248
+ /**
249
+ * Rule execution priority.
250
+ */
251
+ rulePriority?: pulumi.Input<number>;
252
+ /**
253
+ * The threshold of the number of times each statistical object accesses the request path.
254
+ */
255
+ singleThreshold?: pulumi.Input<number>;
256
+ /**
257
+ * The total number of rules within the rule group.
258
+ */
259
+ totalCount?: pulumi.Input<number>;
260
+ /**
261
+ * The website request path that needs protection.
262
+ */
263
+ url?: pulumi.Input<string>;
264
+ }
265
+ /**
266
+ * The set of arguments for constructing a CcRule resource.
267
+ */
268
+ export interface CcRuleArgs {
269
+ /**
270
+ * Advanced conditions.
271
+ */
272
+ accurateGroup?: pulumi.Input<inputs.waf.CcRuleAccurateGroup>;
273
+ /**
274
+ * Whether to enable advanced conditions.
275
+ */
276
+ advancedEnable?: pulumi.Input<boolean>;
277
+ /**
278
+ * The actions performed on subsequent requests after meeting the statistical conditions.
279
+ */
280
+ ccType: pulumi.Input<number>;
281
+ /**
282
+ * The statistical period of the strategy.
283
+ */
284
+ countTime: pulumi.Input<number>;
285
+ /**
286
+ * Details of the periodic loop configuration.
287
+ */
288
+ cronConfs?: pulumi.Input<pulumi.Input<inputs.waf.CcRuleCronConf>[]>;
289
+ /**
290
+ * Whether to set the cycle to take effect.
291
+ */
292
+ cronEnable?: pulumi.Input<number>;
293
+ /**
294
+ * Limit the duration, that is, the effective duration of the action.
295
+ */
296
+ effectTime: pulumi.Input<number>;
297
+ /**
298
+ * Whether to enable the rules.
299
+ */
300
+ enable: pulumi.Input<number>;
301
+ /**
302
+ * Strategy exemption time.
303
+ */
304
+ exemptionTime?: pulumi.Input<number>;
305
+ /**
306
+ * statistical object.
307
+ */
308
+ field: pulumi.Input<string>;
309
+ /**
310
+ * Website domain names that require the setting of protection rules.
311
+ */
312
+ host: pulumi.Input<string>;
313
+ /**
314
+ * The name of cc rule.
315
+ */
316
+ name?: pulumi.Input<string>;
317
+ /**
318
+ * The threshold of the total number of times the request path is accessed.
319
+ */
320
+ pathThreshold: pulumi.Input<number>;
321
+ /**
322
+ * The Name of the affiliated project resource.
323
+ */
324
+ projectName?: pulumi.Input<string>;
325
+ /**
326
+ * Rule execution priority.
327
+ */
328
+ rulePriority: pulumi.Input<number>;
329
+ /**
330
+ * The threshold of the number of times each statistical object accesses the request path.
331
+ */
332
+ singleThreshold: pulumi.Input<number>;
333
+ /**
334
+ * The website request path that needs protection.
335
+ */
336
+ url: pulumi.Input<string>;
337
+ }
package/waf/ccRule.js ADDED
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.CcRule = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Provides a resource to manage waf cc rule
10
+ * ## Example Usage
11
+ *
12
+ * ```typescript
13
+ * import * as pulumi from "@pulumi/pulumi";
14
+ * import * as volcengine from "@volcengine/pulumi";
15
+ *
16
+ * const foo = new volcengine.waf.CcRule("foo", {
17
+ * accurateGroup: {
18
+ * accurateRules: [
19
+ * {
20
+ * httpObj: "request.uri",
21
+ * objType: 1,
22
+ * opretar: 2,
23
+ * property: 0,
24
+ * valueString: "tf",
25
+ * },
26
+ * {
27
+ * httpObj: "request.schema",
28
+ * objType: 0,
29
+ * opretar: 2,
30
+ * property: 0,
31
+ * valueString: "tf-2",
32
+ * },
33
+ * ],
34
+ * logic: 2,
35
+ * },
36
+ * ccType: 1,
37
+ * countTime: 102,
38
+ * cronConfs: [
39
+ * {
40
+ * crontab: "* 0 * * 1,2,3,4,5,6,0",
41
+ * pathThreshold: 123,
42
+ * singleThreshold: 234,
43
+ * },
44
+ * {
45
+ * crontab: "* 3-8 * * 1,2,3,4,5,6,0",
46
+ * pathThreshold: 345,
47
+ * singleThreshold: 456,
48
+ * },
49
+ * ],
50
+ * cronEnable: 1,
51
+ * effectTime: 200,
52
+ * enable: 1,
53
+ * exemptionTime: 0,
54
+ * field: "HEADER:User-Agemnt",
55
+ * host: "www.tf-test.com",
56
+ * pathThreshold: 101,
57
+ * rulePriority: 2,
58
+ * singleThreshold: 100,
59
+ * url: "/",
60
+ * });
61
+ * ```
62
+ *
63
+ * ## Import
64
+ *
65
+ * WafCcRule can be imported using the id, e.g.
66
+ *
67
+ * ```sh
68
+ * $ pulumi import volcengine:waf/ccRule:CcRule default resource_id:Host
69
+ * ```
70
+ */
71
+ class CcRule extends pulumi.CustomResource {
72
+ /**
73
+ * Get an existing CcRule resource's state with the given name, ID, and optional extra
74
+ * properties used to qualify the lookup.
75
+ *
76
+ * @param name The _unique_ name of the resulting resource.
77
+ * @param id The _unique_ provider ID of the resource to lookup.
78
+ * @param state Any extra arguments used during the lookup.
79
+ * @param opts Optional settings to control the behavior of the CustomResource.
80
+ */
81
+ static get(name, id, state, opts) {
82
+ return new CcRule(name, state, Object.assign(Object.assign({}, opts), { id: id }));
83
+ }
84
+ /**
85
+ * Returns true if the given object is an instance of CcRule. This is designed to work even
86
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
87
+ */
88
+ static isInstance(obj) {
89
+ if (obj === undefined || obj === null) {
90
+ return false;
91
+ }
92
+ return obj['__pulumiType'] === CcRule.__pulumiType;
93
+ }
94
+ constructor(name, argsOrState, opts) {
95
+ let resourceInputs = {};
96
+ opts = opts || {};
97
+ if (opts.id) {
98
+ const state = argsOrState;
99
+ resourceInputs["accurateGroup"] = state ? state.accurateGroup : undefined;
100
+ resourceInputs["advancedEnable"] = state ? state.advancedEnable : undefined;
101
+ resourceInputs["ccType"] = state ? state.ccType : undefined;
102
+ resourceInputs["countTime"] = state ? state.countTime : undefined;
103
+ resourceInputs["cronConfs"] = state ? state.cronConfs : undefined;
104
+ resourceInputs["cronEnable"] = state ? state.cronEnable : undefined;
105
+ resourceInputs["effectTime"] = state ? state.effectTime : undefined;
106
+ resourceInputs["enable"] = state ? state.enable : undefined;
107
+ resourceInputs["enableCount"] = state ? state.enableCount : undefined;
108
+ resourceInputs["exemptionTime"] = state ? state.exemptionTime : undefined;
109
+ resourceInputs["field"] = state ? state.field : undefined;
110
+ resourceInputs["host"] = state ? state.host : undefined;
111
+ resourceInputs["insertTime"] = state ? state.insertTime : undefined;
112
+ resourceInputs["name"] = state ? state.name : undefined;
113
+ resourceInputs["pathThreshold"] = state ? state.pathThreshold : undefined;
114
+ resourceInputs["projectName"] = state ? state.projectName : undefined;
115
+ resourceInputs["ruleGroups"] = state ? state.ruleGroups : undefined;
116
+ resourceInputs["rulePriority"] = state ? state.rulePriority : undefined;
117
+ resourceInputs["singleThreshold"] = state ? state.singleThreshold : undefined;
118
+ resourceInputs["totalCount"] = state ? state.totalCount : undefined;
119
+ resourceInputs["url"] = state ? state.url : undefined;
120
+ }
121
+ else {
122
+ const args = argsOrState;
123
+ if ((!args || args.ccType === undefined) && !opts.urn) {
124
+ throw new Error("Missing required property 'ccType'");
125
+ }
126
+ if ((!args || args.countTime === undefined) && !opts.urn) {
127
+ throw new Error("Missing required property 'countTime'");
128
+ }
129
+ if ((!args || args.effectTime === undefined) && !opts.urn) {
130
+ throw new Error("Missing required property 'effectTime'");
131
+ }
132
+ if ((!args || args.enable === undefined) && !opts.urn) {
133
+ throw new Error("Missing required property 'enable'");
134
+ }
135
+ if ((!args || args.field === undefined) && !opts.urn) {
136
+ throw new Error("Missing required property 'field'");
137
+ }
138
+ if ((!args || args.host === undefined) && !opts.urn) {
139
+ throw new Error("Missing required property 'host'");
140
+ }
141
+ if ((!args || args.pathThreshold === undefined) && !opts.urn) {
142
+ throw new Error("Missing required property 'pathThreshold'");
143
+ }
144
+ if ((!args || args.rulePriority === undefined) && !opts.urn) {
145
+ throw new Error("Missing required property 'rulePriority'");
146
+ }
147
+ if ((!args || args.singleThreshold === undefined) && !opts.urn) {
148
+ throw new Error("Missing required property 'singleThreshold'");
149
+ }
150
+ if ((!args || args.url === undefined) && !opts.urn) {
151
+ throw new Error("Missing required property 'url'");
152
+ }
153
+ resourceInputs["accurateGroup"] = args ? args.accurateGroup : undefined;
154
+ resourceInputs["advancedEnable"] = args ? args.advancedEnable : undefined;
155
+ resourceInputs["ccType"] = args ? args.ccType : undefined;
156
+ resourceInputs["countTime"] = args ? args.countTime : undefined;
157
+ resourceInputs["cronConfs"] = args ? args.cronConfs : undefined;
158
+ resourceInputs["cronEnable"] = args ? args.cronEnable : undefined;
159
+ resourceInputs["effectTime"] = args ? args.effectTime : undefined;
160
+ resourceInputs["enable"] = args ? args.enable : undefined;
161
+ resourceInputs["exemptionTime"] = args ? args.exemptionTime : undefined;
162
+ resourceInputs["field"] = args ? args.field : undefined;
163
+ resourceInputs["host"] = args ? args.host : undefined;
164
+ resourceInputs["name"] = args ? args.name : undefined;
165
+ resourceInputs["pathThreshold"] = args ? args.pathThreshold : undefined;
166
+ resourceInputs["projectName"] = args ? args.projectName : undefined;
167
+ resourceInputs["rulePriority"] = args ? args.rulePriority : undefined;
168
+ resourceInputs["singleThreshold"] = args ? args.singleThreshold : undefined;
169
+ resourceInputs["url"] = args ? args.url : undefined;
170
+ resourceInputs["enableCount"] = undefined /*out*/;
171
+ resourceInputs["insertTime"] = undefined /*out*/;
172
+ resourceInputs["ruleGroups"] = undefined /*out*/;
173
+ resourceInputs["totalCount"] = undefined /*out*/;
174
+ }
175
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
176
+ super(CcRule.__pulumiType, name, resourceInputs, opts);
177
+ }
178
+ }
179
+ exports.CcRule = CcRule;
180
+ /** @internal */
181
+ CcRule.__pulumiType = 'volcengine:waf/ccRule:CcRule';
182
+ //# sourceMappingURL=ccRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ccRule.js","sourceRoot":"","sources":["../../waf/ccRule.ts"],"names":[],"mappings":"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"}