@volcengine/pulumi-volcenginecc 0.0.2 → 0.0.3

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 (257) hide show
  1. package/alb/acl.d.ts +149 -0
  2. package/alb/acl.js +96 -0
  3. package/alb/acl.js.map +1 -0
  4. package/alb/getAcl.d.ts +81 -0
  5. package/alb/getAcl.js +28 -0
  6. package/alb/getAcl.js.map +1 -0
  7. package/alb/getAcls.d.ts +22 -0
  8. package/alb/getAcls.js +24 -0
  9. package/alb/getAcls.js.map +1 -0
  10. package/alb/getListener.d.ts +157 -0
  11. package/alb/getListener.js +28 -0
  12. package/alb/getListener.js.map +1 -0
  13. package/alb/getListeners.d.ts +22 -0
  14. package/alb/getListeners.js +24 -0
  15. package/alb/getListeners.js.map +1 -0
  16. package/alb/getLoadBalancer.d.ts +153 -0
  17. package/alb/getLoadBalancer.js +28 -0
  18. package/alb/getLoadBalancer.js.map +1 -0
  19. package/alb/getLoadBalancers.d.ts +22 -0
  20. package/alb/getLoadBalancers.js +24 -0
  21. package/alb/getLoadBalancers.js.map +1 -0
  22. package/alb/getServerGroup.d.ts +109 -0
  23. package/alb/getServerGroup.js +28 -0
  24. package/alb/getServerGroup.js.map +1 -0
  25. package/alb/getServerGroups.d.ts +22 -0
  26. package/alb/getServerGroups.js +24 -0
  27. package/alb/getServerGroups.js.map +1 -0
  28. package/alb/index.d.ts +36 -0
  29. package/alb/index.js +45 -1
  30. package/alb/index.js.map +1 -1
  31. package/alb/listener.d.ts +360 -0
  32. package/alb/listener.js +128 -0
  33. package/alb/listener.js.map +1 -0
  34. package/alb/loadBalancer.d.ts +341 -0
  35. package/alb/loadBalancer.js +120 -0
  36. package/alb/loadBalancer.js.map +1 -0
  37. package/alb/serverGroup.d.ts +219 -0
  38. package/alb/serverGroup.js +95 -0
  39. package/alb/serverGroup.js.map +1 -0
  40. package/apig/getUpstreamSource.d.ts +81 -0
  41. package/apig/getUpstreamSource.js +28 -0
  42. package/apig/getUpstreamSource.js.map +1 -0
  43. package/apig/getUpstreamSources.d.ts +22 -0
  44. package/apig/getUpstreamSources.js +24 -0
  45. package/apig/getUpstreamSources.js.map +1 -0
  46. package/apig/index.d.ts +9 -0
  47. package/apig/index.js +28 -0
  48. package/apig/index.js.map +1 -0
  49. package/apig/upstreamSource.d.ts +159 -0
  50. package/apig/upstreamSource.js +87 -0
  51. package/apig/upstreamSource.js.map +1 -0
  52. package/autoscaling/getScalingConfiguration.d.ts +140 -0
  53. package/autoscaling/getScalingConfiguration.js +28 -0
  54. package/autoscaling/getScalingConfiguration.js.map +1 -0
  55. package/autoscaling/getScalingConfigurations.d.ts +22 -0
  56. package/autoscaling/getScalingConfigurations.js +24 -0
  57. package/autoscaling/getScalingConfigurations.js.map +1 -0
  58. package/autoscaling/index.d.ts +9 -0
  59. package/autoscaling/index.js +28 -0
  60. package/autoscaling/index.js.map +1 -0
  61. package/autoscaling/scalingConfiguration.d.ts +318 -0
  62. package/autoscaling/scalingConfiguration.js +108 -0
  63. package/autoscaling/scalingConfiguration.js.map +1 -0
  64. package/clb/acl.d.ts +166 -0
  65. package/clb/acl.js +107 -0
  66. package/clb/acl.js.map +1 -0
  67. package/clb/certificate.d.ts +187 -0
  68. package/clb/certificate.js +109 -0
  69. package/clb/certificate.js.map +1 -0
  70. package/clb/getAcl.d.ts +85 -0
  71. package/clb/getAcl.js +28 -0
  72. package/clb/getAcl.js.map +1 -0
  73. package/clb/getAcls.d.ts +22 -0
  74. package/clb/getAcls.js +24 -0
  75. package/clb/getAcls.js.map +1 -0
  76. package/clb/getCertificate.d.ts +89 -0
  77. package/clb/getCertificate.js +28 -0
  78. package/clb/getCertificate.js.map +1 -0
  79. package/clb/getCertificates.d.ts +22 -0
  80. package/clb/getCertificates.js +24 -0
  81. package/clb/getCertificates.js.map +1 -0
  82. package/clb/getListener.d.ts +213 -0
  83. package/clb/getListener.js +28 -0
  84. package/clb/getListener.js.map +1 -0
  85. package/clb/getListeners.d.ts +22 -0
  86. package/clb/getListeners.js +24 -0
  87. package/clb/getListeners.js.map +1 -0
  88. package/clb/getRule.d.ts +73 -0
  89. package/clb/getRule.js +28 -0
  90. package/clb/getRule.js.map +1 -0
  91. package/clb/getRules.d.ts +22 -0
  92. package/clb/getRules.js +24 -0
  93. package/clb/getRules.js.map +1 -0
  94. package/clb/index.d.ts +36 -0
  95. package/clb/index.js +45 -1
  96. package/clb/index.js.map +1 -1
  97. package/clb/listener.d.ts +546 -0
  98. package/clb/listener.js +156 -0
  99. package/clb/listener.js.map +1 -0
  100. package/clb/rule.d.ts +162 -0
  101. package/clb/rule.js +97 -0
  102. package/clb/rule.js.map +1 -0
  103. package/cr/getNameSpace.d.ts +52 -0
  104. package/cr/getNameSpace.js +28 -0
  105. package/cr/getNameSpace.js.map +1 -0
  106. package/cr/getNameSpaces.d.ts +22 -0
  107. package/cr/getNameSpaces.js +24 -0
  108. package/cr/getNameSpaces.js.map +1 -0
  109. package/cr/getRegistries.d.ts +22 -0
  110. package/cr/getRegistries.js +24 -0
  111. package/cr/getRegistries.js.map +1 -0
  112. package/cr/getRegistry.d.ts +81 -0
  113. package/cr/getRegistry.js +28 -0
  114. package/cr/getRegistry.js.map +1 -0
  115. package/cr/index.d.ts +18 -0
  116. package/cr/index.js +23 -1
  117. package/cr/index.js.map +1 -1
  118. package/cr/nameSpace.d.ts +102 -0
  119. package/cr/nameSpace.js +83 -0
  120. package/cr/nameSpace.js.map +1 -0
  121. package/cr/registry.d.ts +142 -0
  122. package/cr/registry.js +81 -0
  123. package/cr/registry.js.map +1 -0
  124. package/directconnect/directConnectGateway.d.ts +173 -0
  125. package/directconnect/directConnectGateway.js +86 -0
  126. package/directconnect/directConnectGateway.js.map +1 -0
  127. package/directconnect/getDirectConnectGateway.d.ts +97 -0
  128. package/directconnect/getDirectConnectGateway.js +28 -0
  129. package/directconnect/getDirectConnectGateway.js.map +1 -0
  130. package/directconnect/getDirectConnectGateways.d.ts +22 -0
  131. package/directconnect/getDirectConnectGateways.js +24 -0
  132. package/directconnect/getDirectConnectGateways.js.map +1 -0
  133. package/directconnect/index.d.ts +9 -0
  134. package/directconnect/index.js +28 -0
  135. package/directconnect/index.js.map +1 -0
  136. package/ecs/getInstance.d.ts +66 -0
  137. package/ecs/getInstance.js +28 -0
  138. package/ecs/getInstance.js.map +1 -0
  139. package/ecs/getInstances.d.ts +22 -0
  140. package/ecs/getInstances.js +24 -0
  141. package/ecs/getInstances.js.map +1 -0
  142. package/ecs/index.d.ts +9 -0
  143. package/ecs/index.js +12 -1
  144. package/ecs/index.js.map +1 -1
  145. package/ecs/instance.d.ts +582 -0
  146. package/ecs/instance.js +150 -0
  147. package/ecs/instance.js.map +1 -0
  148. package/index.d.ts +9 -1
  149. package/index.js +17 -1
  150. package/index.js.map +1 -1
  151. package/package.json +2 -2
  152. package/rdsmysql/database.d.ts +100 -0
  153. package/rdsmysql/database.js +74 -0
  154. package/rdsmysql/database.js.map +1 -0
  155. package/rdsmysql/getDatabase.d.ts +58 -0
  156. package/rdsmysql/getDatabase.js +28 -0
  157. package/rdsmysql/getDatabase.js.map +1 -0
  158. package/rdsmysql/getDatabases.d.ts +22 -0
  159. package/rdsmysql/getDatabases.js +24 -0
  160. package/rdsmysql/getDatabases.js.map +1 -0
  161. package/rdsmysql/index.d.ts +9 -0
  162. package/rdsmysql/index.js +28 -0
  163. package/rdsmysql/index.js.map +1 -0
  164. package/redis/getInstance.d.ts +205 -0
  165. package/redis/getInstance.js +28 -0
  166. package/redis/getInstance.js.map +1 -0
  167. package/redis/getInstances.d.ts +22 -0
  168. package/redis/getInstances.js +24 -0
  169. package/redis/getInstances.js.map +1 -0
  170. package/redis/index.d.ts +9 -0
  171. package/redis/index.js +28 -0
  172. package/redis/index.js.map +1 -0
  173. package/redis/instance.d.ts +485 -0
  174. package/redis/instance.js +200 -0
  175. package/redis/instance.js.map +1 -0
  176. package/storageebs/getVolume.d.ts +4 -0
  177. package/storageebs/getVolume.js.map +1 -1
  178. package/storageebs/volume.d.ts +3 -0
  179. package/storageebs/volume.js +2 -0
  180. package/storageebs/volume.js.map +1 -1
  181. package/tls/getTopic.d.ts +113 -0
  182. package/tls/getTopic.js +28 -0
  183. package/tls/getTopic.js.map +1 -0
  184. package/tls/getTopics.d.ts +22 -0
  185. package/tls/getTopics.js +24 -0
  186. package/tls/getTopics.js.map +1 -0
  187. package/tls/index.d.ts +9 -0
  188. package/tls/index.js +28 -0
  189. package/tls/index.js.map +1 -0
  190. package/tls/topic.d.ts +252 -0
  191. package/tls/topic.js +101 -0
  192. package/tls/topic.js.map +1 -0
  193. package/transitrouter/getTransitRouterRouteEntries.d.ts +22 -0
  194. package/transitrouter/getTransitRouterRouteEntries.js +24 -0
  195. package/transitrouter/getTransitRouterRouteEntries.js.map +1 -0
  196. package/transitrouter/getTransitRouterRouteEntry.d.ts +84 -0
  197. package/transitrouter/getTransitRouterRouteEntry.js +28 -0
  198. package/transitrouter/getTransitRouterRouteEntry.js.map +1 -0
  199. package/transitrouter/getTransitRouterRouteTable.d.ts +81 -0
  200. package/transitrouter/getTransitRouterRouteTable.js +28 -0
  201. package/transitrouter/getTransitRouterRouteTable.js.map +1 -0
  202. package/transitrouter/getTransitRouterRouteTables.d.ts +22 -0
  203. package/transitrouter/getTransitRouterRouteTables.js +24 -0
  204. package/transitrouter/getTransitRouterRouteTables.js.map +1 -0
  205. package/transitrouter/index.d.ts +18 -0
  206. package/transitrouter/index.js +23 -1
  207. package/transitrouter/index.js.map +1 -1
  208. package/transitrouter/transitRouterRouteEntry.d.ts +186 -0
  209. package/transitrouter/transitRouterRouteEntry.js +106 -0
  210. package/transitrouter/transitRouterRouteEntry.js.map +1 -0
  211. package/transitrouter/transitRouterRouteTable.d.ts +142 -0
  212. package/transitrouter/transitRouterRouteTable.js +81 -0
  213. package/transitrouter/transitRouterRouteTable.js.map +1 -0
  214. package/types/input.d.ts +1273 -44
  215. package/types/output.d.ts +3250 -646
  216. package/vke/addon.d.ts +143 -0
  217. package/vke/addon.js +74 -0
  218. package/vke/addon.js.map +1 -0
  219. package/vke/getAddon.d.ts +73 -0
  220. package/vke/getAddon.js +28 -0
  221. package/vke/getAddon.js.map +1 -0
  222. package/vke/getAddons.d.ts +22 -0
  223. package/vke/getAddons.js +24 -0
  224. package/vke/getAddons.js.map +1 -0
  225. package/vke/index.d.ts +9 -0
  226. package/vke/index.js +28 -0
  227. package/vke/index.js.map +1 -0
  228. package/vpc/getNetworkAcl.d.ts +93 -0
  229. package/vpc/getNetworkAcl.js +28 -0
  230. package/vpc/getNetworkAcl.js.map +1 -0
  231. package/vpc/getNetworkAcls.d.ts +22 -0
  232. package/vpc/getNetworkAcls.js +24 -0
  233. package/vpc/getNetworkAcls.js.map +1 -0
  234. package/vpc/getPrefixList.d.ts +93 -0
  235. package/vpc/getPrefixList.js +28 -0
  236. package/vpc/getPrefixList.js.map +1 -0
  237. package/vpc/getPrefixLists.d.ts +22 -0
  238. package/vpc/getPrefixLists.js +24 -0
  239. package/vpc/getPrefixLists.js.map +1 -0
  240. package/vpc/index.d.ts +18 -0
  241. package/vpc/index.js +23 -1
  242. package/vpc/index.js.map +1 -1
  243. package/vpc/networkAcl.d.ts +143 -0
  244. package/vpc/networkAcl.js +87 -0
  245. package/vpc/networkAcl.js.map +1 -0
  246. package/vpc/prefixList.d.ts +180 -0
  247. package/vpc/prefixList.js +110 -0
  248. package/vpc/prefixList.js.map +1 -0
  249. package/waf/getDomain.d.ts +344 -0
  250. package/waf/getDomain.js +28 -0
  251. package/waf/getDomain.js.map +1 -0
  252. package/waf/getDomains.d.ts +22 -0
  253. package/waf/getDomains.js +24 -0
  254. package/waf/getDomains.js.map +1 -0
  255. package/waf/index.d.ts +6 -0
  256. package/waf/index.js +13 -0
  257. package/waf/index.js.map +1 -0
