#######################################################################################
# Copyright ETSI Contributors and Others.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#######################################################################################
adal==1.2.7
    # via msrestazure
atpublic==5.0
    # via flufl-enum
attrs==24.2.0
    # via
    #   cmd2
    #   jsonschema
    #   referencing
autopage==0.5.2
    # via cliff
azure-common==1.1.28
    # via
    #   -r RO-VIM-azure/requirements.in
    #   azure-mgmt-compute
    #   azure-mgmt-network
    #   azure-mgmt-resource
azure-core==1.30.2
    # via
    #   azure-identity
    #   azure-mgmt-core
    #   msrest
azure-identity==1.17.1
    # via -r RO-VIM-azure/requirements.in
azure-mgmt-compute==32.0.0
    # via -r RO-VIM-azure/requirements.in
azure-mgmt-core==1.4.0
    # via
    #   azure-mgmt-compute
    #   azure-mgmt-network
    #   azure-mgmt-resource
azure-mgmt-network==26.0.0
    # via -r RO-VIM-azure/requirements.in
azure-mgmt-resource==23.1.1
    # via -r RO-VIM-azure/requirements.in
bcrypt==4.2.0
    # via paramiko
boto==2.49.0
    # via -r RO-VIM-aws/requirements.in
cachetools==5.4.0
    # via google-auth
certifi==2024.7.4
    # via
    #   msrest
    #   requests
cffi==1.17.0
    # via
    #   cryptography
    #   pynacl
charset-normalizer==3.3.2
    # via requests
cheroot==10.0.1
    # via cherrypy
cherrypy==18.1.2
    # via -r NG-RO/requirements.in
cliff==4.7.0
    # via
    #   osc-lib
    #   python-neutronclient
    #   python-openstackclient
cmd2==2.4.3
    # via cliff
cryptography==43.0.0
    # via
    #   -r NG-RO/requirements.in
    #   adal
    #   azure-identity
    #   msal
    #   openstacksdk
    #   paramiko
    #   pyjwt
    #   pyopenssl
    #   python-openstackclient
cvprac==1.4.0
    # via -r RO-SDN-arista_cloudvision/requirements.in
debtcollector==3.0.0
    # via
    #   oslo-config
    #   oslo-context
    #   oslo-utils
    #   python-keystoneclient
    #   python-neutronclient
decorator==5.1.1
    # via
    #   dogpile-cache
    #   openstacksdk
dogpile-cache==1.3.3
    # via openstacksdk
flufl-enum==6.1.0
    # via pyvcloud
google-api-core==2.8.2
    # via
    #   -r RO-VIM-gcp/requirements.in
    #   google-api-python-client
google-api-python-client==2.51.0
    # via -r RO-VIM-gcp/requirements.in
google-auth==2.8.0
    # via
    #   -r RO-VIM-gcp/requirements.in
    #   google-api-core
    #   google-api-python-client
    #   google-auth-httplib2
google-auth-httplib2==0.2.0
    # via google-api-python-client
google-cloud==0.34.0
    # via -r RO-VIM-gcp/requirements.in
googleapis-common-protos==1.56.3
    # via
    #   -r RO-VIM-gcp/requirements.in
    #   google-api-core
httplib2==0.22.0
    # via
    #   google-api-python-client
    #   google-auth-httplib2
humanfriendly==10.0
    # via pyvcloud
idna==3.7
    # via requests
importlib-metadata==8.2.0
    # via -r NG-RO/requirements.in
ipconflict==0.5.0
    # via -r RO-VIM-aws/requirements.in
iso8601==2.1.0
    # via
    #   keystoneauth1
    #   openstacksdk
    #   oslo-utils
    #   python-neutronclient
    #   python-novaclient
    #   python-openstackclient
isodate==0.6.1
    # via
    #   azure-mgmt-compute
    #   azure-mgmt-network
    #   azure-mgmt-resource
    #   msrest
jaraco-functools==4.0.2
    # via
    #   cheroot
    #   tempora
jinja2==3.1.4
    # via -r NG-RO/requirements.in
jmespath==1.0.1
    # via openstacksdk
