@aws-sdk/client-transfer 3.35.0 → 3.38.0

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 (310) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/dist-cjs/Transfer.js +0 -12
  3. package/dist-cjs/TransferClient.js +0 -17
  4. package/dist-cjs/commands/CreateAccessCommand.js +0 -30
  5. package/dist-cjs/commands/CreateServerCommand.js +0 -28
  6. package/dist-cjs/commands/CreateUserCommand.js +0 -31
  7. package/dist-cjs/commands/CreateWorkflowCommand.js +0 -28
  8. package/dist-cjs/commands/DeleteAccessCommand.js +0 -26
  9. package/dist-cjs/commands/DeleteServerCommand.js +0 -27
  10. package/dist-cjs/commands/DeleteSshPublicKeyCommand.js +0 -25
  11. package/dist-cjs/commands/DeleteUserCommand.js +0 -31
  12. package/dist-cjs/commands/DeleteWorkflowCommand.js +0 -25
  13. package/dist-cjs/commands/DescribeAccessCommand.js +0 -30
  14. package/dist-cjs/commands/DescribeExecutionCommand.js +0 -25
  15. package/dist-cjs/commands/DescribeSecurityPolicyCommand.js +0 -28
  16. package/dist-cjs/commands/DescribeServerCommand.js +0 -30
  17. package/dist-cjs/commands/DescribeUserCommand.js +0 -29
  18. package/dist-cjs/commands/DescribeWorkflowCommand.js +0 -25
  19. package/dist-cjs/commands/ImportSshPublicKeyCommand.js +0 -30
  20. package/dist-cjs/commands/ListAccessesCommand.js +0 -25
  21. package/dist-cjs/commands/ListExecutionsCommand.js +0 -25
  22. package/dist-cjs/commands/ListSecurityPoliciesCommand.js +0 -26
  23. package/dist-cjs/commands/ListServersCommand.js +0 -26
  24. package/dist-cjs/commands/ListTagsForResourceCommand.js +0 -26
  25. package/dist-cjs/commands/ListUsersCommand.js +0 -26
  26. package/dist-cjs/commands/ListWorkflowsCommand.js +0 -25
  27. package/dist-cjs/commands/SendWorkflowStepStateCommand.js +0 -29
  28. package/dist-cjs/commands/StartServerCommand.js +0 -33
  29. package/dist-cjs/commands/StopServerCommand.js +0 -39
  30. package/dist-cjs/commands/TagResourceCommand.js +0 -28
  31. package/dist-cjs/commands/TestIdentityProviderCommand.js +0 -63
  32. package/dist-cjs/commands/UntagResourceCommand.js +0 -28
  33. package/dist-cjs/commands/UpdateAccessCommand.js +0 -26
  34. package/dist-cjs/commands/UpdateServerCommand.js +0 -29
  35. package/dist-cjs/commands/UpdateUserCommand.js +0 -30
  36. package/dist-cjs/commands/index.js +35 -0
  37. package/dist-cjs/endpoints.js +1 -2
  38. package/dist-cjs/index.js +4 -43
  39. package/dist-cjs/models/index.js +0 -1
  40. package/dist-cjs/models/models_0.js +0 -304
  41. package/dist-cjs/pagination/Interfaces.js +0 -1
  42. package/dist-cjs/pagination/ListAccessesPaginator.js +0 -11
  43. package/dist-cjs/pagination/ListExecutionsPaginator.js +0 -11
  44. package/dist-cjs/pagination/ListSecurityPoliciesPaginator.js +0 -11
  45. package/dist-cjs/pagination/ListServersPaginator.js +0 -11
  46. package/dist-cjs/pagination/ListTagsForResourcePaginator.js +0 -11
  47. package/dist-cjs/pagination/ListUsersPaginator.js +0 -11
  48. package/dist-cjs/pagination/ListWorkflowsPaginator.js +0 -11
  49. package/dist-cjs/pagination/index.js +11 -0
  50. package/dist-cjs/protocols/Aws_json1_1.js +0 -6
  51. package/dist-cjs/runtimeConfig.browser.js +1 -6
  52. package/dist-cjs/runtimeConfig.js +2 -7
  53. package/dist-cjs/runtimeConfig.native.js +0 -4
  54. package/dist-cjs/runtimeConfig.shared.js +0 -4
  55. package/dist-es/Transfer.js +0 -1
  56. package/dist-es/TransferClient.js +0 -1
  57. package/dist-es/commands/CreateAccessCommand.js +0 -1
  58. package/dist-es/commands/CreateServerCommand.js +0 -1
  59. package/dist-es/commands/CreateUserCommand.js +0 -1
  60. package/dist-es/commands/CreateWorkflowCommand.js +0 -1
  61. package/dist-es/commands/DeleteAccessCommand.js +0 -1
  62. package/dist-es/commands/DeleteServerCommand.js +0 -1
  63. package/dist-es/commands/DeleteSshPublicKeyCommand.js +0 -1
  64. package/dist-es/commands/DeleteUserCommand.js +0 -1
  65. package/dist-es/commands/DeleteWorkflowCommand.js +0 -1
  66. package/dist-es/commands/DescribeAccessCommand.js +0 -1
  67. package/dist-es/commands/DescribeExecutionCommand.js +0 -1
  68. package/dist-es/commands/DescribeSecurityPolicyCommand.js +0 -1
  69. package/dist-es/commands/DescribeServerCommand.js +0 -1
  70. package/dist-es/commands/DescribeUserCommand.js +0 -1
  71. package/dist-es/commands/DescribeWorkflowCommand.js +0 -1
  72. package/dist-es/commands/ImportSshPublicKeyCommand.js +0 -1
  73. package/dist-es/commands/ListAccessesCommand.js +0 -1
  74. package/dist-es/commands/ListExecutionsCommand.js +0 -1
  75. package/dist-es/commands/ListSecurityPoliciesCommand.js +0 -1
  76. package/dist-es/commands/ListServersCommand.js +0 -1
  77. package/dist-es/commands/ListTagsForResourceCommand.js +0 -1
  78. package/dist-es/commands/ListUsersCommand.js +0 -1
  79. package/dist-es/commands/ListWorkflowsCommand.js +0 -1
  80. package/dist-es/commands/SendWorkflowStepStateCommand.js +0 -1
  81. package/dist-es/commands/StartServerCommand.js +0 -1
  82. package/dist-es/commands/StopServerCommand.js +0 -1
  83. package/dist-es/commands/TagResourceCommand.js +0 -1
  84. package/dist-es/commands/TestIdentityProviderCommand.js +0 -1
  85. package/dist-es/commands/UntagResourceCommand.js +0 -1
  86. package/dist-es/commands/UpdateAccessCommand.js +0 -1
  87. package/dist-es/commands/UpdateServerCommand.js +0 -1
  88. package/dist-es/commands/UpdateUserCommand.js +0 -1
  89. package/dist-es/commands/index.js +32 -0
  90. package/dist-es/endpoints.js +1 -2
  91. package/dist-es/index.js +4 -43
  92. package/dist-es/models/index.js +0 -1
  93. package/dist-es/models/models_0.js +0 -1
  94. package/dist-es/pagination/Interfaces.js +0 -1
  95. package/dist-es/pagination/ListAccessesPaginator.js +0 -1
  96. package/dist-es/pagination/ListExecutionsPaginator.js +0 -1
  97. package/dist-es/pagination/ListSecurityPoliciesPaginator.js +0 -1
  98. package/dist-es/pagination/ListServersPaginator.js +0 -1
  99. package/dist-es/pagination/ListTagsForResourcePaginator.js +0 -1
  100. package/dist-es/pagination/ListUsersPaginator.js +0 -1
  101. package/dist-es/pagination/ListWorkflowsPaginator.js +0 -1
  102. package/dist-es/pagination/index.js +8 -0
  103. package/dist-es/protocols/Aws_json1_1.js +0 -1
  104. package/dist-es/runtimeConfig.browser.js +1 -2
  105. package/dist-es/runtimeConfig.js +2 -3
  106. package/dist-es/runtimeConfig.native.js +0 -1
  107. package/dist-es/runtimeConfig.shared.js +0 -1
  108. package/dist-types/commands/index.d.ts +32 -0
  109. package/dist-types/index.d.ts +4 -42
  110. package/dist-types/pagination/index.d.ts +8 -0
  111. package/dist-types/ts3.4/Transfer.d.ts +33 -239
  112. package/dist-types/ts3.4/TransferClient.d.ts +24 -97
  113. package/dist-types/ts3.4/commands/CreateAccessCommand.d.ts +2 -25
  114. package/dist-types/ts3.4/commands/CreateServerCommand.d.ts +2 -23
  115. package/dist-types/ts3.4/commands/CreateUserCommand.d.ts +2 -26
  116. package/dist-types/ts3.4/commands/CreateWorkflowCommand.d.ts +2 -23
  117. package/dist-types/ts3.4/commands/DeleteAccessCommand.d.ts +2 -21
  118. package/dist-types/ts3.4/commands/DeleteServerCommand.d.ts +2 -22
  119. package/dist-types/ts3.4/commands/DeleteSshPublicKeyCommand.d.ts +2 -20
  120. package/dist-types/ts3.4/commands/DeleteUserCommand.d.ts +2 -26
  121. package/dist-types/ts3.4/commands/DeleteWorkflowCommand.d.ts +2 -20
  122. package/dist-types/ts3.4/commands/DescribeAccessCommand.d.ts +2 -25
  123. package/dist-types/ts3.4/commands/DescribeExecutionCommand.d.ts +2 -20
  124. package/dist-types/ts3.4/commands/DescribeSecurityPolicyCommand.d.ts +2 -23
  125. package/dist-types/ts3.4/commands/DescribeServerCommand.d.ts +2 -25
  126. package/dist-types/ts3.4/commands/DescribeUserCommand.d.ts +2 -24
  127. package/dist-types/ts3.4/commands/DescribeWorkflowCommand.d.ts +2 -20
  128. package/dist-types/ts3.4/commands/ImportSshPublicKeyCommand.d.ts +2 -25
  129. package/dist-types/ts3.4/commands/ListAccessesCommand.d.ts +2 -20
  130. package/dist-types/ts3.4/commands/ListExecutionsCommand.d.ts +2 -20
  131. package/dist-types/ts3.4/commands/ListSecurityPoliciesCommand.d.ts +2 -21
  132. package/dist-types/ts3.4/commands/ListServersCommand.d.ts +2 -21
  133. package/dist-types/ts3.4/commands/ListTagsForResourceCommand.d.ts +2 -21
  134. package/dist-types/ts3.4/commands/ListUsersCommand.d.ts +2 -21
  135. package/dist-types/ts3.4/commands/ListWorkflowsCommand.d.ts +2 -20
  136. package/dist-types/ts3.4/commands/SendWorkflowStepStateCommand.d.ts +2 -24
  137. package/dist-types/ts3.4/commands/StartServerCommand.d.ts +2 -28
  138. package/dist-types/ts3.4/commands/StopServerCommand.d.ts +2 -34
  139. package/dist-types/ts3.4/commands/TagResourceCommand.d.ts +2 -23
  140. package/dist-types/ts3.4/commands/TestIdentityProviderCommand.d.ts +2 -58
  141. package/dist-types/ts3.4/commands/UntagResourceCommand.d.ts +2 -23
  142. package/dist-types/ts3.4/commands/UpdateAccessCommand.d.ts +2 -21
  143. package/dist-types/ts3.4/commands/UpdateServerCommand.d.ts +2 -24
  144. package/dist-types/ts3.4/commands/UpdateUserCommand.d.ts +2 -25
  145. package/dist-types/ts3.4/commands/index.d.ts +32 -0
  146. package/dist-types/ts3.4/index.d.ts +4 -42
  147. package/dist-types/ts3.4/models/models_0.d.ts +451 -2421
  148. package/dist-types/ts3.4/pagination/index.d.ts +8 -0
  149. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +1 -3
  150. package/dist-types/ts3.4/runtimeConfig.d.ts +1 -3
  151. package/dist-types/ts3.4/runtimeConfig.native.d.ts +1 -3
  152. package/dist-types/ts3.4/runtimeConfig.shared.d.ts +1 -3
  153. package/package.json +33 -30
  154. package/dist-cjs/Transfer.js.map +0 -1
  155. package/dist-cjs/TransferClient.js.map +0 -1
  156. package/dist-cjs/commands/CreateAccessCommand.js.map +0 -1
  157. package/dist-cjs/commands/CreateServerCommand.js.map +0 -1
  158. package/dist-cjs/commands/CreateUserCommand.js.map +0 -1
  159. package/dist-cjs/commands/CreateWorkflowCommand.js.map +0 -1
  160. package/dist-cjs/commands/DeleteAccessCommand.js.map +0 -1
  161. package/dist-cjs/commands/DeleteServerCommand.js.map +0 -1
  162. package/dist-cjs/commands/DeleteSshPublicKeyCommand.js.map +0 -1
  163. package/dist-cjs/commands/DeleteUserCommand.js.map +0 -1
  164. package/dist-cjs/commands/DeleteWorkflowCommand.js.map +0 -1
  165. package/dist-cjs/commands/DescribeAccessCommand.js.map +0 -1
  166. package/dist-cjs/commands/DescribeExecutionCommand.js.map +0 -1
  167. package/dist-cjs/commands/DescribeSecurityPolicyCommand.js.map +0 -1
  168. package/dist-cjs/commands/DescribeServerCommand.js.map +0 -1
  169. package/dist-cjs/commands/DescribeUserCommand.js.map +0 -1
  170. package/dist-cjs/commands/DescribeWorkflowCommand.js.map +0 -1
  171. package/dist-cjs/commands/ImportSshPublicKeyCommand.js.map +0 -1
  172. package/dist-cjs/commands/ListAccessesCommand.js.map +0 -1
  173. package/dist-cjs/commands/ListExecutionsCommand.js.map +0 -1
  174. package/dist-cjs/commands/ListSecurityPoliciesCommand.js.map +0 -1
  175. package/dist-cjs/commands/ListServersCommand.js.map +0 -1
  176. package/dist-cjs/commands/ListTagsForResourceCommand.js.map +0 -1
  177. package/dist-cjs/commands/ListUsersCommand.js.map +0 -1
  178. package/dist-cjs/commands/ListWorkflowsCommand.js.map +0 -1
  179. package/dist-cjs/commands/SendWorkflowStepStateCommand.js.map +0 -1
  180. package/dist-cjs/commands/StartServerCommand.js.map +0 -1
  181. package/dist-cjs/commands/StopServerCommand.js.map +0 -1
  182. package/dist-cjs/commands/TagResourceCommand.js.map +0 -1
  183. package/dist-cjs/commands/TestIdentityProviderCommand.js.map +0 -1
  184. package/dist-cjs/commands/UntagResourceCommand.js.map +0 -1
  185. package/dist-cjs/commands/UpdateAccessCommand.js.map +0 -1
  186. package/dist-cjs/commands/UpdateServerCommand.js.map +0 -1
  187. package/dist-cjs/commands/UpdateUserCommand.js.map +0 -1
  188. package/dist-cjs/endpoints.js.map +0 -1
  189. package/dist-cjs/index.js.map +0 -1
  190. package/dist-cjs/models/index.js.map +0 -1
  191. package/dist-cjs/models/models_0.js.map +0 -1
  192. package/dist-cjs/pagination/Interfaces.js.map +0 -1
  193. package/dist-cjs/pagination/ListAccessesPaginator.js.map +0 -1
  194. package/dist-cjs/pagination/ListExecutionsPaginator.js.map +0 -1
  195. package/dist-cjs/pagination/ListSecurityPoliciesPaginator.js.map +0 -1
  196. package/dist-cjs/pagination/ListServersPaginator.js.map +0 -1
  197. package/dist-cjs/pagination/ListTagsForResourcePaginator.js.map +0 -1
  198. package/dist-cjs/pagination/ListUsersPaginator.js.map +0 -1
  199. package/dist-cjs/pagination/ListWorkflowsPaginator.js.map +0 -1
  200. package/dist-cjs/protocols/Aws_json1_1.js.map +0 -1
  201. package/dist-cjs/runtimeConfig.browser.js.map +0 -1
  202. package/dist-cjs/runtimeConfig.js.map +0 -1
  203. package/dist-cjs/runtimeConfig.native.js.map +0 -1
  204. package/dist-cjs/runtimeConfig.shared.js.map +0 -1
  205. package/dist-es/Transfer.js.map +0 -1
  206. package/dist-es/TransferClient.js.map +0 -1
  207. package/dist-es/commands/CreateAccessCommand.js.map +0 -1
  208. package/dist-es/commands/CreateServerCommand.js.map +0 -1
  209. package/dist-es/commands/CreateUserCommand.js.map +0 -1
  210. package/dist-es/commands/CreateWorkflowCommand.js.map +0 -1
  211. package/dist-es/commands/DeleteAccessCommand.js.map +0 -1
  212. package/dist-es/commands/DeleteServerCommand.js.map +0 -1
  213. package/dist-es/commands/DeleteSshPublicKeyCommand.js.map +0 -1
  214. package/dist-es/commands/DeleteUserCommand.js.map +0 -1
  215. package/dist-es/commands/DeleteWorkflowCommand.js.map +0 -1
  216. package/dist-es/commands/DescribeAccessCommand.js.map +0 -1
  217. package/dist-es/commands/DescribeExecutionCommand.js.map +0 -1
  218. package/dist-es/commands/DescribeSecurityPolicyCommand.js.map +0 -1
  219. package/dist-es/commands/DescribeServerCommand.js.map +0 -1
  220. package/dist-es/commands/DescribeUserCommand.js.map +0 -1
  221. package/dist-es/commands/DescribeWorkflowCommand.js.map +0 -1
  222. package/dist-es/commands/ImportSshPublicKeyCommand.js.map +0 -1
  223. package/dist-es/commands/ListAccessesCommand.js.map +0 -1
  224. package/dist-es/commands/ListExecutionsCommand.js.map +0 -1
  225. package/dist-es/commands/ListSecurityPoliciesCommand.js.map +0 -1
  226. package/dist-es/commands/ListServersCommand.js.map +0 -1
  227. package/dist-es/commands/ListTagsForResourceCommand.js.map +0 -1
  228. package/dist-es/commands/ListUsersCommand.js.map +0 -1
  229. package/dist-es/commands/ListWorkflowsCommand.js.map +0 -1
  230. package/dist-es/commands/SendWorkflowStepStateCommand.js.map +0 -1
  231. package/dist-es/commands/StartServerCommand.js.map +0 -1
  232. package/dist-es/commands/StopServerCommand.js.map +0 -1
  233. package/dist-es/commands/TagResourceCommand.js.map +0 -1
  234. package/dist-es/commands/TestIdentityProviderCommand.js.map +0 -1
  235. package/dist-es/commands/UntagResourceCommand.js.map +0 -1
  236. package/dist-es/commands/UpdateAccessCommand.js.map +0 -1
  237. package/dist-es/commands/UpdateServerCommand.js.map +0 -1
  238. package/dist-es/commands/UpdateUserCommand.js.map +0 -1
  239. package/dist-es/endpoints.js.map +0 -1
  240. package/dist-es/index.js.map +0 -1
  241. package/dist-es/models/index.js.map +0 -1
  242. package/dist-es/models/models_0.js.map +0 -1
  243. package/dist-es/pagination/Interfaces.js.map +0 -1
  244. package/dist-es/pagination/ListAccessesPaginator.js.map +0 -1
  245. package/dist-es/pagination/ListExecutionsPaginator.js.map +0 -1
  246. package/dist-es/pagination/ListSecurityPoliciesPaginator.js.map +0 -1
  247. package/dist-es/pagination/ListServersPaginator.js.map +0 -1
  248. package/dist-es/pagination/ListTagsForResourcePaginator.js.map +0 -1
  249. package/dist-es/pagination/ListUsersPaginator.js.map +0 -1
  250. package/dist-es/pagination/ListWorkflowsPaginator.js.map +0 -1
  251. package/dist-es/protocols/Aws_json1_1.js.map +0 -1
  252. package/dist-es/runtimeConfig.browser.js.map +0 -1
  253. package/dist-es/runtimeConfig.js.map +0 -1
  254. package/dist-es/runtimeConfig.native.js.map +0 -1
  255. package/dist-es/runtimeConfig.shared.js.map +0 -1
  256. package/jest.config.js +0 -4
  257. package/src/Transfer.ts +0 -1228
  258. package/src/TransferClient.ts +0 -355
  259. package/src/commands/CreateAccessCommand.ts +0 -100
  260. package/src/commands/CreateServerCommand.ts +0 -98
  261. package/src/commands/CreateUserCommand.ts +0 -101
  262. package/src/commands/CreateWorkflowCommand.ts +0 -98
  263. package/src/commands/DeleteAccessCommand.ts +0 -96
  264. package/src/commands/DeleteServerCommand.ts +0 -97
  265. package/src/commands/DeleteSshPublicKeyCommand.ts +0 -95
  266. package/src/commands/DeleteUserCommand.ts +0 -101
  267. package/src/commands/DeleteWorkflowCommand.ts +0 -95
  268. package/src/commands/DescribeAccessCommand.ts +0 -100
  269. package/src/commands/DescribeExecutionCommand.ts +0 -95
  270. package/src/commands/DescribeSecurityPolicyCommand.ts +0 -98
  271. package/src/commands/DescribeServerCommand.ts +0 -100
  272. package/src/commands/DescribeUserCommand.ts +0 -99
  273. package/src/commands/DescribeWorkflowCommand.ts +0 -95
  274. package/src/commands/ImportSshPublicKeyCommand.ts +0 -100
  275. package/src/commands/ListAccessesCommand.ts +0 -95
  276. package/src/commands/ListExecutionsCommand.ts +0 -95
  277. package/src/commands/ListSecurityPoliciesCommand.ts +0 -96
  278. package/src/commands/ListServersCommand.ts +0 -96
  279. package/src/commands/ListTagsForResourceCommand.ts +0 -96
  280. package/src/commands/ListUsersCommand.ts +0 -93
  281. package/src/commands/ListWorkflowsCommand.ts +0 -95
  282. package/src/commands/SendWorkflowStepStateCommand.ts +0 -99
  283. package/src/commands/StartServerCommand.ts +0 -103
  284. package/src/commands/StopServerCommand.ts +0 -109
  285. package/src/commands/TagResourceCommand.ts +0 -98
  286. package/src/commands/TestIdentityProviderCommand.ts +0 -133
  287. package/src/commands/UntagResourceCommand.ts +0 -98
  288. package/src/commands/UpdateAccessCommand.ts +0 -96
  289. package/src/commands/UpdateServerCommand.ts +0 -99
  290. package/src/commands/UpdateUserCommand.ts +0 -100
  291. package/src/endpoints.ts +0 -91
  292. package/src/index.ts +0 -43
  293. package/src/models/index.ts +0 -1
  294. package/src/models/models_0.ts +0 -3943
  295. package/src/pagination/Interfaces.ts +0 -8
  296. package/src/pagination/ListAccessesPaginator.ts +0 -59
  297. package/src/pagination/ListExecutionsPaginator.ts +0 -59
  298. package/src/pagination/ListSecurityPoliciesPaginator.ts +0 -59
  299. package/src/pagination/ListServersPaginator.ts +0 -55
  300. package/src/pagination/ListTagsForResourcePaginator.ts +0 -59
  301. package/src/pagination/ListUsersPaginator.ts +0 -55
  302. package/src/pagination/ListWorkflowsPaginator.ts +0 -59
  303. package/src/protocols/Aws_json1_1.ts +0 -5079
  304. package/src/runtimeConfig.browser.ts +0 -41
  305. package/src/runtimeConfig.native.ts +0 -17
  306. package/src/runtimeConfig.shared.ts +0 -17
  307. package/src/runtimeConfig.ts +0 -46
  308. package/tsconfig.es.json +0 -10
  309. package/tsconfig.json +0 -33
  310. package/tsconfig.types.json +0 -9
