@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,397 @@
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 apig route
6
+ * ## Example Usage
7
+ *
8
+ * ```typescript
9
+ * import * as pulumi from "@pulumi/pulumi";
10
+ * import * as volcengine from "@pulumi/volcengine";
11
+ * import * as volcengine from "@volcengine/pulumi";
12
+ *
13
+ * const fooZones = volcengine.ecs.getZones({});
14
+ * const fooVpc = new volcengine.vpc.Vpc("fooVpc", {
15
+ * vpcName: "acc-test-vpc",
16
+ * cidrBlock: "172.16.0.0/16",
17
+ * });
18
+ * const foo1 = new volcengine.vpc.Subnet("foo1", {
19
+ * subnetName: "acc-test-subnet",
20
+ * cidrBlock: "172.16.0.0/24",
21
+ * zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id),
22
+ * vpcId: fooVpc.id,
23
+ * });
24
+ * const foo2 = new volcengine.vpc.Subnet("foo2", {
25
+ * subnetName: "acc-test-subnet",
26
+ * cidrBlock: "172.16.1.0/24",
27
+ * zoneId: fooZones.then(fooZones => fooZones.zones?.[1]?.id),
28
+ * vpcId: fooVpc.id,
29
+ * });
30
+ * const fooApigGateway = new volcengine.apig.ApigGateway("fooApigGateway", {
31
+ * type: "standard",
32
+ * comments: "acc-test",
33
+ * projectName: "default",
34
+ * tags: [{
35
+ * key: "k1",
36
+ * value: "v1",
37
+ * }],
38
+ * networkSpec: {
39
+ * vpcId: fooVpc.id,
40
+ * subnetIds: [
41
+ * foo1.id,
42
+ * foo2.id,
43
+ * ],
44
+ * },
45
+ * resourceSpec: {
46
+ * replicas: 2,
47
+ * instanceSpecCode: "1c2g",
48
+ * clbSpecCode: "small_1",
49
+ * publicNetworkBillingType: "bandwidth",
50
+ * publicNetworkBandwidth: 1,
51
+ * networkType: {
52
+ * enablePublicNetwork: true,
53
+ * enablePrivateNetwork: true,
54
+ * },
55
+ * },
56
+ * logSpec: {
57
+ * enable: true,
58
+ * projectId: "d3cb87c0-faeb-4074-b1ee-9bd747865a76",
59
+ * topicId: "d339482e-d86d-4bd8-a9bb-f270417f00a1",
60
+ * },
61
+ * monitorSpec: {
62
+ * enable: true,
63
+ * workspaceId: "4ed1caf3-279d-4c5f-8301-87ea38e92ffc",
64
+ * },
65
+ * });
66
+ * const fooApigGatewayService = new volcengine.apig.ApigGatewayService("fooApigGatewayService", {
67
+ * gatewayId: fooApigGateway.id,
68
+ * serviceName: "acc-test-apig-service",
69
+ * comments: "acc-test",
70
+ * protocols: [
71
+ * "HTTP",
72
+ * "HTTPS",
73
+ * ],
74
+ * authSpec: {
75
+ * enable: false,
76
+ * },
77
+ * });
78
+ * const foo_fixed_ip = new volcengine.apig.ApigUpstream("foo-fixed-ip", {
79
+ * gatewayId: fooApigGateway.id,
80
+ * comments: "acc-test",
81
+ * resourceType: "Console",
82
+ * protocol: "HTTP",
83
+ * loadBalancerSettings: {
84
+ * lbPolicy: "ConsistentHashLB",
85
+ * consistentHashLb: {
86
+ * hashKey: "HTTPCookie",
87
+ * httpCookie: {
88
+ * name: "test",
89
+ * path: "/",
90
+ * ttl: 300,
91
+ * },
92
+ * },
93
+ * },
94
+ * tlsSettings: {
95
+ * tlsMode: "SIMPLE",
96
+ * sni: "test",
97
+ * },
98
+ * circuitBreakingSettings: {
99
+ * enable: false,
100
+ * consecutiveErrors: 5,
101
+ * interval: 10000,
102
+ * baseEjectionTime: 30000,
103
+ * maxEjectionPercent: 20,
104
+ * minHealthPercent: 60,
105
+ * },
106
+ * sourceType: "FixedIP",
107
+ * upstreamSpec: {
108
+ * fixedIpLists: [
109
+ * {
110
+ * ip: "172.16.0.10",
111
+ * port: 8080,
112
+ * },
113
+ * {
114
+ * ip: "172.16.0.20",
115
+ * port: 8090,
116
+ * },
117
+ * {
118
+ * ip: "172.16.0.30",
119
+ * port: 8099,
120
+ * },
121
+ * ],
122
+ * },
123
+ * });
124
+ * const fooApigRoute = new volcengine.apig.ApigRoute("fooApigRoute", {
125
+ * serviceId: fooApigGatewayService.id,
126
+ * resourceType: "Console",
127
+ * priority: 2,
128
+ * enable: true,
129
+ * upstreamLists: [{
130
+ * upstreamId: foo_fixed_ip.id,
131
+ * weight: 100,
132
+ * }],
133
+ * matchRule: {
134
+ * path: {
135
+ * matchType: "Prefix",
136
+ * matchContent: "/test",
137
+ * },
138
+ * methods: [
139
+ * "GET",
140
+ * "POST",
141
+ * ],
142
+ * queryStrings: [{
143
+ * key: "test-key",
144
+ * value: {
145
+ * matchType: "Exact",
146
+ * matchContent: "test-value",
147
+ * },
148
+ * }],
149
+ * headers: [{
150
+ * key: "test-header",
151
+ * value: {
152
+ * matchType: "Regex",
153
+ * matchContent: "test-value",
154
+ * },
155
+ * }],
156
+ * },
157
+ * advancedSetting: {
158
+ * timeoutSetting: {
159
+ * enable: false,
160
+ * timeout: 10,
161
+ * },
162
+ * corsPolicySetting: {
163
+ * enable: false,
164
+ * },
165
+ * urlRewriteSetting: {
166
+ * enable: true,
167
+ * urlRewrite: "/test",
168
+ * },
169
+ * retryPolicySetting: {
170
+ * enable: true,
171
+ * attempts: 5,
172
+ * perTryTimeout: 1000,
173
+ * retryOns: [
174
+ * "5xx",
175
+ * "reset",
176
+ * ],
177
+ * httpCodes: [
178
+ * "500",
179
+ * "502",
180
+ * "503",
181
+ * "504",
182
+ * ],
183
+ * },
184
+ * headerOperations: [
185
+ * {
186
+ * operation: "add",
187
+ * key: "test-header-req",
188
+ * value: "test-value",
189
+ * directionType: "request",
190
+ * },
191
+ * {
192
+ * operation: "set",
193
+ * key: "test-header-resp",
194
+ * value: "test-value",
195
+ * directionType: "response",
196
+ * },
197
+ * ],
198
+ * mirrorPolicies: [{
199
+ * upstream: {
200
+ * upstreamId: foo_fixed_ip.id,
201
+ * type: "fixed_ip",
202
+ * },
203
+ * percent: {
204
+ * value: 50,
205
+ * },
206
+ * }],
207
+ * },
208
+ * });
209
+ * ```
210
+ *
211
+ * ## Import
212
+ *
213
+ * ApigRoute can be imported using the id, e.g.
214
+ *
215
+ * ```sh
216
+ * $ pulumi import volcengine:apig/apigRoute:ApigRoute default resource_id
217
+ * ```
218
+ */
219
+ export declare class ApigRoute extends pulumi.CustomResource {
220
+ /**
221
+ * Get an existing ApigRoute resource's state with the given name, ID, and optional extra
222
+ * properties used to qualify the lookup.
223
+ *
224
+ * @param name The _unique_ name of the resulting resource.
225
+ * @param id The _unique_ provider ID of the resource to lookup.
226
+ * @param state Any extra arguments used during the lookup.
227
+ * @param opts Optional settings to control the behavior of the CustomResource.
228
+ */
229
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ApigRouteState, opts?: pulumi.CustomResourceOptions): ApigRoute;
230
+ /**
231
+ * Returns true if the given object is an instance of ApigRoute. This is designed to work even
232
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
233
+ */
234
+ static isInstance(obj: any): obj is ApigRoute;
235
+ /**
236
+ * The advanced setting of the api gateway route.
237
+ */
238
+ readonly advancedSetting: pulumi.Output<outputs.apig.ApigRouteAdvancedSetting>;
239
+ /**
240
+ * The create time of the api gateway route.
241
+ */
242
+ readonly createTime: pulumi.Output<string>;
243
+ /**
244
+ * The custom domains of the api gateway route.
245
+ */
246
+ readonly customDomains: pulumi.Output<outputs.apig.ApigRouteCustomDomain[]>;
247
+ /**
248
+ * The domains of the api gateway route.
249
+ */
250
+ readonly domains: pulumi.Output<outputs.apig.ApigRouteDomain[]>;
251
+ /**
252
+ * Whether the apig route is enabled. Default is `false`.
253
+ */
254
+ readonly enable: pulumi.Output<boolean>;
255
+ /**
256
+ * The match rule of the api gateway route.
257
+ */
258
+ readonly matchRule: pulumi.Output<outputs.apig.ApigRouteMatchRule>;
259
+ /**
260
+ * The name of the apig route.
261
+ */
262
+ readonly name: pulumi.Output<string>;
263
+ /**
264
+ * The priority of the apig route. Valid values: 0~100.
265
+ */
266
+ readonly priority: pulumi.Output<number>;
267
+ /**
268
+ * The reason of the api gateway route.
269
+ */
270
+ readonly reason: pulumi.Output<string>;
271
+ /**
272
+ * The resource type of the apig route. Valid values: `Console`, `Ingress` Default is `Console`.
273
+ */
274
+ readonly resourceType: pulumi.Output<string>;
275
+ /**
276
+ * The service id of the apig route.
277
+ */
278
+ readonly serviceId: pulumi.Output<string>;
279
+ /**
280
+ * The status of the api gateway route.
281
+ */
282
+ readonly status: pulumi.Output<string>;
283
+ /**
284
+ * The update time of the api gateway route.
285
+ */
286
+ readonly updateTime: pulumi.Output<string>;
287
+ /**
288
+ * The upstream list of the api gateway route.
289
+ */
290
+ readonly upstreamLists: pulumi.Output<outputs.apig.ApigRouteUpstreamList[]>;
291
+ /**
292
+ * Create a ApigRoute resource with the given unique name, arguments, and options.
293
+ *
294
+ * @param name The _unique_ name of the resource.
295
+ * @param args The arguments to use to populate this resource's properties.
296
+ * @param opts A bag of options that control this resource's behavior.
297
+ */
298
+ constructor(name: string, args: ApigRouteArgs, opts?: pulumi.CustomResourceOptions);
299
+ }
300
+ /**
301
+ * Input properties used for looking up and filtering ApigRoute resources.
302
+ */
303
+ export interface ApigRouteState {
304
+ /**
305
+ * The advanced setting of the api gateway route.
306
+ */
307
+ advancedSetting?: pulumi.Input<inputs.apig.ApigRouteAdvancedSetting>;
308
+ /**
309
+ * The create time of the api gateway route.
310
+ */
311
+ createTime?: pulumi.Input<string>;
312
+ /**
313
+ * The custom domains of the api gateway route.
314
+ */
315
+ customDomains?: pulumi.Input<pulumi.Input<inputs.apig.ApigRouteCustomDomain>[]>;
316
+ /**
317
+ * The domains of the api gateway route.
318
+ */
319
+ domains?: pulumi.Input<pulumi.Input<inputs.apig.ApigRouteDomain>[]>;
320
+ /**
321
+ * Whether the apig route is enabled. Default is `false`.
322
+ */
323
+ enable?: pulumi.Input<boolean>;
324
+ /**
325
+ * The match rule of the api gateway route.
326
+ */
327
+ matchRule?: pulumi.Input<inputs.apig.ApigRouteMatchRule>;
328
+ /**
329
+ * The name of the apig route.
330
+ */
331
+ name?: pulumi.Input<string>;
332
+ /**
333
+ * The priority of the apig route. Valid values: 0~100.
334
+ */
335
+ priority?: pulumi.Input<number>;
336
+ /**
337
+ * The reason of the api gateway route.
338
+ */
339
+ reason?: pulumi.Input<string>;
340
+ /**
341
+ * The resource type of the apig route. Valid values: `Console`, `Ingress` Default is `Console`.
342
+ */
343
+ resourceType?: pulumi.Input<string>;
344
+ /**
345
+ * The service id of the apig route.
346
+ */
347
+ serviceId?: pulumi.Input<string>;
348
+ /**
349
+ * The status of the api gateway route.
350
+ */
351
+ status?: pulumi.Input<string>;
352
+ /**
353
+ * The update time of the api gateway route.
354
+ */
355
+ updateTime?: pulumi.Input<string>;
356
+ /**
357
+ * The upstream list of the api gateway route.
358
+ */
359
+ upstreamLists?: pulumi.Input<pulumi.Input<inputs.apig.ApigRouteUpstreamList>[]>;
360
+ }
361
+ /**
362
+ * The set of arguments for constructing a ApigRoute resource.
363
+ */
364
+ export interface ApigRouteArgs {
365
+ /**
366
+ * The advanced setting of the api gateway route.
367
+ */
368
+ advancedSetting?: pulumi.Input<inputs.apig.ApigRouteAdvancedSetting>;
369
+ /**
370
+ * Whether the apig route is enabled. Default is `false`.
371
+ */
372
+ enable?: pulumi.Input<boolean>;
373
+ /**
374
+ * The match rule of the api gateway route.
375
+ */
376
+ matchRule: pulumi.Input<inputs.apig.ApigRouteMatchRule>;
377
+ /**
378
+ * The name of the apig route.
379
+ */
380
+ name?: pulumi.Input<string>;
381
+ /**
382
+ * The priority of the apig route. Valid values: 0~100.
383
+ */
384
+ priority?: pulumi.Input<number>;
385
+ /**
386
+ * The resource type of the apig route. Valid values: `Console`, `Ingress` Default is `Console`.
387
+ */
388
+ resourceType?: pulumi.Input<string>;
389
+ /**
390
+ * The service id of the apig route.
391
+ */
392
+ serviceId: pulumi.Input<string>;
393
+ /**
394
+ * The upstream list of the api gateway route.
395
+ */
396
+ upstreamLists: pulumi.Input<pulumi.Input<inputs.apig.ApigRouteUpstreamList>[]>;
397
+ }
@@ -0,0 +1,299 @@
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.ApigRoute = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Provides a resource to manage apig route
10
+ * ## Example Usage
11
+ *
12
+ * ```typescript
13
+ * import * as pulumi from "@pulumi/pulumi";
14
+ * import * as volcengine from "@pulumi/volcengine";
15
+ * import * as volcengine from "@volcengine/pulumi";
16
+ *
17
+ * const fooZones = volcengine.ecs.getZones({});
18
+ * const fooVpc = new volcengine.vpc.Vpc("fooVpc", {
19
+ * vpcName: "acc-test-vpc",
20
+ * cidrBlock: "172.16.0.0/16",
21
+ * });
22
+ * const foo1 = new volcengine.vpc.Subnet("foo1", {
23
+ * subnetName: "acc-test-subnet",
24
+ * cidrBlock: "172.16.0.0/24",
25
+ * zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id),
26
+ * vpcId: fooVpc.id,
27
+ * });
28
+ * const foo2 = new volcengine.vpc.Subnet("foo2", {
29
+ * subnetName: "acc-test-subnet",
30
+ * cidrBlock: "172.16.1.0/24",
31
+ * zoneId: fooZones.then(fooZones => fooZones.zones?.[1]?.id),
32
+ * vpcId: fooVpc.id,
33
+ * });
34
+ * const fooApigGateway = new volcengine.apig.ApigGateway("fooApigGateway", {
35
+ * type: "standard",
36
+ * comments: "acc-test",
37
+ * projectName: "default",
38
+ * tags: [{
39
+ * key: "k1",
40
+ * value: "v1",
41
+ * }],
42
+ * networkSpec: {
43
+ * vpcId: fooVpc.id,
44
+ * subnetIds: [
45
+ * foo1.id,
46
+ * foo2.id,
47
+ * ],
48
+ * },
49
+ * resourceSpec: {
50
+ * replicas: 2,
51
+ * instanceSpecCode: "1c2g",
52
+ * clbSpecCode: "small_1",
53
+ * publicNetworkBillingType: "bandwidth",
54
+ * publicNetworkBandwidth: 1,
55
+ * networkType: {
56
+ * enablePublicNetwork: true,
57
+ * enablePrivateNetwork: true,
58
+ * },
59
+ * },
60
+ * logSpec: {
61
+ * enable: true,
62
+ * projectId: "d3cb87c0-faeb-4074-b1ee-9bd747865a76",
63
+ * topicId: "d339482e-d86d-4bd8-a9bb-f270417f00a1",
64
+ * },
65
+ * monitorSpec: {
66
+ * enable: true,
67
+ * workspaceId: "4ed1caf3-279d-4c5f-8301-87ea38e92ffc",
68
+ * },
69
+ * });
70
+ * const fooApigGatewayService = new volcengine.apig.ApigGatewayService("fooApigGatewayService", {
71
+ * gatewayId: fooApigGateway.id,
72
+ * serviceName: "acc-test-apig-service",
73
+ * comments: "acc-test",
74
+ * protocols: [
75
+ * "HTTP",
76
+ * "HTTPS",
77
+ * ],
78
+ * authSpec: {
79
+ * enable: false,
80
+ * },
81
+ * });
82
+ * const foo_fixed_ip = new volcengine.apig.ApigUpstream("foo-fixed-ip", {
83
+ * gatewayId: fooApigGateway.id,
84
+ * comments: "acc-test",
85
+ * resourceType: "Console",
86
+ * protocol: "HTTP",
87
+ * loadBalancerSettings: {
88
+ * lbPolicy: "ConsistentHashLB",
89
+ * consistentHashLb: {
90
+ * hashKey: "HTTPCookie",
91
+ * httpCookie: {
92
+ * name: "test",
93
+ * path: "/",
94
+ * ttl: 300,
95
+ * },
96
+ * },
97
+ * },
98
+ * tlsSettings: {
99
+ * tlsMode: "SIMPLE",
100
+ * sni: "test",
101
+ * },
102
+ * circuitBreakingSettings: {
103
+ * enable: false,
104
+ * consecutiveErrors: 5,
105
+ * interval: 10000,
106
+ * baseEjectionTime: 30000,
107
+ * maxEjectionPercent: 20,
108
+ * minHealthPercent: 60,
109
+ * },
110
+ * sourceType: "FixedIP",
111
+ * upstreamSpec: {
112
+ * fixedIpLists: [
113
+ * {
114
+ * ip: "172.16.0.10",
115
+ * port: 8080,
116
+ * },
117
+ * {
118
+ * ip: "172.16.0.20",
119
+ * port: 8090,
120
+ * },
121
+ * {
122
+ * ip: "172.16.0.30",
123
+ * port: 8099,
124
+ * },
125
+ * ],
126
+ * },
127
+ * });
128
+ * const fooApigRoute = new volcengine.apig.ApigRoute("fooApigRoute", {
129
+ * serviceId: fooApigGatewayService.id,
130
+ * resourceType: "Console",
131
+ * priority: 2,
132
+ * enable: true,
133
+ * upstreamLists: [{
134
+ * upstreamId: foo_fixed_ip.id,
135
+ * weight: 100,
136
+ * }],
137
+ * matchRule: {
138
+ * path: {
139
+ * matchType: "Prefix",
140
+ * matchContent: "/test",
141
+ * },
142
+ * methods: [
143
+ * "GET",
144
+ * "POST",
145
+ * ],
146
+ * queryStrings: [{
147
+ * key: "test-key",
148
+ * value: {
149
+ * matchType: "Exact",
150
+ * matchContent: "test-value",
151
+ * },
152
+ * }],
153
+ * headers: [{
154
+ * key: "test-header",
155
+ * value: {
156
+ * matchType: "Regex",
157
+ * matchContent: "test-value",
158
+ * },
159
+ * }],
160
+ * },
161
+ * advancedSetting: {
162
+ * timeoutSetting: {
163
+ * enable: false,
164
+ * timeout: 10,
165
+ * },
166
+ * corsPolicySetting: {
167
+ * enable: false,
168
+ * },
169
+ * urlRewriteSetting: {
170
+ * enable: true,
171
+ * urlRewrite: "/test",
172
+ * },
173
+ * retryPolicySetting: {
174
+ * enable: true,
175
+ * attempts: 5,
176
+ * perTryTimeout: 1000,
177
+ * retryOns: [
178
+ * "5xx",
179
+ * "reset",
180
+ * ],
181
+ * httpCodes: [
182
+ * "500",
183
+ * "502",
184
+ * "503",
185
+ * "504",
186
+ * ],
187
+ * },
188
+ * headerOperations: [
189
+ * {
190
+ * operation: "add",
191
+ * key: "test-header-req",
192
+ * value: "test-value",
193
+ * directionType: "request",
194
+ * },
195
+ * {
196
+ * operation: "set",
197
+ * key: "test-header-resp",
198
+ * value: "test-value",
199
+ * directionType: "response",
200
+ * },
201
+ * ],
202
+ * mirrorPolicies: [{
203
+ * upstream: {
204
+ * upstreamId: foo_fixed_ip.id,
205
+ * type: "fixed_ip",
206
+ * },
207
+ * percent: {
208
+ * value: 50,
209
+ * },
210
+ * }],
211
+ * },
212
+ * });
213
+ * ```
214
+ *
215
+ * ## Import
216
+ *
217
+ * ApigRoute can be imported using the id, e.g.
218
+ *
219
+ * ```sh
220
+ * $ pulumi import volcengine:apig/apigRoute:ApigRoute default resource_id
221
+ * ```
222
+ */
223
+ class ApigRoute extends pulumi.CustomResource {
224
+ /**
225
+ * Get an existing ApigRoute resource's state with the given name, ID, and optional extra
226
+ * properties used to qualify the lookup.
227
+ *
228
+ * @param name The _unique_ name of the resulting resource.
229
+ * @param id The _unique_ provider ID of the resource to lookup.
230
+ * @param state Any extra arguments used during the lookup.
231
+ * @param opts Optional settings to control the behavior of the CustomResource.
232
+ */
233
+ static get(name, id, state, opts) {
234
+ return new ApigRoute(name, state, Object.assign(Object.assign({}, opts), { id: id }));
235
+ }
236
+ /**
237
+ * Returns true if the given object is an instance of ApigRoute. This is designed to work even
238
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
239
+ */
240
+ static isInstance(obj) {
241
+ if (obj === undefined || obj === null) {
242
+ return false;
243
+ }
244
+ return obj['__pulumiType'] === ApigRoute.__pulumiType;
245
+ }
246
+ constructor(name, argsOrState, opts) {
247
+ let resourceInputs = {};
248
+ opts = opts || {};
249
+ if (opts.id) {
250
+ const state = argsOrState;
251
+ resourceInputs["advancedSetting"] = state ? state.advancedSetting : undefined;
252
+ resourceInputs["createTime"] = state ? state.createTime : undefined;
253
+ resourceInputs["customDomains"] = state ? state.customDomains : undefined;
254
+ resourceInputs["domains"] = state ? state.domains : undefined;
255
+ resourceInputs["enable"] = state ? state.enable : undefined;
256
+ resourceInputs["matchRule"] = state ? state.matchRule : undefined;
257
+ resourceInputs["name"] = state ? state.name : undefined;
258
+ resourceInputs["priority"] = state ? state.priority : undefined;
259
+ resourceInputs["reason"] = state ? state.reason : undefined;
260
+ resourceInputs["resourceType"] = state ? state.resourceType : undefined;
261
+ resourceInputs["serviceId"] = state ? state.serviceId : undefined;
262
+ resourceInputs["status"] = state ? state.status : undefined;
263
+ resourceInputs["updateTime"] = state ? state.updateTime : undefined;
264
+ resourceInputs["upstreamLists"] = state ? state.upstreamLists : undefined;
265
+ }
266
+ else {
267
+ const args = argsOrState;
268
+ if ((!args || args.matchRule === undefined) && !opts.urn) {
269
+ throw new Error("Missing required property 'matchRule'");
270
+ }
271
+ if ((!args || args.serviceId === undefined) && !opts.urn) {
272
+ throw new Error("Missing required property 'serviceId'");
273
+ }
274
+ if ((!args || args.upstreamLists === undefined) && !opts.urn) {
275
+ throw new Error("Missing required property 'upstreamLists'");
276
+ }
277
+ resourceInputs["advancedSetting"] = args ? args.advancedSetting : undefined;
278
+ resourceInputs["enable"] = args ? args.enable : undefined;
279
+ resourceInputs["matchRule"] = args ? args.matchRule : undefined;
280
+ resourceInputs["name"] = args ? args.name : undefined;
281
+ resourceInputs["priority"] = args ? args.priority : undefined;
282
+ resourceInputs["resourceType"] = args ? args.resourceType : undefined;
283
+ resourceInputs["serviceId"] = args ? args.serviceId : undefined;
284
+ resourceInputs["upstreamLists"] = args ? args.upstreamLists : undefined;
285
+ resourceInputs["createTime"] = undefined /*out*/;
286
+ resourceInputs["customDomains"] = undefined /*out*/;
287
+ resourceInputs["domains"] = undefined /*out*/;
288
+ resourceInputs["reason"] = undefined /*out*/;
289
+ resourceInputs["status"] = undefined /*out*/;
290
+ resourceInputs["updateTime"] = undefined /*out*/;
291
+ }
292
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
293
+ super(ApigRoute.__pulumiType, name, resourceInputs, opts);
294
+ }
295
+ }
296
+ exports.ApigRoute = ApigRoute;
297
+ /** @internal */
298
+ ApigRoute.__pulumiType = 'volcengine:apig/apigRoute:ApigRoute';
299
+ //# sourceMappingURL=apigRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apigRoute.js","sourceRoot":"","sources":["../../apig/apigRoute.ts"],"names":[],"mappings":"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"}