#######################################################################################
# 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
appdirs==1.4.4
    # via openstacksdk
atpublic==3.1.1
    # via flufl-enum
attrs==23.1.0
    # via
    #   cmd2
    #   jsonschema
autopage==0.5.1
    # 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.26.4
    # via
    #   azure-identity
    #   azure-mgmt-core
    #   msrest
azure-identity==1.12.0
    # via -r RO-VIM-azure/requirements.in
azure-mgmt-compute==29.1.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==23.0.1
    # via -r RO-VIM-azure/requirements.in
azure-mgmt-resource==23.0.0
    # via -r RO-VIM-azure/requirements.in
bcrypt==4.0.1
    # via paramiko
boto==2.49.0
    # via -r RO-VIM-aws/requirements.in
cachetools==5.3.0
    # via google-auth
certifi==2023.5.7
    # via
    #   msrest
    #   requests
cffi==1.15.1
    # via
    #   cryptography
    #   pynacl
charset-normalizer==3.1.0
    # via requests
cheroot==9.0.0
    # via cherrypy
cherrypy==18.1.2
    # via -r NG-RO/requirements.in
cliff==4.3.0
    # via
    #   osc-lib
    #   python-neutronclient
    #   python-openstackclient
cmd2==2.4.3
    # via cliff
cryptography==40.0.2
    # via
    #   -r NG-RO/requirements.in
    #   adal
    #   azure-identity
    #   msal
    #   openstacksdk
    #   paramiko
    #   pyjwt
    #   pyopenssl
cvprac==1.3.1
    # via -r RO-SDN-arista_cloudvision/requirements.in
debtcollector==2.5.0
    # via
    #   oslo-config
    #   oslo-context
    #   oslo-log
    #   oslo-utils
    #   python-keystoneclient
    #   python-neutronclient
decorator==5.1.1
    # via
    #   dogpile-cache
    #   openstacksdk
dogpile-cache==1.2.0
    # via openstacksdk
flufl-enum==5.0.1
    # via pyvcloud
google-api-core==2.11.0
    # via google-api-python-client
google-api-python-client==2.86.0
    # via -r RO-VIM-gcp/requirements.in
google-auth==2.17.3
    # via
    #   -r RO-VIM-gcp/requirements.in
    #   google-api-core
    #   google-api-python-client
    #   google-auth-httplib2
google-auth-httplib2==0.1.0
    # via google-api-python-client
google-cloud==0.34.0
    # via -r RO-VIM-gcp/requirements.in
googleapis-common-protos==1.59.0
    # via google-api-core
httplib2==0.22.0
    # via
    #   google-api-python-client
    #   google-auth-httplib2
humanfriendly==10.0
    # via pyvcloud
idna==3.4
    # via requests
importlib-metadata==6.6.0
    # via
    #   -r NG-RO/requirements.in
    #   cliff
importlib-resources==5.12.0
    # via jsonschema
ipconflict==0.5.0
    # via -r RO-VIM-aws/requirements.in
iso8601==1.1.0
    # via
    #   keystoneauth1
    #   openstacksdk
    #   oslo-utils
    #   python-neutronclient
    #   python-novaclient
    #   python-openstackclient
isodate==0.6.1
    # via
    #   azure-mgmt-network
    #   azure-mgmt-resource
    #   msrest
jaraco-functools==3.6.0
    # via
    #   cheroot
    #   tempora
jinja2==3.1.2
    # via -r NG-RO/requirements.in
jmespath==1.0.1
    # via openstacksdk
jsonpatch==1.32
    # via
    #   openstacksdk
    #   warlock
jsonpointer==2.3
    # via jsonpatch
jsonschema==4.17.3
    # via warlock
keystoneauth1==5.1.2
    # 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==4.9.2
    # via pyvcloud
markupsafe==2.1.2
    # via jinja2
more-itertools==9.1.0
    # via
    #   cheroot
    #   cherrypy
    #   jaraco-functools