@@ -0,0 +1,360 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as outputs from "../types/output";
4
+ /**
5
+ * 每个 ALB 实例至少要有一个监听器才能正常工作。监听器接收客户端请求,并根据您配置的转发规则和负载均衡算法将请求分发到后端服务器上。您可以在一个 ALB 实例下创建多个监听器,并为监听器配置不同的监听协议,以处理使用不同协议的客户端请求。
6
+ *
7
+ * ## Import
8
+ *
9
+ * ```sh
10
+ * $ pulumi import volcenginecc:alb/listener:Listener example "listener_id"
11
+ * ```
12
+ */
13
+ export declare class Listener extends pulumi.CustomResource {
14
+ /**
15
+ * Get an existing Listener resource's state with the given name, ID, and optional extra
16
+ * properties used to qualify the lookup.
17
+ *
18
+ * @param name The _unique_ name of the resulting resource.
19
+ * @param id The _unique_ provider ID of the resource to lookup.
20
+ * @param state Any extra arguments used during the lookup.
21
+ * @param opts Optional settings to control the behavior of the CustomResource.
22
+ */
23
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ListenerState, opts?: pulumi.CustomResourceOptions): Listener;
24
+ /**
25
+ * Returns true if the given object is an instance of Listener. This is designed to work even
26
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
27
+ */
28
+ static isInstance(obj: any): obj is Listener;
29
+ /**
30
+ * 监听器是否已开启“在访问日志中记录自定义header”的功能:on:表示该功能已开启。off:表示该功能未开启。
31
+ */
32
+ readonly accessLogRecordCustomizedHeadersEnabled: pulumi.Output<string>;
33
+ /**
34
+ * 监听器绑定的访问控制策略组 ID。当AclStatus参数配置为 on 时,AclIds为必填参数。
35
+ */
36
+ readonly aclIds: pulumi.Output<string[]>;
37
+ /**
38
+ * 是否开启访问控制功能。取值如下:on:开启。off :不开启(默认)。
39
+ */
40
+ readonly aclStatus: pulumi.Output<string>;
41
+ /**
42
+ * 访问控制的方式,取值如下:white:白名单方式。表示监听器仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求。 如果所选策略组中没有添加任何IP,则监听器不会转发任何请求。black:黑名单方式。表示仅拒绝来自所选访问控制策略组中设置的IP地址或地址段的请求。 如果所选策略组中没有添加任何IP,则监听器会转发全部请求。当AclStatus参数配置为 on 时,AclType为必填参数。
43
+ */
44
+ readonly aclType: pulumi.Output<string>;
45
+ /**
46
+ * HTTPS 监听器关联的 CA 证书 ID。该参数用于 HTTPS 监听器的双向认证。当证书来源是 alb 时,必须指定 CACertificateId 参数。
47
+ */
48
+ readonly caCertificateId: pulumi.Output<string>;
49
+ /**
50
+ * HTTPS 监听器关联的 CA 证书的来源,用于双向认证。alb(默认):表示通过 ALB 上传的证书。标准版 ALB 实例不支持此来源的证书。pca*root:表示通过火山引擎证书中心购买或上传的私有根 CA 证书。pca*sub:表示通过火山引擎证书中心购买或上传的私有子 CA 证书。
51
+ */
52
+ readonly caCertificateSource: pulumi.Output<string>;
53
+ /**
54
+ * HTTPS监听器关联的证书 ID。创建 HTTPS 监听器且证书来源为 certCenter 时必传。
55
+ */
56
+ readonly certCenterCertificateId: pulumi.Output<string>;
57
+ /**
58
+ * HTTPS监听器关联的证书 ID。创建 HTTPS 监听器且证书来源为 alb 时必传。
59
+ */
60
+ readonly certificateId: pulumi.Output<string>;
61
+ /**
62
+ * HTTPS监听器关联的默认证书的来源,取值:alb:表示通过 ALB 上传的证书。cert*center:表示通过火山引擎证书中心购买或上传的 SSL 证书。pca*leaf:表示通过火山引擎证书中心购买或上传的私有叶子证书。
63
+ */
64
+ readonly certificateSource: pulumi.Output<string>;
65
+ /**
66
+ * 监听器的创建时间。
67
+ */
68
+ readonly createdTime: pulumi.Output<string>;
69
+ /**
70
+ * 个性化配置ID,未绑定时值为空字符串。
71
+ */
72
+ readonly customizedCfgId: pulumi.Output<string>;
73
+ /**
74
+ * 监听器的描述。不能以http://或https://开头。必须以字母或中文开头,可包含数字、英文逗号(,)、点号(.)、下划线(_)、空格( )、等号(=)、短横线(-)、中文逗号(,)、中文句号(。) 。长度限制为1 ~ 255个字符。不填默认为空字符串。
75
+ */
76
+ readonly description: pulumi.Output<string>;
77
+ readonly domainExtensions: pulumi.Output<outputs.alb.ListenerDomainExtension[]>;
78
+ /**
79
+ * HTTP2.0 特性开关,该参数仅对 HTTPS 监听器有效。取值如下:on:开启。off:关闭(默认)。
80
+ */
81
+ readonly enableHttp2: pulumi.Output<string>;
82
+ /**
83
+ * QUIC 特性开关,该参数仅对 HTTPS 监听器有效,取值如下:on:开启。off:关闭(默认)。只有标准版 ALB 实例支持 QUIC。
84
+ */
85
+ readonly enableQuic: pulumi.Output<string>;
86
+ /**
87
+ * 监听器开启/关闭,取值如下:on:开启(默认)。off:关闭。
88
+ */
89
+ readonly enabled: pulumi.Output<string>;
90
+ /**
91
+ * 监听器 ID。
92
+ */
93
+ readonly listenerId: pulumi.Output<string>;
94
+ /**
95
+ * 监听器的名字。不填写时以“协议-端口”格式命名。不能以http://或https://开头。必须以字母或中文开头,可包含数字、点(.)、下划线(_)和短横线(-)。长度限制在1-128字符之间。
96
+ */
97
+ readonly listenerName: pulumi.Output<string>;
98
+ /**
99
+ * 监听器所属的负载均衡实例 ID。
100
+ */
101
+ readonly loadBalancerId: pulumi.Output<string>;
102
+ /**
103
+ * HTTPS监听器关联的私有叶子证书 ID。创建 HTTPS 监听器且证书来源为 pcaLeaf 时必传。
104
+ */
105
+ readonly pcaLeafCertificateId: pulumi.Output<string>;
106
+ /**
107
+ * HTTPS 监听器关联的 CA 证书 ID。该参数用于 HTTPS 监听器的双向认证。当证书来源是 pcaRoot 时,必须指定 PcaRootCACertificateId 参数。
108
+ */
109
+ readonly pcaRootCaCertificateId: pulumi.Output<string>;
110
+ /**
111
+ * HTTPS 监听器关联的 CA 证书 ID。该参数用于 HTTPS 监听器的双向认证。当证书来源是 pcaSub 时,必须指定 PcaSubCACertificateId 参数。
112
+ */
113
+ readonly pcaSubCaCertificateId: pulumi.Output<string>;
114
+ /**
115
+ * 监听器的监听端口,取值:1 - 65535 。
116
+ */
117
+ readonly port: pulumi.Output<number>;
118
+ /**
119
+ * 监听器所属项目名称。
120
+ */
121
+ readonly projectName: pulumi.Output<string>;
122
+ /**
123
+ * 监听器的协议,支持 HTTP 协议和 HTTPS 协议。
124
+ */
125
+ readonly protocol: pulumi.Output<string>;
126
+ /**
127
+ * 监听器的默认服务器组。
128
+ */
129
+ readonly serverGroupId: pulumi.Output<string>;
130
+ readonly serverGroups: pulumi.Output<outputs.alb.ListenerServerGroup[]>;
131
+ /**
132
+ * 监听器的状态。取值如下:Creating:创建中。Active: 运行中。Pending: 变配中。Disabled:已停止。Deleting:删除中。
133
+ */
134
+ readonly status: pulumi.Output<string>;
135
+ readonly tags: pulumi.Output<outputs.alb.ListenerTag[]>;
136
+ /**
137
+ * 监听器最近一次的操作时间。
138
+ */
139
+ readonly updatedTime: pulumi.Output<string>;
140
+ /**
141
+ * Create a Listener resource with the given unique name, arguments, and options.
142
+ *
143
+ * @param name The _unique_ name of the resource.
144
+ * @param args The arguments to use to populate this resource's properties.
145
+ * @param opts A bag of options that control this resource's behavior.
146
+ */
147
+ constructor(name: string, args: ListenerArgs, opts?: pulumi.CustomResourceOptions);
148
+ }
149
+ /**
150
+ * Input properties used for looking up and filtering Listener resources.
151
+ */
152
+ export interface ListenerState {
153
+ /**
154
+ * 监听器是否已开启“在访问日志中记录自定义header”的功能:on:表示该功能已开启。off:表示该功能未开启。
155
+ */
156
+ accessLogRecordCustomizedHeadersEnabled?: pulumi.Input<string>;
157
+ /**
158
+ * 监听器绑定的访问控制策略组 ID。当AclStatus参数配置为 on 时,AclIds为必填参数。
159
+ */
160
+ aclIds?: pulumi.Input<pulumi.Input<string>[]>;
161
+ /**
162
+ * 是否开启访问控制功能。取值如下:on:开启。off :不开启(默认)。
163
+ */
164
+ aclStatus?: pulumi.Input<string>;
165
+ /**
166
+ * 访问控制的方式,取值如下:white:白名单方式。表示监听器仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求。 如果所选策略组中没有添加任何IP,则监听器不会转发任何请求。black:黑名单方式。表示仅拒绝来自所选访问控制策略组中设置的IP地址或地址段的请求。 如果所选策略组中没有添加任何IP,则监听器会转发全部请求。当AclStatus参数配置为 on 时,AclType为必填参数。
167
+ */
168
+ aclType?: pulumi.Input<string>;
169
+ /**
170
+ * HTTPS 监听器关联的 CA 证书 ID。该参数用于 HTTPS 监听器的双向认证。当证书来源是 alb 时,必须指定 CACertificateId 参数。
171
+ */
172
+ caCertificateId?: pulumi.Input<string>;
173
+ /**
174
+ * HTTPS 监听器关联的 CA 证书的来源,用于双向认证。alb(默认):表示通过 ALB 上传的证书。标准版 ALB 实例不支持此来源的证书。pca*root:表示通过火山引擎证书中心购买或上传的私有根 CA 证书。pca*sub:表示通过火山引擎证书中心购买或上传的私有子 CA 证书。
175
+ */
176
+ caCertificateSource?: pulumi.Input<string>;
177
+ /**
178
+ * HTTPS监听器关联的证书 ID。创建 HTTPS 监听器且证书来源为 certCenter 时必传。
179
+ */
180
+ certCenterCertificateId?: pulumi.Input<string>;
181
+ /**
182
+ * HTTPS监听器关联的证书 ID。创建 HTTPS 监听器且证书来源为 alb 时必传。
183
+ */
184
+ certificateId?: pulumi.Input<string>;
185
+ /**
186
+ * HTTPS监听器关联的默认证书的来源,取值:alb:表示通过 ALB 上传的证书。cert*center:表示通过火山引擎证书中心购买或上传的 SSL 证书。pca*leaf:表示通过火山引擎证书中心购买或上传的私有叶子证书。
187
+ */
188
+ certificateSource?: pulumi.Input<string>;
189
+ /**
190
+ * 监听器的创建时间。
191
+ */
192
+ createdTime?: pulumi.Input<string>;
193
+ /**
194
+ * 个性化配置ID,未绑定时值为空字符串。
195
+ */
196
+ customizedCfgId?: pulumi.Input<string>;
197
+ /**
198
+ * 监听器的描述。不能以http://或https://开头。必须以字母或中文开头,可包含数字、英文逗号(,)、点号(.)、下划线(_)、空格( )、等号(=)、短横线(-)、中文逗号(,)、中文句号(。) 。长度限制为1 ~ 255个字符。不填默认为空字符串。
199
+ */
200
+ description?: pulumi.Input<string>;
201
+ domainExtensions?: pulumi.Input<pulumi.Input<inputs.alb.ListenerDomainExtension>[]>;
202
+ /**
203
+ * HTTP2.0 特性开关,该参数仅对 HTTPS 监听器有效。取值如下:on:开启。off:关闭(默认)。
204
+ */
205
+ enableHttp2?: pulumi.Input<string>;
206
+ /**
207
+ * QUIC 特性开关,该参数仅对 HTTPS 监听器有效,取值如下:on:开启。off:关闭(默认)。只有标准版 ALB 实例支持 QUIC。
208
+ */
209
+ enableQuic?: pulumi.Input<string>;
210
+ /**
211
+ * 监听器开启/关闭,取值如下:on:开启(默认)。off:关闭。
212
+ */
213
+ enabled?: pulumi.Input<string>;
214
+ /**
215
+ * 监听器 ID。
216
+ */
217
+ listenerId?: pulumi.Input<string>;
218
+ /**
219
+ * 监听器的名字。不填写时以“协议-端口”格式命名。不能以http://或https://开头。必须以字母或中文开头,可包含数字、点(.)、下划线(_)和短横线(-)。长度限制在1-128字符之间。
220
+ */
221
+ listenerName?: pulumi.Input<string>;
222
+ /**
223
+ * 监听器所属的负载均衡实例 ID。
224
+ */
225
+ loadBalancerId?: pulumi.Input<string>;
226
+ /**
227
+ * HTTPS监听器关联的私有叶子证书 ID。创建 HTTPS 监听器且证书来源为 pcaLeaf 时必传。
228
+ */
229
+ pcaLeafCertificateId?: pulumi.Input<string>;
230
+ /**
231
+ * HTTPS 监听器关联的 CA 证书 ID。该参数用于 HTTPS 监听器的双向认证。当证书来源是 pcaRoot 时,必须指定 PcaRootCACertificateId 参数。
232
+ */
233
+ pcaRootCaCertificateId?: pulumi.Input<string>;
234
+ /**
235
+ * HTTPS 监听器关联的 CA 证书 ID。该参数用于 HTTPS 监听器的双向认证。当证书来源是 pcaSub 时,必须指定 PcaSubCACertificateId 参数。
236
+ */
237
+ pcaSubCaCertificateId?: pulumi.Input<string>;
238
+ /**
239
+ * 监听器的监听端口,取值:1 - 65535 。
240
+ */
241
+ port?: pulumi.Input<number>;
242
+ /**
243
+ * 监听器所属项目名称。
244
+ */
245
+ projectName?: pulumi.Input<string>;
246
+ /**
247
+ * 监听器的协议,支持 HTTP 协议和 HTTPS 协议。
248
+ */
249
+ protocol?: pulumi.Input<string>;
250
+ /**
251
+ * 监听器的默认服务器组。
252
+ */
253
+ serverGroupId?: pulumi.Input<string>;
254
+ serverGroups?: pulumi.Input<pulumi.Input<inputs.alb.ListenerServerGroup>[]>;
255
+ /**
256
+ * 监听器的状态。取值如下:Creating:创建中。Active: 运行中。Pending: 变配中。Disabled:已停止。Deleting:删除中。
257
+ */
258
+ status?: pulumi.Input<string>;
259
+ tags?: pulumi.Input<pulumi.Input<inputs.alb.ListenerTag>[]>;
260
+ /**
261
+ * 监听器最近一次的操作时间。
262
+ */
263
+ updatedTime?: pulumi.Input<string>;
264
+ }
265
+ /**
266
+ * The set of arguments for constructing a Listener resource.
267
+ */
268
+ export interface ListenerArgs {
269
+ /**
270
+ * 监听器是否已开启“在访问日志中记录自定义header”的功能:on:表示该功能已开启。off:表示该功能未开启。
271
+ */
272
+ accessLogRecordCustomizedHeadersEnabled?: pulumi.Input<string>;
273
+ /**
274
+ * 监听器绑定的访问控制策略组 ID。当AclStatus参数配置为 on 时,AclIds为必填参数。
275
+ */
276
+ aclIds?: pulumi.Input<pulumi.Input<string>[]>;
277
+ /**
278
+ * 是否开启访问控制功能。取值如下:on:开启。off :不开启(默认)。
279
+ */
280
+ aclStatus?: pulumi.Input<string>;
281
+ /**
282
+ * 访问控制的方式,取值如下:white:白名单方式。表示监听器仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求。 如果所选策略组中没有添加任何IP,则监听器不会转发任何请求。black:黑名单方式。表示仅拒绝来自所选访问控制策略组中设置的IP地址或地址段的请求。 如果所选策略组中没有添加任何IP,则监听器会转发全部请求。当AclStatus参数配置为 on 时,AclType为必填参数。
283
+ */
284
+ aclType?: pulumi.Input<string>;
285
+ /**
286
+ * HTTPS 监听器关联的 CA 证书 ID。该参数用于 HTTPS 监听器的双向认证。当证书来源是 alb 时,必须指定 CACertificateId 参数。
287
+ */
288
+ caCertificateId?: pulumi.Input<string>;
289
+ /**
290
+ * HTTPS 监听器关联的 CA 证书的来源,用于双向认证。alb(默认):表示通过 ALB 上传的证书。标准版 ALB 实例不支持此来源的证书。pca*root:表示通过火山引擎证书中心购买或上传的私有根 CA 证书。pca*sub:表示通过火山引擎证书中心购买或上传的私有子 CA 证书。
291
+ */
292
+ caCertificateSource?: pulumi.Input<string>;
293
+ /**
294
+ * HTTPS监听器关联的证书 ID。创建 HTTPS 监听器且证书来源为 certCenter 时必传。
295
+ */
296
+ certCenterCertificateId?: pulumi.Input<string>;
297
+ /**
298
+ * HTTPS监听器关联的证书 ID。创建 HTTPS 监听器且证书来源为 alb 时必传。
299
+ */
300
+ certificateId?: pulumi.Input<string>;
301
+ /**
302
+ * HTTPS监听器关联的默认证书的来源,取值:alb:表示通过 ALB 上传的证书。cert*center:表示通过火山引擎证书中心购买或上传的 SSL 证书。pca*leaf:表示通过火山引擎证书中心购买或上传的私有叶子证书。
303
+ */
304
+ certificateSource?: pulumi.Input<string>;
305
+ /**
306
+ * 个性化配置ID,未绑定时值为空字符串。
307
+ */
308
+ customizedCfgId?: pulumi.Input<string>;
309
+ /**
310
+ * 监听器的描述。不能以http://或https://开头。必须以字母或中文开头,可包含数字、英文逗号(,)、点号(.)、下划线(_)、空格( )、等号(=)、短横线(-)、中文逗号(,)、中文句号(。) 。长度限制为1 ~ 255个字符。不填默认为空字符串。
311
+ */
312
+ description?: pulumi.Input<string>;
313
+ domainExtensions?: pulumi.Input<pulumi.Input<inputs.alb.ListenerDomainExtension>[]>;
314
+ /**
315
+ * HTTP2.0 特性开关,该参数仅对 HTTPS 监听器有效。取值如下:on:开启。off:关闭(默认)。
316
+ */
317
+ enableHttp2?: pulumi.Input<string>;
318
+ /**
319
+ * QUIC 特性开关,该参数仅对 HTTPS 监听器有效,取值如下:on:开启。off:关闭(默认)。只有标准版 ALB 实例支持 QUIC。
320
+ */
321
+ enableQuic?: pulumi.Input<string>;
322
+ /**
323
+ * 监听器开启/关闭,取值如下:on:开启(默认)。off:关闭。
324
+ */
325
+ enabled?: pulumi.Input<string>;
326
+ /**
327
+ * 监听器的名字。不填写时以“协议-端口”格式命名。不能以http://或https://开头。必须以字母或中文开头,可包含数字、点(.)、下划线(_)和短横线(-)。长度限制在1-128字符之间。
328
+ */
329
+ listenerName?: pulumi.Input<string>;
330
+ /**
331
+ * 监听器所属的负载均衡实例 ID。
332
+ */
333
+ loadBalancerId: pulumi.Input<string>;
334
+ /**
335
+ * HTTPS监听器关联的私有叶子证书 ID。创建 HTTPS 监听器且证书来源为 pcaLeaf 时必传。
336
+ */
337
+ pcaLeafCertificateId?: pulumi.Input<string>;
338
+ /**
339
+ * HTTPS 监听器关联的 CA 证书 ID。该参数用于 HTTPS 监听器的双向认证。当证书来源是 pcaRoot 时,必须指定 PcaRootCACertificateId 参数。
340
+ */
341
+ pcaRootCaCertificateId?: pulumi.Input<string>;
342
+ /**
343
+ * HTTPS 监听器关联的 CA 证书 ID。该参数用于 HTTPS 监听器的双向认证。当证书来源是 pcaSub 时,必须指定 PcaSubCACertificateId 参数。
344
+ */
345
+ pcaSubCaCertificateId?: pulumi.Input<string>;
346
+ /**
347
+ * 监听器的监听端口,取值:1 - 65535 。
348
+ */
349
+ port: pulumi.Input<number>;
350
+ /**
351
+ * 监听器的协议,支持 HTTP 协议和 HTTPS 协议。
352
+ */
353
+ protocol: pulumi.Input<string>;
354
+ /**
355
+ * 监听器的默认服务器组。
356
+ */
357
+ serverGroupId: pulumi.Input<string>;
358
+ serverGroups?: pulumi.Input<pulumi.Input<inputs.alb.ListenerServerGroup>[]>;
359
+ tags?: pulumi.Input<pulumi.Input<inputs.alb.ListenerTag>[]>;
360
+ }
@@ -0,0 +1,128 @@
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.Listener = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * 每个 ALB 实例至少要有一个监听器才能正常工作。监听器接收客户端请求,并根据您配置的转发规则和负载均衡算法将请求分发到后端服务器上。您可以在一个 ALB 实例下创建多个监听器,并为监听器配置不同的监听协议,以处理使用不同协议的客户端请求。
10
+ *
11
+ * ## Import
12
+ *
13
+ * ```sh
14
+ * $ pulumi import volcenginecc:alb/listener:Listener example "listener_id"
15
+ * ```
16
+ */
17
+ class Listener extends pulumi.CustomResource {
18
+ /**
19
+ * Get an existing Listener resource's state with the given name, ID, and optional extra
20
+ * properties used to qualify the lookup.
21
+ *
22
+ * @param name The _unique_ name of the resulting resource.
23
+ * @param id The _unique_ provider ID of the resource to lookup.
24
+ * @param state Any extra arguments used during the lookup.
25
+ * @param opts Optional settings to control the behavior of the CustomResource.
26
+ */
27
+ static get(name, id, state, opts) {
28
+ return new Listener(name, state, Object.assign(Object.assign({}, opts), { id: id }));
29
+ }
30
+ /**
31
+ * Returns true if the given object is an instance of Listener. This is designed to work even
32
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
33
+ */
34
+ static isInstance(obj) {
35
+ if (obj === undefined || obj === null) {
36
+ return false;
37
+ }
38
+ return obj['__pulumiType'] === Listener.__pulumiType;
39
+ }
40
+ constructor(name, argsOrState, opts) {
41
+ let resourceInputs = {};
42
+ opts = opts || {};
43
+ if (opts.id) {
44
+ const state = argsOrState;
45
+ resourceInputs["accessLogRecordCustomizedHeadersEnabled"] = state ? state.accessLogRecordCustomizedHeadersEnabled : undefined;
46
+ resourceInputs["aclIds"] = state ? state.aclIds : undefined;
47
+ resourceInputs["aclStatus"] = state ? state.aclStatus : undefined;
48
+ resourceInputs["aclType"] = state ? state.aclType : undefined;
49
+ resourceInputs["caCertificateId"] = state ? state.caCertificateId : undefined;
50
+ resourceInputs["caCertificateSource"] = state ? state.caCertificateSource : undefined;
51
+ resourceInputs["certCenterCertificateId"] = state ? state.certCenterCertificateId : undefined;
52
+ resourceInputs["certificateId"] = state ? state.certificateId : undefined;
53
+ resourceInputs["certificateSource"] = state ? state.certificateSource : undefined;
54
+ resourceInputs["createdTime"] = state ? state.createdTime : undefined;
55
+ resourceInputs["customizedCfgId"] = state ? state.customizedCfgId : undefined;
56
+ resourceInputs["description"] = state ? state.description : undefined;
57
+ resourceInputs["domainExtensions"] = state ? state.domainExtensions : undefined;
58
+ resourceInputs["enableHttp2"] = state ? state.enableHttp2 : undefined;
59
+ resourceInputs["enableQuic"] = state ? state.enableQuic : undefined;
60
+ resourceInputs["enabled"] = state ? state.enabled : undefined;
61
+ resourceInputs["listenerId"] = state ? state.listenerId : undefined;
62
+ resourceInputs["listenerName"] = state ? state.listenerName : undefined;
63
+ resourceInputs["loadBalancerId"] = state ? state.loadBalancerId : undefined;
64
+ resourceInputs["pcaLeafCertificateId"] = state ? state.pcaLeafCertificateId : undefined;
65
+ resourceInputs["pcaRootCaCertificateId"] = state ? state.pcaRootCaCertificateId : undefined;
66
+ resourceInputs["pcaSubCaCertificateId"] = state ? state.pcaSubCaCertificateId : undefined;
67
+ resourceInputs["port"] = state ? state.port : undefined;
68
+ resourceInputs["projectName"] = state ? state.projectName : undefined;
69
+ resourceInputs["protocol"] = state ? state.protocol : undefined;
70
+ resourceInputs["serverGroupId"] = state ? state.serverGroupId : undefined;
71
+ resourceInputs["serverGroups"] = state ? state.serverGroups : undefined;
72
+ resourceInputs["status"] = state ? state.status : undefined;
73
+ resourceInputs["tags"] = state ? state.tags : undefined;
74
+ resourceInputs["updatedTime"] = state ? state.updatedTime : undefined;
75
+ }
76
+ else {
77
+ const args = argsOrState;
78
+ if ((!args || args.loadBalancerId === undefined) && !opts.urn) {
79
+ throw new Error("Missing required property 'loadBalancerId'");
80
+ }
81
+ if ((!args || args.port === undefined) && !opts.urn) {
82
+ throw new Error("Missing required property 'port'");
83
+ }
84
+ if ((!args || args.protocol === undefined) && !opts.urn) {
85
+ throw new Error("Missing required property 'protocol'");
86
+ }
87
+ if ((!args || args.serverGroupId === undefined) && !opts.urn) {
88
+ throw new Error("Missing required property 'serverGroupId'");
89
+ }
90
+ resourceInputs["accessLogRecordCustomizedHeadersEnabled"] = args ? args.accessLogRecordCustomizedHeadersEnabled : undefined;
91
+ resourceInputs["aclIds"] = args ? args.aclIds : undefined;
92
+ resourceInputs["aclStatus"] = args ? args.aclStatus : undefined;
93
+ resourceInputs["aclType"] = args ? args.aclType : undefined;
94
+ resourceInputs["caCertificateId"] = args ? args.caCertificateId : undefined;
95
+ resourceInputs["caCertificateSource"] = args ? args.caCertificateSource : undefined;
96
+ resourceInputs["certCenterCertificateId"] = args ? args.certCenterCertificateId : undefined;
97
+ resourceInputs["certificateId"] = args ? args.certificateId : undefined;
98
+ resourceInputs["certificateSource"] = args ? args.certificateSource : undefined;
99
+ resourceInputs["customizedCfgId"] = args ? args.customizedCfgId : undefined;
100
+ resourceInputs["description"] = args ? args.description : undefined;
101
+ resourceInputs["domainExtensions"] = args ? args.domainExtensions : undefined;
102
+ resourceInputs["enableHttp2"] = args ? args.enableHttp2 : undefined;
103
+ resourceInputs["enableQuic"] = args ? args.enableQuic : undefined;
104
+ resourceInputs["enabled"] = args ? args.enabled : undefined;
105
+ resourceInputs["listenerName"] = args ? args.listenerName : undefined;
106
+ resourceInputs["loadBalancerId"] = args ? args.loadBalancerId : undefined;
107
+ resourceInputs["pcaLeafCertificateId"] = args ? args.pcaLeafCertificateId : undefined;
108
+ resourceInputs["pcaRootCaCertificateId"] = args ? args.pcaRootCaCertificateId : undefined;
109
+ resourceInputs["pcaSubCaCertificateId"] = args ? args.pcaSubCaCertificateId : undefined;
110
+ resourceInputs["port"] = args ? args.port : undefined;
111
+ resourceInputs["protocol"] = args ? args.protocol : undefined;
112
+ resourceInputs["serverGroupId"] = args ? args.serverGroupId : undefined;
113
+ resourceInputs["serverGroups"] = args ? args.serverGroups : undefined;
114
+ resourceInputs["tags"] = args ? args.tags : undefined;
115
+ resourceInputs["createdTime"] = undefined /*out*/;
116
+ resourceInputs["listenerId"] = undefined /*out*/;
117
+ resourceInputs["projectName"] = undefined /*out*/;
118
+ resourceInputs["status"] = undefined /*out*/;
119
+ resourceInputs["updatedTime"] = undefined /*out*/;
120
+ }
121
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
122
+ super(Listener.__pulumiType, name, resourceInputs, opts);
123
+ }
124
+ }
125
+ exports.Listener = Listener;
126
+ /** @internal */
127
+ Listener.__pulumiType = 'volcenginecc:alb/listener:Listener';
128
+ //# sourceMappingURL=listener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listener.js","sourceRoot":"","sources":["../../alb/listener.ts"],"names":[],"mappings":"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"}