ops-cli 2.1.7__py3-none-any.whl → 2.2.1__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.
- ops/cli/aws.py +3 -2
- ops/cli/config.py +40 -5
- ops/cli/ssh.py +1 -1
- ops/inventory/sshconfig.py +1 -1
- {ops_cli-2.1.7.dist-info → ops_cli-2.2.1.dist-info}/METADATA +146 -143
- {ops_cli-2.1.7.dist-info → ops_cli-2.2.1.dist-info}/RECORD +10 -10
- {ops_cli-2.1.7.dist-info → ops_cli-2.2.1.dist-info}/WHEEL +1 -1
- {ops_cli-2.1.7.dist-info → ops_cli-2.2.1.dist-info}/entry_points.txt +0 -1
- {ops_cli-2.1.7.dist-info → ops_cli-2.2.1.dist-info}/LICENSE +0 -0
- {ops_cli-2.1.7.dist-info → ops_cli-2.2.1.dist-info}/top_level.txt +0 -0
ops/cli/aws.py
CHANGED
|
@@ -9,13 +9,14 @@
|
|
|
9
9
|
# governing permissions and limitations under the License.
|
|
10
10
|
|
|
11
11
|
from . import get_output
|
|
12
|
+
from shlex import quote
|
|
12
13
|
|
|
13
14
|
|
|
14
15
|
def access_key(profile):
|
|
15
16
|
return get_output(
|
|
16
|
-
'aws configure get aws_access_key_id --profile %s' % profile)
|
|
17
|
+
'aws configure get aws_access_key_id --profile %s' % quote(profile))
|
|
17
18
|
|
|
18
19
|
|
|
19
20
|
def secret_key(profile):
|
|
20
21
|
return get_output(
|
|
21
|
-
'aws configure get aws_secret_access_key --profile %s' % profile)
|
|
22
|
+
'aws configure get aws_secret_access_key --profile %s' % quote(profile))
|
ops/cli/config.py
CHANGED
|
@@ -8,21 +8,22 @@
|
|
|
8
8
|
# OF ANY KIND, either express or implied. See the License for the specific language
|
|
9
9
|
# governing permissions and limitations under the License.
|
|
10
10
|
|
|
11
|
-
import collections
|
|
12
11
|
import os
|
|
13
|
-
|
|
14
12
|
import yaml
|
|
15
13
|
|
|
16
14
|
from ansible.module_utils.common.collections import ImmutableDict
|
|
17
15
|
from ansible.parsing.dataloader import DataLoader
|
|
18
|
-
from ansible.plugins.loader import PluginLoader
|
|
19
16
|
from ansible.template import Templar
|
|
20
|
-
from ansible.utils.vars import
|
|
17
|
+
from ansible.utils.vars import combine_vars
|
|
21
18
|
from ansible.vars.manager import VariableManager
|
|
22
19
|
from ops.cli import display
|
|
23
20
|
from ansible import constants as C
|
|
24
21
|
from ansible import context
|
|
25
22
|
import logging
|
|
23
|
+
from ansible.errors import AnsibleOptionsError
|
|
24
|
+
from ansible.module_utils._text import to_text
|
|
25
|
+
from ansible.parsing.splitter import parse_kv
|
|
26
|
+
from collections.abc import MutableMapping
|
|
26
27
|
|
|
27
28
|
logger = logging.getLogger(__name__)
|
|
28
29
|
|
|
@@ -34,6 +35,38 @@ def get_cluster_name(cluster_config_path):
|
|
|
34
35
|
'/')[-1].replace('.yaml', '').replace('.yml', '')
|
|
35
36
|
|
|
36
37
|
|
|
38
|
+
def load_extra_vars(loader):
|
|
39
|
+
"""
|
|
40
|
+
Overriding Ansible function using version before slight var loading optimization
|
|
41
|
+
in order to avoid caching issues https://github.com/ansible/ansible/pull/78835/files
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
extra_vars = {}
|
|
45
|
+
for extra_vars_opt in context.CLIARGS.get('extra_vars', tuple()):
|
|
46
|
+
data = None
|
|
47
|
+
extra_vars_opt = to_text(extra_vars_opt, errors='surrogate_or_strict')
|
|
48
|
+
if extra_vars_opt is None or not extra_vars_opt:
|
|
49
|
+
continue
|
|
50
|
+
|
|
51
|
+
if extra_vars_opt.startswith(u"@"):
|
|
52
|
+
# Argument is a YAML file (JSON is a subset of YAML)
|
|
53
|
+
data = loader.load_from_file(extra_vars_opt[1:])
|
|
54
|
+
elif extra_vars_opt[0] in [u'/', u'.']:
|
|
55
|
+
raise AnsibleOptionsError("Please prepend extra_vars filename '%s' with '@'" % extra_vars_opt)
|
|
56
|
+
elif extra_vars_opt[0] in [u'[', u'{']:
|
|
57
|
+
# Arguments as YAML
|
|
58
|
+
data = loader.load(extra_vars_opt)
|
|
59
|
+
else:
|
|
60
|
+
# Arguments as Key-value
|
|
61
|
+
data = parse_kv(extra_vars_opt)
|
|
62
|
+
|
|
63
|
+
if isinstance(data, MutableMapping):
|
|
64
|
+
extra_vars = combine_vars(extra_vars, data)
|
|
65
|
+
else:
|
|
66
|
+
raise AnsibleOptionsError("Invalid extra vars data supplied. '%s' could not be made into a dictionary" % extra_vars_opt)
|
|
67
|
+
return extra_vars
|
|
68
|
+
|
|
69
|
+
|
|
37
70
|
class ClusterConfig(object):
|
|
38
71
|
def __init__(self, cluster_config_generator,
|
|
39
72
|
ops_config, cluster_config_path):
|
|
@@ -164,6 +197,8 @@ class ClusterConfigGenerator(object):
|
|
|
164
197
|
read_variables = variable_manager.get_vars()
|
|
165
198
|
|
|
166
199
|
templar = Templar(data_loader, variables=read_variables)
|
|
167
|
-
|
|
200
|
+
|
|
201
|
+
for filter in self.template.filter_plugin_loader.all():
|
|
202
|
+
templar.environment.filters.update(filter.filters())
|
|
168
203
|
|
|
169
204
|
return templar.template(read_variables, fail_on_undefined=True)
|
ops/cli/ssh.py
CHANGED
|
@@ -286,7 +286,7 @@ class SshRunner(object):
|
|
|
286
286
|
if args.proxy:
|
|
287
287
|
if scb_enabled:
|
|
288
288
|
proxy_port = args.local or SshConfigGenerator.generate_ssh_scb_proxy_port(
|
|
289
|
-
self.ansible_inventory.generated_path.
|
|
289
|
+
self.ansible_inventory.generated_path.removesuffix("/inventory"),
|
|
290
290
|
args.auto_scb_port,
|
|
291
291
|
scb_proxy_port
|
|
292
292
|
)
|
ops/inventory/sshconfig.py
CHANGED
|
@@ -90,7 +90,7 @@ class SshConfigGenerator(object):
|
|
|
90
90
|
ssh_config_content = ssh_config_template.format(
|
|
91
91
|
scb_proxy_port=scb_proxy_port
|
|
92
92
|
)
|
|
93
|
-
ssh_config_path = ssh_config_tpl_path.
|
|
93
|
+
ssh_config_path = ssh_config_tpl_path.removesuffix("_tpl")
|
|
94
94
|
with open(ssh_config_path, 'w') as f:
|
|
95
95
|
f.write(ssh_config_content)
|
|
96
96
|
os.fchmod(f.fileno(), 0o644)
|
|
@@ -1,23 +1,20 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ops-cli
|
|
3
|
-
Version: 2.1
|
|
3
|
+
Version: 2.2.1
|
|
4
4
|
Summary: Ops - wrapper for Terraform, Ansible, and SSH for cloud automation
|
|
5
5
|
Home-page: https://github.com/adobe/ops-cli
|
|
6
6
|
Author: Adobe
|
|
7
7
|
Author-email: noreply@adobe.com
|
|
8
8
|
License: Apache2
|
|
9
|
-
Platform: UNKNOWN
|
|
10
9
|
Classifier: Development Status :: 5 - Production/Stable
|
|
11
10
|
Classifier: Environment :: Web Environment
|
|
12
11
|
Classifier: Intended Audience :: Developers
|
|
13
12
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
14
13
|
Classifier: Operating System :: OS Independent
|
|
15
14
|
Classifier: Programming Language :: Python :: 3
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.5
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.6
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
20
15
|
Classifier: Programming Language :: Python :: 3.9
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
18
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
22
19
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
23
20
|
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
|
@@ -26,139 +23,146 @@ Classifier: Topic :: Text Processing :: Markup :: HTML
|
|
|
26
23
|
Requires-Python: >=3.5
|
|
27
24
|
Description-Content-Type: text/markdown
|
|
28
25
|
License-File: LICENSE
|
|
29
|
-
Requires-Dist: adal
|
|
30
|
-
Requires-Dist:
|
|
31
|
-
Requires-Dist:
|
|
32
|
-
Requires-Dist: azure-
|
|
33
|
-
Requires-Dist: azure-
|
|
34
|
-
Requires-Dist: azure-
|
|
35
|
-
Requires-Dist: azure-cosmosdb-
|
|
36
|
-
Requires-Dist: azure-
|
|
37
|
-
Requires-Dist: azure-
|
|
38
|
-
Requires-Dist: azure-
|
|
39
|
-
Requires-Dist: azure-
|
|
40
|
-
Requires-Dist: azure-
|
|
41
|
-
Requires-Dist: azure-
|
|
42
|
-
Requires-Dist: azure-mgmt-advisor
|
|
43
|
-
Requires-Dist: azure-mgmt-applicationinsights
|
|
44
|
-
Requires-Dist: azure-mgmt-authorization
|
|
45
|
-
Requires-Dist: azure-mgmt-batch
|
|
46
|
-
Requires-Dist: azure-mgmt-batchai
|
|
47
|
-
Requires-Dist: azure-mgmt-billing
|
|
48
|
-
Requires-Dist: azure-mgmt-cdn
|
|
49
|
-
Requires-Dist: azure-mgmt-cognitiveservices
|
|
50
|
-
Requires-Dist: azure-mgmt-commerce
|
|
51
|
-
Requires-Dist: azure-mgmt-compute
|
|
52
|
-
Requires-Dist: azure-mgmt-consumption
|
|
53
|
-
Requires-Dist: azure-mgmt-containerinstance
|
|
54
|
-
Requires-Dist: azure-mgmt-containerregistry
|
|
55
|
-
Requires-Dist: azure-mgmt-containerservice
|
|
56
|
-
Requires-Dist: azure-mgmt-cosmosdb
|
|
57
|
-
Requires-Dist: azure-mgmt-datafactory
|
|
58
|
-
Requires-Dist: azure-mgmt-datalake-analytics
|
|
59
|
-
Requires-Dist: azure-mgmt-datalake-nspkg
|
|
60
|
-
Requires-Dist: azure-mgmt-datalake-store
|
|
61
|
-
Requires-Dist: azure-mgmt-datamigration
|
|
62
|
-
Requires-Dist: azure-mgmt-devspaces
|
|
63
|
-
Requires-Dist: azure-mgmt-devtestlabs
|
|
64
|
-
Requires-Dist: azure-mgmt-dns
|
|
65
|
-
Requires-Dist: azure-mgmt-eventgrid
|
|
66
|
-
Requires-Dist: azure-mgmt-eventhub
|
|
67
|
-
Requires-Dist: azure-mgmt-hanaonazure
|
|
68
|
-
Requires-Dist: azure-mgmt-iotcentral
|
|
69
|
-
Requires-Dist: azure-mgmt-iothub
|
|
70
|
-
Requires-Dist: azure-mgmt-iothubprovisioningservices
|
|
71
|
-
Requires-Dist: azure-mgmt-keyvault
|
|
72
|
-
Requires-Dist: azure-mgmt-loganalytics
|
|
73
|
-
Requires-Dist: azure-mgmt-logic
|
|
74
|
-
Requires-Dist: azure-mgmt-machinelearningcompute
|
|
75
|
-
Requires-Dist: azure-mgmt-managementgroups
|
|
76
|
-
Requires-Dist: azure-mgmt-managementpartner
|
|
77
|
-
Requires-Dist: azure-mgmt-maps
|
|
78
|
-
Requires-Dist: azure-mgmt-marketplaceordering
|
|
79
|
-
Requires-Dist: azure-mgmt-media
|
|
80
|
-
Requires-Dist: azure-mgmt-monitor
|
|
81
|
-
Requires-Dist: azure-mgmt-msi
|
|
82
|
-
Requires-Dist: azure-mgmt-network
|
|
83
|
-
Requires-Dist: azure-mgmt-notificationhubs
|
|
84
|
-
Requires-Dist: azure-mgmt-nspkg
|
|
85
|
-
Requires-Dist: azure-mgmt-policyinsights
|
|
86
|
-
Requires-Dist: azure-mgmt-powerbiembedded
|
|
87
|
-
Requires-Dist: azure-mgmt-rdbms
|
|
88
|
-
Requires-Dist: azure-mgmt-recoveryservices
|
|
89
|
-
Requires-Dist: azure-mgmt-recoveryservicesbackup
|
|
90
|
-
Requires-Dist: azure-mgmt-redis
|
|
91
|
-
Requires-Dist: azure-mgmt-relay
|
|
92
|
-
Requires-Dist: azure-mgmt-reservations
|
|
93
|
-
Requires-Dist: azure-mgmt-resource
|
|
94
|
-
Requires-Dist: azure-mgmt-scheduler
|
|
95
|
-
Requires-Dist: azure-mgmt-search
|
|
96
|
-
Requires-Dist: azure-mgmt-servicebus
|
|
97
|
-
Requires-Dist: azure-mgmt-servicefabric
|
|
98
|
-
Requires-Dist: azure-mgmt-signalr
|
|
99
|
-
Requires-Dist: azure-mgmt-sql
|
|
100
|
-
Requires-Dist: azure-mgmt-storage
|
|
101
|
-
Requires-Dist: azure-mgmt-subscription
|
|
102
|
-
Requires-Dist: azure-mgmt-trafficmanager
|
|
103
|
-
Requires-Dist: azure-mgmt-web
|
|
104
|
-
Requires-Dist: azure-
|
|
105
|
-
Requires-Dist: azure-
|
|
106
|
-
Requires-Dist: azure-
|
|
107
|
-
Requires-Dist: azure-
|
|
108
|
-
Requires-Dist: azure-
|
|
109
|
-
Requires-Dist: azure-storage-
|
|
110
|
-
Requires-Dist: azure-storage-
|
|
111
|
-
Requires-Dist: azure-storage-
|
|
112
|
-
Requires-Dist:
|
|
113
|
-
Requires-Dist:
|
|
114
|
-
Requires-Dist:
|
|
115
|
-
Requires-Dist:
|
|
116
|
-
Requires-Dist:
|
|
117
|
-
Requires-Dist:
|
|
118
|
-
Requires-Dist:
|
|
119
|
-
Requires-Dist:
|
|
120
|
-
Requires-Dist:
|
|
121
|
-
Requires-Dist:
|
|
122
|
-
Requires-Dist:
|
|
123
|
-
Requires-Dist:
|
|
124
|
-
Requires-Dist:
|
|
125
|
-
Requires-Dist:
|
|
126
|
-
Requires-Dist:
|
|
127
|
-
Requires-Dist:
|
|
128
|
-
Requires-Dist:
|
|
129
|
-
Requires-Dist:
|
|
130
|
-
Requires-Dist:
|
|
131
|
-
Requires-Dist:
|
|
132
|
-
Requires-Dist:
|
|
133
|
-
Requires-Dist:
|
|
134
|
-
Requires-Dist:
|
|
135
|
-
Requires-Dist:
|
|
136
|
-
Requires-Dist:
|
|
137
|
-
Requires-Dist:
|
|
138
|
-
Requires-Dist:
|
|
139
|
-
Requires-Dist:
|
|
140
|
-
Requires-Dist:
|
|
141
|
-
Requires-Dist:
|
|
142
|
-
Requires-Dist:
|
|
143
|
-
Requires-Dist:
|
|
144
|
-
Requires-Dist:
|
|
145
|
-
Requires-Dist:
|
|
146
|
-
Requires-Dist:
|
|
147
|
-
Requires-Dist:
|
|
148
|
-
Requires-Dist:
|
|
149
|
-
Requires-Dist:
|
|
150
|
-
Requires-Dist:
|
|
151
|
-
Requires-Dist:
|
|
152
|
-
Requires-Dist:
|
|
153
|
-
Requires-Dist:
|
|
154
|
-
Requires-Dist:
|
|
155
|
-
Requires-Dist:
|
|
156
|
-
Requires-Dist:
|
|
157
|
-
Requires-Dist:
|
|
158
|
-
Requires-Dist:
|
|
159
|
-
Requires-Dist:
|
|
160
|
-
Requires-Dist:
|
|
161
|
-
Requires-Dist:
|
|
26
|
+
Requires-Dist: adal ==1.2.7
|
|
27
|
+
Requires-Dist: azure ==4.0.0
|
|
28
|
+
Requires-Dist: azure-applicationinsights ==0.1.1
|
|
29
|
+
Requires-Dist: azure-batch ==4.1.3
|
|
30
|
+
Requires-Dist: azure-common ==1.1.28
|
|
31
|
+
Requires-Dist: azure-cosmosdb-nspkg ==2.0.2
|
|
32
|
+
Requires-Dist: azure-cosmosdb-table ==1.0.6
|
|
33
|
+
Requires-Dist: azure-datalake-store ==0.0.53
|
|
34
|
+
Requires-Dist: azure-eventgrid ==1.3.0
|
|
35
|
+
Requires-Dist: azure-graphrbac ==0.40.0
|
|
36
|
+
Requires-Dist: azure-keyvault ==1.1.0
|
|
37
|
+
Requires-Dist: azure-loganalytics ==0.1.1
|
|
38
|
+
Requires-Dist: azure-mgmt ==4.0.0
|
|
39
|
+
Requires-Dist: azure-mgmt-advisor ==1.0.1
|
|
40
|
+
Requires-Dist: azure-mgmt-applicationinsights ==0.1.1
|
|
41
|
+
Requires-Dist: azure-mgmt-authorization ==0.50.0
|
|
42
|
+
Requires-Dist: azure-mgmt-batch ==5.0.1
|
|
43
|
+
Requires-Dist: azure-mgmt-batchai ==2.0.0
|
|
44
|
+
Requires-Dist: azure-mgmt-billing ==0.2.0
|
|
45
|
+
Requires-Dist: azure-mgmt-cdn ==3.1.0
|
|
46
|
+
Requires-Dist: azure-mgmt-cognitiveservices ==3.0.0
|
|
47
|
+
Requires-Dist: azure-mgmt-commerce ==1.0.1
|
|
48
|
+
Requires-Dist: azure-mgmt-compute ==4.6.2
|
|
49
|
+
Requires-Dist: azure-mgmt-consumption ==2.0.0
|
|
50
|
+
Requires-Dist: azure-mgmt-containerinstance ==1.5.0
|
|
51
|
+
Requires-Dist: azure-mgmt-containerregistry ==2.8.0
|
|
52
|
+
Requires-Dist: azure-mgmt-containerservice ==4.4.0
|
|
53
|
+
Requires-Dist: azure-mgmt-cosmosdb ==0.4.1
|
|
54
|
+
Requires-Dist: azure-mgmt-datafactory ==0.6.0
|
|
55
|
+
Requires-Dist: azure-mgmt-datalake-analytics ==0.6.0
|
|
56
|
+
Requires-Dist: azure-mgmt-datalake-nspkg ==3.0.1
|
|
57
|
+
Requires-Dist: azure-mgmt-datalake-store ==0.5.0
|
|
58
|
+
Requires-Dist: azure-mgmt-datamigration ==1.0.0
|
|
59
|
+
Requires-Dist: azure-mgmt-devspaces ==0.1.0
|
|
60
|
+
Requires-Dist: azure-mgmt-devtestlabs ==2.2.0
|
|
61
|
+
Requires-Dist: azure-mgmt-dns ==2.1.0
|
|
62
|
+
Requires-Dist: azure-mgmt-eventgrid ==1.0.0
|
|
63
|
+
Requires-Dist: azure-mgmt-eventhub ==2.6.0
|
|
64
|
+
Requires-Dist: azure-mgmt-hanaonazure ==0.1.1
|
|
65
|
+
Requires-Dist: azure-mgmt-iotcentral ==0.1.0
|
|
66
|
+
Requires-Dist: azure-mgmt-iothub ==0.5.0
|
|
67
|
+
Requires-Dist: azure-mgmt-iothubprovisioningservices ==0.2.0
|
|
68
|
+
Requires-Dist: azure-mgmt-keyvault ==1.1.0
|
|
69
|
+
Requires-Dist: azure-mgmt-loganalytics ==0.2.0
|
|
70
|
+
Requires-Dist: azure-mgmt-logic ==3.0.0
|
|
71
|
+
Requires-Dist: azure-mgmt-machinelearningcompute ==0.4.1
|
|
72
|
+
Requires-Dist: azure-mgmt-managementgroups ==0.1.0
|
|
73
|
+
Requires-Dist: azure-mgmt-managementpartner ==0.1.1
|
|
74
|
+
Requires-Dist: azure-mgmt-maps ==0.1.0
|
|
75
|
+
Requires-Dist: azure-mgmt-marketplaceordering ==0.1.0
|
|
76
|
+
Requires-Dist: azure-mgmt-media ==1.0.1
|
|
77
|
+
Requires-Dist: azure-mgmt-monitor ==0.5.2
|
|
78
|
+
Requires-Dist: azure-mgmt-msi ==0.2.0
|
|
79
|
+
Requires-Dist: azure-mgmt-network ==2.7.0
|
|
80
|
+
Requires-Dist: azure-mgmt-notificationhubs ==2.1.0
|
|
81
|
+
Requires-Dist: azure-mgmt-nspkg ==3.0.2
|
|
82
|
+
Requires-Dist: azure-mgmt-policyinsights ==0.1.0
|
|
83
|
+
Requires-Dist: azure-mgmt-powerbiembedded ==2.0.0
|
|
84
|
+
Requires-Dist: azure-mgmt-rdbms ==1.9.0
|
|
85
|
+
Requires-Dist: azure-mgmt-recoveryservices ==0.3.0
|
|
86
|
+
Requires-Dist: azure-mgmt-recoveryservicesbackup ==0.3.0
|
|
87
|
+
Requires-Dist: azure-mgmt-redis ==5.0.0
|
|
88
|
+
Requires-Dist: azure-mgmt-relay ==0.1.0
|
|
89
|
+
Requires-Dist: azure-mgmt-reservations ==0.2.1
|
|
90
|
+
Requires-Dist: azure-mgmt-resource ==2.2.0
|
|
91
|
+
Requires-Dist: azure-mgmt-scheduler ==2.0.0
|
|
92
|
+
Requires-Dist: azure-mgmt-search ==2.1.0
|
|
93
|
+
Requires-Dist: azure-mgmt-servicebus ==0.5.3
|
|
94
|
+
Requires-Dist: azure-mgmt-servicefabric ==0.2.0
|
|
95
|
+
Requires-Dist: azure-mgmt-signalr ==0.1.1
|
|
96
|
+
Requires-Dist: azure-mgmt-sql ==0.9.1
|
|
97
|
+
Requires-Dist: azure-mgmt-storage ==2.0.0
|
|
98
|
+
Requires-Dist: azure-mgmt-subscription ==0.2.0
|
|
99
|
+
Requires-Dist: azure-mgmt-trafficmanager ==0.50.0
|
|
100
|
+
Requires-Dist: azure-mgmt-web ==0.35.0
|
|
101
|
+
Requires-Dist: azure-nspkg ==3.0.2
|
|
102
|
+
Requires-Dist: azure-servicebus ==0.21.1
|
|
103
|
+
Requires-Dist: azure-servicefabric ==6.3.0.0
|
|
104
|
+
Requires-Dist: azure-servicemanagement-legacy ==0.20.7
|
|
105
|
+
Requires-Dist: azure-storage-blob ==1.5.0
|
|
106
|
+
Requires-Dist: azure-storage-common ==1.4.2
|
|
107
|
+
Requires-Dist: azure-storage-file ==1.4.0
|
|
108
|
+
Requires-Dist: azure-storage-queue ==1.4.0
|
|
109
|
+
Requires-Dist: boto ==2.49.0
|
|
110
|
+
Requires-Dist: deepmerge ==1.1.0
|
|
111
|
+
Requires-Dist: hashmerge ==0.2
|
|
112
|
+
Requires-Dist: isodate ==0.6.1
|
|
113
|
+
Requires-Dist: lru-cache ==0.2.3
|
|
114
|
+
Requires-Dist: msrestazure ==0.6.4
|
|
115
|
+
Requires-Dist: passgen ==1.1.1
|
|
116
|
+
Requires-Dist: pathlib2 ==2.3.7.post1
|
|
117
|
+
Requires-Dist: pycparser ==2.21
|
|
118
|
+
Requires-Dist: pyhcl ==0.4.5
|
|
119
|
+
Requires-Dist: python-consul ==1.1.0
|
|
120
|
+
Requires-Dist: resolvelib ==1.0.1
|
|
121
|
+
Requires-Dist: simpledi ==0.4.1
|
|
122
|
+
Requires-Dist: hvac ==1.1.1 ; python_full_version >= "3.6.2" and python_full_version < "4.0.0"
|
|
123
|
+
Requires-Dist: charset-normalizer ==3.3.0 ; python_full_version >= "3.7.0"
|
|
124
|
+
Requires-Dist: backports.functools-lru-cache ==1.6.6 ; python_version >= "2.6"
|
|
125
|
+
Requires-Dist: msal ==1.24.1 ; python_version >= "2.7"
|
|
126
|
+
Requires-Dist: python-dateutil ==2.8.2 ; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2"
|
|
127
|
+
Requires-Dist: six ==1.16.0 ; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2"
|
|
128
|
+
Requires-Dist: himl ==0.15.0 ; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3"
|
|
129
|
+
Requires-Dist: requests-oauthlib ==1.3.1 ; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3"
|
|
130
|
+
Requires-Dist: colorama ==0.4.4 ; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3, 3.4"
|
|
131
|
+
Requires-Dist: docutils ==0.16 ; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3, 3.4"
|
|
132
|
+
Requires-Dist: pyasn1 ==0.5.0 ; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3, 3.4, 3.5"
|
|
133
|
+
Requires-Dist: pyasn1-modules ==0.3.0 ; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3, 3.4, 3.5"
|
|
134
|
+
Requires-Dist: urllib3 ==1.26.17 ; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3, 3.4, 3.5"
|
|
135
|
+
Requires-Dist: idna ==3.4 ; python_version >= "3.5"
|
|
136
|
+
Requires-Dist: inflection ==0.5.1 ; python_version >= "3.5"
|
|
137
|
+
Requires-Dist: rsa ==4.7.2 ; python_version >= "3.5" and python_version < "4"
|
|
138
|
+
Requires-Dist: certifi ==2023.7.22 ; python_version >= "3.6"
|
|
139
|
+
Requires-Dist: kubernetes ==26.1.0 ; python_version >= "3.6"
|
|
140
|
+
Requires-Dist: msrest ==0.7.1 ; python_version >= "3.6"
|
|
141
|
+
Requires-Dist: oauthlib ==3.2.2 ; python_version >= "3.6"
|
|
142
|
+
Requires-Dist: pyyaml ==6.0.1 ; python_version >= "3.6"
|
|
143
|
+
Requires-Dist: awscli ==1.29.12 ; python_version >= "3.7"
|
|
144
|
+
Requires-Dist: azure-core ==1.29.4 ; python_version >= "3.7"
|
|
145
|
+
Requires-Dist: boto3 ==1.28.12 ; python_version >= "3.7"
|
|
146
|
+
Requires-Dist: botocore ==1.31.12 ; python_version >= "3.7"
|
|
147
|
+
Requires-Dist: cachetools ==5.3.1 ; python_version >= "3.7"
|
|
148
|
+
Requires-Dist: cryptography ==41.0.4 ; python_version >= "3.7"
|
|
149
|
+
Requires-Dist: gitdb ==4.0.10 ; python_version >= "3.7"
|
|
150
|
+
Requires-Dist: gitpython ==3.1.37 ; python_version >= "3.7"
|
|
151
|
+
Requires-Dist: google-auth ==2.23.3 ; python_version >= "3.7"
|
|
152
|
+
Requires-Dist: jinja2 ==3.1.2 ; python_version >= "3.7"
|
|
153
|
+
Requires-Dist: jmespath ==1.0.1 ; python_version >= "3.7"
|
|
154
|
+
Requires-Dist: markupsafe ==2.1.3 ; python_version >= "3.7"
|
|
155
|
+
Requires-Dist: packaging ==23.2 ; python_version >= "3.7"
|
|
156
|
+
Requires-Dist: pyjwt ==2.8.0 ; python_version >= "3.7"
|
|
157
|
+
Requires-Dist: requests ==2.31.0 ; python_version >= "3.7"
|
|
158
|
+
Requires-Dist: s3transfer ==0.6.2 ; python_version >= "3.7"
|
|
159
|
+
Requires-Dist: smmap ==5.0.1 ; python_version >= "3.7"
|
|
160
|
+
Requires-Dist: cffi ==1.16.0 ; python_version >= "3.8"
|
|
161
|
+
Requires-Dist: setuptools ==68.2.2 ; python_version >= "3.8"
|
|
162
|
+
Requires-Dist: typing-extensions ==4.8.0 ; python_version >= "3.8"
|
|
163
|
+
Requires-Dist: websocket-client ==1.6.4 ; python_version >= "3.8"
|
|
164
|
+
Requires-Dist: ansible ==8.2.0 ; python_version >= "3.9"
|
|
165
|
+
Requires-Dist: ansible-core ==2.15.5 ; python_version >= "3.9"
|
|
162
166
|
|
|
163
167
|
# Ops CLI
|
|
164
168
|
[](https://github.com/adobe/ops-cli/actions/workflows/release.yml) [](https://github.com/adobe/ops-cli/pkgs/container/ops-cli) [](https://github.com/adobe/ops-cli/blob/master/LICENSE)
|
|
@@ -204,6 +208,7 @@ It can be used to add a layer of templating (using jinja2) on top of Terraform f
|
|
|
204
208
|
* [Terraform landscape](#terraform-landscape)
|
|
205
209
|
* [SSH](#ssh)
|
|
206
210
|
* [SSHPass](#sshpass)
|
|
211
|
+
* [Balabit SCB](#scb)
|
|
207
212
|
* [Play](#play)
|
|
208
213
|
* [Run command](#run-command)
|
|
209
214
|
* [Sync files](#sync-files)
|
|
@@ -312,7 +317,7 @@ workon ops
|
|
|
312
317
|
# uninstall previous `ops` version (if you have it)
|
|
313
318
|
pip uninstall ops --yes
|
|
314
319
|
|
|
315
|
-
# install ops-cli v2.1
|
|
320
|
+
# install ops-cli v2.2.1 stable release
|
|
316
321
|
pip install --upgrade ops-cli
|
|
317
322
|
```
|
|
318
323
|
|
|
@@ -328,7 +333,7 @@ You can try out `ops-cli`, by using docker. The docker image has all required pr
|
|
|
328
333
|
|
|
329
334
|
To start out a container, running the latest `ops-cli` docker image run:
|
|
330
335
|
```sh
|
|
331
|
-
docker run -it ghcr.io/adobe/ops-cli:2.1
|
|
336
|
+
docker run -it ghcr.io/adobe/ops-cli:2.2.1 bash
|
|
332
337
|
```
|
|
333
338
|
|
|
334
339
|
After the container has started, you can start using `ops-cli`:
|
|
@@ -943,5 +948,3 @@ Either install the tool in a virtualenv or:
|
|
|
943
948
|
[Apache License 2.0](/LICENSE)
|
|
944
949
|
|
|
945
950
|
|
|
946
|
-
|
|
947
|
-
|
|
@@ -13,8 +13,8 @@ ops/ansible/vars_plugins/__init__.py,sha256=v9uW7YO2C7EC4MQWr_TMH_K-1ALd0uLl9vZ_
|
|
|
13
13
|
ops/ansible/vars_plugins/clusterconfig.py,sha256=qmIrTp1V0gLdbtBI5A0HMmICe8z0xUq7LzO3pmIJlsI,1378
|
|
14
14
|
ops/ansible/vars_plugins/opsconfig.py,sha256=lfKCD7XRoDTW80QXEGcm3tV6ASnzoCGdxy5zpaimT4k,1615
|
|
15
15
|
ops/cli/__init__.py,sha256=LcPvjP6p7l8At8CIjyWvm0mhYzMGJqFv45AcTls1IhM,1376
|
|
16
|
-
ops/cli/aws.py,sha256=
|
|
17
|
-
ops/cli/config.py,sha256=
|
|
16
|
+
ops/cli/aws.py,sha256=OsmpOVv1924_lvNESeElLgcEi1caYTnI88C7wzXie78,911
|
|
17
|
+
ops/cli/config.py,sha256=T0ZfW1bWdSr1dF4oqsvTjUtUiCr7RVm4_rFdezgGCqM,7629
|
|
18
18
|
ops/cli/config_generator.py,sha256=ARGp5kAgdMLqtrHyQb_dE9sEuM1bAnVddfWDxd_5OdA,1718
|
|
19
19
|
ops/cli/helmfile.py,sha256=2ipKyFMY5M87U1mXDQle_UsOXICdQ-0VX2f97TAg0I8,6354
|
|
20
20
|
ops/cli/inventory.py,sha256=VsGXuWg9_yVbuWVnZadNyvzCvaciKu68qND59ct8kqc,3101
|
|
@@ -22,7 +22,7 @@ ops/cli/packer.py,sha256=GAgi6uPWO0wv3uIEwl0O2sb4fQtpCbL1561nP8Y_Lpc,2626
|
|
|
22
22
|
ops/cli/parser.py,sha256=tzXvpu4GycyHSjERFrjQVEFZYVzOszLhDEjpkFYJ-oc,4377
|
|
23
23
|
ops/cli/playbook.py,sha256=rPaIfUUMSTgITxzrvkVyTpPJ2UfqYnk3WfjY3jDrHO0,5287
|
|
24
24
|
ops/cli/run.py,sha256=cwT2rQEBRip_OndkSQLFR7Q8D5BD6L5BbAq6nehKhco,3373
|
|
25
|
-
ops/cli/ssh.py,sha256=
|
|
25
|
+
ops/cli/ssh.py,sha256=rlVmwyVyv6RLkJ_cM27UMcnDkFS9tplwwjCTvS9Wuek,13188
|
|
26
26
|
ops/cli/sync.py,sha256=8K3Dsh6cwv9gTat0KXvRemHmqpAWd46pHfS8wMS9Olk,5663
|
|
27
27
|
ops/cli/terraform.py,sha256=XeLXr_nFpdnsHdEfAFj_oiurvIhDQv-xE3L-NpMTcB0,12446
|
|
28
28
|
ops/data/ansible/ansible.cfg,sha256=LE0Ve37qwQnbM1AJfHX442yh6HMMzM1FPCTCUKZElV8,186
|
|
@@ -41,7 +41,7 @@ ops/inventory/azurerm.py,sha256=pWZqbZP9-7ChHNK1DwfSlt9hU6lcJjvNXmvduR2G5tQ,3350
|
|
|
41
41
|
ops/inventory/caching.py,sha256=G2sJJ7nPHCqNBz3Vh0vxrFWQZt6B_11yS50GeZ8_1Bs,2000
|
|
42
42
|
ops/inventory/ec2inventory.py,sha256=Kt1LxenzjuaDQvN5Q4r-2sg6Mdj5jn7lIf32Cy6BGtE,11179
|
|
43
43
|
ops/inventory/generator.py,sha256=BcjUxMoWTnmx-P_S-1fLjqG3PUhyMyAO2S-037KG5q0,10885
|
|
44
|
-
ops/inventory/sshconfig.py,sha256=
|
|
44
|
+
ops/inventory/sshconfig.py,sha256=lxqKyH0uCRCk4XXZISGrtX_d0c7OREg2Hh77ndtz05k,4438
|
|
45
45
|
ops/inventory/plugin/__init__.py,sha256=kSOYPdE9T0Ixe6tQUYoOl_udNbFZdVatvRf6bkf92aE,725
|
|
46
46
|
ops/inventory/plugin/azr.py,sha256=8-G3mEc0WQV7ZhJ4z6X-Wo90nQ7zAzHwgLpV4l_gbjo,5910
|
|
47
47
|
ops/inventory/plugin/cns.py,sha256=KjqG2SUiglDYj-XvguVIvo1fzqjgg_XPOdLdTaRfm24,1697
|
|
@@ -51,9 +51,9 @@ ops/inventory/plugin/skms.py,sha256=pFMpvfbXCf0KPgEOj5oAD7UzpUZ5zL1lcN4wESOjPuI,
|
|
|
51
51
|
ops/jinja/__init__.py,sha256=Nvmvb1edSAehNKYyroo26Jrxjzbu_TOCBS8Y9mMEOyA,1743
|
|
52
52
|
ops/terraform/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
53
53
|
ops/terraform/terraform_cmd_generator.py,sha256=PCeAbsj7KQ6XY-7Q1g0ngyFjIdbEcgk6ZU9XJU3ZRjc,21428
|
|
54
|
-
ops_cli-2.1.
|
|
55
|
-
ops_cli-2.1.
|
|
56
|
-
ops_cli-2.1.
|
|
57
|
-
ops_cli-2.1.
|
|
58
|
-
ops_cli-2.1.
|
|
59
|
-
ops_cli-2.1.
|
|
54
|
+
ops_cli-2.2.1.dist-info/LICENSE,sha256=ff5lJoiLrFF1nJn5pRJiuicRqMEqBn8hgWCd2aQGa4Q,11335
|
|
55
|
+
ops_cli-2.2.1.dist-info/METADATA,sha256=2vblK8lTKd7aTU_rVDfyo5Ri1xLkiDjvGGTFmfuJhoM,39647
|
|
56
|
+
ops_cli-2.2.1.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
|
57
|
+
ops_cli-2.2.1.dist-info/entry_points.txt,sha256=maaS2Tf8WvxMXckssedK13LXegD9jgHB2AT8xiEfVpQ,37
|
|
58
|
+
ops_cli-2.2.1.dist-info/top_level.txt,sha256=enC05wWafSg8iDKIvj3gvtAtEP2kYCyN5Gmd689q-_I,4
|
|
59
|
+
ops_cli-2.2.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|