@volcengine/pulumi-volcenginecc 0.0.1

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 (333) hide show
  1. package/LICENSE +373 -0
  2. package/README.md +77 -0
  3. package/alb/certificate.d.ts +197 -0
  4. package/alb/certificate.js +109 -0
  5. package/alb/certificate.js.map +1 -0
  6. package/alb/getCertificate.d.ts +93 -0
  7. package/alb/getCertificate.js +28 -0
  8. package/alb/getCertificate.js.map +1 -0
  9. package/alb/getCertificates.d.ts +22 -0
  10. package/alb/getCertificates.js +24 -0
  11. package/alb/getCertificates.js.map +1 -0
  12. package/alb/index.d.ts +9 -0
  13. package/alb/index.js +28 -0
  14. package/alb/index.js.map +1 -0
  15. package/ark/endpoint.d.ts +230 -0
  16. package/ark/endpoint.js +102 -0
  17. package/ark/endpoint.js.map +1 -0
  18. package/ark/getEndpoint.d.ts +117 -0
  19. package/ark/getEndpoint.js +28 -0
  20. package/ark/getEndpoint.js.map +1 -0
  21. package/ark/getEndpoints.d.ts +22 -0
  22. package/ark/getEndpoints.js +24 -0
  23. package/ark/getEndpoints.js.map +1 -0
  24. package/ark/index.d.ts +9 -0
  25. package/ark/index.js +28 -0
  26. package/ark/index.js.map +1 -0
  27. package/clb/clb.d.ts +512 -0
  28. package/clb/clb.js +148 -0
  29. package/clb/clb.js.map +1 -0
  30. package/clb/getClb.d.ts +221 -0
  31. package/clb/getClb.js +28 -0
  32. package/clb/getClb.js.map +1 -0
  33. package/clb/getClbs.d.ts +22 -0
  34. package/clb/getClbs.js +24 -0
  35. package/clb/getClbs.js.map +1 -0
  36. package/clb/getNlb.d.ts +141 -0
  37. package/clb/getNlb.js +28 -0
  38. package/clb/getNlb.js.map +1 -0
  39. package/clb/getNlbListener.d.ts +109 -0
  40. package/clb/getNlbListener.js +28 -0
  41. package/clb/getNlbListener.js.map +1 -0
  42. package/clb/getNlbListeners.d.ts +22 -0
  43. package/clb/getNlbListeners.js +24 -0
  44. package/clb/getNlbListeners.js.map +1 -0
  45. package/clb/getNlbServerGroup.d.ts +145 -0
  46. package/clb/getNlbServerGroup.js +28 -0
  47. package/clb/getNlbServerGroup.js.map +1 -0
  48. package/clb/getNlbServerGroups.d.ts +22 -0
  49. package/clb/getNlbServerGroups.js +24 -0
  50. package/clb/getNlbServerGroups.js.map +1 -0
  51. package/clb/getNlbs.d.ts +22 -0
  52. package/clb/getNlbs.js +24 -0
  53. package/clb/getNlbs.js.map +1 -0
  54. package/clb/getServerGroup.d.ts +85 -0
  55. package/clb/getServerGroup.js +28 -0
  56. package/clb/getServerGroup.js.map +1 -0
  57. package/clb/getServerGroups.d.ts +22 -0
  58. package/clb/getServerGroups.js +24 -0
  59. package/clb/getServerGroups.js.map +1 -0
  60. package/clb/index.d.ts +45 -0
  61. package/clb/index.js +72 -0
  62. package/clb/index.js.map +1 -0
  63. package/clb/nlb.d.ts +297 -0
  64. package/clb/nlb.js +120 -0
  65. package/clb/nlb.js.map +1 -0
  66. package/clb/nlbListener.d.ts +251 -0
  67. package/clb/nlbListener.js +126 -0
  68. package/clb/nlbListener.js.map +1 -0
  69. package/clb/nlbServerGroup.d.ts +337 -0
  70. package/clb/nlbServerGroup.js +116 -0
  71. package/clb/nlbServerGroup.js.map +1 -0
  72. package/clb/serverGroup.d.ts +151 -0
  73. package/clb/serverGroup.js +83 -0
  74. package/clb/serverGroup.js.map +1 -0
  75. package/config/index.d.ts +1 -0
  76. package/config/index.js +21 -0
  77. package/config/index.js.map +1 -0
  78. package/config/vars.d.ts +37 -0
  79. package/config/vars.js +62 -0
  80. package/config/vars.js.map +1 -0
  81. package/cr/getRepositories.d.ts +22 -0
  82. package/cr/getRepositories.js +24 -0
  83. package/cr/getRepositories.js.map +1 -0
  84. package/cr/getRepository.d.ts +64 -0
  85. package/cr/getRepository.js +28 -0
  86. package/cr/getRepository.js.map +1 -0
  87. package/cr/index.d.ts +9 -0
  88. package/cr/index.js +28 -0
  89. package/cr/index.js.map +1 -0
  90. package/cr/repository.d.ts +136 -0
  91. package/cr/repository.js +94 -0
  92. package/cr/repository.js.map +1 -0
  93. package/ecs/command.d.ts +213 -0
  94. package/ecs/command.js +99 -0
  95. package/ecs/command.js.map +1 -0
  96. package/ecs/getCommand.d.ts +105 -0
  97. package/ecs/getCommand.js +28 -0
  98. package/ecs/getCommand.js.map +1 -0
  99. package/ecs/getCommands.d.ts +22 -0
  100. package/ecs/getCommands.js +24 -0
  101. package/ecs/getCommands.js.map +1 -0
  102. package/ecs/getHpcCluster.d.ts +64 -0
  103. package/ecs/getHpcCluster.js +28 -0
  104. package/ecs/getHpcCluster.js.map +1 -0
  105. package/ecs/getHpcClusters.d.ts +22 -0
  106. package/ecs/getHpcClusters.js +24 -0
  107. package/ecs/getHpcClusters.js.map +1 -0
  108. package/ecs/getImage.d.ts +157 -0
  109. package/ecs/getImage.js +28 -0
  110. package/ecs/getImage.js.map +1 -0
  111. package/ecs/getImages.d.ts +22 -0
  112. package/ecs/getImages.js +24 -0
  113. package/ecs/getImages.js.map +1 -0
  114. package/ecs/getInvocation.d.ts +143 -0
  115. package/ecs/getInvocation.js +28 -0
  116. package/ecs/getInvocation.js.map +1 -0
  117. package/ecs/getInvocations.d.ts +22 -0
  118. package/ecs/getInvocations.js +24 -0
  119. package/ecs/getInvocations.js.map +1 -0
  120. package/ecs/getKeypair.d.ts +81 -0
  121. package/ecs/getKeypair.js +28 -0
  122. package/ecs/getKeypair.js.map +1 -0
  123. package/ecs/getKeypairs.d.ts +22 -0
  124. package/ecs/getKeypairs.js +24 -0
  125. package/ecs/getKeypairs.js.map +1 -0
  126. package/ecs/hpcCluster.d.ts +134 -0
  127. package/ecs/hpcCluster.js +89 -0
  128. package/ecs/hpcCluster.js.map +1 -0
  129. package/ecs/image.d.ts +332 -0
  130. package/ecs/image.js +119 -0
  131. package/ecs/image.js.map +1 -0
  132. package/ecs/index.d.ts +45 -0
  133. package/ecs/index.js +72 -0
  134. package/ecs/index.js.map +1 -0
  135. package/ecs/invocation.d.ts +338 -0
  136. package/ecs/invocation.js +149 -0
  137. package/ecs/invocation.js.map +1 -0
  138. package/ecs/keypair.d.ts +171 -0
  139. package/ecs/keypair.js +98 -0
  140. package/ecs/keypair.js.map +1 -0
  141. package/filenas/getInstance.d.ts +109 -0
  142. package/filenas/getInstance.js +28 -0
  143. package/filenas/getInstance.js.map +1 -0
  144. package/filenas/getInstances.d.ts +22 -0
  145. package/filenas/getInstances.js +24 -0
  146. package/filenas/getInstances.js.map +1 -0
  147. package/filenas/index.d.ts +9 -0
  148. package/filenas/index.js +28 -0
  149. package/filenas/index.js.map +1 -0
  150. package/filenas/instance.d.ts +256 -0
  151. package/filenas/instance.js +125 -0
  152. package/filenas/instance.js.map +1 -0
  153. package/iam/accesskey.d.ts +136 -0
  154. package/iam/accesskey.js +81 -0
  155. package/iam/accesskey.js.map +1 -0
  156. package/iam/getAccesskey.d.ts +72 -0
  157. package/iam/getAccesskey.js +28 -0
  158. package/iam/getAccesskey.js.map +1 -0
  159. package/iam/getAccesskeys.d.ts +22 -0
  160. package/iam/getAccesskeys.js +24 -0
  161. package/iam/getAccesskeys.js.map +1 -0
  162. package/iam/getGroup.d.ts +73 -0
  163. package/iam/getGroup.js +28 -0
  164. package/iam/getGroup.js.map +1 -0
  165. package/iam/getGroups.d.ts +22 -0
  166. package/iam/getGroups.js +24 -0
  167. package/iam/getGroups.js.map +1 -0
  168. package/iam/getPolicies.d.ts +22 -0
  169. package/iam/getPolicies.js +24 -0
  170. package/iam/getPolicies.js.map +1 -0
  171. package/iam/getPolicy.d.ts +89 -0
  172. package/iam/getPolicy.js +28 -0
  173. package/iam/getPolicy.js.map +1 -0
  174. package/iam/getRole.d.ts +79 -0
  175. package/iam/getRole.js +28 -0
  176. package/iam/getRole.js.map +1 -0
  177. package/iam/getRoles.d.ts +22 -0
  178. package/iam/getRoles.js +24 -0
  179. package/iam/getRoles.js.map +1 -0
  180. package/iam/getUser.d.ts +97 -0
  181. package/iam/getUser.js +28 -0
  182. package/iam/getUser.js.map +1 -0
  183. package/iam/getUsers.d.ts +22 -0
  184. package/iam/getUsers.js +24 -0
  185. package/iam/getUsers.js.map +1 -0
  186. package/iam/group.d.ts +121 -0
  187. package/iam/group.js +77 -0
  188. package/iam/group.js.map +1 -0
  189. package/iam/index.d.ts +45 -0
  190. package/iam/index.js +72 -0
  191. package/iam/index.js.map +1 -0
  192. package/iam/policy.d.ts +156 -0
  193. package/iam/policy.js +91 -0
  194. package/iam/policy.js.map +1 -0
  195. package/iam/role.d.ts +185 -0
  196. package/iam/role.js +115 -0
  197. package/iam/role.js.map +1 -0
  198. package/iam/user.d.ts +189 -0
  199. package/iam/user.js +89 -0
  200. package/iam/user.js.map +1 -0
  201. package/index.d.ts +16 -0
  202. package/index.js +63 -0
  203. package/index.js.map +1 -0
  204. package/package.json +29 -0
  205. package/provider.d.ts +102 -0
  206. package/provider.js +61 -0
  207. package/provider.js.map +1 -0
  208. package/storageebs/getVolume.d.ts +153 -0
  209. package/storageebs/getVolume.js +28 -0
  210. package/storageebs/getVolume.js.map +1 -0
  211. package/storageebs/getVolumes.d.ts +22 -0
  212. package/storageebs/getVolumes.js +24 -0
  213. package/storageebs/getVolumes.js.map +1 -0
  214. package/storageebs/index.d.ts +9 -0
  215. package/storageebs/index.js +28 -0
  216. package/storageebs/index.js.map +1 -0
  217. package/storageebs/volume.d.ts +345 -0
  218. package/storageebs/volume.js +140 -0
  219. package/storageebs/volume.js.map +1 -0
  220. package/tos/bucket.d.ts +172 -0
  221. package/tos/bucket.js +87 -0
  222. package/tos/bucket.js.map +1 -0
  223. package/tos/getBucket.d.ts +90 -0
  224. package/tos/getBucket.js +28 -0
  225. package/tos/getBucket.js.map +1 -0
  226. package/tos/getBuckets.d.ts +22 -0
  227. package/tos/getBuckets.js +24 -0
  228. package/tos/getBuckets.js.map +1 -0
  229. package/tos/index.d.ts +9 -0
  230. package/tos/index.js +28 -0
  231. package/tos/index.js.map +1 -0
  232. package/transitrouter/getTransitRouter.d.ts +97 -0
  233. package/transitrouter/getTransitRouter.js +28 -0
  234. package/transitrouter/getTransitRouter.js.map +1 -0
  235. package/transitrouter/getTransitRouters.d.ts +22 -0
  236. package/transitrouter/getTransitRouters.js +24 -0
  237. package/transitrouter/getTransitRouters.js.map +1 -0
  238. package/transitrouter/index.d.ts +9 -0
  239. package/transitrouter/index.js +28 -0
  240. package/transitrouter/index.js.map +1 -0
  241. package/transitrouter/transitRouter.d.ts +194 -0
  242. package/transitrouter/transitRouter.js +104 -0
  243. package/transitrouter/transitRouter.js.map +1 -0
  244. package/types/index.d.ts +3 -0
  245. package/types/index.js +11 -0
  246. package/types/index.js.map +1 -0
  247. package/types/input.d.ts +1581 -0
  248. package/types/input.js +5 -0
  249. package/types/input.js.map +1 -0
  250. package/types/output.d.ts +3321 -0
  251. package/types/output.js +5 -0
  252. package/types/output.js.map +1 -0
  253. package/utilities.d.ts +8 -0
  254. package/utilities.js +101 -0
  255. package/utilities.js.map +1 -0
  256. package/vmp/getWorkspace.d.ts +109 -0
  257. package/vmp/getWorkspace.js +28 -0
  258. package/vmp/getWorkspace.js.map +1 -0
  259. package/vmp/getWorkspaces.d.ts +22 -0
  260. package/vmp/getWorkspaces.js +24 -0
  261. package/vmp/getWorkspaces.js.map +1 -0
  262. package/vmp/index.d.ts +9 -0
  263. package/vmp/index.js +28 -0
  264. package/vmp/index.js.map +1 -0
  265. package/vmp/workspace.d.ts +235 -0
  266. package/vmp/workspace.js +119 -0
  267. package/vmp/workspace.js.map +1 -0
  268. package/vpc/bandwidthPackage.d.ts +257 -0
  269. package/vpc/bandwidthPackage.js +103 -0
  270. package/vpc/bandwidthPackage.js.map +1 -0
  271. package/vpc/eip.d.ts +415 -0
  272. package/vpc/eip.js +150 -0
  273. package/vpc/eip.js.map +1 -0
  274. package/vpc/eni.d.ts +289 -0
  275. package/vpc/eni.js +106 -0
  276. package/vpc/eni.js.map +1 -0
  277. package/vpc/getBandwidthPackage.d.ts +125 -0
  278. package/vpc/getBandwidthPackage.js +28 -0
  279. package/vpc/getBandwidthPackage.js.map +1 -0
  280. package/vpc/getBandwidthPackages.d.ts +22 -0
  281. package/vpc/getBandwidthPackages.js +24 -0
  282. package/vpc/getBandwidthPackages.js.map +1 -0
  283. package/vpc/getEip.d.ts +169 -0
  284. package/vpc/getEip.js +28 -0
  285. package/vpc/getEip.js.map +1 -0
  286. package/vpc/getEips.d.ts +22 -0
  287. package/vpc/getEips.js +24 -0
  288. package/vpc/getEips.js.map +1 -0
  289. package/vpc/getEni.d.ts +134 -0
  290. package/vpc/getEni.js +28 -0
  291. package/vpc/getEni.js.map +1 -0
  292. package/vpc/getEnis.d.ts +22 -0
  293. package/vpc/getEnis.js +24 -0
  294. package/vpc/getEnis.js.map +1 -0
  295. package/vpc/getRouteTable.d.ts +105 -0
  296. package/vpc/getRouteTable.js +28 -0
  297. package/vpc/getRouteTable.js.map +1 -0
  298. package/vpc/getRouteTables.d.ts +22 -0
  299. package/vpc/getRouteTables.js +24 -0
  300. package/vpc/getRouteTables.js.map +1 -0
  301. package/vpc/getSecurityGroup.d.ts +82 -0
  302. package/vpc/getSecurityGroup.js +28 -0
  303. package/vpc/getSecurityGroup.js.map +1 -0
  304. package/vpc/getSecurityGroups.d.ts +22 -0
  305. package/vpc/getSecurityGroups.js +24 -0
  306. package/vpc/getSecurityGroups.js.map +1 -0
  307. package/vpc/getSubnet.d.ts +110 -0
  308. package/vpc/getSubnet.js +28 -0
  309. package/vpc/getSubnet.js.map +1 -0
  310. package/vpc/getSubnets.d.ts +22 -0
  311. package/vpc/getSubnets.js +24 -0
  312. package/vpc/getSubnets.js.map +1 -0
  313. package/vpc/getVpc.d.ts +129 -0
  314. package/vpc/getVpc.js +28 -0
  315. package/vpc/getVpc.js.map +1 -0
  316. package/vpc/getVpcs.d.ts +22 -0
  317. package/vpc/getVpcs.js +24 -0
  318. package/vpc/getVpcs.js.map +1 -0
  319. package/vpc/index.d.ts +63 -0
  320. package/vpc/index.js +94 -0
  321. package/vpc/index.js.map +1 -0
  322. package/vpc/routeTable.d.ts +203 -0
  323. package/vpc/routeTable.js +93 -0
  324. package/vpc/routeTable.js.map +1 -0
  325. package/vpc/securityGroup.d.ts +144 -0
  326. package/vpc/securityGroup.js +83 -0
  327. package/vpc/securityGroup.js.map +1 -0
  328. package/vpc/subnet.d.ts +241 -0
  329. package/vpc/subnet.js +122 -0
  330. package/vpc/subnet.js.map +1 -0
  331. package/vpc/vpc.d.ts +277 -0
  332. package/vpc/vpc.js +102 -0
  333. package/vpc/vpc.js.map +1 -0
