cloudx-proxy 0.4.12__py3-none-any.whl → 0.5.0__py3-none-any.whl
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.
- cloudx_proxy/_version.py +16 -3
- cloudx_proxy/cli.py +32 -28
- {cloudx_proxy-0.4.12.dist-info → cloudx_proxy-0.5.0.dist-info}/METADATA +3 -2
- cloudx_proxy-0.5.0.dist-info/RECORD +12 -0
- {cloudx_proxy-0.4.12.dist-info → cloudx_proxy-0.5.0.dist-info}/WHEEL +1 -1
- cloudx_proxy-0.4.12.dist-info/RECORD +0 -12
- {cloudx_proxy-0.4.12.dist-info → cloudx_proxy-0.5.0.dist-info}/entry_points.txt +0 -0
- {cloudx_proxy-0.4.12.dist-info → cloudx_proxy-0.5.0.dist-info/licenses}/LICENSE +0 -0
- {cloudx_proxy-0.4.12.dist-info → cloudx_proxy-0.5.0.dist-info}/top_level.txt +0 -0
cloudx_proxy/_version.py
CHANGED
@@ -1,7 +1,14 @@
|
|
1
1
|
# file generated by setuptools-scm
|
2
2
|
# don't change, don't track in version control
|
3
3
|
|
4
|
-
__all__ = [
|
4
|
+
__all__ = [
|
5
|
+
"__version__",
|
6
|
+
"__version_tuple__",
|
7
|
+
"version",
|
8
|
+
"version_tuple",
|
9
|
+
"__commit_id__",
|
10
|
+
"commit_id",
|
11
|
+
]
|
5
12
|
|
6
13
|
TYPE_CHECKING = False
|
7
14
|
if TYPE_CHECKING:
|
@@ -9,13 +16,19 @@ if TYPE_CHECKING:
|
|
9
16
|
from typing import Union
|
10
17
|
|
11
18
|
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
19
|
+
COMMIT_ID = Union[str, None]
|
12
20
|
else:
|
13
21
|
VERSION_TUPLE = object
|
22
|
+
COMMIT_ID = object
|
14
23
|
|
15
24
|
version: str
|
16
25
|
__version__: str
|
17
26
|
__version_tuple__: VERSION_TUPLE
|
18
27
|
version_tuple: VERSION_TUPLE
|
28
|
+
commit_id: COMMIT_ID
|
29
|
+
__commit_id__: COMMIT_ID
|
19
30
|
|
20
|
-
__version__ = version = '0.
|
21
|
-
__version_tuple__ = version_tuple = (0,
|
31
|
+
__version__ = version = '0.5.0'
|
32
|
+
__version_tuple__ = version_tuple = (0, 5, 0)
|
33
|
+
|
34
|
+
__commit_id__ = commit_id = None
|
cloudx_proxy/cli.py
CHANGED
@@ -11,16 +11,16 @@ from .setup import CloudXSetup
|
|
11
11
|
@click.version_option(version=__version__)
|
12
12
|
def cli():
|
13
13
|
"""cloudx-proxy - SSH proxy to connect VSCode Remote SSH to EC2 instances using SSM.
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
14
|
+
|
15
|
+
This tool enables seamless SSH connections from VSCode to EC2 instances using AWS Systems Manager,
|
16
|
+
eliminating the need for direct SSH access or public IP addresses.
|
17
|
+
|
18
|
+
\b
|
19
|
+
Main commands:
|
20
|
+
\b
|
21
|
+
setup - Configure AWS profile, SSH keys, and SSH configuration
|
22
|
+
connect - Connect to an EC2 instance via SSM
|
23
|
+
list - List configured SSH hosts"""
|
24
24
|
pass
|
25
25
|
|
26
26
|
@cli.command()
|
@@ -36,12 +36,13 @@ def connect(instance_id: str, port: int, profile: str, region: str, ssh_key: str
|
|
36
36
|
|
37
37
|
INSTANCE_ID is the EC2 instance ID to connect to (e.g., i-0123456789abcdef0)
|
38
38
|
|
39
|
+
\b
|
39
40
|
Example usage:
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
41
|
+
\b
|
42
|
+
cloudx-proxy connect i-0123456789abcdef0 22
|
43
|
+
cloudx-proxy connect i-0123456789abcdef0 22 --profile myprofile --region eu-west-1
|
44
|
+
cloudx-proxy connect i-0123456789abcdef0 22 --ssh-config ~/.ssh/cloudx/config
|
45
|
+
cloudx-proxy connect i-0123456789abcdef0 22 --aws-env prod
|
45
46
|
"""
|
46
47
|
try:
|
47
48
|
client = CloudXProxy(
|
@@ -76,21 +77,23 @@ def setup(profile: str, ssh_key: str, ssh_config: str, aws_env: str, use_1passwo
|
|
76
77
|
instance: str, hostname: str, non_interactive: bool):
|
77
78
|
"""Set up AWS profile, SSH keys, and configuration for CloudX.
|
78
79
|
|
80
|
+
\b
|
79
81
|
This command will:
|
80
|
-
|
82
|
+
\b
|
81
83
|
1. Set up AWS profile with credentials
|
82
84
|
2. Create or use existing SSH key
|
83
85
|
3. Configure SSH for CloudX instances
|
84
86
|
4. Check instance setup status
|
85
87
|
|
88
|
+
\b
|
86
89
|
Example usage:
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
90
|
+
\b
|
91
|
+
cloudx-proxy setup
|
92
|
+
cloudx-proxy setup --profile myprofile --ssh-key mykey
|
93
|
+
cloudx-proxy setup --ssh-config ~/.ssh/cloudx/config
|
94
|
+
cloudx-proxy setup --1password
|
95
|
+
cloudx-proxy setup --1password Work
|
96
|
+
cloudx-proxy setup --instance i-0123456789abcdef0 --hostname myserver --yes
|
94
97
|
"""
|
95
98
|
try:
|
96
99
|
setup = CloudXSetup(
|
@@ -150,12 +153,13 @@ def list(ssh_config: str, environment: str, detailed: bool):
|
|
150
153
|
This command parses the SSH configuration file and displays all configured cloudx-proxy hosts.
|
151
154
|
Hosts are grouped by environment for easier navigation.
|
152
155
|
|
156
|
+
\b
|
153
157
|
Example usage:
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
158
|
+
\b
|
159
|
+
cloudx-proxy list
|
160
|
+
cloudx-proxy list --environment dev
|
161
|
+
cloudx-proxy list --ssh-config ~/.ssh/cloudx/config
|
162
|
+
cloudx-proxy list --detailed
|
159
163
|
"""
|
160
164
|
try:
|
161
165
|
# Determine SSH config file path
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: cloudx-proxy
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.5.0
|
4
4
|
Summary: SSH proxy command to connect VSCode with Cloud9/CloudX instance using AWS Systems Manager
|
5
5
|
Author-email: easytocloud <info@easytocloud.com>
|
6
6
|
License: MIT License
|
@@ -47,6 +47,7 @@ Description-Content-Type: text/markdown
|
|
47
47
|
License-File: LICENSE
|
48
48
|
Requires-Dist: boto3>=1.34.0
|
49
49
|
Requires-Dist: click>=8.1.0
|
50
|
+
Dynamic: license-file
|
50
51
|
|
51
52
|
# cloudX-proxy
|
52
53
|
|
@@ -0,0 +1,12 @@
|
|
1
|
+
cloudx_proxy/_1password.py,sha256=uxyCfVvO1eQrOfYRojst_LN2DV4fIwxM5moaQTn3wQY,5853
|
2
|
+
cloudx_proxy/__init__.py,sha256=ZZ2O_m9OFJm18AxMSuYJt4UjSuSqyJlYRaZMoets498,61
|
3
|
+
cloudx_proxy/_version.py,sha256=fvHpBU3KZKRinkriKdtAt3crenOyysELF-M9y3ozg3U,704
|
4
|
+
cloudx_proxy/cli.py,sha256=prOTW9H8QloWuHqwFDy6fQg5-8CrG1RiEylIoNrjO5I,9907
|
5
|
+
cloudx_proxy/core.py,sha256=RF3bX5MQiokRKjYEPnfWdKywGdtoVUvV2xZqm9uOl1g,8135
|
6
|
+
cloudx_proxy/setup.py,sha256=CmUYr9EhtLoEpKU9jMEgxXtVMYlZTfPAJ-eQ59nr_bI,42785
|
7
|
+
cloudx_proxy-0.5.0.dist-info/licenses/LICENSE,sha256=i7P2OR4zsJYsMWcCUDe_B9ZfGi9bU0K5I2nKfDrW_N8,1068
|
8
|
+
cloudx_proxy-0.5.0.dist-info/METADATA,sha256=QVn6PiKULTZQ4WKVFO07ITBPgdmAKCetk6yueSK-F1k,20606
|
9
|
+
cloudx_proxy-0.5.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
10
|
+
cloudx_proxy-0.5.0.dist-info/entry_points.txt,sha256=HGt743N2lVlKd7O1qWq3C0aEHyS5PjPnxzDHh7hwtSg,54
|
11
|
+
cloudx_proxy-0.5.0.dist-info/top_level.txt,sha256=2wtEote1db21j-VvkCJFfT-dLlauuG5indjggYh3xDg,13
|
12
|
+
cloudx_proxy-0.5.0.dist-info/RECORD,,
|
@@ -1,12 +0,0 @@
|
|
1
|
-
cloudx_proxy/_1password.py,sha256=uxyCfVvO1eQrOfYRojst_LN2DV4fIwxM5moaQTn3wQY,5853
|
2
|
-
cloudx_proxy/__init__.py,sha256=ZZ2O_m9OFJm18AxMSuYJt4UjSuSqyJlYRaZMoets498,61
|
3
|
-
cloudx_proxy/_version.py,sha256=_LmN5osUr_vA9vpS9z3DVS-seNgJCLNLqRe6F07PZp8,513
|
4
|
-
cloudx_proxy/cli.py,sha256=AS6W_uXQ5rCKD3RJcH-K2WUylTI8Ne2TJcStRgadIMM,9941
|
5
|
-
cloudx_proxy/core.py,sha256=RF3bX5MQiokRKjYEPnfWdKywGdtoVUvV2xZqm9uOl1g,8135
|
6
|
-
cloudx_proxy/setup.py,sha256=CmUYr9EhtLoEpKU9jMEgxXtVMYlZTfPAJ-eQ59nr_bI,42785
|
7
|
-
cloudx_proxy-0.4.12.dist-info/LICENSE,sha256=i7P2OR4zsJYsMWcCUDe_B9ZfGi9bU0K5I2nKfDrW_N8,1068
|
8
|
-
cloudx_proxy-0.4.12.dist-info/METADATA,sha256=y45L2TgmgL-ioh46YcmSeE_teE8_hXfsBtMPFGNKYuI,20585
|
9
|
-
cloudx_proxy-0.4.12.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
|
10
|
-
cloudx_proxy-0.4.12.dist-info/entry_points.txt,sha256=HGt743N2lVlKd7O1qWq3C0aEHyS5PjPnxzDHh7hwtSg,54
|
11
|
-
cloudx_proxy-0.4.12.dist-info/top_level.txt,sha256=2wtEote1db21j-VvkCJFfT-dLlauuG5indjggYh3xDg,13
|
12
|
-
cloudx_proxy-0.4.12.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|