Skip to content

Commit

Permalink
adding CFW, EVPN, GEMINIDB, HSS sdk proxies (#529)
Browse files Browse the repository at this point in the history
adding CFW, EVPN, GEMINIDB, HSS sdk proxies

Reviewed-by: Sergei Martynov
Reviewed-by: Anton Sidelnikov
  • Loading branch information
vladimirhasko authored Feb 12, 2025
1 parent 47509ec commit 9398714
Show file tree
Hide file tree
Showing 25 changed files with 300 additions and 0 deletions.
30 changes: 30 additions & 0 deletions otcextensions/sdk/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,21 @@
'service_type': 'ces',
'append_project_id': True,
},
'cfwv1': {
'service_type': 'cfwv1',
'append_project_id': True,
'endpoint_service_type': 'cfwv1'
},
'cfwv2': {
'service_type': 'cfwv2',
'append_project_id': True,
'endpoint_service_type': 'cfwv2'
},
'cfwv3': {
'service_type': 'cfwv3',
'append_project_id': True,
'endpoint_service_type': 'cfwv3'
},
'cts': {
'service_type': 'cts',
'endpoint_service_type': 'cts'
Expand Down Expand Up @@ -170,11 +185,26 @@
'append_project_id': True,
'endpoint_service_type': 'erv3'
},
'evpn': {
'service_type': 'evpn',
'append_project_id': True,
'endpoint_service_type': 'evpn'
},
'function_graph': {
'service_type': 'function_graph',
'append_project_id': True,
'endpoint_service_type': 'functiongraph'
},
'geminidb': {
'service_type': 'geminidb',
'append_project_id': True,
'endpoint_service_type': 'geminidb'
},
'hss': {
'service_type': 'hss',
'append_project_id': True,
'endpoint_service_type': 'hss'
},
'identity': {
'service_type': 'identity',
'replace_system': True
Expand Down
Empty file.
23 changes: 23 additions & 0 deletions otcextensions/sdk/cfwv1/cfwv1_service.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# 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.

from openstack import service_description

from otcextensions.sdk.cfwv1.v1 import _proxy


class Cfwv1Service(service_description.ServiceDescription):
"""The Cloud Firewall service."""

supported_versions = {
'1': _proxy.Proxy
}
Empty file.
22 changes: 22 additions & 0 deletions otcextensions/sdk/cfwv1/v1/_proxy.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# 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.
from openstack import proxy

from otcextensions.common.utils import extract_url_parts


class Proxy(proxy.Proxy):

skip_discovery = True

def _extract_name(self, url, service_type=None, project_id=None):
return extract_url_parts(url, project_id)
Empty file.
23 changes: 23 additions & 0 deletions otcextensions/sdk/cfwv2/cfwv2_service.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# 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.

from openstack import service_description

from otcextensions.sdk.cfwv2.v2 import _proxy


class Cfwv2Service(service_description.ServiceDescription):
"""The Cloud Firewall service."""

supported_versions = {
'2': _proxy.Proxy
}
Empty file.
22 changes: 22 additions & 0 deletions otcextensions/sdk/cfwv2/v2/_proxy.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# 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.
from openstack import proxy

from otcextensions.common.utils import extract_url_parts


class Proxy(proxy.Proxy):

skip_discovery = True

def _extract_name(self, url, service_type=None, project_id=None):
return extract_url_parts(url, project_id)
Empty file.
23 changes: 23 additions & 0 deletions otcextensions/sdk/cfwv3/cfwv3_service.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# 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.

from openstack import service_description

from otcextensions.sdk.cfwv3.v3 import _proxy


class Cfwv3Service(service_description.ServiceDescription):
"""The Cloud Firewall service."""

supported_versions = {
'3': _proxy.Proxy
}
Empty file.
22 changes: 22 additions & 0 deletions otcextensions/sdk/cfwv3/v3/_proxy.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# 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.
from openstack import proxy

from otcextensions.common.utils import extract_url_parts


class Proxy(proxy.Proxy):

skip_discovery = True

def _extract_name(self, url, service_type=None, project_id=None):
return extract_url_parts(url, project_id)
Empty file.
23 changes: 23 additions & 0 deletions otcextensions/sdk/evpn/evpn_service.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# 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.

from openstack import service_description

from otcextensions.sdk.evpn.v5 import _proxy


class EvpnService(service_description.ServiceDescription):
"""The EnterpriseVPN service."""

supported_versions = {
'5': _proxy.Proxy
}
Empty file.
22 changes: 22 additions & 0 deletions otcextensions/sdk/evpn/v5/_proxy.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# 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.
from openstack import proxy

from otcextensions.common.utils import extract_url_parts


class Proxy(proxy.Proxy):

skip_discovery = True

def _extract_name(self, url, service_type=None, project_id=None):
return extract_url_parts(url, project_id)
Empty file.
23 changes: 23 additions & 0 deletions otcextensions/sdk/geminidb/geminidb_service.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# 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.

from openstack import service_description

from otcextensions.sdk.geminidb.v3 import _proxy


class GeminidbService(service_description.ServiceDescription):
"""The Gemini DB service."""

supported_versions = {
'3': _proxy.Proxy
}
Empty file.
22 changes: 22 additions & 0 deletions otcextensions/sdk/geminidb/v3/_proxy.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# 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.
from openstack import proxy

from otcextensions.common.utils import extract_url_parts


class Proxy(proxy.Proxy):

skip_discovery = True

def _extract_name(self, url, service_type=None, project_id=None):
return extract_url_parts(url, project_id)
Empty file.
23 changes: 23 additions & 0 deletions otcextensions/sdk/hss/hss_service.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# 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.

from openstack import service_description

from otcextensions.sdk.hss.v5 import _proxy


class HssService(service_description.ServiceDescription):
"""The Host Security service."""

supported_versions = {
'5': _proxy.Proxy
}
Empty file.
22 changes: 22 additions & 0 deletions otcextensions/sdk/hss/v5/_proxy.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# 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.
from openstack import proxy

from otcextensions.common.utils import extract_url_parts


class Proxy(proxy.Proxy):

skip_discovery = True

def _extract_name(self, url, service_type=None, project_id=None):
return extract_url_parts(url, project_id)

0 comments on commit 9398714

Please sign in to comment.