package/iam/group.js ADDED
@@ -0,0 +1,77 @@
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.Group = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * 用户组是用户的集合。当用户组被关联上策略后,同一用户组里的所有用户会拥有对应的策略权限,同一个用户可存在于多个用户组中,可同时拥有多个用户组的权限。
10
+ *
11
+ * ## Import
12
+ *
13
+ * ```sh
14
+ * $ pulumi import volcenginecc:iam/group:Group example "user_group_name"
15
+ * ```
16
+ */
17
+ class Group extends pulumi.CustomResource {
18
+ /**
19
+ * Get an existing Group 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 Group(name, state, Object.assign(Object.assign({}, opts), { id: id }));
29
+ }
30
+ /**
31
+ * Returns true if the given object is an instance of Group. 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'] === Group.__pulumiType;
39
+ }
40
+ constructor(name, argsOrState, opts) {
41
+ let resourceInputs = {};
42
+ opts = opts || {};
43
+ if (opts.id) {
44
+ const state = argsOrState;
45
+ resourceInputs["accountId"] = state ? state.accountId : undefined;
46
+ resourceInputs["attachedPolicys"] = state ? state.attachedPolicys : undefined;
47
+ resourceInputs["createdTime"] = state ? state.createdTime : undefined;
48
+ resourceInputs["description"] = state ? state.description : undefined;
49
+ resourceInputs["displayName"] = state ? state.displayName : undefined;
50
+ resourceInputs["updatedTime"] = state ? state.updatedTime : undefined;
51
+ resourceInputs["userGroupId"] = state ? state.userGroupId : undefined;
52
+ resourceInputs["userGroupName"] = state ? state.userGroupName : undefined;
53
+ resourceInputs["users"] = state ? state.users : undefined;
54
+ }
55
+ else {
56
+ const args = argsOrState;
57
+ if ((!args || args.userGroupName === undefined) && !opts.urn) {
58
+ throw new Error("Missing required property 'userGroupName'");
59
+ }
60
+ resourceInputs["attachedPolicys"] = args ? args.attachedPolicys : undefined;
61
+ resourceInputs["description"] = args ? args.description : undefined;
62
+ resourceInputs["displayName"] = args ? args.displayName : undefined;
63
+ resourceInputs["userGroupName"] = args ? args.userGroupName : undefined;
64
+ resourceInputs["users"] = args ? args.users : undefined;
65
+ resourceInputs["accountId"] = undefined /*out*/;
66
+ resourceInputs["createdTime"] = undefined /*out*/;
67
+ resourceInputs["updatedTime"] = undefined /*out*/;
68
+ resourceInputs["userGroupId"] = undefined /*out*/;
69
+ }
70
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
71
+ super(Group.__pulumiType, name, resourceInputs, opts);
72
+ }
73
+ }
74
+ exports.Group = Group;
75
+ /** @internal */
76
+ Group.__pulumiType = 'volcenginecc:iam/group:Group';
77
+ //# sourceMappingURL=group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../iam/group.ts"],"names":[],"mappings":"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"}
package/iam/index.d.ts ADDED
@@ -0,0 +1,45 @@
1
+ export { AccesskeyArgs, AccesskeyState } from "./accesskey";
2
+ export type Accesskey = import("./accesskey").Accesskey;
3
+ export declare const Accesskey: typeof import("./accesskey").Accesskey;
4
+ export { GetAccesskeyArgs, GetAccesskeyResult, GetAccesskeyOutputArgs } from "./getAccesskey";
5
+ export declare const getAccesskey: typeof import("./getAccesskey").getAccesskey;
6
+ export declare const getAccesskeyOutput: typeof import("./getAccesskey").getAccesskeyOutput;
7
+ export { GetAccesskeysResult } from "./getAccesskeys";
8
+ export declare const getAccesskeys: typeof import("./getAccesskeys").getAccesskeys;
9
+ export declare const getAccesskeysOutput: typeof import("./getAccesskeys").getAccesskeysOutput;
10
+ export { GetGroupArgs, GetGroupResult, GetGroupOutputArgs } from "./getGroup";
11
+ export declare const getGroup: typeof import("./getGroup").getGroup;
12
+ export declare const getGroupOutput: typeof import("./getGroup").getGroupOutput;
13
+ export { GetGroupsResult } from "./getGroups";
14
+ export declare const getGroups: typeof import("./getGroups").getGroups;
15
+ export declare const getGroupsOutput: typeof import("./getGroups").getGroupsOutput;
16
+ export { GetPoliciesResult } from "./getPolicies";
17
+ export declare const getPolicies: typeof import("./getPolicies").getPolicies;
18
+ export declare const getPoliciesOutput: typeof import("./getPolicies").getPoliciesOutput;
19
+ export { GetPolicyArgs, GetPolicyResult, GetPolicyOutputArgs } from "./getPolicy";
20
+ export declare const getPolicy: typeof import("./getPolicy").getPolicy;
21
+ export declare const getPolicyOutput: typeof import("./getPolicy").getPolicyOutput;
22
+ export { GetRoleArgs, GetRoleResult, GetRoleOutputArgs } from "./getRole";
23
+ export declare const getRole: typeof import("./getRole").getRole;
24
+ export declare const getRoleOutput: typeof import("./getRole").getRoleOutput;
25
+ export { GetRolesResult } from "./getRoles";
26
+ export declare const getRoles: typeof import("./getRoles").getRoles;
27
+ export declare const getRolesOutput: typeof import("./getRoles").getRolesOutput;
28
+ export { GetUserArgs, GetUserResult, GetUserOutputArgs } from "./getUser";
29
+ export declare const getUser: typeof import("./getUser").getUser;
30
+ export declare const getUserOutput: typeof import("./getUser").getUserOutput;
31
+ export { GetUsersResult } from "./getUsers";
32
+ export declare const getUsers: typeof import("./getUsers").getUsers;
33
+ export declare const getUsersOutput: typeof import("./getUsers").getUsersOutput;
34
+ export { GroupArgs, GroupState } from "./group";
35
+ export type Group = import("./group").Group;
36
+ export declare const Group: typeof import("./group").Group;
37
+ export { PolicyArgs, PolicyState } from "./policy";
38
+ export type Policy = import("./policy").Policy;
39
+ export declare const Policy: typeof import("./policy").Policy;
40
+ export { RoleArgs, RoleState } from "./role";
41
+ export type Role = import("./role").Role;
42
+ export declare const Role: typeof import("./role").Role;
43
+ export { UserArgs, UserState } from "./user";
44
+ export type User = import("./user").User;
45
+ export declare const User: typeof import("./user").User;
package/iam/index.js ADDED
@@ -0,0 +1,72 @@
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.User = exports.Role = exports.Policy = exports.Group = exports.getUsersOutput = exports.getUsers = exports.getUserOutput = exports.getUser = exports.getRolesOutput = exports.getRoles = exports.getRoleOutput = exports.getRole = exports.getPolicyOutput = exports.getPolicy = exports.getPoliciesOutput = exports.getPolicies = exports.getGroupsOutput = exports.getGroups = exports.getGroupOutput = exports.getGroup = exports.getAccesskeysOutput = exports.getAccesskeys = exports.getAccesskeyOutput = exports.getAccesskey = exports.Accesskey = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ exports.Accesskey = null;
9
+ utilities.lazyLoad(exports, ["Accesskey"], () => require("./accesskey"));
10
+ exports.getAccesskey = null;
11
+ exports.getAccesskeyOutput = null;
12
+ utilities.lazyLoad(exports, ["getAccesskey", "getAccesskeyOutput"], () => require("./getAccesskey"));
13
+ exports.getAccesskeys = null;
14
+ exports.getAccesskeysOutput = null;
15
+ utilities.lazyLoad(exports, ["getAccesskeys", "getAccesskeysOutput"], () => require("./getAccesskeys"));
16
+ exports.getGroup = null;
17
+ exports.getGroupOutput = null;
18
+ utilities.lazyLoad(exports, ["getGroup", "getGroupOutput"], () => require("./getGroup"));
19
+ exports.getGroups = null;
20
+ exports.getGroupsOutput = null;
21
+ utilities.lazyLoad(exports, ["getGroups", "getGroupsOutput"], () => require("./getGroups"));
22
+ exports.getPolicies = null;
23
+ exports.getPoliciesOutput = null;
24
+ utilities.lazyLoad(exports, ["getPolicies", "getPoliciesOutput"], () => require("./getPolicies"));
25
+ exports.getPolicy = null;
26
+ exports.getPolicyOutput = null;
27
+ utilities.lazyLoad(exports, ["getPolicy", "getPolicyOutput"], () => require("./getPolicy"));
28
+ exports.getRole = null;
29
+ exports.getRoleOutput = null;
30
+ utilities.lazyLoad(exports, ["getRole", "getRoleOutput"], () => require("./getRole"));
31
+ exports.getRoles = null;
32
+ exports.getRolesOutput = null;
33
+ utilities.lazyLoad(exports, ["getRoles", "getRolesOutput"], () => require("./getRoles"));
34
+ exports.getUser = null;
35
+ exports.getUserOutput = null;
36
+ utilities.lazyLoad(exports, ["getUser", "getUserOutput"], () => require("./getUser"));
37
+ exports.getUsers = null;
38
+ exports.getUsersOutput = null;
39
+ utilities.lazyLoad(exports, ["getUsers", "getUsersOutput"], () => require("./getUsers"));
40
+ exports.Group = null;
41
+ utilities.lazyLoad(exports, ["Group"], () => require("./group"));
42
+ exports.Policy = null;
43
+ utilities.lazyLoad(exports, ["Policy"], () => require("./policy"));
44
+ exports.Role = null;
45
+ utilities.lazyLoad(exports, ["Role"], () => require("./role"));
46
+ exports.User = null;
47
+ utilities.lazyLoad(exports, ["User"], () => require("./user"));
48
+ const _module = {
49
+ version: utilities.getVersion(),
50
+ construct: (name, type, urn) => {
51
+ switch (type) {
52
+ case "volcenginecc:iam/accesskey:Accesskey":
53
+ return new exports.Accesskey(name, undefined, { urn });
54
+ case "volcenginecc:iam/group:Group":
55
+ return new exports.Group(name, undefined, { urn });
56
+ case "volcenginecc:iam/policy:Policy":
57
+ return new exports.Policy(name, undefined, { urn });
58
+ case "volcenginecc:iam/role:Role":
59
+ return new exports.Role(name, undefined, { urn });
60
+ case "volcenginecc:iam/user:User":
61
+ return new exports.User(name, undefined, { urn });
62
+ default:
63
+ throw new Error(`unknown resource type ${type}`);
64
+ }
65
+ },
66
+ };
67
+ pulumi.runtime.registerResourceModule("volcenginecc", "iam/accesskey", _module);
68
+ pulumi.runtime.registerResourceModule("volcenginecc", "iam/group", _module);
69
+ pulumi.runtime.registerResourceModule("volcenginecc", "iam/policy", _module);
70
+ pulumi.runtime.registerResourceModule("volcenginecc", "iam/role", _module);
71
+ pulumi.runtime.registerResourceModule("volcenginecc", "iam/user", _module);
72
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../iam/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,156 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as outputs from "../types/output";
4
+ /**
5
+ * 策略是对权限的一种描述,IAM用户、用户组或角色均需通过关联策略来赋予权限。当系统预设策略不能满足要求时,您可以创建自定义策略,对权限进行细粒度的定义。
6
+ *
7
+ * ## Import
8
+ *
9
+ * ```sh
10
+ * $ pulumi import volcenginecc:iam/policy:Policy example "policy_name|policy_type"
11
+ * ```
12
+ */
13
+ export declare class Policy extends pulumi.CustomResource {
14
+ /**
15
+ * Get an existing Policy 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?: PolicyState, opts?: pulumi.CustomResourceOptions): Policy;
24
+ /**
25
+ * Returns true if the given object is an instance of Policy. 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 Policy;
29
+ /**
30
+ * 策略绑定的身份数量。
31
+ */
32
+ readonly attachmentCount: pulumi.Output<number>;
33
+ /**
34
+ * 系统预设策略所属的分类,通常为服务代码,对于自定义策略该字段不会返回值。
35
+ */
36
+ readonly category: pulumi.Output<string>;
37
+ /**
38
+ * 策略创建时间。
39
+ */
40
+ readonly createdTime: pulumi.Output<string>;
41
+ /**
42
+ * 策略描述,长度不超过128。
43
+ */
44
+ readonly description: pulumi.Output<string>;
45
+ /**
46
+ * 是否是服务关联角色的策略,0代表否,1代表是。
47
+ */
48
+ readonly isServiceRolePolicy: pulumi.Output<number>;
49
+ /**
50
+ * 策略语法内容,例如:{"Statement":[{"Effect":"Allow","Action":["iam:","tag:"],"Resource":["*"]}]}
51
+ */
52
+ readonly policyDocument: pulumi.Output<string>;
53
+ /**
54
+ * 策略名,长度1~64,支持英文、数字和+=,.@-_符号。
55
+ */
56
+ readonly policyName: pulumi.Output<string>;
57
+ readonly policyRoles: pulumi.Output<outputs.iam.PolicyPolicyRole[]>;
58
+ /**
59
+ * 策略的TRN。
60
+ */
61
+ readonly policyTrn: pulumi.Output<string>;
62
+ /**
63
+ * 策略类型。System代表系统预设策略,Custom代表自定义策略。
64
+ */
65
+ readonly policyType: pulumi.Output<string>;
66
+ readonly policyUserGroups: pulumi.Output<outputs.iam.PolicyPolicyUserGroup[]>;
67
+ readonly policyUsers: pulumi.Output<outputs.iam.PolicyPolicyUser[]>;
68
+ /**
69
+ * 策略更新时间。
70
+ */
71
+ readonly updatedTime: pulumi.Output<string>;
72
+ /**
73
+ * Create a Policy resource with the given unique name, arguments, and options.
74
+ *
75
+ * @param name The _unique_ name of the resource.
76
+ * @param args The arguments to use to populate this resource's properties.
77
+ * @param opts A bag of options that control this resource's behavior.
78
+ */
79
+ constructor(name: string, args: PolicyArgs, opts?: pulumi.CustomResourceOptions);
80
+ }
81
+ /**
82
+ * Input properties used for looking up and filtering Policy resources.
83
+ */
84
+ export interface PolicyState {
85
+ /**
86
+ * 策略绑定的身份数量。
87
+ */
88
+ attachmentCount?: pulumi.Input<number>;
89
+ /**
90
+ * 系统预设策略所属的分类,通常为服务代码,对于自定义策略该字段不会返回值。
91
+ */
92
+ category?: pulumi.Input<string>;
93
+ /**
94
+ * 策略创建时间。
95
+ */
96
+ createdTime?: pulumi.Input<string>;
97
+ /**
98
+ * 策略描述,长度不超过128。
99
+ */
100
+ description?: pulumi.Input<string>;
101
+ /**
102
+ * 是否是服务关联角色的策略,0代表否,1代表是。
103
+ */
104
+ isServiceRolePolicy?: pulumi.Input<number>;
105
+ /**
106
+ * 策略语法内容,例如:{"Statement":[{"Effect":"Allow","Action":["iam:","tag:"],"Resource":["*"]}]}
107
+ */
108
+ policyDocument?: pulumi.Input<string>;
109
+ /**
110
+ * 策略名,长度1~64,支持英文、数字和+=,.@-_符号。
111
+ */
112
+ policyName?: pulumi.Input<string>;
113
+ policyRoles?: pulumi.Input<pulumi.Input<inputs.iam.PolicyPolicyRole>[]>;
114
+ /**
115
+ * 策略的TRN。
116
+ */
117
+ policyTrn?: pulumi.Input<string>;
118
+ /**
119
+ * 策略类型。System代表系统预设策略,Custom代表自定义策略。
120
+ */
121
+ policyType?: pulumi.Input<string>;
122
+ policyUserGroups?: pulumi.Input<pulumi.Input<inputs.iam.PolicyPolicyUserGroup>[]>;
123
+ policyUsers?: pulumi.Input<pulumi.Input<inputs.iam.PolicyPolicyUser>[]>;
124
+ /**
125
+ * 策略更新时间。
126
+ */
127
+ updatedTime?: pulumi.Input<string>;
128
+ }
129
+ /**
130
+ * The set of arguments for constructing a Policy resource.
131
+ */
132
+ export interface PolicyArgs {
133
+ /**
134
+ * 系统预设策略所属的分类,通常为服务代码,对于自定义策略该字段不会返回值。
135
+ */
136
+ category?: pulumi.Input<string>;
137
+ /**
138
+ * 策略描述,长度不超过128。
139
+ */
140
+ description?: pulumi.Input<string>;
141
+ /**
142
+ * 策略语法内容,例如:{"Statement":[{"Effect":"Allow","Action":["iam:","tag:"],"Resource":["*"]}]}
143
+ */
144
+ policyDocument: pulumi.Input<string>;
145
+ /**
146
+ * 策略名,长度1~64,支持英文、数字和+=,.@-_符号。
147
+ */
148
+ policyName: pulumi.Input<string>;
149
+ policyRoles?: pulumi.Input<pulumi.Input<inputs.iam.PolicyPolicyRole>[]>;
150
+ /**
151
+ * 策略类型。System代表系统预设策略,Custom代表自定义策略。
152
+ */
153
+ policyType: pulumi.Input<string>;
154
+ policyUserGroups?: pulumi.Input<pulumi.Input<inputs.iam.PolicyPolicyUserGroup>[]>;
155
+ policyUsers?: pulumi.Input<pulumi.Input<inputs.iam.PolicyPolicyUser>[]>;
156
+ }
package/iam/policy.js ADDED
@@ -0,0 +1,91 @@
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.Policy = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * 策略是对权限的一种描述,IAM用户、用户组或角色均需通过关联策略来赋予权限。当系统预设策略不能满足要求时,您可以创建自定义策略,对权限进行细粒度的定义。
10
+ *
11
+ * ## Import
12
+ *
13
+ * ```sh
14
+ * $ pulumi import volcenginecc:iam/policy:Policy example "policy_name|policy_type"
15
+ * ```
16
+ */
17
+ class Policy extends pulumi.CustomResource {
18
+ /**
19
+ * Get an existing Policy 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 Policy(name, state, Object.assign(Object.assign({}, opts), { id: id }));
29
+ }
30
+ /**
31
+ * Returns true if the given object is an instance of Policy. 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'] === Policy.__pulumiType;
39
+ }
40
+ constructor(name, argsOrState, opts) {
41
+ let resourceInputs = {};
42
+ opts = opts || {};
43
+ if (opts.id) {
44
+ const state = argsOrState;
45
+ resourceInputs["attachmentCount"] = state ? state.attachmentCount : undefined;
46
+ resourceInputs["category"] = state ? state.category : undefined;
47
+ resourceInputs["createdTime"] = state ? state.createdTime : undefined;
48
+ resourceInputs["description"] = state ? state.description : undefined;
49
+ resourceInputs["isServiceRolePolicy"] = state ? state.isServiceRolePolicy : undefined;
50
+ resourceInputs["policyDocument"] = state ? state.policyDocument : undefined;
51
+ resourceInputs["policyName"] = state ? state.policyName : undefined;
52
+ resourceInputs["policyRoles"] = state ? state.policyRoles : undefined;
53
+ resourceInputs["policyTrn"] = state ? state.policyTrn : undefined;
54
+ resourceInputs["policyType"] = state ? state.policyType : undefined;
55
+ resourceInputs["policyUserGroups"] = state ? state.policyUserGroups : undefined;
56
+ resourceInputs["policyUsers"] = state ? state.policyUsers : undefined;
57
+ resourceInputs["updatedTime"] = state ? state.updatedTime : undefined;
58
+ }
59
+ else {
60
+ const args = argsOrState;
61
+ if ((!args || args.policyDocument === undefined) && !opts.urn) {
62
+ throw new Error("Missing required property 'policyDocument'");
63
+ }
64
+ if ((!args || args.policyName === undefined) && !opts.urn) {
65
+ throw new Error("Missing required property 'policyName'");
66
+ }
67
+ if ((!args || args.policyType === undefined) && !opts.urn) {
68
+ throw new Error("Missing required property 'policyType'");
69
+ }
70
+ resourceInputs["category"] = args ? args.category : undefined;
71
+ resourceInputs["description"] = args ? args.description : undefined;
72
+ resourceInputs["policyDocument"] = args ? args.policyDocument : undefined;
73
+ resourceInputs["policyName"] = args ? args.policyName : undefined;
74
+ resourceInputs["policyRoles"] = args ? args.policyRoles : undefined;
75
+ resourceInputs["policyType"] = args ? args.policyType : undefined;
76
+ resourceInputs["policyUserGroups"] = args ? args.policyUserGroups : undefined;
77
+ resourceInputs["policyUsers"] = args ? args.policyUsers : undefined;
78
+ resourceInputs["attachmentCount"] = undefined /*out*/;
79
+ resourceInputs["createdTime"] = undefined /*out*/;
80
+ resourceInputs["isServiceRolePolicy"] = undefined /*out*/;
81
+ resourceInputs["policyTrn"] = undefined /*out*/;
82
+ resourceInputs["updatedTime"] = undefined /*out*/;
83
+ }
84
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
85
+ super(Policy.__pulumiType, name, resourceInputs, opts);
86
+ }
87
+ }
88
+ exports.Policy = Policy;
89
+ /** @internal */
90
+ Policy.__pulumiType = 'volcenginecc:iam/policy:Policy';
91
+ //# sourceMappingURL=policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../iam/policy.ts"],"names":[],"mappings":"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"}
package/iam/role.d.ts ADDED
@@ -0,0 +1,185 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as outputs from "../types/output";
4
+ /**
5
+ * 角色(Role)是IAM体系里的一种虚拟身份,用于将账号内某些访问权限授予给各类身份实体,受信任的身份实体可扮演该角色来访问账号内的云资源。
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as volcenginecc from "@volcengine/pulumi-volcenginecc";
12
+ *
13
+ * const roleDemo = new volcenginecc.iam.Role("RoleDemo", {
14
+ * roleName: "RoleDemo",
15
+ * description: "role attach policies",
16
+ * maxSessionDuration: 3600,
17
+ * trustPolicyDocument: `{
18
+ * "Statement": [
19
+ * {
20
+ * "Effect": "Allow",
21
+ * "Action": [
22
+ * "sts:AssumeRole"
23
+ * ],
24
+ * "Principal": {
25
+ * "IAM": [
26
+ * "trn:iam::20000000xx:root"
27
+ * ]
28
+ * }
29
+ * }
30
+ * ]
31
+ * }`,
32
+ * tags: [{
33
+ * key: "env",
34
+ * value: "test",
35
+ * }],
36
+ * });
37
+ * ```
38
+ *
39
+ * ## Import
40
+ *
41
+ * ```sh
42
+ * $ pulumi import volcenginecc:iam/role:Role example "role_name"
43
+ * ```
44
+ */
45
+ export declare class Role extends pulumi.CustomResource {
46
+ /**
47
+ * Get an existing Role resource's state with the given name, ID, and optional extra
48
+ * properties used to qualify the lookup.
49
+ *
50
+ * @param name The _unique_ name of the resulting resource.
51
+ * @param id The _unique_ provider ID of the resource to lookup.
52
+ * @param state Any extra arguments used during the lookup.
53
+ * @param opts Optional settings to control the behavior of the CustomResource.
54
+ */
55
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RoleState, opts?: pulumi.CustomResourceOptions): Role;
56
+ /**
57
+ * Returns true if the given object is an instance of Role. This is designed to work even
58
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
59
+ */
60
+ static isInstance(obj: any): obj is Role;
61
+ /**
62
+ * 角色创建时间。
63
+ */
64
+ readonly createDate: pulumi.Output<string>;
65
+ /**
66
+ * 角色描述,长度不超过128。
67
+ */
68
+ readonly description: pulumi.Output<string>;
69
+ /**
70
+ * 角色显示名,长度不超过64。
71
+ */
72
+ readonly displayName: pulumi.Output<string>;
73
+ /**
74
+ * 是否是服务关联角色, 0否,1是。
75
+ */
76
+ readonly isServiceLinkedRole: pulumi.Output<number>;
77
+ /**
78
+ * 角色最大会话时间,角色最大会话时间。用于限制角色扮演产生的临时安全凭证的有效期的最大范围。取值范围:3600~43200,单位为秒,默认为43200。
79
+ */
80
+ readonly maxSessionDuration: pulumi.Output<number>;
81
+ readonly policies: pulumi.Output<outputs.iam.RolePolicy[]>;
82
+ /**
83
+ * 角色ID。
84
+ */
85
+ readonly roleId: pulumi.Output<number>;
86
+ /**
87
+ * 角色名,长度1~64,支持英文、数字和.-_符号。
88
+ */
89
+ readonly roleName: pulumi.Output<string>;
90
+ readonly tags: pulumi.Output<outputs.iam.RoleTag[]>;
91
+ /**
92
+ * 角色TRN。
93
+ */
94
+ readonly trn: pulumi.Output<string>;
95
+ /**
96
+ * 角色信任策略,信任策略遵循IAM的策略语法中基于资源的策略规则。
97
+ */
98
+ readonly trustPolicyDocument: pulumi.Output<string>;
99
+ /**
100
+ * 角色更新时间。
101
+ */
102
+ readonly updateDate: pulumi.Output<string>;
103
+ /**
104
+ * Create a Role resource with the given unique name, arguments, and options.
105
+ *
106
+ * @param name The _unique_ name of the resource.
107
+ * @param args The arguments to use to populate this resource's properties.
108
+ * @param opts A bag of options that control this resource's behavior.
109
+ */
110
+ constructor(name: string, args: RoleArgs, opts?: pulumi.CustomResourceOptions);
111
+ }
112
+ /**
113
+ * Input properties used for looking up and filtering Role resources.
114
+ */
115
+ export interface RoleState {
116
+ /**
117
+ * 角色创建时间。
118
+ */
119
+ createDate?: pulumi.Input<string>;
120
+ /**
121
+ * 角色描述,长度不超过128。
122
+ */
123
+ description?: pulumi.Input<string>;
124
+ /**
125
+ * 角色显示名,长度不超过64。
126
+ */
127
+ displayName?: pulumi.Input<string>;
128
+ /**
129
+ * 是否是服务关联角色, 0否,1是。
130
+ */
131
+ isServiceLinkedRole?: pulumi.Input<number>;
132
+ /**
133
+ * 角色最大会话时间,角色最大会话时间。用于限制角色扮演产生的临时安全凭证的有效期的最大范围。取值范围:3600~43200,单位为秒,默认为43200。
134
+ */
135
+ maxSessionDuration?: pulumi.Input<number>;
136
+ policies?: pulumi.Input<pulumi.Input<inputs.iam.RolePolicy>[]>;
137
+ /**
138
+ * 角色ID。
139
+ */
140
+ roleId?: pulumi.Input<number>;
141
+ /**
142
+ * 角色名,长度1~64,支持英文、数字和.-_符号。
143
+ */
144
+ roleName?: pulumi.Input<string>;
145
+ tags?: pulumi.Input<pulumi.Input<inputs.iam.RoleTag>[]>;
146
+ /**
147
+ * 角色TRN。
148
+ */
149
+ trn?: pulumi.Input<string>;
150
+ /**
151
+ * 角色信任策略,信任策略遵循IAM的策略语法中基于资源的策略规则。
152
+ */
153
+ trustPolicyDocument?: pulumi.Input<string>;
154
+ /**
155
+ * 角色更新时间。
156
+ */
157
+ updateDate?: pulumi.Input<string>;
158
+ }
159
+ /**
160
+ * The set of arguments for constructing a Role resource.
161
+ */
162
+ export interface RoleArgs {
163
+ /**
164
+ * 角色描述,长度不超过128。
165
+ */
166
+ description?: pulumi.Input<string>;
167
+ /**
168
+ * 角色显示名,长度不超过64。
169
+ */
170
+ displayName?: pulumi.Input<string>;
171
+ /**
172
+ * 角色最大会话时间,角色最大会话时间。用于限制角色扮演产生的临时安全凭证的有效期的最大范围。取值范围:3600~43200,单位为秒,默认为43200。
173
+ */
174
+ maxSessionDuration?: pulumi.Input<number>;
175
+ policies?: pulumi.Input<pulumi.Input<inputs.iam.RolePolicy>[]>;
176
+ /**
177
+ * 角色名,长度1~64,支持英文、数字和.-_符号。
178
+ */
179
+ roleName: pulumi.Input<string>;
180
+ tags?: pulumi.Input<pulumi.Input<inputs.iam.RoleTag>[]>;
181
+ /**
182
+ * 角色信任策略,信任策略遵循IAM的策略语法中基于资源的策略规则。
183
+ */
184
+ trustPolicyDocument?: pulumi.Input<string>;
185
+ }