@@ -1,3943 +0,0 @@
1
- import { SENSITIVE_STRING } from "@aws-sdk/smithy-client";
2
- import { MetadataBearer as $MetadataBearer, SmithyException as __SmithyException } from "@aws-sdk/types";
3
-
4
- /**
5
- * <p>You do not have sufficient access to perform this action.</p>
6
- */
7
- export interface AccessDeniedException extends __SmithyException, $MetadataBearer {
8
- name: "AccessDeniedException";
9
- $fault: "client";
10
- Message?: string;
11
- }
12
-
13
- export namespace AccessDeniedException {
14
- /**
15
- * @internal
16
- */
17
- export const filterSensitiveLog = (obj: AccessDeniedException): any => ({
18
- ...obj,
19
- });
20
- }
21
-
22
- /**
23
- * <p>This exception is thrown when the <code>UpdateServer</code> is called for a file transfer
24
- * protocol-enabled server that has VPC as the endpoint type and the server's
25
- * <code>VpcEndpointID</code> is not in the available state.</p>
26
- */
27
- export interface ConflictException extends __SmithyException, $MetadataBearer {
28
- name: "ConflictException";
29
- $fault: "client";
30
- Message: string | undefined;
31
- }
32
-
33
- export namespace ConflictException {
34
- /**
35
- * @internal
36
- */
37
- export const filterSensitiveLog = (obj: ConflictException): any => ({
38
- ...obj,
39
- });
40
- }
41
-
42
- /**
43
- * <p>Reserved for future use.</p>
44
- * <p>
45
- *
46
- * </p>
47
- */
48
- export interface EfsFileLocation {
49
- /**
50
- * <p>The ID of the file system, assigned by Amazon EFS.</p>
51
- */
52
- FileSystemId?: string;
53
-
54
- /**
55
- * <p>The pathname for the folder being used by a workflow.</p>
56
- */
57
- Path?: string;
58
- }
59
-
60
- export namespace EfsFileLocation {
61
- /**
62
- * @internal
63
- */
64
- export const filterSensitiveLog = (obj: EfsFileLocation): any => ({
65
- ...obj,
66
- });
67
- }
68
-
69
- /**
70
- * <p>Specifies the customer input S3 file location. If it is used inside <code>copyStepDetails.DestinationFileLocation</code>, it should be the S3 copy destination.</p>
71
- * <p>
72
- * You need to provide the bucket and key.
73
- * The key can represent either a path or a file.
74
- * This is determined by whether or not you end the key value with the forward slash (/) character.
75
- * If the final character is "/", then your file is copied to the folder, and its name does not change.
76
- * If, rather, the final character is alphanumeric, your uploaded file is renamed to the path value. In this case, if a file with that name already exists, it is overwritten.
77
- * </p>
78
- * <p>For example, if your path is <code>shared-files/bob/</code>, your uploaded files are copied to the <code>shared-files/bob/</code>, folder.
79
- * If your path is <code>shared-files/today</code>, each uploaded file is copied to the <code>shared-files</code> folder and named <code>today</code>:
80
- * each upload overwrites the previous version of the <i>bob</i> file.</p>
81
- */
82
- export interface S3InputFileLocation {
83
- /**
84
- * <p>Specifies the S3 bucket for the customer input file.</p>
85
- */
86
- Bucket?: string;
87
-
88
- /**
89
- * <p>The name assigned to the file when it was created in S3. You use the object key to retrieve the object.</p>
90
- */
91
- Key?: string;
92
- }
93
-
94
- export namespace S3InputFileLocation {
95
- /**
96
- * @internal
97
- */
98
- export const filterSensitiveLog = (obj: S3InputFileLocation): any => ({
99
- ...obj,
100
- });
101
- }
102
-
103
- /**
104
- * <p>Specifies the location for the file being copied. Only applicable for the Copy type of workflow steps.</p>
105
- */
106
- export interface InputFileLocation {
107
- /**
108
- * <p>Specifies the details for the S3 file being copied.</p>
109
- */
110
- S3FileLocation?: S3InputFileLocation;
111
-
112
- /**
113
- * <p>Reserved for future use.</p>
114
- */
115
- EfsFileLocation?: EfsFileLocation;
116
- }
117
-
118
- export namespace InputFileLocation {
119
- /**
120
- * @internal
121
- */
122
- export const filterSensitiveLog = (obj: InputFileLocation): any => ({
123
- ...obj,
124
- });
125
- }
126
-
127
- export enum OverwriteExisting {
128
- FALSE = "FALSE",
129
- TRUE = "TRUE",
130
- }
131
-
132
- /**
133
- * <p>Each step type has its own <code>StepDetails</code> structure.</p>
134
- */
135
- export interface CopyStepDetails {
136
- /**
137
- * <p>The name of the step, used as an identifier.</p>
138
- */
139
- Name?: string;
140
-
141
- /**
142
- * <p>Specifies the location for the file being copied. Only applicable for the Copy type of workflow steps.</p>
143
- */
144
- DestinationFileLocation?: InputFileLocation;
145
-
146
- /**
147
- * <p>A flag that indicates whether or not to overwrite an existing file of the same name.
148
- * The default is <code>FALSE</code>.</p>
149
- */
150
- OverwriteExisting?: OverwriteExisting | string;
151
- }
152
-
153
- export namespace CopyStepDetails {
154
- /**
155
- * @internal
156
- */
157
- export const filterSensitiveLog = (obj: CopyStepDetails): any => ({
158
- ...obj,
159
- });
160
- }
161
-
162
- /**
163
- * <p>Represents an object that contains entries and targets for
164
- * <code>HomeDirectoryMappings</code>.</p>
165
- * <p>The following is an <code>Entry</code> and <code>Target</code> pair example for <code>chroot</code>.</p>
166
- * <p>
167
- * <code>[ { "Entry:": "/", "Target": "/bucket_name/home/mydirectory" } ]</code>
168
- * </p>
169
- *
170
- * <note>
171
- * <p>If the target of a logical directory entry does not exist in Amazon S3 or EFS, the entry is
172
- * ignored. As a workaround, you can use the Amazon S3 API or EFS API to create 0 byte objects as place
173
- * holders for your directory. If using the CLI, use the <code>s3api</code> or <code>efsapi</code> call instead of
174
- * <code>s3</code> or <code>efs</code> so you can use the put-object operation. For example, you use the
175
- * following: <code>aws s3api put-object --bucket bucketname --key path/to/folder/</code>. Make
176
- * sure that the end of the key name ends in a <code>/</code> for it to be considered a folder.</p>
177
- * </note>
178
- */
179
- export interface HomeDirectoryMapEntry {
180
- /**
181
- * <p>Represents an entry for <code>HomeDirectoryMappings</code>.</p>
182
- */
183
- Entry: string | undefined;
184
-
185
- /**
186
- * <p>Represents the map target that is used in a <code>HomeDirectorymapEntry</code>.</p>
187
- */
188
- Target: string | undefined;
189
- }
190
-
191
- export namespace HomeDirectoryMapEntry {
192
- /**
193
- * @internal
194
- */
195
- export const filterSensitiveLog = (obj: HomeDirectoryMapEntry): any => ({
196
- ...obj,
197
- });
198
- }
199
-
200
- export enum HomeDirectoryType {
201
- LOGICAL = "LOGICAL",
202
- PATH = "PATH",
203
- }
204
-
205
- /**
206
- * <p>The full POSIX identity, including user ID (<code>Uid</code>), group ID
207
- * (<code>Gid</code>), and any secondary groups IDs (<code>SecondaryGids</code>), that controls
208
- * your users' access to your Amazon EFS file systems. The POSIX permissions that are set on
209
- * files and directories in your file system determine the level of access your users get when
210
- * transferring files into and out of your Amazon EFS file systems.</p>
211
- */
212
- export interface PosixProfile {
213
- /**
214
- * <p>The POSIX user ID used for all EFS operations by this user.</p>
215
- */
216
- Uid: number | undefined;
217
-
218
- /**
219
- * <p>The POSIX group ID used for all EFS operations by this user.</p>
220
- */
221
- Gid: number | undefined;
222
-
223
- /**
224
- * <p>The secondary POSIX group IDs used for all EFS operations by this user.</p>
225
- */
226
- SecondaryGids?: number[];
227
- }
228
-
229
- export namespace PosixProfile {
230
- /**
231
- * @internal
232
- */
233
- export const filterSensitiveLog = (obj: PosixProfile): any => ({
234
- ...obj,
235
- });
236
- }
237
-
238
- export interface CreateAccessRequest {
239
- /**
240
- * <p>The landing directory (folder) for a user when they log in to the server using the client.</p>
241
- * <p>A <code>HomeDirectory</code> example is <code>/bucket_name/home/mydirectory</code>.</p>
242
- */
243
- HomeDirectory?: string;
244
-
245
- /**
246
- * <p>The type of landing directory (folder) you want your users' home directory to be when they log into the server.
247
- * If you set it to <code>PATH</code>, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients.
248
- * If you set it <code>LOGICAL</code>, you need to provide mappings in the <code>HomeDirectoryMappings</code> for how you want to make Amazon
249
- * S3 or EFS paths visible to your users.</p>
250
- */
251
- HomeDirectoryType?: HomeDirectoryType | string;
252
-
253
- /**
254
- * <p>Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should
255
- * be visible to your user and how you want to make them visible. You must specify the
256
- * <code>Entry</code> and <code>Target</code> pair, where <code>Entry</code> shows how the path
257
- * is made visible and <code>Target</code> is the actual Amazon S3 or Amazon EFS path. If you
258
- * only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity
259
- * and Access Management (IAM) role provides access to paths in <code>Target</code>. This value
260
- * can only be set when <code>HomeDirectoryType</code> is set to
261
- * <i>LOGICAL</i>.</p>
262
- * <p>The following is an <code>Entry</code> and <code>Target</code> pair example.</p>
263
- * <p>
264
- * <code>[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]</code>
265
- * </p>
266
- * <p>In most cases, you can use this value instead of the session policy to lock down your
267
- * user to the designated home directory ("<code>chroot</code>"). To do this, you can set
268
- * <code>Entry</code> to <code>/</code> and set <code>Target</code> to the
269
- * <code>HomeDirectory</code> parameter value.</p>
270
- * <p>The following is an <code>Entry</code> and <code>Target</code> pair example for <code>chroot</code>.</p>
271
- * <p>
272
- * <code>[ { "Entry:": "/", "Target": "/bucket_name/home/mydirectory" } ]</code>
273
- * </p>
274
- *
275
- * <note>
276
- * <p>If the target of a logical directory entry does not exist in Amazon S3 or EFS, the entry is
277
- * ignored. As a workaround, you can use the Amazon S3 API or EFS API to create 0 byte objects as place
278
- * holders for your directory. If using the CLI, use the <code>s3api</code> or <code>efsapi</code> call instead of
279
- * <code>s3</code> or <code>efs</code> so you can use the put-object operation. For example, you use the
280
- * following: <code>aws s3api put-object --bucket bucketname --key path/to/folder/</code>. Make
281
- * sure that the end of the key name ends in a <code>/</code> for it to be considered a folder.</p>
282
- * </note>
283
- */
284
- HomeDirectoryMappings?: HomeDirectoryMapEntry[];
285
-
286
- /**
287
- * <p>A session policy for your user so that you can use the same IAM role across multiple users. This policy scopes down user
288
- * access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include <code>${Transfer:UserName}</code>,
289
- * <code>${Transfer:HomeDirectory}</code>, and <code>${Transfer:HomeBucket}</code>.</p>
290
- *
291
- * <note>
292
- * <p>This only applies when the domain of <code>ServerId</code> is S3. EFS does not use session policies.</p>
293
- * <p>For session policies, Amazon Web Services Transfer Family stores the policy as a JSON blob, instead
294
- * of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass
295
- * it in the <code>Policy</code> argument.</p>
296
- * <p>For an example of a session policy, see <a href="https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html">Example
297
- * session policy</a>.</p>
298
- * <p>For more information, see <a href="https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html">AssumeRole</a> in the <i>Amazon Web Services Security Token Service API
299
- * Reference</i>.</p>
300
- * </note>
301
- */
302
- Policy?: string;
303
-
304
- /**
305
- * <p>The full POSIX identity, including user ID (<code>Uid</code>), group ID
306
- * (<code>Gid</code>), and any secondary groups IDs (<code>SecondaryGids</code>), that controls
307
- * your users' access to your Amazon EFS file systems. The POSIX permissions that are set on
308
- * files and directories in your file system determine the level of access your users get when
309
- * transferring files into and out of your Amazon EFS file systems.</p>
310
- */
311
- PosixProfile?: PosixProfile;
312
-
313
- /**
314
- * <p>Specifies the Amazon Resource Name (ARN) of the IAM role that controls your users' access to your Amazon S3 bucket or EFS
315
- * file system. The policies attached to this role determine the level of access that you want to provide your users when transferring
316
- * files into and out of your Amazon S3 bucket or EFS file system. The IAM role should also contain a trust relationship that allows the
317
- * server to access your resources when servicing your users' transfer requests.</p>
318
- */
319
- Role: string | undefined;
320
-
321
- /**
322
- * <p>A system-assigned unique identifier for a server instance. This is the specific server that you added your user to.</p>
323
- */
324
- ServerId: string | undefined;
325
-
326
- /**
327
- * <p>A unique identifier that is required to identify specific groups within your directory.
328
- * The users of the group that you associate have access to your Amazon S3 or Amazon EFS
329
- * resources over the enabled protocols using Amazon Web Services Transfer Family. If you know the group name,
330
- * you can view the SID values by running the following command using Windows PowerShell.</p>
331
- *
332
- * <p>
333
- * <code>Get-ADGroup -Filter {samAccountName -like "<i>YourGroupName</i>*"} -Properties * | Select SamAccountName,ObjectSid</code>
334
- * </p>
335
- *
336
- * <p>In that command, replace <i>YourGroupName</i> with the name of your Active Directory group.</p>
337
- *
338
- * <p>The regex used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces.
339
- * You can also include underscores or any of the following characters: =,.@:/-</p>
340
- */
341
- ExternalId: string | undefined;
342
- }
343
-
344
- export namespace CreateAccessRequest {
345
- /**
346
- * @internal
347
- */
348
- export const filterSensitiveLog = (obj: CreateAccessRequest): any => ({
349
- ...obj,
350
- });
351
- }
352
-
353
- export interface CreateAccessResponse {
354
- /**
355
- * <p>The ID of the server that the user is attached to.</p>
356
- */
357
- ServerId: string | undefined;
358
-
359
- /**
360
- * <p>The external ID of the group whose users have access to your Amazon S3 or Amazon EFS
361
- * resources over the enabled protocols using Amazon Web Services Transfer Family.</p>
362
- */
363
- ExternalId: string | undefined;
364
- }
365
-
366
- export namespace CreateAccessResponse {
367
- /**
368
- * @internal
369
- */
370
- export const filterSensitiveLog = (obj: CreateAccessResponse): any => ({
371
- ...obj,
372
- });
373
- }
374
-
375
- /**
376
- * <p>This exception is thrown when an error occurs in the Amazon Web ServicesTransfer Family service.</p>
377
- */
378
- export interface InternalServiceError extends __SmithyException, $MetadataBearer {
379
- name: "InternalServiceError";
380
- $fault: "server";
381
- Message: string | undefined;
382
- }
383
-
384
- export namespace InternalServiceError {
385
- /**
386
- * @internal
387
- */
388
- export const filterSensitiveLog = (obj: InternalServiceError): any => ({
389
- ...obj,
390
- });
391
- }
392
-
393
- /**
394
- * <p>This exception is thrown when the client submits a malformed request.</p>
395
- */
396
- export interface InvalidRequestException extends __SmithyException, $MetadataBearer {
397
- name: "InvalidRequestException";
398
- $fault: "client";
399
- Message: string | undefined;
400
- }
401
-
402
- export namespace InvalidRequestException {
403
- /**
404
- * @internal
405
- */
406
- export const filterSensitiveLog = (obj: InvalidRequestException): any => ({
407
- ...obj,
408
- });
409
- }
410
-
411
- /**
412
- * <p>The requested resource does not exist.</p>
413
- */
414
- export interface ResourceExistsException extends __SmithyException, $MetadataBearer {
415
- name: "ResourceExistsException";
416
- $fault: "client";
417
- Message: string | undefined;
418
- Resource: string | undefined;
419
- ResourceType: string | undefined;
420
- }
421
-
422
- export namespace ResourceExistsException {
423
- /**
424
- * @internal
425
- */
426
- export const filterSensitiveLog = (obj: ResourceExistsException): any => ({
427
- ...obj,
428
- });
429
- }
430
-
431
- /**
432
- * <p>This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer Family
433
- * service.</p>
434
- */
435
- export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer {
436
- name: "ResourceNotFoundException";
437
- $fault: "client";
438
- Message: string | undefined;
439
- Resource: string | undefined;
440
- ResourceType: string | undefined;
441
- }
442
-
443
- export namespace ResourceNotFoundException {
444
- /**
445
- * @internal
446
- */
447
- export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({
448
- ...obj,
449
- });
450
- }
451
-
452
- /**
453
- * <p>The request has failed because the Amazon Web ServicesTransfer Family service is not available.</p>
454
- */
455
- export interface ServiceUnavailableException extends __SmithyException, $MetadataBearer {
456
- name: "ServiceUnavailableException";
457
- $fault: "server";
458
- Message?: string;
459
- }
460
-
461
- export namespace ServiceUnavailableException {
462
- /**
463
- * @internal
464
- */
465
- export const filterSensitiveLog = (obj: ServiceUnavailableException): any => ({
466
- ...obj,
467
- });
468
- }
469
-
470
- export enum Domain {
471
- EFS = "EFS",
472
- S3 = "S3",
473
- }
474
-
475
- /**
476
- * <p>The virtual private cloud (VPC) endpoint settings that are configured for your file
477
- * transfer protocol-enabled server. With a VPC endpoint, you can restrict access to your server
478
- * and resources only within your VPC. To control incoming internet traffic, invoke the
479
- * <code>UpdateServer</code> API and attach an Elastic IP address to your server's
480
- * endpoint.</p>
481
- * <note>
482
- * <p> After May 19, 2021, you won't be able to create a server using
483
- * <code>EndpointType=VPC_ENDPOINT</code> in your Amazon Web Servicesaccount if your account hasn't already
484
- * done so before May 19, 2021. If you have already created servers with
485
- * <code>EndpointType=VPC_ENDPOINT</code> in your Amazon Web Servicesaccount on or before May 19, 2021,
486
- * you will not be affected. After this date, use
487
- * <code>EndpointType</code>=<code>VPC</code>.</p>
488
- *
489
- * <p>For more information, see
490
- * https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.</p>
491
- * </note>
492
- */
493
- export interface EndpointDetails {
494
- /**
495
- * <p>A list of address allocation IDs that are required to attach an Elastic IP address to your
496
- * server's endpoint.</p>
497
- *
498
- * <note>
499
- *
500
- * <p>This property can only be set when <code>EndpointType</code> is set to <code>VPC</code>
501
- * and it is only valid in the <code>UpdateServer</code> API.</p>
502
- * </note>
503
- */
504
- AddressAllocationIds?: string[];
505
-
506
- /**
507
- * <p>A list of subnet IDs that are required to host your server endpoint in your VPC.</p>
508
- *
509
- * <note>
510
- * <p>This property can only be set when <code>EndpointType</code> is set to
511
- * <code>VPC</code>.</p>
512
- * </note>
513
- */
514
- SubnetIds?: string[];
515
-
516
- /**
517
- * <p>The ID of the VPC endpoint.</p>
518
- *
519
- * <note>
520
- * <p>This property can only be set when <code>EndpointType</code> is set to
521
- * <code>VPC_ENDPOINT</code>.</p>
522
- *
523
- * <p>For more information, see
524
- * https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.</p>
525
- * </note>
526
- */
527
- VpcEndpointId?: string;
528
-
529
- /**
530
- * <p>The VPC ID of the VPC in which a server's endpoint will be hosted.</p>
531
- *
532
- * <note>
533
- * <p>This property can only be set when <code>EndpointType</code> is set to
534
- * <code>VPC</code>.</p>
535
- * </note>
536
- */
537
- VpcId?: string;
538
-
539
- /**
540
- * <p>A list of security groups IDs that are available to attach to your server's
541
- * endpoint.</p>
542
- *
543
- * <note>
544
- * <p>This property can only be set when <code>EndpointType</code> is set to
545
- * <code>VPC</code>.</p>
546
- *
547
- * <p>You can edit the <code>SecurityGroupIds</code> property in the <a href="https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html">UpdateServer</a> API only if you are changing the <code>EndpointType</code> from
548
- * <code>PUBLIC</code> or <code>VPC_ENDPOINT</code> to <code>VPC</code>. To change security
549
- * groups associated with your server's VPC endpoint after creation, use the Amazon EC2
550
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html">ModifyVpcEndpoint</a> API.</p>
551
- * </note>
552
- */
553
- SecurityGroupIds?: string[];
554
- }
555
-
556
- export namespace EndpointDetails {
557
- /**
558
- * @internal
559
- */
560
- export const filterSensitiveLog = (obj: EndpointDetails): any => ({
561
- ...obj,
562
- });
563
- }
564
-
565
- export enum EndpointType {
566
- PUBLIC = "PUBLIC",
567
- VPC = "VPC",
568
- VPC_ENDPOINT = "VPC_ENDPOINT",
569
- }
570
-
571
- /**
572
- * <p>Returns information related to the type of user authentication that is in use for a file
573
- * transfer protocol-enabled server's users. A server can have only one method of
574
- * authentication.</p>
575
- */
576
- export interface IdentityProviderDetails {
577
- /**
578
- * <p>Provides the location of the service endpoint used to authenticate users.</p>
579
- */
580
- Url?: string;
581
-
582
- /**
583
- * <p>Provides the type of <code>InvocationRole</code> used to authenticate the user
584
- * account.</p>
585
- */
586
- InvocationRole?: string;
587
-
588
- /**
589
- * <p>The identifier of the Amazon Web ServicesDirectory Service directory that you want to stop sharing.</p>
590
- */
591
- DirectoryId?: string;
592
- }
593
-
594
- export namespace IdentityProviderDetails {
595
- /**
596
- * @internal
597
- */
598
- export const filterSensitiveLog = (obj: IdentityProviderDetails): any => ({
599
- ...obj,
600
- });
601
- }
602
-
603
- export enum IdentityProviderType {
604
- API_GATEWAY = "API_GATEWAY",
605
- AWS_DIRECTORY_SERVICE = "AWS_DIRECTORY_SERVICE",
606
- SERVICE_MANAGED = "SERVICE_MANAGED",
607
- }
608
-
609
- export enum Protocol {
610
- FTP = "FTP",
611
- FTPS = "FTPS",
612
- SFTP = "SFTP",
613
- }
614
-
615
- /**
616
- * <p>Creates a key-value pair for a specific resource. Tags are metadata that you can use to
617
- * search for and group a resource for various purposes. You can apply tags to servers, users,
618
- * and roles. A tag key can take more than one value. For example, to group servers for
619
- * accounting purposes, you might create a tag called <code>Group</code> and assign the values
620
- * <code>Research</code> and <code>Accounting</code> to that group.</p>
621
- */
622
- export interface Tag {
623
- /**
624
- * <p>The name assigned to the tag that you create.</p>
625
- */
626
- Key: string | undefined;
627
-
628
- /**
629
- * <p>Contains one or more values that you assigned to the key name you create.</p>
630
- */
631
- Value: string | undefined;
632
- }
633
-
634
- export namespace Tag {
635
- /**
636
- * @internal
637
- */
638
- export const filterSensitiveLog = (obj: Tag): any => ({
639
- ...obj,
640
- });
641
- }
642
-
643
- /**
644
- * <p>Specifies the workflow ID for the workflow to assign and the execution role used for executing the workflow.</p>
645
- */
646
- export interface WorkflowDetail {
647
- /**
648
- * <p>A unique identifier for the workflow.</p>
649
- */
650
- WorkflowId: string | undefined;
651
-
652
- /**
653
- * <p>Includes the necessary permissions for S3, EFS, and Lambda operations that Transfer can
654
- * assume, so that all workflow steps can operate on the required resources</p>
655
- */
656
- ExecutionRole: string | undefined;
657
- }
658
-
659
- export namespace WorkflowDetail {
660
- /**
661
- * @internal
662
- */
663
- export const filterSensitiveLog = (obj: WorkflowDetail): any => ({
664
- ...obj,
665
- });
666
- }
667
-
668
- /**
669
- * <p>Container for the <code>WorkflowDetail</code> data type.
670
- * It is used by actions that trigger a workflow to begin execution.</p>
671
- */
672
- export interface WorkflowDetails {
673
- /**
674
- * <p>A trigger that starts a workflow: the workflow begins to execute after a file is uploaded.</p>
675
- */
676
- OnUpload: WorkflowDetail[] | undefined;
677
- }
678
-
679
- export namespace WorkflowDetails {
680
- /**
681
- * @internal
682
- */
683
- export const filterSensitiveLog = (obj: WorkflowDetails): any => ({
684
- ...obj,
685
- });
686
- }
687
-
688
- export interface CreateServerRequest {
689
- /**
690
- * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Certificate Manager (ACM) certificate. Required
691
- * when <code>Protocols</code> is set to <code>FTPS</code>.</p>
692
- *
693
- * <p>To request a new public certificate, see <a href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html">Request a public certificate</a>
694
- * in the <i> Amazon Web Services Certificate Manager User Guide</i>.</p>
695
- *
696
- * <p>To import an existing certificate into ACM, see <a href="https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html">Importing certificates into ACM</a>
697
- * in the <i> Amazon Web Services Certificate Manager User Guide</i>.</p>
698
- *
699
- * <p>To request a private certificate to use FTPS through private IP addresses, see <a href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html">Request a
700
- * private certificate</a> in the <i> Amazon Web Services Certificate Manager User
701
- * Guide</i>.</p>
702
- *
703
- * <p>Certificates with the following cryptographic algorithms and key sizes are
704
- * supported:</p>
705
- *
706
- * <ul>
707
- * <li>
708
- * <p>2048-bit RSA (RSA_2048)</p>
709
- * </li>
710
- * <li>
711
- * <p>4096-bit RSA (RSA_4096)</p>
712
- * </li>
713
- * <li>
714
- * <p>Elliptic Prime Curve 256 bit (EC_prime256v1)</p>
715
- * </li>
716
- * <li>
717
- * <p>Elliptic Prime Curve 384 bit (EC_secp384r1)</p>
718
- * </li>
719
- * <li>
720
- * <p>Elliptic Prime Curve 521 bit (EC_secp521r1)</p>
721
- * </li>
722
- * </ul>
723
- *
724
- * <note>
725
- * <p>The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP
726
- * address specified and information about the issuer.</p>
727
- * </note>
728
- */
729
- Certificate?: string;
730
-
731
- /**
732
- * <p>The domain of the storage system that is used for file transfers. There are two domains
733
- * available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The
734
- * default value is S3.</p>
735
- *
736
- * <note>
737
- * <p>After the server is created, the domain cannot be changed.</p>
738
- * </note>
739
- */
740
- Domain?: Domain | string;
741
-
742
- /**
743
- * <p>The virtual private cloud (VPC) endpoint settings that are configured for your server.
744
- * When you host your endpoint within your VPC, you can make it accessible only to resources
745
- * within your VPC, or you can attach Elastic IP addresses and make it accessible to clients over
746
- * the internet. Your VPC's default security groups are automatically assigned to your
747
- * endpoint.</p>
748
- */
749
- EndpointDetails?: EndpointDetails;
750
-
751
- /**
752
- * <p>The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC)
753
- * or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and
754
- * resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it.</p>
755
- * <note>
756
- * <p> After May 19, 2021, you won't be able to create a server using
757
- * <code>EndpointType=VPC_ENDPOINT</code> in your Amazon Web Services account if your account hasn't already
758
- * done so before May 19, 2021. If you have already created servers with
759
- * <code>EndpointType=VPC_ENDPOINT</code> in your Amazon Web Services account on or before May 19, 2021,
760
- * you will not be affected. After this date, use
761
- * <code>EndpointType</code>=<code>VPC</code>.</p>
762
- *
763
- * <p>For more information, see
764
- * https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.</p>
765
- * <p>It is recommended that you use <code>VPC</code> as the <code>EndpointType</code>. With
766
- * this endpoint type, you have the option to directly associate up to three Elastic IPv4
767
- * addresses (BYO IP included) with your server's endpoint and use VPC security groups to
768
- * restrict traffic by the client's public IP address. This is not possible with
769
- * <code>EndpointType</code> set to <code>VPC_ENDPOINT</code>.</p>
770
- * </note>
771
- */
772
- EndpointType?: EndpointType | string;
773
-
774
- /**
775
- * <p>The RSA private key as generated by the <code>ssh-keygen -N "" -m PEM -f
776
- * my-new-server-key</code> command.</p>
777
- *
778
- * <important>
779
- * <p>If you aren't planning to migrate existing users from an existing SFTP-enabled
780
- * server to a new server, don't update the host key. Accidentally changing a
781
- * server's host key can be disruptive.</p>
782
- * </important>
783
- *
784
- *
785
- *
786
- * <p>For more information, see <a href="https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key">Change the host key for your SFTP-enabled server</a> in the <i>Amazon Web Services Transfer
787
- * Family User Guide</i>.</p>
788
- */
789
- HostKey?: string;
790
-
791
- /**
792
- * <p>Required when <code>IdentityProviderType</code> is set to
793
- * <code>AWS_DIRECTORY_SERVICE</code> or <code>API_GATEWAY</code>. Accepts an array containing
794
- * all of the information required to use a directory in <code>AWS_DIRECTORY_SERVICE</code> or
795
- * invoke a customer-supplied authentication API, including the API Gateway URL. Not required
796
- * when <code>IdentityProviderType</code> is set to <code>SERVICE_MANAGED</code>.</p>
797
- */
798
- IdentityProviderDetails?: IdentityProviderDetails;
799
-
800
- /**
801
- * <p>Specifies the mode of authentication for a server. The default value is
802
- * <code>SERVICE_MANAGED</code>, which allows you to store and access user credentials within
803
- * the Amazon Web Services Transfer Family service.</p>
804
- * <p>Use <code>AWS_DIRECTORY_SERVICE</code> to provide access to
805
- * Active Directory groups in Amazon Web Services Managed Active Directory or Microsoft Active Directory in your
806
- * on-premises environment or in Amazon Web Services using AD Connectors. This option also requires you to
807
- * provide a Directory ID using the <code>IdentityProviderDetails</code> parameter.</p>
808
- * <p>Use the <code>API_GATEWAY</code> value to integrate with an identity provider of your choosing. The
809
- * <code>API_GATEWAY</code> setting requires you to provide an API Gateway endpoint URL to call
810
- * for authentication using the <code>IdentityProviderDetails</code> parameter.</p>
811
- */
812
- IdentityProviderType?: IdentityProviderType | string;
813
-
814
- /**
815
- * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that allows a server to turn
816
- * on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity can be viewed in
817
- * your CloudWatch logs.</p>
818
- */
819
- LoggingRole?: string;
820
-
821
- /**
822
- * <p>Specifies the file transfer protocol or protocols over which your file transfer protocol
823
- * client can connect to your server's endpoint. The available protocols are:</p>
824
- *
825
- * <ul>
826
- * <li>
827
- * <p>
828
- * <code>SFTP</code> (Secure Shell (SSH) File Transfer Protocol): File transfer over
829
- * SSH</p>
830
- * </li>
831
- * <li>
832
- * <p>
833
- * <code>FTPS</code> (File Transfer Protocol Secure): File transfer with TLS
834
- * encryption</p>
835
- * </li>
836
- * <li>
837
- * <p>
838
- * <code>FTP</code> (File Transfer Protocol): Unencrypted file transfer</p>
839
- * </li>
840
- * </ul>
841
- *
842
- * <note>
843
- * <p>If you select <code>FTPS</code>, you must choose a certificate stored in Amazon Web Services Certificate
844
- * Manager (ACM) which is used to identify your server when clients connect to it over
845
- * FTPS.</p>
846
- *
847
- * <p>If <code>Protocol</code> includes either <code>FTP</code> or <code>FTPS</code>, then the
848
- * <code>EndpointType</code> must be <code>VPC</code> and the
849
- * <code>IdentityProviderType</code> must be <code>AWS_DIRECTORY_SERVICE</code> or <code>API_GATEWAY</code>.</p>
850
- *
851
- * <p>If <code>Protocol</code> includes <code>FTP</code>, then
852
- * <code>AddressAllocationIds</code> cannot be associated.</p>
853
- *
854
- * <p>If <code>Protocol</code> is set only to <code>SFTP</code>, the <code>EndpointType</code>
855
- * can be set to <code>PUBLIC</code> and the <code>IdentityProviderType</code> can be set to
856
- * <code>SERVICE_MANAGED</code>.</p>
857
- * </note>
858
- */
859
- Protocols?: (Protocol | string)[];
860
-
861
- /**
862
- * <p>Specifies the name of the security policy that is attached to the server.</p>
863
- */
864
- SecurityPolicyName?: string;
865
-
866
- /**
867
- * <p>Key-value pairs that can be used to group and search for servers.</p>
868
- */
869
- Tags?: Tag[];
870
-
871
- /**
872
- * <p>Specifies the workflow ID for the workflow to assign and the execution role used for executing the workflow.</p>
873
- */
874
- WorkflowDetails?: WorkflowDetails;
875
- }
876
-
877
- export namespace CreateServerRequest {
878
- /**
879
- * @internal
880
- */
881
- export const filterSensitiveLog = (obj: CreateServerRequest): any => ({
882
- ...obj,
883
- ...(obj.HostKey && { HostKey: SENSITIVE_STRING }),
884
- });
885
- }
886
-
887
- export interface CreateServerResponse {
888
- /**
889
- * <p>The service-assigned ID of the server that is created.</p>
890
- */
891
- ServerId: string | undefined;
892
- }
893
-
894
- export namespace CreateServerResponse {
895
- /**
896
- * @internal
897
- */
898
- export const filterSensitiveLog = (obj: CreateServerResponse): any => ({
899
- ...obj,
900
- });
901
- }
902
-
903
- /**
904
- * <p>The request was denied due to request throttling.</p>
905
- *
906
- * <p> HTTP Status Code: 400</p>
907
- */
908
- export interface ThrottlingException extends __SmithyException, $MetadataBearer {
909
- name: "ThrottlingException";
910
- $fault: "client";
911
- RetryAfterSeconds?: string;
912
- }
913
-
914
- export namespace ThrottlingException {
915
- /**
916
- * @internal
917
- */
918
- export const filterSensitiveLog = (obj: ThrottlingException): any => ({
919
- ...obj,
920
- });
921
- }
922
-
923
- export interface CreateUserRequest {
924
- /**
925
- * <p>The landing directory (folder) for a user when they log in to the server using the client.</p>
926
- * <p>A <code>HomeDirectory</code> example is <code>/bucket_name/home/mydirectory</code>.</p>
927
- */
928
- HomeDirectory?: string;
929
-
930
- /**
931
- * <p>The type of landing directory (folder) you want your users' home directory to be when they log into the server.
932
- * If you set it to <code>PATH</code>, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients.
933
- * If you set it <code>LOGICAL</code>, you need to provide mappings in the <code>HomeDirectoryMappings</code> for how you want to make Amazon
934
- * S3 or EFS paths visible to your users.</p>
935
- */
936
- HomeDirectoryType?: HomeDirectoryType | string;
937
-
938
- /**
939
- * <p>Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should
940
- * be visible to your user and how you want to make them visible. You must specify the
941
- * <code>Entry</code> and <code>Target</code> pair, where <code>Entry</code> shows how the path
942
- * is made visible and <code>Target</code> is the actual Amazon S3 or Amazon EFS path. If you
943
- * only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity
944
- * and Access Management (IAM) role provides access to paths in <code>Target</code>. This value
945
- * can only be set when <code>HomeDirectoryType</code> is set to
946
- * <i>LOGICAL</i>.</p>
947
- *
948
- * <p>The following is an <code>Entry</code> and <code>Target</code> pair example.</p>
949
- *
950
- * <p>
951
- * <code>[ { "Entry": "/directory1", "Target":
952
- * "/bucket_name/home/mydirectory" } ]</code>
953
- * </p>
954
- *
955
- * <p>In most cases, you can use this value instead of the session policy to lock your user
956
- * down to the designated home directory ("<code>chroot</code>"). To do this, you can set
957
- * <code>Entry</code> to <code>/</code> and set <code>Target</code> to the HomeDirectory
958
- * parameter value.</p>
959
- * <p>The following is an <code>Entry</code> and <code>Target</code> pair example for <code>chroot</code>.</p>
960
- * <p>
961
- * <code>[ { "Entry:": "/", "Target": "/bucket_name/home/mydirectory" } ]</code>
962
- * </p>
963
- *
964
- * <note>
965
- * <p>If the target of a logical directory entry does not exist in Amazon S3 or EFS, the entry is
966
- * ignored. As a workaround, you can use the Amazon S3 API or EFS API to create 0 byte objects as place
967
- * holders for your directory. If using the CLI, use the <code>s3api</code> or <code>efsapi</code> call instead of
968
- * <code>s3</code> or <code>efs</code> so you can use the put-object operation. For example, you use the
969
- * following: <code>aws s3api put-object --bucket bucketname --key path/to/folder/</code>. Make
970
- * sure that the end of the key name ends in a <code>/</code> for it to be considered a folder.</p>
971
- * </note>
972
- */
973
- HomeDirectoryMappings?: HomeDirectoryMapEntry[];
974
-
975
- /**
976
- * <p>A session policy for your user so that you can use the same IAM role across multiple users. This policy scopes down user
977
- * access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include <code>${Transfer:UserName}</code>,
978
- * <code>${Transfer:HomeDirectory}</code>, and <code>${Transfer:HomeBucket}</code>.</p>
979
- *
980
- * <note>
981
- * <p>This only applies when the domain of <code>ServerId</code> is S3. EFS does not use session policies.</p>
982
- * <p>For session policies, Amazon Web Services Transfer Family stores the policy as a JSON blob, instead
983
- * of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass
984
- * it in the <code>Policy</code> argument.</p>
985
- *
986
- *
987
- *
988
- * <p>For an example of a session policy, see <a href="https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html">Example session
989
- * policy</a>.</p>
990
- *
991
- *
992
- *
993
- * <p>For more information, see <a href="https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html">AssumeRole</a> in the <i>Amazon Web Services
994
- * Security Token Service API Reference</i>.</p>
995
- * </note>
996
- */
997
- Policy?: string;
998
-
999
- /**
1000
- * <p>Specifies the full POSIX identity, including user ID (<code>Uid</code>), group ID
1001
- * (<code>Gid</code>), and any secondary groups IDs (<code>SecondaryGids</code>), that controls
1002
- * your users' access to your Amazon EFS file systems. The POSIX permissions that are set on
1003
- * files and directories in Amazon EFS determine the level of access your users get when
1004
- * transferring files into and out of your Amazon EFS file systems.</p>
1005
- */
1006
- PosixProfile?: PosixProfile;
1007
-
1008
- /**
1009
- * <p>Specifies the Amazon Resource Name (ARN) of the IAM role that controls your users' access to your Amazon S3 bucket or EFS
1010
- * file system. The policies attached to this role determine the level of access that you want to provide your users when transferring
1011
- * files into and out of your Amazon S3 bucket or EFS file system. The IAM role should also contain a trust relationship that allows the
1012
- * server to access your resources when servicing your users' transfer requests.</p>
1013
- */
1014
- Role: string | undefined;
1015
-
1016
- /**
1017
- * <p>A system-assigned unique identifier for a server instance. This is the specific server
1018
- * that you added your user to.</p>
1019
- */
1020
- ServerId: string | undefined;
1021
-
1022
- /**
1023
- * <p>The public portion of the Secure Shell (SSH) key used to authenticate the user to the
1024
- * server.</p>
1025
- */
1026
- SshPublicKeyBody?: string;
1027
-
1028
- /**
1029
- * <p>Key-value pairs that can be used to group and search for users. Tags are metadata attached
1030
- * to users for any purpose.</p>
1031
- */
1032
- Tags?: Tag[];
1033
-
1034
- /**
1035
- * <p>A unique string that identifies a user and is associated with a <code>ServerId</code>. This user name must be a minimum of 3 and a maximum of 100 characters
1036
- * long. The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen
1037
- * '-', period '.', and at sign '@'. The user name can't start
1038
- * with a hyphen, period, or at sign.</p>
1039
- */
1040
- UserName: string | undefined;
1041
- }
1042
-
1043
- export namespace CreateUserRequest {
1044
- /**
1045
- * @internal
1046
- */
1047
- export const filterSensitiveLog = (obj: CreateUserRequest): any => ({
1048
- ...obj,
1049
- });
1050
- }
1051
-
1052
- export interface CreateUserResponse {
1053
- /**
1054
- * <p>The ID of the server that the user is attached to.</p>
1055
- */
1056
- ServerId: string | undefined;
1057
-
1058
- /**
1059
- * <p>A unique string that identifies a user account associated with a server.</p>
1060
- */
1061
- UserName: string | undefined;
1062
- }
1063
-
1064
- export namespace CreateUserResponse {
1065
- /**
1066
- * @internal
1067
- */
1068
- export const filterSensitiveLog = (obj: CreateUserResponse): any => ({
1069
- ...obj,
1070
- });
1071
- }
1072
-
1073
- /**
1074
- * <p>Each step type has its own <code>StepDetails</code> structure.</p>
1075
- */
1076
- export interface CustomStepDetails {
1077
- /**
1078
- * <p>The name of the step, used as an identifier.</p>
1079
- */
1080
- Name?: string;
1081
-
1082
- /**
1083
- * <p>The ARN for the lambda function that is being called.</p>
1084
- */
1085
- Target?: string;
1086
-
1087
- /**
1088
- * <p>Timeout, in seconds, for the step.</p>
1089
- */
1090
- TimeoutSeconds?: number;
1091
- }
1092
-
1093
- export namespace CustomStepDetails {
1094
- /**
1095
- * @internal
1096
- */
1097
- export const filterSensitiveLog = (obj: CustomStepDetails): any => ({
1098
- ...obj,
1099
- });
1100
- }
1101
-
1102
- /**
1103
- * <p>The name of the step, used to identify the delete step.</p>
1104
- */
1105
- export interface DeleteStepDetails {
1106
- /**
1107
- * <p>The name of the step, used as an identifier.</p>
1108
- */
1109
- Name?: string;
1110
- }
1111
-
1112
- export namespace DeleteStepDetails {
1113
- /**
1114
- * @internal
1115
- */
1116
- export const filterSensitiveLog = (obj: DeleteStepDetails): any => ({
1117
- ...obj,
1118
- });
1119
- }
1120
-
1121
- /**
1122
- * <p>Specifies the key-value pair that are assigned to a file during the execution of a Tagging step.</p>
1123
- */
1124
- export interface S3Tag {
1125
- /**
1126
- * <p>The name assigned to the tag that you create.</p>
1127
- */
1128
- Key: string | undefined;
1129
-
1130
- /**
1131
- * <p>The value that corresponds to the key.</p>
1132
- */
1133
- Value: string | undefined;
1134
- }
1135
-
1136
- export namespace S3Tag {
1137
- /**
1138
- * @internal
1139
- */
1140
- export const filterSensitiveLog = (obj: S3Tag): any => ({
1141
- ...obj,
1142
- });
1143
- }
1144
-
1145
- /**
1146
- * <p>Each step type has its own <code>StepDetails</code> structure.</p>
1147
- * <p>The key/value pairs used to tag a file during the execution of a workflow step.</p>
1148
- */
1149
- export interface TagStepDetails {
1150
- /**
1151
- * <p>The name of the step, used as an identifier.</p>
1152
- */
1153
- Name?: string;
1154
-
1155
- /**
1156
- * <p>Array that contains from 1 to 10 key/value pairs.</p>
1157
- */
1158
- Tags?: S3Tag[];
1159
- }
1160
-
1161
- export namespace TagStepDetails {
1162
- /**
1163
- * @internal
1164
- */
1165
- export const filterSensitiveLog = (obj: TagStepDetails): any => ({
1166
- ...obj,
1167
- });
1168
- }
1169
-
1170
- export enum WorkflowStepType {
1171
- COPY = "COPY",
1172
- CUSTOM = "CUSTOM",
1173
- DELETE = "DELETE",
1174
- TAG = "TAG",
1175
- }
1176
-
1177
- /**
1178
- * <p>The basic building block of a workflow.</p>
1179
- */
1180
- export interface WorkflowStep {
1181
- /**
1182
- * <p>
1183
- * Currently, the following step types are supported.
1184
- * </p>
1185
- * <ul>
1186
- * <li>
1187
- * <p>
1188
- * <i>Copy</i>: copy the file to another location</p>
1189
- * </li>
1190
- * <li>
1191
- * <p>
1192
- * <i>Custom</i>: custom step with a lambda target</p>
1193
- * </li>
1194
- * <li>
1195
- * <p>
1196
- * <i>Delete</i>: delete the file</p>
1197
- * </li>
1198
- * <li>
1199
- * <p>
1200
- * <i>Tag</i>: add a tag to the file</p>
1201
- * </li>
1202
- * </ul>
1203
- */
1204
- Type?: WorkflowStepType | string;
1205
-
1206
- /**
1207
- * <p>Details for a step that performs a file copy.</p>
1208
- * <p>
1209
- * Consists of the following values:
1210
- * </p>
1211
- * <ul>
1212
- * <li>
1213
- * <p>A description</p>
1214
- * </li>
1215
- * <li>
1216
- * <p>An S3 location for the destination of the file copy.</p>
1217
- * </li>
1218
- * <li>
1219
- * <p>A flag that indicates whether or not to overwrite an existing file of the same name.
1220
- * The default is <code>FALSE</code>.</p>
1221
- * </li>
1222
- * </ul>
1223
- */
1224
- CopyStepDetails?: CopyStepDetails;
1225
-
1226
- /**
1227
- * <p>Details for a step that invokes a lambda function.</p>
1228
- * <p>
1229
- * Consists of the lambda function name, target, and timeout (in seconds).
1230
- * </p>
1231
- */
1232
- CustomStepDetails?: CustomStepDetails;
1233
-
1234
- /**
1235
- * <p>Details for a step that deletes the file.</p>
1236
- */
1237
- DeleteStepDetails?: DeleteStepDetails;
1238
-
1239
- /**
1240
- * <p>Details for a step that creates one or more tags.</p>
1241
- * <p>You specify one or more tags: each tag contains a key/value pair.</p>
1242
- */
1243
- TagStepDetails?: TagStepDetails;
1244
- }
1245
-
1246
- export namespace WorkflowStep {
1247
- /**
1248
- * @internal
1249
- */
1250
- export const filterSensitiveLog = (obj: WorkflowStep): any => ({
1251
- ...obj,
1252
- });
1253
- }
1254
-
1255
- export interface CreateWorkflowRequest {
1256
- /**
1257
- * <p>A textual description for the workflow.</p>
1258
- */
1259
- Description?: string;
1260
-
1261
- /**
1262
- * <p>Specifies the details for the steps that are in the specified workflow.</p>
1263
- * <p>
1264
- * The <code>TYPE</code> specifies which of the following actions is being taken for this step.
1265
- * </p>
1266
- * <ul>
1267
- * <li>
1268
- * <p>
1269
- * <i>Copy</i>: copy the file to another location</p>
1270
- * </li>
1271
- * <li>
1272
- * <p>
1273
- * <i>Custom</i>: custom step with a lambda target</p>
1274
- * </li>
1275
- * <li>
1276
- * <p>
1277
- * <i>Delete</i>: delete the file</p>
1278
- * </li>
1279
- * <li>
1280
- * <p>
1281
- * <i>Tag</i>: add a tag to the file</p>
1282
- * </li>
1283
- * </ul>
1284
- * <note>
1285
- * <p>
1286
- * Currently, copying and tagging are supported only on S3.
1287
- * </p>
1288
- * </note>
1289
- * <p>
1290
- * For file location, you specify either the S3 bucket and key, or the EFS filesystem ID and path.
1291
- * </p>
1292
- */
1293
- Steps: WorkflowStep[] | undefined;
1294
-
1295
- /**
1296
- * <p>Specifies the steps (actions) to take if errors are encountered during execution of the workflow.</p>
1297
- * <note>
1298
- * <p>For custom steps, the lambda function needs to send <code>FAILURE</code> to the call
1299
- * back API to kick off the exception steps. Additionally, if the lambda does not send
1300
- * <code>SUCCESS</code> before it times out, the exception steps are executed.</p>
1301
- * </note>
1302
- */
1303
- OnExceptionSteps?: WorkflowStep[];
1304
-
1305
- /**
1306
- * <p>Key-value pairs that can be used to group and search for workflows. Tags are metadata attached
1307
- * to workflows for any purpose.</p>
1308
- */
1309
- Tags?: Tag[];
1310
- }
1311
-
1312
- export namespace CreateWorkflowRequest {
1313
- /**
1314
- * @internal
1315
- */
1316
- export const filterSensitiveLog = (obj: CreateWorkflowRequest): any => ({
1317
- ...obj,
1318
- });
1319
- }
1320
-
1321
- export interface CreateWorkflowResponse {
1322
- /**
1323
- * <p>A unique identifier for the workflow.</p>
1324
- */
1325
- WorkflowId: string | undefined;
1326
- }
1327
-
1328
- export namespace CreateWorkflowResponse {
1329
- /**
1330
- * @internal
1331
- */
1332
- export const filterSensitiveLog = (obj: CreateWorkflowResponse): any => ({
1333
- ...obj,
1334
- });
1335
- }
1336
-
1337
- export enum CustomStepStatus {
1338
- FAILURE = "FAILURE",
1339
- SUCCESS = "SUCCESS",
1340
- }
1341
-
1342
- export interface DeleteAccessRequest {
1343
- /**
1344
- * <p>A system-assigned unique identifier for a server that has this user assigned.</p>
1345
- */
1346
- ServerId: string | undefined;
1347
-
1348
- /**
1349
- * <p>A unique identifier that is required to identify specific groups within your directory.
1350
- * The users of the group that you associate have access to your Amazon S3 or Amazon EFS
1351
- * resources over the enabled protocols using Amazon Web Services Transfer Family. If you know the group name,
1352
- * you can view the SID values by running the following command using Windows PowerShell.</p>
1353
- *
1354
- * <p>
1355
- * <code>Get-ADGroup -Filter {samAccountName -like "<i>YourGroupName</i>*"} -Properties * | Select SamAccountName,ObjectSid</code>
1356
- * </p>
1357
- *
1358
- * <p>In that command, replace <i>YourGroupName</i> with the name of your Active Directory group.</p>
1359
- *
1360
- * <p>The regex used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces.
1361
- * You can also include underscores or any of the following characters: =,.@:/-</p>
1362
- */
1363
- ExternalId: string | undefined;
1364
- }
1365
-
1366
- export namespace DeleteAccessRequest {
1367
- /**
1368
- * @internal
1369
- */
1370
- export const filterSensitiveLog = (obj: DeleteAccessRequest): any => ({
1371
- ...obj,
1372
- });
1373
- }
1374
-
1375
- export interface DeleteServerRequest {
1376
- /**
1377
- * <p>A unique system-assigned identifier for a server instance.</p>
1378
- */
1379
- ServerId: string | undefined;
1380
- }
1381
-
1382
- export namespace DeleteServerRequest {
1383
- /**
1384
- * @internal
1385
- */
1386
- export const filterSensitiveLog = (obj: DeleteServerRequest): any => ({
1387
- ...obj,
1388
- });
1389
- }
1390
-
1391
- export interface DeleteSshPublicKeyRequest {
1392
- /**
1393
- * <p>A system-assigned unique identifier for a file transfer protocol-enabled server instance
1394
- * that has the user assigned to it.</p>
1395
- */
1396
- ServerId: string | undefined;
1397
-
1398
- /**
1399
- * <p>A unique identifier used to reference your user's specific SSH key.</p>
1400
- */
1401
- SshPublicKeyId: string | undefined;
1402
-
1403
- /**
1404
- * <p>A unique string that identifies a user whose public key is being deleted.</p>
1405
- */
1406
- UserName: string | undefined;
1407
- }
1408
-
1409
- export namespace DeleteSshPublicKeyRequest {
1410
- /**
1411
- * @internal
1412
- */
1413
- export const filterSensitiveLog = (obj: DeleteSshPublicKeyRequest): any => ({
1414
- ...obj,
1415
- });
1416
- }
1417
-
1418
- export interface DeleteUserRequest {
1419
- /**
1420
- * <p>A system-assigned unique identifier for a server instance that has the user assigned to
1421
- * it.</p>
1422
- */
1423
- ServerId: string | undefined;
1424
-
1425
- /**
1426
- * <p>A unique string that identifies a user that is being deleted from a server.</p>
1427
- */
1428
- UserName: string | undefined;
1429
- }
1430
-
1431
- export namespace DeleteUserRequest {
1432
- /**
1433
- * @internal
1434
- */
1435
- export const filterSensitiveLog = (obj: DeleteUserRequest): any => ({
1436
- ...obj,
1437
- });
1438
- }
1439
-
1440
- export interface DeleteWorkflowRequest {
1441
- /**
1442
- * <p>A unique identifier for the workflow.</p>
1443
- */
1444
- WorkflowId: string | undefined;
1445
- }
1446
-
1447
- export namespace DeleteWorkflowRequest {
1448
- /**
1449
- * @internal
1450
- */
1451
- export const filterSensitiveLog = (obj: DeleteWorkflowRequest): any => ({
1452
- ...obj,
1453
- });
1454
- }
1455
-
1456
- export interface DescribeAccessRequest {
1457
- /**
1458
- * <p>A system-assigned unique identifier for a server that has this access assigned.</p>
1459
- */
1460
- ServerId: string | undefined;
1461
-
1462
- /**
1463
- * <p>A unique identifier that is required to identify specific groups within your directory.
1464
- * The users of the group that you associate have access to your Amazon S3 or Amazon EFS
1465
- * resources over the enabled protocols using Amazon Web Services Transfer Family. If you know the group name,
1466
- * you can view the SID values by running the following command using Windows PowerShell.</p>
1467
- *
1468
- * <p>
1469
- * <code>Get-ADGroup -Filter {samAccountName -like "<i>YourGroupName</i>*"} -Properties * | Select SamAccountName,ObjectSid</code>
1470
- * </p>
1471
- *
1472
- * <p>In that command, replace <i>YourGroupName</i> with the name of your Active Directory group.</p>
1473
- *
1474
- * <p>The regex used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces.
1475
- * You can also include underscores or any of the following characters: =,.@:/-</p>
1476
- */
1477
- ExternalId: string | undefined;
1478
- }
1479
-
1480
- export namespace DescribeAccessRequest {
1481
- /**
1482
- * @internal
1483
- */
1484
- export const filterSensitiveLog = (obj: DescribeAccessRequest): any => ({
1485
- ...obj,
1486
- });
1487
- }
1488
-
1489
- /**
1490
- * <p>Describes the properties of the access that was specified.</p>
1491
- */
1492
- export interface DescribedAccess {
1493
- /**
1494
- * <p>The landing directory (folder) for a user when they log in to the server using the client.</p>
1495
- * <p>A <code>HomeDirectory</code> example is <code>/bucket_name/home/mydirectory</code>.</p>
1496
- */
1497
- HomeDirectory?: string;
1498
-
1499
- /**
1500
- * <p>Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should
1501
- * be visible to your user and how you want to make them visible. You must specify the
1502
- * <code>Entry</code> and <code>Target</code> pair, where <code>Entry</code> shows how the path
1503
- * is made visible and <code>Target</code> is the actual Amazon S3 or Amazon EFS path. If you
1504
- * only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity
1505
- * and Access Management (IAM) role provides access to paths in <code>Target</code>. This value
1506
- * can only be set when <code>HomeDirectoryType</code> is set to
1507
- * <i>LOGICAL</i>.</p>
1508
- *
1509
- * <p>In most cases, you can use this value instead of the session policy to lock down the
1510
- * associated access to the designated home directory ("<code>chroot</code>"). To do this, you
1511
- * can set <code>Entry</code> to '/' and set <code>Target</code> to the
1512
- * <code>HomeDirectory</code> parameter value.</p>
1513
- */
1514
- HomeDirectoryMappings?: HomeDirectoryMapEntry[];
1515
-
1516
- /**
1517
- * <p>The type of landing directory (folder) you want your users' home directory to be when they log into the server.
1518
- * If you set it to <code>PATH</code>, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients.
1519
- * If you set it <code>LOGICAL</code>, you need to provide mappings in the <code>HomeDirectoryMappings</code> for how you want to make Amazon
1520
- * S3 or EFS paths visible to your users.</p>
1521
- */
1522
- HomeDirectoryType?: HomeDirectoryType | string;
1523
-
1524
- /**
1525
- * <p>A session policy for your user so that you can use the same IAM role across multiple users. This policy scopes down user
1526
- * access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include <code>${Transfer:UserName}</code>,
1527
- * <code>${Transfer:HomeDirectory}</code>, and <code>${Transfer:HomeBucket}</code>.</p>
1528
- */
1529
- Policy?: string;
1530
-
1531
- /**
1532
- * <p>The full POSIX identity, including user ID (<code>Uid</code>), group ID
1533
- * (<code>Gid</code>), and any secondary groups IDs (<code>SecondaryGids</code>), that controls
1534
- * your users' access to your Amazon EFS file systems. The POSIX permissions that are set on
1535
- * files and directories in your file system determine the level of access your users get when
1536
- * transferring files into and out of your Amazon EFS file systems.</p>
1537
- */
1538
- PosixProfile?: PosixProfile;
1539
-
1540
- /**
1541
- * <p>Specifies the Amazon Resource Name (ARN) of the IAM role that controls your users' access to your Amazon S3 bucket or EFS
1542
- * file system. The policies attached to this role determine the level of access that you want to provide your users when transferring
1543
- * files into and out of your Amazon S3 bucket or EFS file system. The IAM role should also contain a trust relationship that allows the
1544
- * server to access your resources when servicing your users' transfer requests.</p>
1545
- */
1546
- Role?: string;
1547
-
1548
- /**
1549
- * <p>A unique identifier that is required to identify specific groups within your directory.
1550
- * The users of the group that you associate have access to your Amazon S3 or Amazon EFS
1551
- * resources over the enabled protocols using Amazon Web Services Transfer Family. If you know the group name,
1552
- * you can view the SID values by running the following command using Windows PowerShell.</p>
1553
- *
1554
- * <p>
1555
- * <code>Get-ADGroup -Filter {samAccountName -like "<i>YourGroupName</i>*"} -Properties * | Select SamAccountName,ObjectSid</code>
1556
- * </p>
1557
- *
1558
- * <p>In that command, replace <i>YourGroupName</i> with the name of your Active Directory group.</p>
1559
- *
1560
- * <p>The regex used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces.
1561
- * You can also include underscores or any of the following characters: =,.@:/-</p>
1562
- */
1563
- ExternalId?: string;
1564
- }
1565
-
1566
- export namespace DescribedAccess {
1567
- /**
1568
- * @internal
1569
- */
1570
- export const filterSensitiveLog = (obj: DescribedAccess): any => ({
1571
- ...obj,
1572
- });
1573
- }
1574
-
1575
- export interface DescribeAccessResponse {
1576
- /**
1577
- * <p>A system-assigned unique identifier for a server that has this access assigned.</p>
1578
- */
1579
- ServerId: string | undefined;
1580
-
1581
- /**
1582
- * <p>The external ID of the server that the access is attached to.</p>
1583
- */
1584
- Access: DescribedAccess | undefined;
1585
- }
1586
-
1587
- export namespace DescribeAccessResponse {
1588
- /**
1589
- * @internal
1590
- */
1591
- export const filterSensitiveLog = (obj: DescribeAccessResponse): any => ({
1592
- ...obj,
1593
- });
1594
- }
1595
-
1596
- /**
1597
- * <p>Specifies the details for the file location for the file being used in the workflow. Only applicable if you are using S3 storage.</p>
1598
- */
1599
- export interface S3FileLocation {
1600
- /**
1601
- * <p>Specifies the S3 bucket that contains the file being used.</p>
1602
- */
1603
- Bucket?: string;
1604
-
1605
- /**
1606
- * <p>The name assigned to the file when it was created in S3. You use the object key to retrieve the object.</p>
1607
- */
1608
- Key?: string;
1609
-
1610
- /**
1611
- * <p>Specifies the file version.</p>
1612
- */
1613
- VersionId?: string;
1614
-
1615
- /**
1616
- * <p>The entity tag is a hash of the object. The ETag reflects changes only to the contents of an object, not its metadata.</p>
1617
- */
1618
- Etag?: string;
1619
- }
1620
-
1621
- export namespace S3FileLocation {
1622
- /**
1623
- * @internal
1624
- */
1625
- export const filterSensitiveLog = (obj: S3FileLocation): any => ({
1626
- ...obj,
1627
- });
1628
- }
1629
-
1630
- /**
1631
- * <p>Specifies the Amazon S3 or EFS file details to be used in the step.</p>
1632
- */
1633
- export interface FileLocation {
1634
- /**
1635
- * <p>Specifies the S3 details for the file being used, such as bucket, Etag, and so forth.</p>
1636
- */
1637
- S3FileLocation?: S3FileLocation;
1638
-
1639
- /**
1640
- * <p>Specifies the Amazon EFS ID and the path for the file being used.</p>
1641
- */
1642
- EfsFileLocation?: EfsFileLocation;
1643
- }
1644
-
1645
- export namespace FileLocation {
1646
- /**
1647
- * @internal
1648
- */
1649
- export const filterSensitiveLog = (obj: FileLocation): any => ({
1650
- ...obj,
1651
- });
1652
- }
1653
-
1654
- /**
1655
- * <p>Consists of the logging role and the log group name.</p>
1656
- */
1657
- export interface LoggingConfiguration {
1658
- /**
1659
- * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that allows a server to turn
1660
- * on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity can be viewed in
1661
- * your CloudWatch logs.</p>
1662
- */
1663
- LoggingRole?: string;
1664
-
1665
- /**
1666
- * <p>The name of the CloudWatch logging group for the Amazon Web Services Transfer server to which this workflow belongs.</p>
1667
- */
1668
- LogGroupName?: string;
1669
- }
1670
-
1671
- export namespace LoggingConfiguration {
1672
- /**
1673
- * @internal
1674
- */
1675
- export const filterSensitiveLog = (obj: LoggingConfiguration): any => ({
1676
- ...obj,
1677
- });
1678
- }
1679
-
1680
- export enum ExecutionErrorType {
1681
- PERMISSION_DENIED = "PERMISSION_DENIED",
1682
- }
1683
-
1684
- /**
1685
- * <p>Specifies the error message and type, for an error that occurs during the execution of the workflow.</p>
1686
- */
1687
- export interface ExecutionError {
1688
- /**
1689
- * <p>Specifies the error type: currently, the only valid value is <code>PERMISSION_DENIED</code>, which occurs
1690
- * if your policy does not contain the correct permissions to complete one or more of the steps in the workflow.</p>
1691
- */
1692
- Type: ExecutionErrorType | string | undefined;
1693
-
1694
- /**
1695
- * <p>Specifies the descriptive message that corresponds to the <code>ErrorType</code>.</p>
1696
- */
1697
- Message: string | undefined;
1698
- }
1699
-
1700
- export namespace ExecutionError {
1701
- /**
1702
- * @internal
1703
- */
1704
- export const filterSensitiveLog = (obj: ExecutionError): any => ({
1705
- ...obj,
1706
- });
1707
- }
1708
-
1709
- /**
1710
- * <p>Specifies the following details for the step: error (if any), outputs (if any), and the step type.</p>
1711
- */
1712
- export interface ExecutionStepResult {
1713
- /**
1714
- * <p>One of the available step types.</p>
1715
- * <ul>
1716
- * <li>
1717
- * <p>
1718
- * <i>Copy</i>: copy the file to another location</p>
1719
- * </li>
1720
- * <li>
1721
- * <p>
1722
- * <i>Custom</i>: custom step with a lambda target</p>
1723
- * </li>
1724
- * <li>
1725
- * <p>
1726
- * <i>Delete</i>: delete the file</p>
1727
- * </li>
1728
- * <li>
1729
- * <p>
1730
- * <i>Tag</i>: add a tag to the file</p>
1731
- * </li>
1732
- * </ul>
1733
- */
1734
- StepType?: WorkflowStepType | string;
1735
-
1736
- /**
1737
- * <p>The values for the key/value pair applied as a tag to the file. Only applicable if the step type is <code>TAG</code>.</p>
1738
- */
1739
- Outputs?: string;
1740
-
1741
- /**
1742
- * <p>Specifies the details for an error, if it occurred during execution of the specified workfow step.</p>
1743
- */
1744
- Error?: ExecutionError;
1745
- }
1746
-
1747
- export namespace ExecutionStepResult {
1748
- /**
1749
- * @internal
1750
- */
1751
- export const filterSensitiveLog = (obj: ExecutionStepResult): any => ({
1752
- ...obj,
1753
- });
1754
- }
1755
-
1756
- /**
1757
- * <p>Specifies the steps in the workflow, as well as the steps to execute in case of any errors during workflow execution.</p>
1758
- */
1759
- export interface ExecutionResults {
1760
- /**
1761
- * <p>Specifies the details for the steps that are in the specified workflow.</p>
1762
- */
1763
- Steps?: ExecutionStepResult[];
1764
-
1765
- /**
1766
- * <p>Specifies the steps (actions) to take if errors are encountered during execution of the workflow.</p>
1767
- */
1768
- OnExceptionSteps?: ExecutionStepResult[];
1769
- }
1770
-
1771
- export namespace ExecutionResults {
1772
- /**
1773
- * @internal
1774
- */
1775
- export const filterSensitiveLog = (obj: ExecutionResults): any => ({
1776
- ...obj,
1777
- });
1778
- }
1779
-
1780
- /**
1781
- * <p>Specifies the user name, server ID, and session ID for a workflow.</p>
1782
- */
1783
- export interface UserDetails {
1784
- /**
1785
- * <p>A unique string that identifies a user account associated with a server.</p>
1786
- */
1787
- UserName: string | undefined;
1788
-
1789
- /**
1790
- * <p>The system-assigned unique identifier for a Transfer server instance. </p>
1791
- */
1792
- ServerId: string | undefined;
1793
-
1794
- /**
1795
- * <p>The system-assigned unique identifier for a session that corresponds to the workflow.</p>
1796
- */
1797
- SessionId?: string;
1798
- }
1799
-
1800
- export namespace UserDetails {
1801
- /**
1802
- * @internal
1803
- */
1804
- export const filterSensitiveLog = (obj: UserDetails): any => ({
1805
- ...obj,
1806
- });
1807
- }
1808
-
1809
- /**
1810
- * <p>A container object for the session details associated with a workflow.</p>
1811
- */
1812
- export interface ServiceMetadata {
1813
- /**
1814
- * <p>The Server ID (<code>ServerId</code>), Session ID (<code>SessionId</code>) and user (<code>UserName</code>) make up the <code>UserDetails</code>.</p>
1815
- */
1816
- UserDetails: UserDetails | undefined;
1817
- }
1818
-
1819
- export namespace ServiceMetadata {
1820
- /**
1821
- * @internal
1822
- */
1823
- export const filterSensitiveLog = (obj: ServiceMetadata): any => ({
1824
- ...obj,
1825
- });
1826
- }
1827
-
1828
- export enum ExecutionStatus {
1829
- COMPLETED = "COMPLETED",
1830
- EXCEPTION = "EXCEPTION",
1831
- HANDLING_EXCEPTION = "HANDLING_EXCEPTION",
1832
- IN_PROGRESS = "IN_PROGRESS",
1833
- }
1834
-
1835
- /**
1836
- * <p>The details for an execution object.</p>
1837
- */
1838
- export interface DescribedExecution {
1839
- /**
1840
- * <p>A unique identifier for the execution of a workflow.</p>
1841
- */
1842
- ExecutionId?: string;
1843
-
1844
- /**
1845
- * <p>A structure that describes the Amazon S3 or EFS file location.
1846
- * This is the file location when the execution begins: if the file is being copied,
1847
- * this is the initial (as opposed to destination) file location.</p>
1848
- */
1849
- InitialFileLocation?: FileLocation;
1850
-
1851
- /**
1852
- * <p>A container object for the session details associated with a workflow.</p>
1853
- */
1854
- ServiceMetadata?: ServiceMetadata;
1855
-
1856
- /**
1857
- * <p>The IAM role associated with the execution.</p>
1858
- */
1859
- ExecutionRole?: string;
1860
-
1861
- /**
1862
- * <p>The IAM logging role associated with the execution.</p>
1863
- */
1864
- LoggingConfiguration?: LoggingConfiguration;
1865
-
1866
- /**
1867
- * <p>The full POSIX identity, including user ID (<code>Uid</code>), group ID
1868
- * (<code>Gid</code>), and any secondary groups IDs (<code>SecondaryGids</code>), that controls
1869
- * your users' access to your Amazon EFS file systems. The POSIX permissions that are set on
1870
- * files and directories in your file system determine the level of access your users get when
1871
- * transferring files into and out of your Amazon EFS file systems.</p>
1872
- */
1873
- PosixProfile?: PosixProfile;
1874
-
1875
- /**
1876
- * <p>The status is one of the execution. Can be in progress, completed, exception encountered, or handling the exception.
1877
- * </p>
1878
- */
1879
- Status?: ExecutionStatus | string;
1880
-
1881
- /**
1882
- * <p>A structure that describes the execution results. This includes a list of the steps along with the details of each step,
1883
- * error type and message (if any), and the <code>OnExceptionSteps</code> structure.</p>
1884
- */
1885
- Results?: ExecutionResults;
1886
- }
1887
-
1888
- export namespace DescribedExecution {
1889
- /**
1890
- * @internal
1891
- */
1892
- export const filterSensitiveLog = (obj: DescribedExecution): any => ({
1893
- ...obj,
1894
- });
1895
- }
1896
-
1897
- /**
1898
- * <p>Describes the properties of a security policy that was specified. For more information
1899
- * about security policies, see <a href="https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html">Working with security
1900
- * policies</a>.</p>
1901
- */
1902
- export interface DescribedSecurityPolicy {
1903
- /**
1904
- * <p>Specifies whether this policy enables Federal Information Processing Standards
1905
- * (FIPS).</p>
1906
- */
1907
- Fips?: boolean;
1908
-
1909
- /**
1910
- * <p>Specifies the name of the security policy that is attached to the server.</p>
1911
- */
1912
- SecurityPolicyName: string | undefined;
1913
-
1914
- /**
1915
- * <p>Specifies the enabled Secure Shell (SSH) cipher encryption algorithms in the security
1916
- * policy that is attached to the server.</p>
1917
- */
1918
- SshCiphers?: string[];
1919
-
1920
- /**
1921
- * <p>Specifies the enabled SSH key exchange (KEX) encryption algorithms in the security policy
1922
- * that is attached to the server.</p>
1923
- */
1924
- SshKexs?: string[];
1925
-
1926
- /**
1927
- * <p>Specifies the enabled SSH message authentication code (MAC) encryption algorithms in the
1928
- * security policy that is attached to the server.</p>
1929
- */
1930
- SshMacs?: string[];
1931
-
1932
- /**
1933
- * <p>Specifies the enabled Transport Layer Security (TLS) cipher encryption algorithms in the
1934
- * security policy that is attached to the server.</p>
1935
- */
1936
- TlsCiphers?: string[];
1937
- }
1938
-
1939
- export namespace DescribedSecurityPolicy {
1940
- /**
1941
- * @internal
1942
- */
1943
- export const filterSensitiveLog = (obj: DescribedSecurityPolicy): any => ({
1944
- ...obj,
1945
- });
1946
- }
1947
-
1948
- /**
1949
- * <p>
1950
- * The protocol settings that are configured for your server.
1951
- * </p>
1952
- * <note>
1953
- * <p>
1954
- * This type is only valid in the <code>UpdateServer</code> API.
1955
- * </p>
1956
- * </note>
1957
- */
1958
- export interface ProtocolDetails {
1959
- /**
1960
- * <p>
1961
- * Indicates passive mode, for FTP and FTPS protocols.
1962
- * Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.
1963
- * For example:
1964
- * </p>
1965
- * <p>
1966
- * <code>
1967
- * aws transfer update-server --protocol-details PassiveIp=<i>0.0.0.0</i>
1968
- * </code>
1969
- * </p>
1970
- * <p>Replace <code>
1971
- * <i>0.0.0.0</i>
1972
- * </code> in the example above with the actual IP address you want to use.</p>
1973
- * <note>
1974
- * <p>
1975
- * If you change the <code>PassiveIp</code> value, you must stop and then restart your Transfer server for the change to take effect. For details on using Passive IP (PASV) in a NAT environment, see <a href="http://aws.amazon.com/blogs/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/">Configuring your FTPS server behind a firewall or NAT with Amazon Web Services Transfer Family</a>.
1976
- * </p>
1977
- * </note>
1978
- */
1979
- PassiveIp?: string;
1980
- }
1981
-
1982
- export namespace ProtocolDetails {
1983
- /**
1984
- * @internal
1985
- */
1986
- export const filterSensitiveLog = (obj: ProtocolDetails): any => ({
1987
- ...obj,
1988
- });
1989
- }
1990
-
1991
- export enum State {
1992
- OFFLINE = "OFFLINE",
1993
- ONLINE = "ONLINE",
1994
- STARTING = "STARTING",
1995
- START_FAILED = "START_FAILED",
1996
- STOPPING = "STOPPING",
1997
- STOP_FAILED = "STOP_FAILED",
1998
- }
1999
-
2000
- /**
2001
- * <p>Describes the properties of a file transfer protocol-enabled server that was
2002
- * specified.</p>
2003
- */
2004
- export interface DescribedServer {
2005
- /**
2006
- * <p>Specifies the unique Amazon Resource Name (ARN) of the server.</p>
2007
- */
2008
- Arn: string | undefined;
2009
-
2010
- /**
2011
- * <p>Specifies the ARN of the Amazon Web ServicesCertificate Manager (ACM) certificate. Required when
2012
- * <code>Protocols</code> is set to <code>FTPS</code>.</p>
2013
- */
2014
- Certificate?: string;
2015
-
2016
- /**
2017
- * <p>
2018
- * The protocol settings that are configured for your server.
2019
- * </p>
2020
- * <p>
2021
- * Use the <code>PassiveIp</code> parameter to indicate passive mode.
2022
- * Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.
2023
- * </p>
2024
- */
2025
- ProtocolDetails?: ProtocolDetails;
2026
-
2027
- /**
2028
- * <p>Specifies the domain of the storage system that is used for file transfers.</p>
2029
- */
2030
- Domain?: Domain | string;
2031
-
2032
- /**
2033
- * <p>The virtual private cloud (VPC) endpoint settings that are configured for your server.
2034
- * When you host your endpoint within your VPC, you can make it accessible only to resources
2035
- * within your VPC, or you can attach Elastic IP addresses and make it accessible to clients over
2036
- * the internet. Your VPC's default security groups are automatically assigned to your
2037
- * endpoint.</p>
2038
- */
2039
- EndpointDetails?: EndpointDetails;
2040
-
2041
- /**
2042
- * <p>Defines the type of endpoint that your server is connected to. If your server is connected
2043
- * to a VPC endpoint, your server isn't accessible over the public internet.</p>
2044
- */
2045
- EndpointType?: EndpointType | string;
2046
-
2047
- /**
2048
- * <p>Specifies the Base64-encoded SHA256 fingerprint of the server's host key. This value
2049
- * is equivalent to the output of the <code>ssh-keygen -l -f my-new-server-key</code>
2050
- * command.</p>
2051
- */
2052
- HostKeyFingerprint?: string;
2053
-
2054
- /**
2055
- * <p>Specifies information to call a customer-supplied authentication API. This field is not
2056
- * populated when the <code>IdentityProviderType</code> of a server is
2057
- * <code>AWS_DIRECTORY_SERVICE</code> or <code>SERVICE_MANAGED</code>.</p>
2058
- */
2059
- IdentityProviderDetails?: IdentityProviderDetails;
2060
-
2061
- /**
2062
- * <p>Specifies the mode of authentication for a server. The default value is
2063
- * <code>SERVICE_MANAGED</code>, which allows you to store and access user credentials within
2064
- * the Amazon Web Services Transfer Family service.</p>
2065
- * <p>Use <code>AWS_DIRECTORY_SERVICE</code> to provide access to
2066
- * Active Directory groups in Amazon Web Services Managed Active Directory or Microsoft Active Directory in your
2067
- * on-premises environment or in Amazon Web Services using AD Connectors. This option also requires you to
2068
- * provide a Directory ID using the <code>IdentityProviderDetails</code> parameter.</p>
2069
- * <p>Use the <code>API_GATEWAY</code> value to integrate with an identity provider of your choosing. The
2070
- * <code>API_GATEWAY</code> setting requires you to provide an API Gateway endpoint URL to call
2071
- * for authentication using the <code>IdentityProviderDetails</code> parameter.</p>
2072
- */
2073
- IdentityProviderType?: IdentityProviderType | string;
2074
-
2075
- /**
2076
- * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that allows a server to turn
2077
- * on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity can be viewed in
2078
- * your CloudWatch logs.</p>
2079
- */
2080
- LoggingRole?: string;
2081
-
2082
- /**
2083
- * <p>Specifies the file transfer protocol or protocols over which your file transfer protocol
2084
- * client can connect to your server's endpoint. The available protocols are:</p>
2085
- *
2086
- * <ul>
2087
- * <li>
2088
- * <p>
2089
- * <code>SFTP</code> (Secure Shell (SSH) File Transfer Protocol): File transfer over
2090
- * SSH</p>
2091
- * </li>
2092
- * <li>
2093
- * <p>
2094
- * <code>FTPS</code> (File Transfer Protocol Secure): File transfer with TLS
2095
- * encryption</p>
2096
- * </li>
2097
- * <li>
2098
- * <p>
2099
- * <code>FTP</code> (File Transfer Protocol): Unencrypted file transfer</p>
2100
- * </li>
2101
- * </ul>
2102
- */
2103
- Protocols?: (Protocol | string)[];
2104
-
2105
- /**
2106
- * <p>Specifies the name of the security policy that is attached to the server.</p>
2107
- */
2108
- SecurityPolicyName?: string;
2109
-
2110
- /**
2111
- * <p>Specifies the unique system-assigned identifier for a server that you instantiate.</p>
2112
- */
2113
- ServerId?: string;
2114
-
2115
- /**
2116
- * <p>Specifies the condition of a server for the server that was described. A value of
2117
- * <code>ONLINE</code> indicates that the server can accept jobs and transfer files. A
2118
- * <code>State</code> value of <code>OFFLINE</code> means that the server cannot perform file
2119
- * transfer operations.</p>
2120
- *
2121
- * <p>The states of <code>STARTING</code> and <code>STOPPING</code> indicate that the server is
2122
- * in an intermediate state, either not fully able to respond, or not fully offline. The values
2123
- * of <code>START_FAILED</code> or <code>STOP_FAILED</code> can indicate an error
2124
- * condition.</p>
2125
- */
2126
- State?: State | string;
2127
-
2128
- /**
2129
- * <p>Specifies the key-value pairs that you can use to search for and group servers that were
2130
- * assigned to the server that was described.</p>
2131
- */
2132
- Tags?: Tag[];
2133
-
2134
- /**
2135
- * <p>Specifies the number of users that are assigned to a server you specified with the
2136
- * <code>ServerId</code>.</p>
2137
- */
2138
- UserCount?: number;
2139
-
2140
- /**
2141
- * <p>Specifies the workflow ID for the workflow to assign and the execution role used for executing the workflow.</p>
2142
- */
2143
- WorkflowDetails?: WorkflowDetails;
2144
- }
2145
-
2146
- export namespace DescribedServer {
2147
- /**
2148
- * @internal
2149
- */
2150
- export const filterSensitiveLog = (obj: DescribedServer): any => ({
2151
- ...obj,
2152
- });
2153
- }
2154
-
2155
- /**
2156
- * <p>Provides information about the public Secure Shell (SSH) key that is associated with a
2157
- * user account for the specific file transfer protocol-enabled server (as identified by
2158
- * <code>ServerId</code>). The information returned includes the date the key was imported, the
2159
- * public key contents, and the public key ID. A user can store more than one SSH public key
2160
- * associated with their user name on a specific server.</p>
2161
- */
2162
- export interface SshPublicKey {
2163
- /**
2164
- * <p>Specifies the date that the public key was added to the user account.</p>
2165
- */
2166
- DateImported: Date | undefined;
2167
-
2168
- /**
2169
- * <p>Specifies the content of the SSH public key as specified by the
2170
- * <code>PublicKeyId</code>.</p>
2171
- */
2172
- SshPublicKeyBody: string | undefined;
2173
-
2174
- /**
2175
- * <p>Specifies the <code>SshPublicKeyId</code> parameter contains the identifier of the public
2176
- * key.</p>
2177
- */
2178
- SshPublicKeyId: string | undefined;
2179
- }
2180
-
2181
- export namespace SshPublicKey {
2182
- /**
2183
- * @internal
2184
- */
2185
- export const filterSensitiveLog = (obj: SshPublicKey): any => ({
2186
- ...obj,
2187
- });
2188
- }
2189
-
2190
- /**
2191
- * <p>Describes the properties of a user that was specified.</p>
2192
- */
2193
- export interface DescribedUser {
2194
- /**
2195
- * <p>Specifies the unique Amazon Resource Name (ARN) for the user that was requested to be
2196
- * described.</p>
2197
- */
2198
- Arn: string | undefined;
2199
-
2200
- /**
2201
- * <p>The landing directory (folder) for a user when they log in to the server using the client.</p>
2202
- * <p>A <code>HomeDirectory</code> example is <code>/bucket_name/home/mydirectory</code>.</p>
2203
- */
2204
- HomeDirectory?: string;
2205
-
2206
- /**
2207
- * <p>Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should
2208
- * be visible to your user and how you want to make them visible. You must specify the
2209
- * <code>Entry</code> and <code>Target</code> pair, where <code>Entry</code> shows how the path
2210
- * is made visible and <code>Target</code> is the actual Amazon S3 or Amazon EFS path. If you
2211
- * only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity
2212
- * and Access Management (IAM) role provides access to paths in <code>Target</code>. This value
2213
- * can only be set when <code>HomeDirectoryType</code> is set to
2214
- * <i>LOGICAL</i>.</p>
2215
- *
2216
- * <p>In most cases, you can use this value instead of the session policy to lock your user
2217
- * down to the designated home directory ("<code>chroot</code>"). To do this, you can set
2218
- * <code>Entry</code> to '/' and set <code>Target</code> to the HomeDirectory
2219
- * parameter value.</p>
2220
- */
2221
- HomeDirectoryMappings?: HomeDirectoryMapEntry[];
2222
-
2223
- /**
2224
- * <p>The type of landing directory (folder) you want your users' home directory to be when they log into the server.
2225
- * If you set it to <code>PATH</code>, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients.
2226
- * If you set it <code>LOGICAL</code>, you need to provide mappings in the <code>HomeDirectoryMappings</code> for how you want to make Amazon
2227
- * S3 or EFS paths visible to your users.</p>
2228
- */
2229
- HomeDirectoryType?: HomeDirectoryType | string;
2230
-
2231
- /**
2232
- * <p>A session policy for your user so that you can use the same IAM role across multiple users. This policy scopes down user
2233
- * access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include <code>${Transfer:UserName}</code>,
2234
- * <code>${Transfer:HomeDirectory}</code>, and <code>${Transfer:HomeBucket}</code>.</p>
2235
- */
2236
- Policy?: string;
2237
-
2238
- /**
2239
- * <p>Specifies the full POSIX identity, including user ID (<code>Uid</code>), group ID
2240
- * (<code>Gid</code>), and any secondary groups IDs (<code>SecondaryGids</code>), that controls
2241
- * your users' access to your Amazon Elastic File System (Amazon EFS) file systems. The POSIX
2242
- * permissions that are set on files and directories in your file system determine the level of
2243
- * access your users get when transferring files into and out of your Amazon EFS file
2244
- * systems.</p>
2245
- */
2246
- PosixProfile?: PosixProfile;
2247
-
2248
- /**
2249
- * <p>Specifies the Amazon Resource Name (ARN) of the IAM role that controls your users' access to your Amazon S3 bucket or EFS
2250
- * file system. The policies attached to this role determine the level of access that you want to provide your users when transferring
2251
- * files into and out of your Amazon S3 bucket or EFS file system. The IAM role should also contain a trust relationship that allows the
2252
- * server to access your resources when servicing your users' transfer requests.</p>
2253
- */
2254
- Role?: string;
2255
-
2256
- /**
2257
- * <p>Specifies the public key portion of the Secure Shell (SSH) keys stored for the described
2258
- * user.</p>
2259
- */
2260
- SshPublicKeys?: SshPublicKey[];
2261
-
2262
- /**
2263
- * <p>Specifies the key-value pairs for the user requested. Tag can be used to search for and
2264
- * group users for a variety of purposes.</p>
2265
- */
2266
- Tags?: Tag[];
2267
-
2268
- /**
2269
- * <p>Specifies the name of the user that was requested to be described. User names are used for
2270
- * authentication purposes. This is the string that will be used by your user when they log in to
2271
- * your server.</p>
2272
- */
2273
- UserName?: string;
2274
- }
2275
-
2276
- export namespace DescribedUser {
2277
- /**
2278
- * @internal
2279
- */
2280
- export const filterSensitiveLog = (obj: DescribedUser): any => ({
2281
- ...obj,
2282
- });
2283
- }
2284
-
2285
- /**
2286
- * <p>Describes the properties of the specified workflow</p>
2287
- */
2288
- export interface DescribedWorkflow {
2289
- /**
2290
- * <p>Specifies the unique Amazon Resource Name (ARN) for the workflow.</p>
2291
- */
2292
- Arn: string | undefined;
2293
-
2294
- /**
2295
- * <p>Specifies the text description for the workflow.</p>
2296
- */
2297
- Description?: string;
2298
-
2299
- /**
2300
- * <p>Specifies the details for the steps that are in the specified workflow.</p>
2301
- */
2302
- Steps?: WorkflowStep[];
2303
-
2304
- /**
2305
- * <p>Specifies the steps (actions) to take if errors are encountered during execution of the workflow.</p>
2306
- */
2307
- OnExceptionSteps?: WorkflowStep[];
2308
-
2309
- /**
2310
- * <p>A unique identifier for the workflow.</p>
2311
- */
2312
- WorkflowId?: string;
2313
-
2314
- /**
2315
- * <p>Key-value pairs that can be used to group and search for workflows. Tags are metadata attached to workflows for any purpose.</p>
2316
- */
2317
- Tags?: Tag[];
2318
- }
2319
-
2320
- export namespace DescribedWorkflow {
2321
- /**
2322
- * @internal
2323
- */
2324
- export const filterSensitiveLog = (obj: DescribedWorkflow): any => ({
2325
- ...obj,
2326
- });
2327
- }
2328
-
2329
- export interface DescribeExecutionRequest {
2330
- /**
2331
- * <p>A unique identifier for the execution of a workflow.</p>
2332
- */
2333
- ExecutionId: string | undefined;
2334
-
2335
- /**
2336
- * <p>A unique identifier for the workflow.</p>
2337
- */
2338
- WorkflowId: string | undefined;
2339
- }
2340
-
2341
- export namespace DescribeExecutionRequest {
2342
- /**
2343
- * @internal
2344
- */
2345
- export const filterSensitiveLog = (obj: DescribeExecutionRequest): any => ({
2346
- ...obj,
2347
- });
2348
- }
2349
-
2350
- export interface DescribeExecutionResponse {
2351
- /**
2352
- * <p>A unique identifier for the workflow.</p>
2353
- */
2354
- WorkflowId: string | undefined;
2355
-
2356
- /**
2357
- * <p>The structure that contains the details of the workflow' execution.</p>
2358
- */
2359
- Execution: DescribedExecution | undefined;
2360
- }
2361
-
2362
- export namespace DescribeExecutionResponse {
2363
- /**
2364
- * @internal
2365
- */
2366
- export const filterSensitiveLog = (obj: DescribeExecutionResponse): any => ({
2367
- ...obj,
2368
- });
2369
- }
2370
-
2371
- export interface DescribeSecurityPolicyRequest {
2372
- /**
2373
- * <p>Specifies the name of the security policy that is attached to the server.</p>
2374
- */
2375
- SecurityPolicyName: string | undefined;
2376
- }
2377
-
2378
- export namespace DescribeSecurityPolicyRequest {
2379
- /**
2380
- * @internal
2381
- */
2382
- export const filterSensitiveLog = (obj: DescribeSecurityPolicyRequest): any => ({
2383
- ...obj,
2384
- });
2385
- }
2386
-
2387
- export interface DescribeSecurityPolicyResponse {
2388
- /**
2389
- * <p>An array containing the properties of the security policy.</p>
2390
- */
2391
- SecurityPolicy: DescribedSecurityPolicy | undefined;
2392
- }
2393
-
2394
- export namespace DescribeSecurityPolicyResponse {
2395
- /**
2396
- * @internal
2397
- */
2398
- export const filterSensitiveLog = (obj: DescribeSecurityPolicyResponse): any => ({
2399
- ...obj,
2400
- });
2401
- }
2402
-
2403
- export interface DescribeServerRequest {
2404
- /**
2405
- * <p>A system-assigned unique identifier for a server.</p>
2406
- */
2407
- ServerId: string | undefined;
2408
- }
2409
-
2410
- export namespace DescribeServerRequest {
2411
- /**
2412
- * @internal
2413
- */
2414
- export const filterSensitiveLog = (obj: DescribeServerRequest): any => ({
2415
- ...obj,
2416
- });
2417
- }
2418
-
2419
- export interface DescribeServerResponse {
2420
- /**
2421
- * <p>An array containing the properties of a server with the <code>ServerID</code> you
2422
- * specified.</p>
2423
- */
2424
- Server: DescribedServer | undefined;
2425
- }
2426
-
2427
- export namespace DescribeServerResponse {
2428
- /**
2429
- * @internal
2430
- */
2431
- export const filterSensitiveLog = (obj: DescribeServerResponse): any => ({
2432
- ...obj,
2433
- });
2434
- }
2435
-
2436
- export interface DescribeUserRequest {
2437
- /**
2438
- * <p>A system-assigned unique identifier for a server that has this user assigned.</p>
2439
- */
2440
- ServerId: string | undefined;
2441
-
2442
- /**
2443
- * <p>The name of the user assigned to one or more servers. User names are part of the sign-in
2444
- * credentials to use the Amazon Web Services Transfer Family service and perform file transfer tasks.</p>
2445
- */
2446
- UserName: string | undefined;
2447
- }
2448
-
2449
- export namespace DescribeUserRequest {
2450
- /**
2451
- * @internal
2452
- */
2453
- export const filterSensitiveLog = (obj: DescribeUserRequest): any => ({
2454
- ...obj,
2455
- });
2456
- }
2457
-
2458
- export interface DescribeUserResponse {
2459
- /**
2460
- * <p>A system-assigned unique identifier for a server that has this user assigned.</p>
2461
- */
2462
- ServerId: string | undefined;
2463
-
2464
- /**
2465
- * <p>An array containing the properties of the user account for the <code>ServerID</code> value
2466
- * that you specified.</p>
2467
- */
2468
- User: DescribedUser | undefined;
2469
- }
2470
-
2471
- export namespace DescribeUserResponse {
2472
- /**
2473
- * @internal
2474
- */
2475
- export const filterSensitiveLog = (obj: DescribeUserResponse): any => ({
2476
- ...obj,
2477
- });
2478
- }
2479
-
2480
- export interface DescribeWorkflowRequest {
2481
- /**
2482
- * <p>A unique identifier for the workflow.</p>
2483
- */
2484
- WorkflowId: string | undefined;
2485
- }
2486
-
2487
- export namespace DescribeWorkflowRequest {
2488
- /**
2489
- * @internal
2490
- */
2491
- export const filterSensitiveLog = (obj: DescribeWorkflowRequest): any => ({
2492
- ...obj,
2493
- });
2494
- }
2495
-
2496
- export interface DescribeWorkflowResponse {
2497
- /**
2498
- * <p>The structure that contains the details of the workflow.</p>
2499
- */
2500
- Workflow: DescribedWorkflow | undefined;
2501
- }
2502
-
2503
- export namespace DescribeWorkflowResponse {
2504
- /**
2505
- * @internal
2506
- */
2507
- export const filterSensitiveLog = (obj: DescribeWorkflowResponse): any => ({
2508
- ...obj,
2509
- });
2510
- }
2511
-
2512
- export interface ImportSshPublicKeyRequest {
2513
- /**
2514
- * <p>A system-assigned unique identifier for a server.</p>
2515
- */
2516
- ServerId: string | undefined;
2517
-
2518
- /**
2519
- * <p>The public key portion of an SSH key pair.</p>
2520
- */
2521
- SshPublicKeyBody: string | undefined;
2522
-
2523
- /**
2524
- * <p>The name of the user account that is assigned to one or more servers.</p>
2525
- */
2526
- UserName: string | undefined;
2527
- }
2528
-
2529
- export namespace ImportSshPublicKeyRequest {
2530
- /**
2531
- * @internal
2532
- */
2533
- export const filterSensitiveLog = (obj: ImportSshPublicKeyRequest): any => ({
2534
- ...obj,
2535
- });
2536
- }
2537
-
2538
- /**
2539
- * <p>Identifies the user, the server they belong to, and the identifier of the SSH public key
2540
- * associated with that user. A user can have more than one key on each server that they are
2541
- * associated with.</p>
2542
- */
2543
- export interface ImportSshPublicKeyResponse {
2544
- /**
2545
- * <p>A system-assigned unique identifier for a server.</p>
2546
- */
2547
- ServerId: string | undefined;
2548
-
2549
- /**
2550
- * <p>The name given to a public key by the system that was imported.</p>
2551
- */
2552
- SshPublicKeyId: string | undefined;
2553
-
2554
- /**
2555
- * <p>A user name assigned to the <code>ServerID</code> value that you specified.</p>
2556
- */
2557
- UserName: string | undefined;
2558
- }
2559
-
2560
- export namespace ImportSshPublicKeyResponse {
2561
- /**
2562
- * @internal
2563
- */
2564
- export const filterSensitiveLog = (obj: ImportSshPublicKeyResponse): any => ({
2565
- ...obj,
2566
- });
2567
- }
2568
-
2569
- /**
2570
- * <p>The <code>NextToken</code> parameter that was passed is invalid.</p>
2571
- */
2572
- export interface InvalidNextTokenException extends __SmithyException, $MetadataBearer {
2573
- name: "InvalidNextTokenException";
2574
- $fault: "client";
2575
- Message: string | undefined;
2576
- }
2577
-
2578
- export namespace InvalidNextTokenException {
2579
- /**
2580
- * @internal
2581
- */
2582
- export const filterSensitiveLog = (obj: InvalidNextTokenException): any => ({
2583
- ...obj,
2584
- });
2585
- }
2586
-
2587
- export interface ListAccessesRequest {
2588
- /**
2589
- * <p>Specifies the maximum number of access SIDs to return.</p>
2590
- */
2591
- MaxResults?: number;
2592
-
2593
- /**
2594
- * <p>When you can get additional results from the <code>ListAccesses</code> call, a
2595
- * <code>NextToken</code> parameter is returned in the output. You can then pass in a
2596
- * subsequent command to the <code>NextToken</code> parameter to continue listing additional
2597
- * accesses.</p>
2598
- */
2599
- NextToken?: string;
2600
-
2601
- /**
2602
- * <p>A system-assigned unique identifier for a server that has users assigned to it.</p>
2603
- */
2604
- ServerId: string | undefined;
2605
- }
2606
-
2607
- export namespace ListAccessesRequest {
2608
- /**
2609
- * @internal
2610
- */
2611
- export const filterSensitiveLog = (obj: ListAccessesRequest): any => ({
2612
- ...obj,
2613
- });
2614
- }
2615
-
2616
- /**
2617
- * <p>Lists the properties for one or more specified associated accesses.</p>
2618
- */
2619
- export interface ListedAccess {
2620
- /**
2621
- * <p>The landing directory (folder) for a user when they log in to the server using the client.</p>
2622
- * <p>A <code>HomeDirectory</code> example is <code>/bucket_name/home/mydirectory</code>.</p>
2623
- */
2624
- HomeDirectory?: string;
2625
-
2626
- /**
2627
- * <p>The type of landing directory (folder) you want your users' home directory to be when they log into the server.
2628
- * If you set it to <code>PATH</code>, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients.
2629
- * If you set it <code>LOGICAL</code>, you need to provide mappings in the <code>HomeDirectoryMappings</code> for how you want to make Amazon
2630
- * S3 or EFS paths visible to your users.</p>
2631
- */
2632
- HomeDirectoryType?: HomeDirectoryType | string;
2633
-
2634
- /**
2635
- * <p>Specifies the Amazon Resource Name (ARN) of the IAM role that controls your users' access to your Amazon S3 bucket or EFS
2636
- * file system. The policies attached to this role determine the level of access that you want to provide your users when transferring
2637
- * files into and out of your Amazon S3 bucket or EFS file system. The IAM role should also contain a trust relationship that allows the
2638
- * server to access your resources when servicing your users' transfer requests.</p>
2639
- */
2640
- Role?: string;
2641
-
2642
- /**
2643
- * <p>A unique identifier that is required to identify specific groups within your directory.
2644
- * The users of the group that you associate have access to your Amazon S3 or Amazon EFS
2645
- * resources over the enabled protocols using Amazon Web Services Transfer Family. If you know the group name,
2646
- * you can view the SID values by running the following command using Windows PowerShell.</p>
2647
- *
2648
- * <p>
2649
- * <code>Get-ADGroup -Filter {samAccountName -like "<i>YourGroupName</i>*"} -Properties * | Select SamAccountName,ObjectSid</code>
2650
- * </p>
2651
- *
2652
- * <p>In that command, replace <i>YourGroupName</i> with the name of your Active Directory group.</p>
2653
- *
2654
- * <p>The regex used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces.
2655
- * You can also include underscores or any of the following characters: =,.@:/-</p>
2656
- */
2657
- ExternalId?: string;
2658
- }
2659
-
2660
- export namespace ListedAccess {
2661
- /**
2662
- * @internal
2663
- */
2664
- export const filterSensitiveLog = (obj: ListedAccess): any => ({
2665
- ...obj,
2666
- });
2667
- }
2668
-
2669
- export interface ListAccessesResponse {
2670
- /**
2671
- * <p>When you can get additional results from the <code>ListAccesses</code> call, a
2672
- * <code>NextToken</code> parameter is returned in the output. You can then pass in a
2673
- * subsequent command to the <code>NextToken</code> parameter to continue listing additional
2674
- * accesses.</p>
2675
- */
2676
- NextToken?: string;
2677
-
2678
- /**
2679
- * <p>A system-assigned unique identifier for a server that has users assigned to it.</p>
2680
- */
2681
- ServerId: string | undefined;
2682
-
2683
- /**
2684
- * <p>Returns the accesses and their properties for the <code>ServerId</code> value that you
2685
- * specify.</p>
2686
- */
2687
- Accesses: ListedAccess[] | undefined;
2688
- }
2689
-
2690
- export namespace ListAccessesResponse {
2691
- /**
2692
- * @internal
2693
- */
2694
- export const filterSensitiveLog = (obj: ListAccessesResponse): any => ({
2695
- ...obj,
2696
- });
2697
- }
2698
-
2699
- /**
2700
- * <p>Returns properties of the execution that is specified.</p>
2701
- */
2702
- export interface ListedExecution {
2703
- /**
2704
- * <p>A unique identifier for the execution of a workflow.</p>
2705
- */
2706
- ExecutionId?: string;
2707
-
2708
- /**
2709
- * <p>A structure that describes the Amazon S3 or EFS file location.
2710
- * This is the file location when the execution begins: if the file is being copied,
2711
- * this is the initial (as opposed to destination) file location.</p>
2712
- */
2713
- InitialFileLocation?: FileLocation;
2714
-
2715
- /**
2716
- * <p>A container object for the session details associated with a workflow.</p>
2717
- */
2718
- ServiceMetadata?: ServiceMetadata;
2719
-
2720
- /**
2721
- * <p>The status is one of the execution. Can be in progress, completed, exception encountered, or handling the exception.</p>
2722
- */
2723
- Status?: ExecutionStatus | string;
2724
- }
2725
-
2726
- export namespace ListedExecution {
2727
- /**
2728
- * @internal
2729
- */
2730
- export const filterSensitiveLog = (obj: ListedExecution): any => ({
2731
- ...obj,
2732
- });
2733
- }
2734
-
2735
- /**
2736
- * <p>Returns properties of a file transfer protocol-enabled server that was specified.</p>
2737
- */
2738
- export interface ListedServer {
2739
- /**
2740
- * <p>Specifies the unique Amazon Resource Name (ARN) for a server to be listed.</p>
2741
- */
2742
- Arn: string | undefined;
2743
-
2744
- /**
2745
- * <p>Specifies the domain of the storage system that is used for file transfers.</p>
2746
- */
2747
- Domain?: Domain | string;
2748
-
2749
- /**
2750
- * <p>Specifies the mode of authentication for a server. The default value is
2751
- * <code>SERVICE_MANAGED</code>, which allows you to store and access user credentials within
2752
- * the Amazon Web Services Transfer Family service.</p>
2753
- * <p>Use <code>AWS_DIRECTORY_SERVICE</code> to provide access to
2754
- * Active Directory groups in Amazon Web Services Managed Active Directory or Microsoft Active Directory in your
2755
- * on-premises environment or in Amazon Web Services using AD Connectors. This option also requires you to
2756
- * provide a Directory ID using the <code>IdentityProviderDetails</code> parameter.</p>
2757
- * <p>Use the <code>API_GATEWAY</code> value to integrate with an identity provider of your choosing. The
2758
- * <code>API_GATEWAY</code> setting requires you to provide an API Gateway endpoint URL to call
2759
- * for authentication using the <code>IdentityProviderDetails</code> parameter.</p>
2760
- */
2761
- IdentityProviderType?: IdentityProviderType | string;
2762
-
2763
- /**
2764
- * <p>Specifies the type of VPC endpoint that your server is connected to. If your server is
2765
- * connected to a VPC endpoint, your server isn't accessible over the public internet.</p>
2766
- */
2767
- EndpointType?: EndpointType | string;
2768
-
2769
- /**
2770
- * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that allows a server to turn
2771
- * on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity can be viewed in
2772
- * your CloudWatch logs.</p>
2773
- */
2774
- LoggingRole?: string;
2775
-
2776
- /**
2777
- * <p>Specifies the unique system assigned identifier for the servers that were listed.</p>
2778
- */
2779
- ServerId?: string;
2780
-
2781
- /**
2782
- * <p>Specifies the condition of a server for the server that was described. A value of
2783
- * <code>ONLINE</code> indicates that the server can accept jobs and transfer files. A
2784
- * <code>State</code> value of <code>OFFLINE</code> means that the server cannot perform file
2785
- * transfer operations.</p>
2786
- *
2787
- * <p>The states of <code>STARTING</code> and <code>STOPPING</code> indicate that the server is
2788
- * in an intermediate state, either not fully able to respond, or not fully offline. The values
2789
- * of <code>START_FAILED</code> or <code>STOP_FAILED</code> can indicate an error
2790
- * condition.</p>
2791
- */
2792
- State?: State | string;
2793
-
2794
- /**
2795
- * <p>Specifies the number of users that are assigned to a server you specified with the
2796
- * <code>ServerId</code>.</p>
2797
- */
2798
- UserCount?: number;
2799
- }
2800
-
2801
- export namespace ListedServer {
2802
- /**
2803
- * @internal
2804
- */
2805
- export const filterSensitiveLog = (obj: ListedServer): any => ({
2806
- ...obj,
2807
- });
2808
- }
2809
-
2810
- /**
2811
- * <p>Returns properties of the user that you specify.</p>
2812
- */
2813
- export interface ListedUser {
2814
- /**
2815
- * <p>Provides the unique Amazon Resource Name (ARN) for the user that you want to learn
2816
- * about.</p>
2817
- */
2818
- Arn: string | undefined;
2819
-
2820
- /**
2821
- * <p>The landing directory (folder) for a user when they log in to the server using the client.</p>
2822
- * <p>A <code>HomeDirectory</code> example is <code>/bucket_name/home/mydirectory</code>.</p>
2823
- */
2824
- HomeDirectory?: string;
2825
-
2826
- /**
2827
- * <p>The type of landing directory (folder) you want your users' home directory to be when they log into the server.
2828
- * If you set it to <code>PATH</code>, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients.
2829
- * If you set it <code>LOGICAL</code>, you need to provide mappings in the <code>HomeDirectoryMappings</code> for how you want to make Amazon
2830
- * S3 or EFS paths visible to your users.</p>
2831
- */
2832
- HomeDirectoryType?: HomeDirectoryType | string;
2833
-
2834
- /**
2835
- * <p>Specifies the Amazon Resource Name (ARN) of the IAM role that controls your users' access to your Amazon S3 bucket or EFS
2836
- * file system. The policies attached to this role determine the level of access that you want to provide your users when transferring
2837
- * files into and out of your Amazon S3 bucket or EFS file system. The IAM role should also contain a trust relationship that allows the
2838
- * server to access your resources when servicing your users' transfer requests.</p>
2839
- * <note>
2840
- *
2841
- * <p>The IAM role that controls your users' access to your Amazon S3 bucket for servers with <code>Domain=S3</code>, or your EFS file system for servers with <code>Domain=EFS</code>.
2842
- * </p>
2843
- * <p>The policies attached to this role determine the level of access you want to provide your users when
2844
- * transferring files into and out of your S3 buckets or EFS file systems.</p>
2845
- *
2846
- * </note>
2847
- */
2848
- Role?: string;
2849
-
2850
- /**
2851
- * <p>Specifies the number of SSH public keys stored for the user you specified.</p>
2852
- */
2853
- SshPublicKeyCount?: number;
2854
-
2855
- /**
2856
- * <p>Specifies the name of the user whose ARN was specified. User names are used for
2857
- * authentication purposes.</p>
2858
- */
2859
- UserName?: string;
2860
- }
2861
-
2862
- export namespace ListedUser {
2863
- /**
2864
- * @internal
2865
- */
2866
- export const filterSensitiveLog = (obj: ListedUser): any => ({
2867
- ...obj,
2868
- });
2869
- }
2870
-
2871
- /**
2872
- * <p>Contains the ID, text description, and Amazon Resource Name (ARN) for the workflow.</p>
2873
- */
2874
- export interface ListedWorkflow {
2875
- /**
2876
- * <p>A unique identifier for the workflow.</p>
2877
- */
2878
- WorkflowId?: string;
2879
-
2880
- /**
2881
- * <p>Specifies the text description for the workflow.</p>
2882
- */
2883
- Description?: string;
2884
-
2885
- /**
2886
- * <p>Specifies the unique Amazon Resource Name (ARN) for the workflow.</p>
2887
- */
2888
- Arn?: string;
2889
- }
2890
-
2891
- export namespace ListedWorkflow {
2892
- /**
2893
- * @internal
2894
- */
2895
- export const filterSensitiveLog = (obj: ListedWorkflow): any => ({
2896
- ...obj,
2897
- });
2898
- }
2899
-
2900
- export interface ListExecutionsRequest {
2901
- /**
2902
- * <p>Specifies the aximum number of executions to return.</p>
2903
- */
2904
- MaxResults?: number;
2905
-
2906
- /**
2907
- * <p>
2908
- * <code>ListExecutions</code> returns the <code>NextToken</code> parameter in the output.
2909
- * You can then pass the <code>NextToken</code> parameter in a subsequent command to
2910
- * continue listing additional executions.</p>
2911
- * <p>
2912
- * This is useful for pagination, for instance.
2913
- * If you have 100 executions for a workflow, you might only want to list first 10. If so, callthe API by specifing the <code>max-results</code>:
2914
- * </p>
2915
- * <p>
2916
- * <code>aws transfer list-executions --max-results 10</code>
2917
- * </p>
2918
- * <p>
2919
- * This returns details for the first 10 executions, as well as the pointer (<code>NextToken</code>) to the eleventh execution.
2920
- * You can now call the API again, suppling the <code>NextToken</code> value you received:
2921
- * </p>
2922
- * <p>
2923
- * <code>aws transfer list-executions --max-results 10 --next-token $somePointerReturnedFromPreviousListResult</code>
2924
- * </p>
2925
- * <p>
2926
- * This call returns the next 10 executions, the 11th through the 20th. You can then repeat the call until the details
2927
- * for all 100 executions have been returned.
2928
- * </p>
2929
- */
2930
- NextToken?: string;
2931
-
2932
- /**
2933
- * <p>A unique identifier for the workflow.</p>
2934
- */
2935
- WorkflowId: string | undefined;
2936
- }
2937
-
2938
- export namespace ListExecutionsRequest {
2939
- /**
2940
- * @internal
2941
- */
2942
- export const filterSensitiveLog = (obj: ListExecutionsRequest): any => ({
2943
- ...obj,
2944
- });
2945
- }
2946
-
2947
- export interface ListExecutionsResponse {
2948
- /**
2949
- * <p>
2950
- * <code>ListExecutions</code> returns the <code>NextToken</code> parameter in the output.
2951
- * You can then pass the <code>NextToken</code> parameter in a subsequent command to
2952
- * continue listing additional executions.</p>
2953
- */
2954
- NextToken?: string;
2955
-
2956
- /**
2957
- * <p>A unique identifier for the workflow.</p>
2958
- */
2959
- WorkflowId: string | undefined;
2960
-
2961
- /**
2962
- * <p>Returns the details for each execution.</p>
2963
- * <ul>
2964
- * <li>
2965
- * <p>
2966
- * <b>NextToken</b>: returned from a call to several APIs,
2967
- * you can use pass it to a subsequent command to continue listing additional executions.</p>
2968
- * </li>
2969
- * <li>
2970
- * <p>
2971
- * <b>StartTime</b>: timestamp indicating when the execution began.</p>
2972
- * </li>
2973
- * <li>
2974
- * <p>
2975
- * <b>Executions</b>: details of the execution, including the execution ID, initial file location,
2976
- * and Service metadata.</p>
2977
- * </li>
2978
- * <li>
2979
- * <p>
2980
- * <b>Status</b>: one of the following values:
2981
- * <code>IN_PROGRESS</code>, <code>COMPLETED</code>, <code>EXCEPTION</code>, <code>HANDLING_EXEPTION</code>.
2982
- * </p>
2983
- * </li>
2984
- * </ul>
2985
- */
2986
- Executions: ListedExecution[] | undefined;
2987
- }
2988
-
2989
- export namespace ListExecutionsResponse {
2990
- /**
2991
- * @internal
2992
- */
2993
- export const filterSensitiveLog = (obj: ListExecutionsResponse): any => ({
2994
- ...obj,
2995
- });
2996
- }
2997
-
2998
- export interface ListSecurityPoliciesRequest {
2999
- /**
3000
- * <p>Specifies the number of security policies to return as a response to the
3001
- * <code>ListSecurityPolicies</code> query.</p>
3002
- */
3003
- MaxResults?: number;
3004
-
3005
- /**
3006
- * <p>When additional results are obtained from the <code>ListSecurityPolicies</code> command, a
3007
- * <code>NextToken</code> parameter is returned in the output. You can then pass the
3008
- * <code>NextToken</code> parameter in a subsequent command to continue listing additional
3009
- * security policies.</p>
3010
- */
3011
- NextToken?: string;
3012
- }
3013
-
3014
- export namespace ListSecurityPoliciesRequest {
3015
- /**
3016
- * @internal
3017
- */
3018
- export const filterSensitiveLog = (obj: ListSecurityPoliciesRequest): any => ({
3019
- ...obj,
3020
- });
3021
- }
3022
-
3023
- export interface ListSecurityPoliciesResponse {
3024
- /**
3025
- * <p>When you can get additional results from the <code>ListSecurityPolicies</code> operation,
3026
- * a <code>NextToken</code> parameter is returned in the output. In a following command, you can
3027
- * pass in the <code>NextToken</code> parameter to continue listing security policies.</p>
3028
- */
3029
- NextToken?: string;
3030
-
3031
- /**
3032
- * <p>An array of security policies that were listed.</p>
3033
- */
3034
- SecurityPolicyNames: string[] | undefined;
3035
- }
3036
-
3037
- export namespace ListSecurityPoliciesResponse {
3038
- /**
3039
- * @internal
3040
- */
3041
- export const filterSensitiveLog = (obj: ListSecurityPoliciesResponse): any => ({
3042
- ...obj,
3043
- });
3044
- }
3045
-
3046
- export interface ListServersRequest {
3047
- /**
3048
- * <p>Specifies the number of servers to return as a response to the <code>ListServers</code>
3049
- * query.</p>
3050
- */
3051
- MaxResults?: number;
3052
-
3053
- /**
3054
- * <p>When additional results are obtained from the <code>ListServers</code> command, a
3055
- * <code>NextToken</code> parameter is returned in the output. You can then pass the
3056
- * <code>NextToken</code> parameter in a subsequent command to continue listing additional
3057
- * servers.</p>
3058
- */
3059
- NextToken?: string;
3060
- }
3061
-
3062
- export namespace ListServersRequest {
3063
- /**
3064
- * @internal
3065
- */
3066
- export const filterSensitiveLog = (obj: ListServersRequest): any => ({
3067
- ...obj,
3068
- });
3069
- }
3070
-
3071
- export interface ListServersResponse {
3072
- /**
3073
- * <p>When you can get additional results from the <code>ListServers</code> operation, a
3074
- * <code>NextToken</code> parameter is returned in the output. In a following command, you can
3075
- * pass in the <code>NextToken</code> parameter to continue listing additional servers.</p>
3076
- */
3077
- NextToken?: string;
3078
-
3079
- /**
3080
- * <p>An array of servers that were listed.</p>
3081
- */
3082
- Servers: ListedServer[] | undefined;
3083
- }
3084
-
3085
- export namespace ListServersResponse {
3086
- /**
3087
- * @internal
3088
- */
3089
- export const filterSensitiveLog = (obj: ListServersResponse): any => ({
3090
- ...obj,
3091
- });
3092
- }
3093
-
3094
- export interface ListTagsForResourceRequest {
3095
- /**
3096
- * <p>Requests the tags associated with a particular Amazon Resource Name (ARN). An ARN is an
3097
- * identifier for a specific Amazon Web Services resource, such as a server, user, or role.</p>
3098
- */
3099
- Arn: string | undefined;
3100
-
3101
- /**
3102
- * <p>Specifies the number of tags to return as a response to the
3103
- * <code>ListTagsForResource</code> request.</p>
3104
- */
3105
- MaxResults?: number;
3106
-
3107
- /**
3108
- * <p>When you request additional results from the <code>ListTagsForResource</code> operation, a
3109
- * <code>NextToken</code> parameter is returned in the input. You can then pass in a subsequent
3110
- * command to the <code>NextToken</code> parameter to continue listing additional tags.</p>
3111
- */
3112
- NextToken?: string;
3113
- }
3114
-
3115
- export namespace ListTagsForResourceRequest {
3116
- /**
3117
- * @internal
3118
- */
3119
- export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({
3120
- ...obj,
3121
- });
3122
- }
3123
-
3124
- export interface ListTagsForResourceResponse {
3125
- /**
3126
- * <p>The ARN you specified to list the tags of.</p>
3127
- */
3128
- Arn?: string;
3129
-
3130
- /**
3131
- * <p>When you can get additional results from the <code>ListTagsForResource</code> call, a
3132
- * <code>NextToken</code> parameter is returned in the output. You can then pass in a
3133
- * subsequent command to the <code>NextToken</code> parameter to continue listing additional
3134
- * tags.</p>
3135
- */
3136
- NextToken?: string;
3137
-
3138
- /**
3139
- * <p>Key-value pairs that are assigned to a resource, usually for the purpose of grouping and
3140
- * searching for items. Tags are metadata that you define.</p>
3141
- */
3142
- Tags?: Tag[];
3143
- }
3144
-
3145
- export namespace ListTagsForResourceResponse {
3146
- /**
3147
- * @internal
3148
- */
3149
- export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({
3150
- ...obj,
3151
- });
3152
- }
3153
-
3154
- export interface ListUsersRequest {
3155
- /**
3156
- * <p>Specifies the number of users to return as a response to the <code>ListUsers</code>
3157
- * request.</p>
3158
- */
3159
- MaxResults?: number;
3160
-
3161
- /**
3162
- * <p>When you can get additional results from the <code>ListUsers</code> call, a
3163
- * <code>NextToken</code> parameter is returned in the output. You can then pass in a
3164
- * subsequent command to the <code>NextToken</code> parameter to continue listing additional
3165
- * users.</p>
3166
- */
3167
- NextToken?: string;
3168
-
3169
- /**
3170
- * <p>A system-assigned unique identifier for a server that has users assigned to it.</p>
3171
- */
3172
- ServerId: string | undefined;
3173
- }
3174
-
3175
- export namespace ListUsersRequest {
3176
- /**
3177
- * @internal
3178
- */
3179
- export const filterSensitiveLog = (obj: ListUsersRequest): any => ({
3180
- ...obj,
3181
- });
3182
- }
3183
-
3184
- export interface ListUsersResponse {
3185
- /**
3186
- * <p>When you can get additional results from the <code>ListUsers</code> call, a
3187
- * <code>NextToken</code> parameter is returned in the output. You can then pass in a
3188
- * subsequent command to the <code>NextToken</code> parameter to continue listing additional
3189
- * users.</p>
3190
- */
3191
- NextToken?: string;
3192
-
3193
- /**
3194
- * <p>A system-assigned unique identifier for a server that the users are assigned to.</p>
3195
- */
3196
- ServerId: string | undefined;
3197
-
3198
- /**
3199
- * <p>Returns the user accounts and their properties for the <code>ServerId</code> value that
3200
- * you specify.</p>
3201
- */
3202
- Users: ListedUser[] | undefined;
3203
- }
3204
-
3205
- export namespace ListUsersResponse {
3206
- /**
3207
- * @internal
3208
- */
3209
- export const filterSensitiveLog = (obj: ListUsersResponse): any => ({
3210
- ...obj,
3211
- });
3212
- }
3213
-
3214
- export interface ListWorkflowsRequest {
3215
- /**
3216
- * <p>Specifies the maximum number of workflows to return.</p>
3217
- */
3218
- MaxResults?: number;
3219
-
3220
- /**
3221
- * <p>
3222
- * <code>ListWorkflows</code> returns the <code>NextToken</code> parameter in the output.
3223
- * You can then pass the <code>NextToken</code> parameter in a subsequent command to
3224
- * continue listing additional workflows.</p>
3225
- */
3226
- NextToken?: string;
3227
- }
3228
-
3229
- export namespace ListWorkflowsRequest {
3230
- /**
3231
- * @internal
3232
- */
3233
- export const filterSensitiveLog = (obj: ListWorkflowsRequest): any => ({
3234
- ...obj,
3235
- });
3236
- }
3237
-
3238
- export interface ListWorkflowsResponse {
3239
- /**
3240
- * <p>
3241
- * <code>ListWorkflows</code> returns the <code>NextToken</code> parameter in the output.
3242
- * You can then pass the <code>NextToken</code> parameter in a subsequent command to
3243
- * continue listing additional workflows.</p>
3244
- */
3245
- NextToken?: string;
3246
-
3247
- /**
3248
- * <p>Returns the <code>Arn</code>, <code>WorkflowId</code>, and <code>Description</code> for each workflow.</p>
3249
- */
3250
- Workflows: ListedWorkflow[] | undefined;
3251
- }
3252
-
3253
- export namespace ListWorkflowsResponse {
3254
- /**
3255
- * @internal
3256
- */
3257
- export const filterSensitiveLog = (obj: ListWorkflowsResponse): any => ({
3258
- ...obj,
3259
- });
3260
- }
3261
-
3262
- export interface SendWorkflowStepStateRequest {
3263
- /**
3264
- * <p>A unique identifier for the workflow.</p>
3265
- */
3266
- WorkflowId: string | undefined;
3267
-
3268
- /**
3269
- * <p>A unique identifier for the execution of a workflow.</p>
3270
- */
3271
- ExecutionId: string | undefined;
3272
-
3273
- /**
3274
- * <p>Used to distinguish between multiple callbacks for multiple Lambda steps within the same execution.</p>
3275
- */
3276
- Token: string | undefined;
3277
-
3278
- /**
3279
- * <p>Indicates whether the specified step succeeded or failed.</p>
3280
- */
3281
- Status: CustomStepStatus | string | undefined;
3282
- }
3283
-
3284
- export namespace SendWorkflowStepStateRequest {
3285
- /**
3286
- * @internal
3287
- */
3288
- export const filterSensitiveLog = (obj: SendWorkflowStepStateRequest): any => ({
3289
- ...obj,
3290
- });
3291
- }
3292
-
3293
- export interface SendWorkflowStepStateResponse {}
3294
-
3295
- export namespace SendWorkflowStepStateResponse {
3296
- /**
3297
- * @internal
3298
- */
3299
- export const filterSensitiveLog = (obj: SendWorkflowStepStateResponse): any => ({
3300
- ...obj,
3301
- });
3302
- }
3303
-
3304
- export interface StartServerRequest {
3305
- /**
3306
- * <p>A system-assigned unique identifier for a server that you start.</p>
3307
- */
3308
- ServerId: string | undefined;
3309
- }
3310
-
3311
- export namespace StartServerRequest {
3312
- /**
3313
- * @internal
3314
- */
3315
- export const filterSensitiveLog = (obj: StartServerRequest): any => ({
3316
- ...obj,
3317
- });
3318
- }
3319
-
3320
- export interface StopServerRequest {
3321
- /**
3322
- * <p>A system-assigned unique identifier for a server that you stopped.</p>
3323
- */
3324
- ServerId: string | undefined;
3325
- }
3326
-
3327
- export namespace StopServerRequest {
3328
- /**
3329
- * @internal
3330
- */
3331
- export const filterSensitiveLog = (obj: StopServerRequest): any => ({
3332
- ...obj,
3333
- });
3334
- }
3335
-
3336
- export interface TagResourceRequest {
3337
- /**
3338
- * <p>An Amazon Resource Name (ARN) for a specific Amazon Web Services resource, such as a server, user, or
3339
- * role.</p>
3340
- */
3341
- Arn: string | undefined;
3342
-
3343
- /**
3344
- * <p>Key-value pairs assigned to ARNs that you can use to group and search for resources by
3345
- * type. You can attach this metadata to user accounts for any purpose.</p>
3346
- */
3347
- Tags: Tag[] | undefined;
3348
- }
3349
-
3350
- export namespace TagResourceRequest {
3351
- /**
3352
- * @internal
3353
- */
3354
- export const filterSensitiveLog = (obj: TagResourceRequest): any => ({
3355
- ...obj,
3356
- });
3357
- }
3358
-
3359
- export interface TestIdentityProviderRequest {
3360
- /**
3361
- * <p>A system-assigned identifier for a specific server. That server's user authentication
3362
- * method is tested with a user name and password.</p>
3363
- */
3364
- ServerId: string | undefined;
3365
-
3366
- /**
3367
- * <p>The type of file transfer protocol to be tested.</p>
3368
- *
3369
- * <p>The available protocols are:</p>
3370
- *
3371
- * <ul>
3372
- * <li>
3373
- * <p>Secure Shell (SSH) File Transfer Protocol (SFTP)</p>
3374
- * </li>
3375
- * <li>
3376
- * <p>File Transfer Protocol Secure (FTPS)</p>
3377
- * </li>
3378
- * <li>
3379
- * <p>File Transfer Protocol (FTP)</p>
3380
- * </li>
3381
- * </ul>
3382
- */
3383
- ServerProtocol?: Protocol | string;
3384
-
3385
- /**
3386
- * <p>The source IP address of the user account to be tested.</p>
3387
- */
3388
- SourceIp?: string;
3389
-
3390
- /**
3391
- * <p>The name of the user account to be tested.</p>
3392
- */
3393
- UserName: string | undefined;
3394
-
3395
- /**
3396
- * <p>The password of the user account to be tested.</p>
3397
- */
3398
- UserPassword?: string;
3399
- }
3400
-
3401
- export namespace TestIdentityProviderRequest {
3402
- /**
3403
- * @internal
3404
- */
3405
- export const filterSensitiveLog = (obj: TestIdentityProviderRequest): any => ({
3406
- ...obj,
3407
- ...(obj.UserPassword && { UserPassword: SENSITIVE_STRING }),
3408
- });
3409
- }
3410
-
3411
- export interface TestIdentityProviderResponse {
3412
- /**
3413
- * <p>The response that is returned from your API Gateway.</p>
3414
- */
3415
- Response?: string;
3416
-
3417
- /**
3418
- * <p>The HTTP status code that is the response from your API Gateway.</p>
3419
- */
3420
- StatusCode: number | undefined;
3421
-
3422
- /**
3423
- * <p>A message that indicates whether the test was successful or not.</p>
3424
- */
3425
- Message?: string;
3426
-
3427
- /**
3428
- * <p>The endpoint of the service used to authenticate a user.</p>
3429
- */
3430
- Url: string | undefined;
3431
- }
3432
-
3433
- export namespace TestIdentityProviderResponse {
3434
- /**
3435
- * @internal
3436
- */
3437
- export const filterSensitiveLog = (obj: TestIdentityProviderResponse): any => ({
3438
- ...obj,
3439
- });
3440
- }
3441
-
3442
- export interface UntagResourceRequest {
3443
- /**
3444
- * <p>The value of the resource that will have the tag removed. An Amazon Resource Name (ARN) is
3445
- * an identifier for a specific Amazon Web Services resource, such as a server, user, or role.</p>
3446
- */
3447
- Arn: string | undefined;
3448
-
3449
- /**
3450
- * <p>TagKeys are key-value pairs assigned to ARNs that can be used to group and search for
3451
- * resources by type. This metadata can be attached to resources for any purpose.</p>
3452
- */
3453
- TagKeys: string[] | undefined;
3454
- }
3455
-
3456
- export namespace UntagResourceRequest {
3457
- /**
3458
- * @internal
3459
- */
3460
- export const filterSensitiveLog = (obj: UntagResourceRequest): any => ({
3461
- ...obj,
3462
- });
3463
- }
3464
-
3465
- export interface UpdateAccessRequest {
3466
- /**
3467
- * <p>The landing directory (folder) for a user when they log in to the server using the client.</p>
3468
- * <p>A <code>HomeDirectory</code> example is <code>/bucket_name/home/mydirectory</code>.</p>
3469
- */
3470
- HomeDirectory?: string;
3471
-
3472
- /**
3473
- * <p>The type of landing directory (folder) you want your users' home directory to be when they log into the server.
3474
- * If you set it to <code>PATH</code>, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients.
3475
- * If you set it <code>LOGICAL</code>, you need to provide mappings in the <code>HomeDirectoryMappings</code> for how you want to make Amazon
3476
- * S3 or EFS paths visible to your users.</p>
3477
- */
3478
- HomeDirectoryType?: HomeDirectoryType | string;
3479
-
3480
- /**
3481
- * <p>Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should
3482
- * be visible to your user and how you want to make them visible. You must specify the
3483
- * <code>Entry</code> and <code>Target</code> pair, where <code>Entry</code> shows how the path
3484
- * is made visible and <code>Target</code> is the actual Amazon S3 or Amazon EFS path. If you
3485
- * only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity
3486
- * and Access Management (IAM) role provides access to paths in <code>Target</code>. This value
3487
- * can only be set when <code>HomeDirectoryType</code> is set to
3488
- * <i>LOGICAL</i>.</p>
3489
- * <p>The following is an <code>Entry</code> and <code>Target</code> pair example.</p>
3490
- * <p>
3491
- * <code>[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]</code>
3492
- * </p>
3493
- * <p>In most cases, you can use this value instead of the session policy to lock down your
3494
- * user to the designated home directory ("<code>chroot</code>"). To do this, you can set
3495
- * <code>Entry</code> to <code>/</code> and set <code>Target</code> to the
3496
- * <code>HomeDirectory</code> parameter value.</p>
3497
- * <p>The following is an <code>Entry</code> and <code>Target</code> pair example for <code>chroot</code>.</p>
3498
- * <p>
3499
- * <code>[ { "Entry:": "/", "Target": "/bucket_name/home/mydirectory" } ]</code>
3500
- * </p>
3501
- *
3502
- * <note>
3503
- * <p>If the target of a logical directory entry does not exist in Amazon S3 or EFS, the entry is
3504
- * ignored. As a workaround, you can use the Amazon S3 API or EFS API to create 0 byte objects as place
3505
- * holders for your directory. If using the CLI, use the <code>s3api</code> or <code>efsapi</code> call instead of
3506
- * <code>s3</code> or <code>efs</code> so you can use the put-object operation. For example, you use the
3507
- * following: <code>aws s3api put-object --bucket bucketname --key path/to/folder/</code>. Make
3508
- * sure that the end of the key name ends in a <code>/</code> for it to be considered a folder.</p>
3509
- * </note>
3510
- */
3511
- HomeDirectoryMappings?: HomeDirectoryMapEntry[];
3512
-
3513
- /**
3514
- * <p>A session policy for your user so that you can use the same IAM role across multiple users. This policy scopes down user
3515
- * access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include <code>${Transfer:UserName}</code>,
3516
- * <code>${Transfer:HomeDirectory}</code>, and <code>${Transfer:HomeBucket}</code>.</p>
3517
- *
3518
- *
3519
- * <note>
3520
- * <p>This only applies when the domain of <code>ServerId</code> is S3. EFS does not use session policies.</p>
3521
- * <p>For session policies, Amazon Web Services Transfer Family stores the policy as a JSON blob, instead
3522
- * of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass
3523
- * it in the <code>Policy</code> argument.</p>
3524
- * <p>For an example of a session policy, see <a href="https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html">Example
3525
- * session policy</a>.</p>
3526
- * <p>For more information, see <a href="https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html">AssumeRole</a> in the <i>Amazon Web ServicesSecurity Token Service API
3527
- * Reference</i>.</p>
3528
- * </note>
3529
- */
3530
- Policy?: string;
3531
-
3532
- /**
3533
- * <p>The full POSIX identity, including user ID (<code>Uid</code>), group ID
3534
- * (<code>Gid</code>), and any secondary groups IDs (<code>SecondaryGids</code>), that controls
3535
- * your users' access to your Amazon EFS file systems. The POSIX permissions that are set on
3536
- * files and directories in your file system determine the level of access your users get when
3537
- * transferring files into and out of your Amazon EFS file systems.</p>
3538
- */
3539
- PosixProfile?: PosixProfile;
3540
-
3541
- /**
3542
- * <p>Specifies the Amazon Resource Name (ARN) of the IAM role that controls your users' access to your Amazon S3 bucket or EFS
3543
- * file system. The policies attached to this role determine the level of access that you want to provide your users when transferring
3544
- * files into and out of your Amazon S3 bucket or EFS file system. The IAM role should also contain a trust relationship that allows the
3545
- * server to access your resources when servicing your users' transfer requests.</p>
3546
- */
3547
- Role?: string;
3548
-
3549
- /**
3550
- * <p>A system-assigned unique identifier for a server instance. This is the specific server that you added your user to.</p>
3551
- */
3552
- ServerId: string | undefined;
3553
-
3554
- /**
3555
- * <p>A unique identifier that is required to identify specific groups within your directory.
3556
- * The users of the group that you associate have access to your Amazon S3 or Amazon EFS
3557
- * resources over the enabled protocols using Amazon Web Services Transfer Family. If you know the group name,
3558
- * you can view the SID values by running the following command using Windows PowerShell.</p>
3559
- *
3560
- * <p>
3561
- * <code>Get-ADGroup -Filter {samAccountName -like "<i>YourGroupName</i>*"} -Properties * | Select SamAccountName,ObjectSid</code>
3562
- * </p>
3563
- *
3564
- * <p>In that command, replace <i>YourGroupName</i> with the name of your Active Directory group.</p>
3565
- *
3566
- * <p>The regex used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces.
3567
- * You can also include underscores or any of the following characters: =,.@:/-</p>
3568
- */
3569
- ExternalId: string | undefined;
3570
- }
3571
-
3572
- export namespace UpdateAccessRequest {
3573
- /**
3574
- * @internal
3575
- */
3576
- export const filterSensitiveLog = (obj: UpdateAccessRequest): any => ({
3577
- ...obj,
3578
- });
3579
- }
3580
-
3581
- export interface UpdateAccessResponse {
3582
- /**
3583
- * <p>The ID of the server that the user is attached to.</p>
3584
- */
3585
- ServerId: string | undefined;
3586
-
3587
- /**
3588
- * <p>The external ID of the group whose users have access to your Amazon S3 or Amazon EFS
3589
- * resources over the enabled protocols using Amazon Web ServicesTransfer Family.</p>
3590
- */
3591
- ExternalId: string | undefined;
3592
- }
3593
-
3594
- export namespace UpdateAccessResponse {
3595
- /**
3596
- * @internal
3597
- */
3598
- export const filterSensitiveLog = (obj: UpdateAccessResponse): any => ({
3599
- ...obj,
3600
- });
3601
- }
3602
-
3603
- export interface UpdateServerRequest {
3604
- /**
3605
- * <p>The Amazon Resource Name (ARN) of the Amazon Web ServicesCertificate Manager (ACM) certificate. Required
3606
- * when <code>Protocols</code> is set to <code>FTPS</code>.</p>
3607
- *
3608
- * <p>To request a new public certificate, see <a href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html">Request a public certificate</a>
3609
- * in the <i> Amazon Web ServicesCertificate Manager User Guide</i>.</p>
3610
- *
3611
- * <p>To import an existing certificate into ACM, see <a href="https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html">Importing certificates into ACM</a>
3612
- * in the <i> Amazon Web ServicesCertificate Manager User Guide</i>.</p>
3613
- *
3614
- * <p>To request a private certificate to use FTPS through private IP addresses, see <a href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html">Request a
3615
- * private certificate</a> in the <i> Amazon Web ServicesCertificate Manager User
3616
- * Guide</i>.</p>
3617
- *
3618
- * <p>Certificates with the following cryptographic algorithms and key sizes are
3619
- * supported:</p>
3620
- *
3621
- * <ul>
3622
- * <li>
3623
- * <p>2048-bit RSA (RSA_2048)</p>
3624
- * </li>
3625
- * <li>
3626
- * <p>4096-bit RSA (RSA_4096)</p>
3627
- * </li>
3628
- * <li>
3629
- * <p>Elliptic Prime Curve 256 bit (EC_prime256v1)</p>
3630
- * </li>
3631
- * <li>
3632
- * <p>Elliptic Prime Curve 384 bit (EC_secp384r1)</p>
3633
- * </li>
3634
- * <li>
3635
- * <p>Elliptic Prime Curve 521 bit (EC_secp521r1)</p>
3636
- * </li>
3637
- * </ul>
3638
- *
3639
- * <note>
3640
- * <p>The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP
3641
- * address specified and information about the issuer.</p>
3642
- * </note>
3643
- */
3644
- Certificate?: string;
3645
-
3646
- /**
3647
- * <p>
3648
- * The protocol settings that are configured for your server.
3649
- * </p>
3650
- * <p>
3651
- * Use the <code>PassiveIp</code> parameter to indicate passive mode (for FTP and FTPS protocols).
3652
- * Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.
3653
- * </p>
3654
- */
3655
- ProtocolDetails?: ProtocolDetails;
3656
-
3657
- /**
3658
- * <p>The virtual private cloud (VPC) endpoint settings that are configured for your server.
3659
- * When you host your endpoint within your VPC, you can make it accessible only to resources
3660
- * within your VPC, or you can attach Elastic IP addresses and make it accessible to clients over
3661
- * the internet. Your VPC's default security groups are automatically assigned to your
3662
- * endpoint.</p>
3663
- */
3664
- EndpointDetails?: EndpointDetails;
3665
-
3666
- /**
3667
- * <p>The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC)
3668
- * or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and
3669
- * resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it.</p>
3670
- * <note>
3671
- * <p> After May 19, 2021, you won't be able to create a server using
3672
- * <code>EndpointType=VPC_ENDPOINT</code> in your Amazon Web Servicesaccount if your account hasn't already
3673
- * done so before May 19, 2021. If you have already created servers with
3674
- * <code>EndpointType=VPC_ENDPOINT</code> in your Amazon Web Servicesaccount on or before May 19, 2021,
3675
- * you will not be affected. After this date, use
3676
- * <code>EndpointType</code>=<code>VPC</code>.</p>
3677
- *
3678
- * <p>For more information, see
3679
- * https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.</p>
3680
- * <p>It is recommended that you use <code>VPC</code> as the <code>EndpointType</code>. With
3681
- * this endpoint type, you have the option to directly associate up to three Elastic IPv4
3682
- * addresses (BYO IP included) with your server's endpoint and use VPC security groups to
3683
- * restrict traffic by the client's public IP address. This is not possible with
3684
- * <code>EndpointType</code> set to <code>VPC_ENDPOINT</code>.</p>
3685
- * </note>
3686
- */
3687
- EndpointType?: EndpointType | string;
3688
-
3689
- /**
3690
- * <p>The RSA private key as generated by <code>ssh-keygen -N "" -m PEM -f
3691
- * my-new-server-key</code>.</p>
3692
- *
3693
- * <important>
3694
- * <p>If you aren't planning to migrate existing users from an existing server to a new
3695
- * server, don't update the host key. Accidentally changing a server's host key can
3696
- * be disruptive.</p>
3697
- * </important>
3698
- *
3699
- *
3700
- *
3701
- * <p>For more information, see <a href="https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key">Change the host key for your SFTP-enabled server</a> in the <i>Amazon Web ServicesTransfer
3702
- * Family User Guide</i>.</p>
3703
- */
3704
- HostKey?: string;
3705
-
3706
- /**
3707
- * <p>An array containing all of the information required to call a customer's
3708
- * authentication API method.</p>
3709
- */
3710
- IdentityProviderDetails?: IdentityProviderDetails;
3711
-
3712
- /**
3713
- * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that allows a server to turn
3714
- * on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity can be viewed in
3715
- * your CloudWatch logs.</p>
3716
- */
3717
- LoggingRole?: string;
3718
-
3719
- /**
3720
- * <p>Specifies the file transfer protocol or protocols over which your file transfer protocol
3721
- * client can connect to your server's endpoint. The available protocols are:</p>
3722
- *
3723
- * <ul>
3724
- * <li>
3725
- * <p>Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer over SSH</p>
3726
- * </li>
3727
- * <li>
3728
- * <p>File Transfer Protocol Secure (FTPS): File transfer with TLS encryption</p>
3729
- * </li>
3730
- * <li>
3731
- * <p>File Transfer Protocol (FTP): Unencrypted file transfer</p>
3732
- * </li>
3733
- * </ul>
3734
- *
3735
- * <note>
3736
- * <p>If you select <code>FTPS</code>, you must choose a certificate stored in Amazon Web ServicesCertificate
3737
- * Manager (ACM) which will be used to identify your server when clients connect to it over
3738
- * FTPS.</p>
3739
- *
3740
- *
3741
- * <p>If <code>Protocol</code> includes either <code>FTP</code> or <code>FTPS</code>, then the
3742
- * <code>EndpointType</code> must be <code>VPC</code> and the
3743
- * <code>IdentityProviderType</code> must be <code>AWS_DIRECTORY_SERVICE</code> or <code>API_GATEWAY</code>.</p>
3744
- *
3745
- * <p>If <code>Protocol</code> includes <code>FTP</code>, then
3746
- * <code>AddressAllocationIds</code> cannot be associated.</p>
3747
- *
3748
- * <p>If <code>Protocol</code> is set only to <code>SFTP</code>, the <code>EndpointType</code>
3749
- * can be set to <code>PUBLIC</code> and the <code>IdentityProviderType</code> can be set to
3750
- * <code>SERVICE_MANAGED</code>.</p>
3751
- * </note>
3752
- */
3753
- Protocols?: (Protocol | string)[];
3754
-
3755
- /**
3756
- * <p>Specifies the name of the security policy that is attached to the server.</p>
3757
- */
3758
- SecurityPolicyName?: string;
3759
-
3760
- /**
3761
- * <p>A system-assigned unique identifier for a server instance that the user account is
3762
- * assigned to.</p>
3763
- */
3764
- ServerId: string | undefined;
3765
-
3766
- /**
3767
- * <p>Specifies the workflow ID for the workflow to assign and the execution role used for executing the workflow.</p>
3768
- */
3769
- WorkflowDetails?: WorkflowDetails;
3770
- }
3771
-
3772
- export namespace UpdateServerRequest {
3773
- /**
3774
- * @internal
3775
- */
3776
- export const filterSensitiveLog = (obj: UpdateServerRequest): any => ({
3777
- ...obj,
3778
- ...(obj.HostKey && { HostKey: SENSITIVE_STRING }),
3779
- });
3780
- }
3781
-
3782
- export interface UpdateServerResponse {
3783
- /**
3784
- * <p>A system-assigned unique identifier for a server that the user account is assigned
3785
- * to.</p>
3786
- */
3787
- ServerId: string | undefined;
3788
- }
3789
-
3790
- export namespace UpdateServerResponse {
3791
- /**
3792
- * @internal
3793
- */
3794
- export const filterSensitiveLog = (obj: UpdateServerResponse): any => ({
3795
- ...obj,
3796
- });
3797
- }
3798
-
3799
- export interface UpdateUserRequest {
3800
- /**
3801
- * <p>The landing directory (folder) for a user when they log in to the server using the client.</p>
3802
- * <p>A <code>HomeDirectory</code> example is <code>/bucket_name/home/mydirectory</code>.</p>
3803
- */
3804
- HomeDirectory?: string;
3805
-
3806
- /**
3807
- * <p>The type of landing directory (folder) you want your users' home directory to be when they log into the server.
3808
- * If you set it to <code>PATH</code>, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients.
3809
- * If you set it <code>LOGICAL</code>, you need to provide mappings in the <code>HomeDirectoryMappings</code> for how you want to make Amazon
3810
- * S3 or EFS paths visible to your users.</p>
3811
- */
3812
- HomeDirectoryType?: HomeDirectoryType | string;
3813
-
3814
- /**
3815
- * <p>Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should
3816
- * be visible to your user and how you want to make them visible. You must specify the
3817
- * <code>Entry</code> and <code>Target</code> pair, where <code>Entry</code> shows how the path
3818
- * is made visible and <code>Target</code> is the actual Amazon S3 or Amazon EFS path. If you
3819
- * only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity
3820
- * and Access Management (IAM) role provides access to paths in <code>Target</code>. This value
3821
- * can only be set when <code>HomeDirectoryType</code> is set to
3822
- * <i>LOGICAL</i>.</p>
3823
- *
3824
- * <p>The following is an <code>Entry</code> and <code>Target</code> pair example.</p>
3825
- * <p>
3826
- * <code>[ { "Entry": "/directory1", "Target":
3827
- * "/bucket_name/home/mydirectory" } ]</code>
3828
- * </p>
3829
- *
3830
- * <p>In most cases, you can use this value instead of the session policy to lock down your
3831
- * user to the designated home directory ("<code>chroot</code>"). To do this, you can set
3832
- * <code>Entry</code> to '/' and set <code>Target</code> to the HomeDirectory
3833
- * parameter value.</p>
3834
- *
3835
- * <p>The following is an <code>Entry</code> and <code>Target</code> pair example for <code>chroot</code>.</p>
3836
- * <p>
3837
- * <code>[ { "Entry:": "/", "Target": "/bucket_name/home/mydirectory" } ]</code>
3838
- * </p>
3839
- *
3840
- * <note>
3841
- * <p>If the target of a logical directory entry does not exist in Amazon S3 or EFS, the entry is
3842
- * ignored. As a workaround, you can use the Amazon S3 API or EFS API to create 0 byte objects as place
3843
- * holders for your directory. If using the CLI, use the <code>s3api</code> or <code>efsapi</code> call instead of
3844
- * <code>s3</code> or <code>efs</code> so you can use the put-object operation. For example, you use the
3845
- * following: <code>aws s3api put-object --bucket bucketname --key path/to/folder/</code>. Make
3846
- * sure that the end of the key name ends in a <code>/</code> for it to be considered a folder.</p>
3847
- * </note>
3848
- */
3849
- HomeDirectoryMappings?: HomeDirectoryMapEntry[];
3850
-
3851
- /**
3852
- * <p>A session policy for your user so that you can use the same IAM role across multiple users. This policy scopes down user
3853
- * access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include <code>${Transfer:UserName}</code>,
3854
- * <code>${Transfer:HomeDirectory}</code>, and <code>${Transfer:HomeBucket}</code>.</p>
3855
- *
3856
- * <note>
3857
- * <p>This only applies when the domain of <code>ServerId</code> is S3. EFS does not use session policies.</p>
3858
- * <p>For session policies, Amazon Web Services Transfer Family stores the policy as a JSON blob, instead
3859
- * of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass
3860
- * it in the <code>Policy</code> argument.</p>
3861
- *
3862
- *
3863
- *
3864
- * <p>For an example of a session policy, see <a href="https://docs.aws.amazon.com/transfer/latest/userguide/session-policy">Creating a session
3865
- * policy</a>.</p>
3866
- *
3867
- *
3868
- *
3869
- * <p>For more information, see <a href="https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html">AssumeRole</a> in the <i>Amazon Web Services
3870
- * Security Token Service API Reference</i>.</p>
3871
- * </note>
3872
- */
3873
- Policy?: string;
3874
-
3875
- /**
3876
- * <p>Specifies the full POSIX identity, including user ID (<code>Uid</code>), group ID
3877
- * (<code>Gid</code>), and any secondary groups IDs (<code>SecondaryGids</code>), that controls
3878
- * your users' access to your Amazon Elastic File Systems (Amazon EFS). The POSIX permissions
3879
- * that are set on files and directories in your file system determines the level of access your
3880
- * users get when transferring files into and out of your Amazon EFS file systems.</p>
3881
- */
3882
- PosixProfile?: PosixProfile;
3883
-
3884
- /**
3885
- * <p>Specifies the Amazon Resource Name (ARN) of the IAM role that controls your users' access to your Amazon S3 bucket or EFS
3886
- * file system. The policies attached to this role determine the level of access that you want to provide your users when transferring
3887
- * files into and out of your Amazon S3 bucket or EFS file system. The IAM role should also contain a trust relationship that allows the
3888
- * server to access your resources when servicing your users' transfer requests.</p>
3889
- */
3890
- Role?: string;
3891
-
3892
- /**
3893
- * <p>A system-assigned unique identifier for a server instance that the user account is
3894
- * assigned to.</p>
3895
- */
3896
- ServerId: string | undefined;
3897
-
3898
- /**
3899
- * <p>A unique string that identifies a user and is associated with a server as specified by the
3900
- * <code>ServerId</code>. This user name must be a minimum of 3 and a maximum of 100 characters
3901
- * long. The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen
3902
- * '-', period '.', and at sign '@'. The user name can't start
3903
- * with a hyphen, period, or at sign.</p>
3904
- */
3905
- UserName: string | undefined;
3906
- }
3907
-
3908
- export namespace UpdateUserRequest {
3909
- /**
3910
- * @internal
3911
- */
3912
- export const filterSensitiveLog = (obj: UpdateUserRequest): any => ({
3913
- ...obj,
3914
- });
3915
- }
3916
-
3917
- /**
3918
- * <p>
3919
- * <code>UpdateUserResponse</code> returns the user name and identifier for the request to
3920
- * update a user's properties.</p>
3921
- */
3922
- export interface UpdateUserResponse {
3923
- /**
3924
- * <p>A system-assigned unique identifier for a server instance that the user account is
3925
- * assigned to.</p>
3926
- */
3927
- ServerId: string | undefined;
3928
-
3929
- /**
3930
- * <p>The unique identifier for a user that is assigned to a server instance that was specified
3931
- * in the request.</p>
3932
- */
3933
- UserName: string | undefined;
3934
- }
3935
-
3936
- export namespace UpdateUserResponse {
3937
- /**
3938
- * @internal
3939
- */
3940
- export const filterSensitiveLog = (obj: UpdateUserResponse): any => ({
3941
- ...obj,
3942
- });
3943
- }