msal==1.22.0
    # via
    #   azure-identity
    #   msal-extensions
msal-extensions==1.0.0
    # via azure-identity
msgpack==1.0.5
    # via oslo-serialization
msrest==0.7.1
    # via
    #   -r RO-VIM-azure/requirements.in
    #   azure-mgmt-compute
    #   msrestazure
msrestazure==0.6.4
    # via -r RO-VIM-azure/requirements.in
netaddr==0.8.0
    # via
    #   -r RO-VIM-aws/requirements.in
    #   -r RO-VIM-azure/requirements.in
    #   -r RO-VIM-gcp/requirements.in
    #   -r RO-VIM-openstack/requirements.in
    #   -r RO-VIM-openvim/requirements.in
    #   -r RO-VIM-vmware/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==1.1.0
    # via
    #   os-client-config
    #   osc-lib
    #   python-openstackclient
os-client-config==2.1.0
    # via python-neutronclient
os-service-types==1.7.0
    # via
    #   keystoneauth1
    #   openstacksdk
osc-lib==2.8.0
    # via
    #   python-neutronclient
    #   python-openstackclient
oslo-config==9.1.1
    # via
    #   oslo-log
    #   python-keystoneclient
oslo-context==5.1.1
    # via oslo-log
oslo-i18n==6.0.0
    # via
    #   osc-lib
    #   oslo-config
    #   oslo-log
    #   oslo-utils
    #   python-cinderclient
    #   python-glanceclient
    #   python-keystoneclient
    #   python-neutronclient
    #   python-novaclient
    #   python-openstackclient
oslo-log==5.2.0
    # via python-neutronclient
oslo-serialization==5.1.1
    # via
    #   oslo-log
    #   python-keystoneclient
    #   python-neutronclient
    #   python-novaclient
oslo-utils==6.1.0
    # via
    #   osc-lib
    #   oslo-log
    #   oslo-serialization
    #   python-cinderclient
    #   python-glanceclient
    #   python-keystoneclient
    #   python-neutronclient
    #   python-novaclient
    #   python-openstackclient
packaging==23.1
    # via
    #   oslo-utils
    #   python-keystoneclient
paramiko==3.1.0
    # via
    #   -r RO-SDN-dpb/requirements.in
    #   -r RO-VIM-gcp/requirements.in
    #   -r RO-plugin/requirements.in
pbr==5.11.1
    # 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
pkgutil-resolve-name==1.3.10
    # via jsonschema
portalocker==2.7.0
    # via msal-extensions
portend==3.1.0
    # via cherrypy
prettytable==3.7.0
    # 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.23.0
    # via
    #   google-api-core
    #   googleapis-common-protos
py-radix==0.10.0
    # via ipconflict
pyasn1==0.5.0
    # via
    #   pyasn1-modules
    #   rsa
pyasn1-modules==0.3.0
    # via google-auth
pycparser==2.21
    # via cffi
pygments==2.15.1
    # via pyvcloud
pyinotify==0.9.6
    # via oslo-log
pyjwt[crypto]==2.6.0
    # via
    #   adal
    #   msal
pynacl==1.5.0
    # via paramiko
pyopenssl==23.1.1
    # via python-glanceclient
pyparsing==3.0.9
    # via
    #   httplib2
    #   oslo-utils
pyperclip==1.8.2
    # via cmd2
pyrsistent==0.19.3
    # via jsonschema
pysocks==1.7.1
    # via requests
python-cinderclient==7.4.1
    # via
    #   -r RO-VIM-openstack/requirements.in
    #   python-openstackclient
python-dateutil==2.8.2
    # via
    #   adal
    #   oslo-log
python-glanceclient==4.3.0
    # via -r RO-VIM-openstack/requirements.in
python-keystoneclient==5.1.0
    # via
    #   -r RO-VIM-openstack/requirements.in
    #   python-neutronclient
    #   python-openstackclient
python-neutronclient==9.0.0
    # via -r RO-VIM-openstack/requirements.in