jsonpatch==1.33
    # via
    #   openstacksdk
    #   warlock
jsonpointer==3.0.0
    # via jsonpatch
jsonschema==4.23.0
    # via warlock
jsonschema-specifications==2023.12.1
    # via jsonschema
keystoneauth1==5.7.0
    # via
    #   openstacksdk
    #   osc-lib
    #   python-cinderclient
    #   python-glanceclient
    #   python-keystoneclient
    #   python-neutronclient
    #   python-novaclient
logutils==0.3.5
    # via -r NG-RO/requirements.in
lxml==5.2.2
    # via pyvcloud
markupsafe==2.1.5
    # via jinja2
more-itertools==10.3.0
    # via
    #   cheroot
    #   cherrypy
    #   jaraco-functools
msal==1.30.0
    # via
    #   azure-identity
    #   msal-extensions
msal-extensions==1.2.0
    # via azure-identity
msgpack==1.0.8
    # via oslo-serialization
msrest==0.7.1
    # via
    #   -r RO-VIM-azure/requirements.in
    #   msrestazure
msrestazure==0.6.4.post1
    # via -r RO-VIM-azure/requirements.in
netaddr==1.3.0
    # via
    #   -r RO-VIM-aws/requirements.in
    #   -r RO-VIM-gcp/requirements.in
    #   ipconflict
    #   oslo-config
    #   oslo-utils
    #   python-neutronclient
netifaces==0.11.0
    # via
    #   openstacksdk
    #   oslo-utils
oauthlib==3.2.2
    # via requests-oauthlib
openstacksdk==3.3.0
    # via
    #   os-client-config
    #   osc-lib
    #   python-neutronclient
    #   python-openstackclient
os-client-config==2.1.0
    # via python-neutronclient
os-service-types==1.7.0
    # via
    #   keystoneauth1
    #   openstacksdk
osc-lib==3.1.0
    # via
    #   python-neutronclient
    #   python-openstackclient
oslo-config==9.5.0
    # via
    #   oslo-log
    #   python-keystoneclient
oslo-context==5.5.0
    # via oslo-log
oslo-i18n==6.3.0
    # via
    #   osc-lib
    #   oslo-config
    #   oslo-log
    #   oslo-utils
    #   python-cinderclient
    #   python-glanceclient
    #   python-keystoneclient
    #   python-neutronclient
    #   python-novaclient
    #   python-openstackclient
oslo-log==6.1.1
    # via python-neutronclient
oslo-serialization==5.4.0
    # via
    #   oslo-log
    #   python-keystoneclient
    #   python-neutronclient
    #   python-novaclient
oslo-utils==7.2.0
    # via
    #   osc-lib
    #   oslo-log
    #   oslo-serialization
    #   python-cinderclient
    #   python-glanceclient
    #   python-keystoneclient
    #   python-neutronclient
    #   python-novaclient
packaging==24.1
    # via
    #   cvprac
    #   oslo-utils
    #   python-keystoneclient
paramiko==3.4.0
    # via
    #   -r RO-VIM-gcp/requirements.in
    #   -r RO-plugin/requirements.in
pbr==6.0.0
    # via
    #   keystoneauth1
    #   openstacksdk
    #   os-service-types
    #   osc-lib
    #   oslo-context
    #   oslo-i18n
    #   oslo-log
    #   oslo-serialization
    #   python-cinderclient
    #   python-glanceclient
    #   python-keystoneclient
    #   python-neutronclient
    #   python-novaclient
    #   python-openstackclient
    #   stevedore
platformdirs==4.2.2
    # via openstacksdk
portalocker==2.10.1
    # via msal-extensions
portend==3.2.0
    # via cherrypy
prettytable==3.10.2
    # via
    #   -r RO-VIM-vmware/requirements.in
    #   cliff
    #   python-cinderclient
    #   python-glanceclient
    #   python-novaclient
progressbar==2.5
    # via -r RO-VIM-vmware/requirements.in
protobuf==4.25.4
    # via
    #   google-api-core
    #   googleapis-common-protos
py-radix==0.10.0
    # via ipconflict
