[transfer] Can't create user separately from Server?
See original GitHub issueI have an existing Transfer instance. I would like to automatically create users for it via cdk at later times as needed.
Reproduction Steps
def make_user(user_name, server_id, ssh_public_key):
app = core.App()
UserStack(scope=app,
id='sftp-transfer-user-' + user_name,
description='SFTP Transfer User for ' + user_name,
settings=settings,
env=env,
user_name=user_name,
server_id=server_id,
ssh_public_key=ssh_public_key)
app.synth()
class UserStack(core.Stack):
def __init__(self, scope: core.Construct, id: str,
settings: Settings, **kwargs) -> None:
super().__init__(scope, id)
env = settings.get_environment()
CfnUser(scope,
id=f"sftp-user-{kwargs['user_name']}",
role=settings.get_role_arn(),
server_id=kwargs['server_id'],
user_name=kwargs['user_name'],
home_directory_type="LOGICAL",
home_directory_mappings=[self.MEP("/in", "/sftp-bucket/${Transfer:UserName}/in"),
self.MEP("/out", "/sftp-bucket/${Transfer:UserName}/out"),
self.MEP("/", "/sftp-bucket/${Transfer:UserName}")],
ssh_public_keys=[kwargs['ssh_public_key']])
def MEP(self, entry, target):
return aws_transfer.CfnUser.HomeDirectoryMapEntryProperty(entry=entry, target=target)
Error mesage is:
jsii.errors.JavaScriptError:
Error: CfnUser at 'sftp-user-foo-test' should be created in the scope of a Stack, but no Stack found
at _lookup (/private/var/folders/kf/031yw5wx3hnfj7by8xsjz4jc0000gn/T/jsii-kernel-Ari9yh/node_modules/@aws-cdk/core/lib/stack.js:137:23)
at _lookup (/private/var/folders/kf/031yw5wx3hnfj7by8xsjz4jc0000gn/T/jsii-kernel-Ari9yh/node_modules/@aws-cdk/core/lib/stack.js:139:20)
at Function.of (/private/var/folders/kf/031yw5wx3hnfj7by8xsjz4jc0000gn/T/jsii-kernel-Ari9yh/node_modules/@aws-cdk/core/lib/stack.js:121:27)
at new CfnElement (/private/var/folders/kf/031yw5wx3hnfj7by8xsjz4jc0000gn/T/jsii-kernel-Ari9yh/node_modules/@aws-cdk/core/lib/cfn-element.js:25:36)
at new CfnRefElement (/private/var/folders/kf/031yw5wx3hnfj7by8xsjz4jc0000gn/T/jsii-kernel-Ari9yh/node_modules/@aws-cdk/core/lib/cfn-element.js:98:1)
at new CfnResource (/private/var/folders/kf/031yw5wx3hnfj7by8xsjz4jc0000gn/T/jsii-kernel-Ari9yh/node_modules/@aws-cdk/core/lib/cfn-resource.js:23:9)
at new CfnUser (/private/var/folders/kf/031yw5wx3hnfj7by8xsjz4jc0000gn/T/jsii-kernel-Ari9yh/node_modules/@aws-cdk/aws-transfer/lib/transfer.generated.js:340:9)
at /Users/joel/PycharmProjects/venvs/sftp/lib/python3.8/site-packages/jsii/_embedded/jsii/jsii-runtime.js:3137:49
at Kernel._wrapSandboxCode (/Users/joel/PycharmProjects/venvs/sftp/lib/python3.8/site-packages/jsii/_embedded/jsii/jsii-runtime.js:3621:16)
at Kernel._create (/Users/joel/PycharmProjects/venvs/sftp/lib/python3.8/site-packages/jsii/_embedded/jsii/jsii-runtime.js:3137:26)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "transfer_app.py", line 52, in <module>
make_user(cust_name, server_id, ssh_pub_key)
File "transfer_app.py", line 30, in make_user
UserStack(scope=app,
File "/Users/joel/PycharmProjects/venvs/sftp/lib/python3.8/site-packages/jsii/_runtime.py", line 69, in __call__
inst = super().__call__(*args, **kwargs)
File "/Users/joel/PycharmProjects/shift-ux-backend/.cfn/stacks/transfer_stack.py", line 28, in __init__
CfnUser(scope,
File "/Users/joel/PycharmProjects/venvs/sftp/lib/python3.8/site-packages/jsii/_runtime.py", line 69, in __call__
inst = super().__call__(*args, **kwargs)
File "/Users/joel/PycharmProjects/venvs/sftp/lib/python3.8/site-packages/aws_cdk/aws_transfer/__init__.py", line 608, in __init__
jsii.create(CfnUser, self, [scope, id, props])
File "/Users/joel/PycharmProjects/venvs/sftp/lib/python3.8/site-packages/jsii/_kernel/__init__.py", line 250, in create
response = self.provider.create(
File "/Users/joel/PycharmProjects/venvs/sftp/lib/python3.8/site-packages/jsii/_kernel/providers/process.py", line 347, in create
return self._process.send(request, CreateResponse)
File "/Users/joel/PycharmProjects/venvs/sftp/lib/python3.8/site-packages/jsii/_kernel/providers/process.py", line 332, in send
raise JSIIError(resp.error) from JavaScriptError(resp.stack)
jsii.errors.JSIIError: CfnUser at 'sftp-user-foo-test' should be created in the scope of a Stack, but no Stack found
What did you expect to happen?
I expected an SFTP user to be created on the given server_id.
What actually happened?
Stack cannot be found?
jsii.errors.JSIIError: CfnUser at 'sftp-user-foo-test' should be created in the scope of a Stack, but no Stack found
Environment
- CLI Version : aws-cli/1.18.148 Python/3.5.3 Darwin/19.6.0 botocore/1.18.7
- Framework Version:
- Node.js Version: v15.01
- OS : Darwin, OSX
- Language (Version): Python 3.5.3
Other
This is 🐛 Bug Report
Issue Analytics
- State:
- Created 3 years ago
- Comments:5
Top Results From Across the Web
Working with service-managed users - AWS Transfer Family
To add an Amazon S3 service-managed user to your server. Open the AWS Transfer ... The user name can't start with a hyphen...
Read more >Transfer Endpoint and Transfer Server Differences - IBM
Transfer Endpoint can be used to connect outbound as a client to an unlimited number of remote Aspera endpoints.
Read more >How to Copy Files Between Different User Accounts on ...
A simple way around this problem is to share the files with all users rather than transfer them to each user separately. To...
Read more >Fix a corrupted user profile in Windows - Microsoft Support
Type the appropriate information in the dialog box, and then select Create. When you are finished creating user accounts, select Close. Restart the...
Read more >Add or update multiple users from a CSV file - Google Support
There might be unmanaged accounts—Check to see if anyone you plan to add already has a Google Account. Then follow steps to avoid...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
User error.
@kiturutin I added a similar issue with the fix here. Hope it helps! I can elaborate further if needed.