python-novaclient==18.3.0
    # via
    #   -r NG-RO/requirements.in
    #   -r RO-VIM-openstack/requirements.in
    #   python-openstackclient
python-openstackclient==6.2.0
    # via -r RO-VIM-openstack/requirements.in
pytz==2023.3
    # via
    #   oslo-serialization
    #   oslo-utils
    #   tempora
pyvcloud==19.1.1
    # via -r RO-VIM-vmware/requirements.in
pyvmomi==8.0.1.0
    # via -r RO-VIM-vmware/requirements.in
pyyaml==5.4.1
    # via
    #   -r NG-RO/requirements.in
    #   -r RO-VIM-aws/requirements.in
    #   -r RO-VIM-azure/requirements.in
    #   -r RO-VIM-openstack/requirements.in
    #   -r RO-VIM-openvim/requirements.in
    #   -r RO-VIM-vmware/requirements.in
    #   -r RO-plugin/requirements.in
    #   -r requirements.in
    #   cliff
    #   openstacksdk
    #   oslo-config
    #   pyvcloud
requests[socks]==2.30.0
    # via
    #   -r NG-RO/requirements.in
    #   -r RO-SDN-arista_cloudvision/requirements.in
    #   -r RO-SDN-dpb/requirements.in
    #   -r RO-SDN-dynpac/requirements.in
    #   -r RO-SDN-floodlight_openflow/requirements.in
    #   -r RO-SDN-ietfl2vpn/requirements.in
    #   -r RO-SDN-juniper_contrail/requirements.in
    #   -r RO-SDN-odl_openflow/requirements.in
    #   -r RO-SDN-onos_openflow/requirements.in
    #   -r RO-SDN-onos_vpls/requirements.in
    #   -r RO-VIM-aws/requirements.in
    #   -r RO-VIM-azure/requirements.in
    #   -r RO-VIM-openstack/requirements.in
    #   -r RO-VIM-openvim/requirements.in
    #   -r RO-VIM-vmware/requirements.in
    #   -r RO-plugin/requirements.in
    #   adal
    #   azure-core
    #   cvprac
    #   google-api-core
    #   keystoneauth1
    #   msal
    #   msrest
    #   oslo-config
    #   python-cinderclient
    #   python-glanceclient
    #   python-keystoneclient
    #   python-neutronclient
    #   pyvcloud
    #   requests-oauthlib
requests-oauthlib==1.3.1
    # via msrest
requestsexceptions==1.4.0
    # via openstacksdk
rfc3986==2.0.0
    # via oslo-config
rsa==4.9
    # via google-auth
simplejson==3.19.1
    # via
    #   osc-lib
    #   python-cinderclient
    #   python-neutronclient
six==1.16.0
    # via
    #   azure-core
    #   azure-identity
    #   cheroot
    #   google-auth
    #   google-auth-httplib2
    #   isodate
    #   keystoneauth1
    #   msrestazure
    #   python-dateutil
    #   python-keystoneclient
    #   pyvmomi
stevedore==5.0.0
    # via
    #   cliff
    #   dogpile-cache
    #   keystoneauth1
    #   osc-lib
    #   oslo-config
    #   python-cinderclient
    #   python-keystoneclient
    #   python-novaclient
    #   python-openstackclient
tempora==5.2.2
    # via portend
tqdm==4.65.0
    # via ipconflict
typing-extensions==4.5.0
    # via azure-core
uritemplate==4.1.1
    # via google-api-python-client
urllib3==2.0.2
    # via requests
uuid==1.30
    # via -r RO-SDN-arista_cloudvision/requirements.in
warlock==2.0.1
    # via python-glanceclient
wcwidth==0.2.6
    # via
    #   cmd2
    #   prettytable
wrapt==1.15.0
    # via
    #   debtcollector
    #   python-glanceclient
zc-lockfile==3.0.post1
    # via cherrypy
zipp==3.15.0
    # via
    #   importlib-metadata
    #   importlib-resources

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