pyasn1==0.6.0
    # via
    #   pyasn1-modules
    #   rsa
pyasn1-modules==0.4.0
    # via google-auth
pycparser==2.22
    # via cffi
pygments==2.18.0
    # via pyvcloud
pyjwt[crypto]==2.9.0
    # via
    #   adal
    #   msal
pynacl==1.5.0
    # via paramiko
pyopenssl==24.2.1
    # via python-glanceclient
pyparsing==3.1.2
    # via
    #   httplib2
    #   oslo-utils
pyperclip==1.9.0
    # via cmd2
pysocks==1.7.1
    # via requests
python-cinderclient==7.4.1
    # via
    #   -r RO-VIM-openstack/requirements.in
    #   python-openstackclient
python-dateutil==2.9.0.post0
    # via
    #   adal
    #   oslo-log
    #   tempora
python-glanceclient==4.6.0
    # via -r RO-VIM-openstack/requirements.in
python-keystoneclient==5.4.0
    # via
    #   -r RO-VIM-openstack/requirements.in
    #   python-neutronclient
    #   python-openstackclient
python-neutronclient==11.3.1
    # via -r RO-VIM-openstack/requirements.in
python-novaclient==18.6.0
    # via
    #   -r NG-RO/requirements.in
    #   -r RO-VIM-openstack/requirements.in
python-openstackclient==7.0.0
    # via -r RO-VIM-openstack/requirements.in
pyvcloud==19.1.1
    # via -r RO-VIM-vmware/requirements.in
pyvmomi==8.0.3.0.1
    # via -r RO-VIM-vmware/requirements.in
pyyaml==6.0.2
    # via
    #   -r NG-RO/requirements.in
    #   -r requirements.in
    #   cliff
    #   openstacksdk
    #   oslo-config
    #   oslo-utils
    #   pyvcloud
referencing==0.35.1
    # via
    #   jsonschema
    #   jsonschema-specifications
requests[socks]==2.32.3
    # via
    #   -r NG-RO/requirements.in
    #   -r RO-VIM-vmware/requirements.in
    #   adal
    #   azure-core
    #   cvprac
    #   google-api-core
    #   keystoneauth1
    #   msal
    #   msrest
    #   osc-lib
    #   oslo-config
    #   python-cinderclient
    #   python-glanceclient
    #   python-keystoneclient
    #   python-neutronclient
    #   python-openstackclient
    #   pyvcloud
    #   requests-oauthlib
requests-oauthlib==2.0.0
    # via msrest
requestsexceptions==1.4.0
    # via openstacksdk
rfc3986==2.0.0
    # via oslo-config
rpds-py==0.20.0
    # via
    #   jsonschema
    #   referencing
rsa==4.9
    # via google-auth
simplejson==3.19.2
    # via python-cinderclient
six==1.16.0
    # via
    #   azure-core
    #   google-auth
    #   isodate
    #   msrestazure
    #   python-dateutil
    #   pyvmomi
stevedore==5.2.0
    # via
    #   cliff
    #   dogpile-cache
    #   keystoneauth1
    #   osc-lib
    #   oslo-config
    #   python-cinderclient
    #   python-keystoneclient
    #   python-novaclient
    #   python-openstackclient
tempora==5.7.0
    # via portend
tqdm==4.66.5
    # via ipconflict
typing-extensions==4.12.2
    # via
    #   azure-core
    #   azure-identity
    #   azure-mgmt-compute
    #   dogpile-cache
tzdata==2024.1
    # via
    #   oslo-serialization
    #   oslo-utils
uritemplate==4.1.1
    # via google-api-python-client
urllib3==2.2.2
    # via requests
uuid==1.30
    # via -r RO-SDN-arista_cloudvision/requirements.in
warlock==2.0.1
    # via python-glanceclient
wcwidth==0.2.13
    # via
    #   cmd2
    #   prettytable
wrapt==1.16.0
    # via
    #   debtcollector
    #   python-glanceclient
zc-lockfile==3.0.post1
    # via cherrypy
zipp==3.19.2
    # via importlib-metadata

# The following packages are considered to be unsafe in a requirements file:
# setuptools
