<filename>h1/api/storage_project_iso_api.py
"""
    HyperOne

    HyperOne API  # noqa: E501

    The version of the OpenAPI document: 0.1.0
    Generated by: https://openapi-generator.tech
"""


import re  # noqa: F401
import sys  # noqa: F401

from h1.api_client import ApiClient, Endpoint as _Endpoint
from h1.model_utils import (  # noqa: F401
    check_allowed_values,
    check_validations,
    date,
    datetime,
    file_type,
    none_type,
    validate_and_convert_types
)
from h1.model.event import Event
from h1.model.inline_response400 import InlineResponse400
from h1.model.iso import Iso
from h1.model.resource_service import ResourceService
from h1.model.storage_project_iso_create import StorageProjectIsoCreate
from h1.model.storage_project_iso_detach import StorageProjectIsoDetach
from h1.model.storage_project_iso_transfer import StorageProjectIsoTransfer
from h1.model.storage_project_iso_update import StorageProjectIsoUpdate
from h1.model.tag import Tag
from h1.model.tag_array import TagArray


class StorageProjectIsoApi(object):
    """NOTE: This class is auto generated by OpenAPI Generator
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    """

    def __init__(self, api_client=None):
        if api_client is None:
            api_client = ApiClient()
        self.api_client = api_client

        def __storage_project_iso_create(
            self,
            project_id,
            location_id,
            storage_project_iso_create,
            **kwargs
        ):
            """Create storage/iso  # noqa: E501

            Create iso  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_create(project_id, location_id, storage_project_iso_create, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                storage_project_iso_create (StorageProjectIsoCreate):

            Keyword Args:
                x_idempotency_key (str): Idempotency key. [optional]
                x_dry_run (str): Dry run. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Iso
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['storage_project_iso_create'] = \
                storage_project_iso_create
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_create = _Endpoint(
            settings={
                'response_type': (Iso,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso',
                'operation_id': 'storage_project_iso_create',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'storage_project_iso_create',
                    'x_idempotency_key',
                    'x_dry_run',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'storage_project_iso_create',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'storage_project_iso_create':
                        (StorageProjectIsoCreate,),
                    'x_idempotency_key':
                        (str,),
                    'x_dry_run':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'x_idempotency_key': 'x-idempotency-key',
                    'x_dry_run': 'x-dry-run',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'storage_project_iso_create': 'body',
                    'x_idempotency_key': 'header',
                    'x_dry_run': 'header',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__storage_project_iso_create
        )

        def __storage_project_iso_delete(
            self,
            project_id,
            location_id,
            iso_id,
            **kwargs
        ):
            """Delete storage/iso  # noqa: E501

            Delete iso  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_delete(project_id, location_id, iso_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                None
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_delete = _Endpoint(
            settings={
                'response_type': None,
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}',
                'operation_id': 'storage_project_iso_delete',
                'http_method': 'DELETE',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_delete
        )

        def __storage_project_iso_detach(
            self,
            project_id,
            location_id,
            iso_id,
            storage_project_iso_detach,
            **kwargs
        ):
            """Detach storage/iso  # noqa: E501

            action detach  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_detach(project_id, location_id, iso_id, storage_project_iso_detach, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id
                storage_project_iso_detach (StorageProjectIsoDetach):

            Keyword Args:
                x_idempotency_key (str): Idempotency key. [optional]
                x_dry_run (str): Dry run. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Iso
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            kwargs['storage_project_iso_detach'] = \
                storage_project_iso_detach
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_detach = _Endpoint(
            settings={
                'response_type': (Iso,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/actions/detach',
                'operation_id': 'storage_project_iso_detach',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'storage_project_iso_detach',
                    'x_idempotency_key',
                    'x_dry_run',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'storage_project_iso_detach',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'storage_project_iso_detach':
                        (StorageProjectIsoDetach,),
                    'x_idempotency_key':
                        (str,),
                    'x_dry_run':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                    'x_idempotency_key': 'x-idempotency-key',
                    'x_dry_run': 'x-dry-run',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'storage_project_iso_detach': 'body',
                    'x_idempotency_key': 'header',
                    'x_dry_run': 'header',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__storage_project_iso_detach
        )

        def __storage_project_iso_event_get(
            self,
            project_id,
            location_id,
            iso_id,
            event_id,
            **kwargs
        ):
            """Get storage/iso.event  # noqa: E501

            Get storage/iso.event  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_event_get(project_id, location_id, iso_id, event_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id
                event_id (str): eventId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Event
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            kwargs['event_id'] = \
                event_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_event_get = _Endpoint(
            settings={
                'response_type': (Event,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/event/{eventId}',
                'operation_id': 'storage_project_iso_event_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'event_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'event_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'event_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                    'event_id': 'eventId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'event_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_event_get
        )

        def __storage_project_iso_event_list(
            self,
            project_id,
            location_id,
            iso_id,
            **kwargs
        ):
            """List storage/iso.event  # noqa: E501

            List storage/iso.event  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_event_list(project_id, location_id, iso_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id

            Keyword Args:
                limit (float): $limit. [optional] if omitted the server will use the default value of 100
                skip (float): $skip. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Event]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_event_list = _Endpoint(
            settings={
                'response_type': ([Event],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/event',
                'operation_id': 'storage_project_iso_event_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'limit',
                    'skip',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                    'limit',
                ]
            },
            root_map={
                'validations': {
                    ('limit',): {

                        'inclusive_maximum': 1000,
                        'inclusive_minimum': 1,
                    },
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'limit':
                        (float,),
                    'skip':
                        (float,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                    'limit': '$limit',
                    'skip': '$skip',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'limit': 'query',
                    'skip': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_event_list
        )

        def __storage_project_iso_get(
            self,
            project_id,
            location_id,
            iso_id,
            **kwargs
        ):
            """Get storage/iso  # noqa: E501

            Returns a single iso  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_get(project_id, location_id, iso_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Iso
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_get = _Endpoint(
            settings={
                'response_type': (Iso,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}',
                'operation_id': 'storage_project_iso_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_get
        )

        def __storage_project_iso_list(
            self,
            project_id,
            location_id,
            **kwargs
        ):
            """List storage/iso  # noqa: E501

            List iso  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_list(project_id, location_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id

            Keyword Args:
                name (str): Filter by name. [optional]
                tag_value (str): Filter by tag.value. [optional]
                tag_key (str): Filter by tag.key. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Iso]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_list = _Endpoint(
            settings={
                'response_type': ([Iso],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso',
                'operation_id': 'storage_project_iso_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'name',
                    'tag_value',
                    'tag_key',
                ],
                'required': [
                    'project_id',
                    'location_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'name':
                        (str,),
                    'tag_value':
                        (str,),
                    'tag_key':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'name': 'name',
                    'tag_value': 'tag.value',
                    'tag_key': 'tag.key',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'name': 'query',
                    'tag_value': 'query',
                    'tag_key': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_list
        )

        def __storage_project_iso_service_get(
            self,
            project_id,
            location_id,
            iso_id,
            service_id,
            **kwargs
        ):
            """Get storage/iso.service  # noqa: E501

            Get storage/iso.service  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_service_get(project_id, location_id, iso_id, service_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id
                service_id (str): serviceId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                ResourceService
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            kwargs['service_id'] = \
                service_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_service_get = _Endpoint(
            settings={
                'response_type': (ResourceService,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/service/{serviceId}',
                'operation_id': 'storage_project_iso_service_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'service_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'service_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'service_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                    'service_id': 'serviceId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'service_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_service_get
        )

        def __storage_project_iso_service_list(
            self,
            project_id,
            location_id,
            iso_id,
            **kwargs
        ):
            """List storage/iso.service  # noqa: E501

            List storage/iso.service  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_service_list(project_id, location_id, iso_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [ResourceService]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_service_list = _Endpoint(
            settings={
                'response_type': ([ResourceService],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/service',
                'operation_id': 'storage_project_iso_service_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_service_list
        )

        def __storage_project_iso_tag_create(
            self,
            project_id,
            location_id,
            iso_id,
            tag,
            **kwargs
        ):
            """Create storage/iso.tag  # noqa: E501

            Create storage/iso.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_tag_create(project_id, location_id, iso_id, tag, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id
                tag (Tag):

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Tag
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            kwargs['tag'] = \
                tag
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_tag_create = _Endpoint(
            settings={
                'response_type': (Tag,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/tag',
                'operation_id': 'storage_project_iso_tag_create',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'tag',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'tag',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'tag':
                        (Tag,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'tag': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__storage_project_iso_tag_create
        )

        def __storage_project_iso_tag_delete(
            self,
            project_id,
            location_id,
            iso_id,
            tag_id,
            **kwargs
        ):
            """Delete storage/iso.tag  # noqa: E501

            Delete storage/iso.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_tag_delete(project_id, location_id, iso_id, tag_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id
                tag_id (str): tagId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                None
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            kwargs['tag_id'] = \
                tag_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_tag_delete = _Endpoint(
            settings={
                'response_type': None,
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/tag/{tagId}',
                'operation_id': 'storage_project_iso_tag_delete',
                'http_method': 'DELETE',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'tag_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'tag_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'tag_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                    'tag_id': 'tagId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'tag_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_tag_delete
        )

        def __storage_project_iso_tag_get(
            self,
            project_id,
            location_id,
            iso_id,
            tag_id,
            **kwargs
        ):
            """Get storage/iso.tag  # noqa: E501

            Get storage/iso.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_tag_get(project_id, location_id, iso_id, tag_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id
                tag_id (str): tagId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Tag
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            kwargs['tag_id'] = \
                tag_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_tag_get = _Endpoint(
            settings={
                'response_type': (Tag,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/tag/{tagId}',
                'operation_id': 'storage_project_iso_tag_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'tag_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'tag_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'tag_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                    'tag_id': 'tagId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'tag_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_tag_get
        )

        def __storage_project_iso_tag_list(
            self,
            project_id,
            location_id,
            iso_id,
            **kwargs
        ):
            """List storage/iso.tag  # noqa: E501

            List storage/iso.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_tag_list(project_id, location_id, iso_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Tag]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_tag_list = _Endpoint(
            settings={
                'response_type': ([Tag],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/tag',
                'operation_id': 'storage_project_iso_tag_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_tag_list
        )

        def __storage_project_iso_tag_put(
            self,
            project_id,
            location_id,
            iso_id,
            tag_array,
            **kwargs
        ):
            """Replace storage/iso.tag  # noqa: E501

            Replace storage/iso.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_tag_put(project_id, location_id, iso_id, tag_array, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id
                tag_array (TagArray):

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Tag]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            kwargs['tag_array'] = \
                tag_array
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_tag_put = _Endpoint(
            settings={
                'response_type': ([Tag],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/tag',
                'operation_id': 'storage_project_iso_tag_put',
                'http_method': 'PUT',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'tag_array',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'tag_array',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'tag_array':
                        (TagArray,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'tag_array': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__storage_project_iso_tag_put
        )

        def __storage_project_iso_transfer(
            self,
            project_id,
            location_id,
            iso_id,
            storage_project_iso_transfer,
            **kwargs
        ):
            """Transfer storage/iso  # noqa: E501

            action transfer  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_transfer(project_id, location_id, iso_id, storage_project_iso_transfer, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id
                storage_project_iso_transfer (StorageProjectIsoTransfer):

            Keyword Args:
                x_idempotency_key (str): Idempotency key. [optional]
                x_dry_run (str): Dry run. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Iso
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            kwargs['storage_project_iso_transfer'] = \
                storage_project_iso_transfer
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_transfer = _Endpoint(
            settings={
                'response_type': (Iso,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/actions/transfer',
                'operation_id': 'storage_project_iso_transfer',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'storage_project_iso_transfer',
                    'x_idempotency_key',
                    'x_dry_run',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'storage_project_iso_transfer',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'storage_project_iso_transfer':
                        (StorageProjectIsoTransfer,),
                    'x_idempotency_key':
                        (str,),
                    'x_dry_run':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                    'x_idempotency_key': 'x-idempotency-key',
                    'x_dry_run': 'x-dry-run',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'storage_project_iso_transfer': 'body',
                    'x_idempotency_key': 'header',
                    'x_dry_run': 'header',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__storage_project_iso_transfer
        )

        def __storage_project_iso_update(
            self,
            project_id,
            location_id,
            iso_id,
            storage_project_iso_update,
            **kwargs
        ):
            """Update storage/iso  # noqa: E501

            Returns modified iso  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_update(project_id, location_id, iso_id, storage_project_iso_update, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id
                storage_project_iso_update (StorageProjectIsoUpdate):

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Iso
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            kwargs['storage_project_iso_update'] = \
                storage_project_iso_update
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_update = _Endpoint(
            settings={
                'response_type': (Iso,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}',
                'operation_id': 'storage_project_iso_update',
                'http_method': 'PATCH',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'storage_project_iso_update',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'storage_project_iso_update',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'storage_project_iso_update':
                        (StorageProjectIsoUpdate,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'storage_project_iso_update': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__storage_project_iso_update
        )

<filename>h1/api/storage_project_iso_api.py
"""
    HyperOne

    HyperOne API  # noqa: E501

    The version of the OpenAPI document: 0.1.0
    Generated by: https://openapi-generator.tech
"""


import re  # noqa: F401
import sys  # noqa: F401

from h1.api_client import ApiClient, Endpoint as _Endpoint
from h1.model_utils import (  # noqa: F401
    check_allowed_values,
    check_validations,
    date,
    datetime,
    file_type,
    none_type,
    validate_and_convert_types
)
from h1.model.event import Event
from h1.model.inline_response400 import InlineResponse400
from h1.model.iso import Iso
from h1.model.resource_service import ResourceService
from h1.model.storage_project_iso_create import StorageProjectIsoCreate
from h1.model.storage_project_iso_detach import StorageProjectIsoDetach
from h1.model.storage_project_iso_transfer import StorageProjectIsoTransfer
from h1.model.storage_project_iso_update import StorageProjectIsoUpdate
from h1.model.tag import Tag
from h1.model.tag_array import TagArray


class StorageProjectIsoApi(object):
    """NOTE: This class is auto generated by OpenAPI Generator
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    """

    def __init__(self, api_client=None):
        if api_client is None:
            api_client = ApiClient()
        self.api_client = api_client

        def __storage_project_iso_create(
            self,
            project_id,
            location_id,
            storage_project_iso_create,
            **kwargs
        ):
            """Create storage/iso  # noqa: E501

            Create iso  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_create(project_id, location_id, storage_project_iso_create, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                storage_project_iso_create (StorageProjectIsoCreate):

            Keyword Args:
                x_idempotency_key (str): Idempotency key. [optional]
                x_dry_run (str): Dry run. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Iso
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['storage_project_iso_create'] = \
                storage_project_iso_create
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_create = _Endpoint(
            settings={
                'response_type': (Iso,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso',
                'operation_id': 'storage_project_iso_create',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'storage_project_iso_create',
                    'x_idempotency_key',
                    'x_dry_run',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'storage_project_iso_create',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'storage_project_iso_create':
                        (StorageProjectIsoCreate,),
                    'x_idempotency_key':
                        (str,),
                    'x_dry_run':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'x_idempotency_key': 'x-idempotency-key',
                    'x_dry_run': 'x-dry-run',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'storage_project_iso_create': 'body',
                    'x_idempotency_key': 'header',
                    'x_dry_run': 'header',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__storage_project_iso_create
        )

        def __storage_project_iso_delete(
            self,
            project_id,
            location_id,
            iso_id,
            **kwargs
        ):
            """Delete storage/iso  # noqa: E501

            Delete iso  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_delete(project_id, location_id, iso_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                None
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_delete = _Endpoint(
            settings={
                'response_type': None,
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}',
                'operation_id': 'storage_project_iso_delete',
                'http_method': 'DELETE',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_delete
        )

        def __storage_project_iso_detach(
            self,
            project_id,
            location_id,
            iso_id,
            storage_project_iso_detach,
            **kwargs
        ):
            """Detach storage/iso  # noqa: E501

            action detach  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_detach(project_id, location_id, iso_id, storage_project_iso_detach, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id
                storage_project_iso_detach (StorageProjectIsoDetach):

            Keyword Args:
                x_idempotency_key (str): Idempotency key. [optional]
                x_dry_run (str): Dry run. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Iso
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            kwargs['storage_project_iso_detach'] = \
                storage_project_iso_detach
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_detach = _Endpoint(
            settings={
                'response_type': (Iso,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/actions/detach',
                'operation_id': 'storage_project_iso_detach',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'storage_project_iso_detach',
                    'x_idempotency_key',
                    'x_dry_run',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'storage_project_iso_detach',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'storage_project_iso_detach':
                        (StorageProjectIsoDetach,),
                    'x_idempotency_key':
                        (str,),
                    'x_dry_run':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                    'x_idempotency_key': 'x-idempotency-key',
                    'x_dry_run': 'x-dry-run',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'storage_project_iso_detach': 'body',
                    'x_idempotency_key': 'header',
                    'x_dry_run': 'header',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__storage_project_iso_detach
        )

        def __storage_project_iso_event_get(
            self,
            project_id,
            location_id,
            iso_id,
            event_id,
            **kwargs
        ):
            """Get storage/iso.event  # noqa: E501

            Get storage/iso.event  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_event_get(project_id, location_id, iso_id, event_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id
                event_id (str): eventId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Event
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            kwargs['event_id'] = \
                event_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_event_get = _Endpoint(
            settings={
                'response_type': (Event,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/event/{eventId}',
                'operation_id': 'storage_project_iso_event_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'event_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'event_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'event_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                    'event_id': 'eventId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'event_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_event_get
        )

        def __storage_project_iso_event_list(
            self,
            project_id,
            location_id,
            iso_id,
            **kwargs
        ):
            """List storage/iso.event  # noqa: E501

            List storage/iso.event  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_event_list(project_id, location_id, iso_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id

            Keyword Args:
                limit (float): $limit. [optional] if omitted the server will use the default value of 100
                skip (float): $skip. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Event]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_event_list = _Endpoint(
            settings={
                'response_type': ([Event],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/event',
                'operation_id': 'storage_project_iso_event_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'limit',
                    'skip',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                    'limit',
                ]
            },
            root_map={
                'validations': {
                    ('limit',): {

                        'inclusive_maximum': 1000,
                        'inclusive_minimum': 1,
                    },
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'limit':
                        (float,),
                    'skip':
                        (float,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                    'limit': '$limit',
                    'skip': '$skip',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'limit': 'query',
                    'skip': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_event_list
        )

        def __storage_project_iso_get(
            self,
            project_id,
            location_id,
            iso_id,
            **kwargs
        ):
            """Get storage/iso  # noqa: E501

            Returns a single iso  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_get(project_id, location_id, iso_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Iso
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_get = _Endpoint(
            settings={
                'response_type': (Iso,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}',
                'operation_id': 'storage_project_iso_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_get
        )

        def __storage_project_iso_list(
            self,
            project_id,
            location_id,
            **kwargs
        ):
            """List storage/iso  # noqa: E501

            List iso  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_list(project_id, location_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id

            Keyword Args:
                name (str): Filter by name. [optional]
                tag_value (str): Filter by tag.value. [optional]
                tag_key (str): Filter by tag.key. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Iso]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_list = _Endpoint(
            settings={
                'response_type': ([Iso],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso',
                'operation_id': 'storage_project_iso_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'name',
                    'tag_value',
                    'tag_key',
                ],
                'required': [
                    'project_id',
                    'location_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'name':
                        (str,),
                    'tag_value':
                        (str,),
                    'tag_key':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'name': 'name',
                    'tag_value': 'tag.value',
                    'tag_key': 'tag.key',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'name': 'query',
                    'tag_value': 'query',
                    'tag_key': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_list
        )

        def __storage_project_iso_service_get(
            self,
            project_id,
            location_id,
            iso_id,
            service_id,
            **kwargs
        ):
            """Get storage/iso.service  # noqa: E501

            Get storage/iso.service  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_service_get(project_id, location_id, iso_id, service_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id
                service_id (str): serviceId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                ResourceService
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            kwargs['service_id'] = \
                service_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_service_get = _Endpoint(
            settings={
                'response_type': (ResourceService,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/service/{serviceId}',
                'operation_id': 'storage_project_iso_service_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'service_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'service_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'service_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                    'service_id': 'serviceId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'service_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_service_get
        )

        def __storage_project_iso_service_list(
            self,
            project_id,
            location_id,
            iso_id,
            **kwargs
        ):
            """List storage/iso.service  # noqa: E501

            List storage/iso.service  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_service_list(project_id, location_id, iso_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [ResourceService]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_service_list = _Endpoint(
            settings={
                'response_type': ([ResourceService],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/service',
                'operation_id': 'storage_project_iso_service_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_service_list
        )

        def __storage_project_iso_tag_create(
            self,
            project_id,
            location_id,
            iso_id,
            tag,
            **kwargs
        ):
            """Create storage/iso.tag  # noqa: E501

            Create storage/iso.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_tag_create(project_id, location_id, iso_id, tag, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id
                tag (Tag):

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Tag
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            kwargs['tag'] = \
                tag
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_tag_create = _Endpoint(
            settings={
                'response_type': (Tag,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/tag',
                'operation_id': 'storage_project_iso_tag_create',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'tag',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'tag',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'tag':
                        (Tag,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'tag': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__storage_project_iso_tag_create
        )

        def __storage_project_iso_tag_delete(
            self,
            project_id,
            location_id,
            iso_id,
            tag_id,
            **kwargs
        ):
            """Delete storage/iso.tag  # noqa: E501

            Delete storage/iso.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_tag_delete(project_id, location_id, iso_id, tag_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id
                tag_id (str): tagId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                None
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            kwargs['tag_id'] = \
                tag_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_tag_delete = _Endpoint(
            settings={
                'response_type': None,
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/tag/{tagId}',
                'operation_id': 'storage_project_iso_tag_delete',
                'http_method': 'DELETE',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'tag_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'tag_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'tag_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                    'tag_id': 'tagId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'tag_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_tag_delete
        )

        def __storage_project_iso_tag_get(
            self,
            project_id,
            location_id,
            iso_id,
            tag_id,
            **kwargs
        ):
            """Get storage/iso.tag  # noqa: E501

            Get storage/iso.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_tag_get(project_id, location_id, iso_id, tag_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id
                tag_id (str): tagId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Tag
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            kwargs['tag_id'] = \
                tag_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_tag_get = _Endpoint(
            settings={
                'response_type': (Tag,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/tag/{tagId}',
                'operation_id': 'storage_project_iso_tag_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'tag_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'tag_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'tag_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                    'tag_id': 'tagId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'tag_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_tag_get
        )

        def __storage_project_iso_tag_list(
            self,
            project_id,
            location_id,
            iso_id,
            **kwargs
        ):
            """List storage/iso.tag  # noqa: E501

            List storage/iso.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_tag_list(project_id, location_id, iso_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Tag]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_tag_list = _Endpoint(
            settings={
                'response_type': ([Tag],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/tag',
                'operation_id': 'storage_project_iso_tag_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__storage_project_iso_tag_list
        )

        def __storage_project_iso_tag_put(
            self,
            project_id,
            location_id,
            iso_id,
            tag_array,
            **kwargs
        ):
            """Replace storage/iso.tag  # noqa: E501

            Replace storage/iso.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_tag_put(project_id, location_id, iso_id, tag_array, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id
                tag_array (TagArray):

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Tag]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            kwargs['tag_array'] = \
                tag_array
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_tag_put = _Endpoint(
            settings={
                'response_type': ([Tag],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/tag',
                'operation_id': 'storage_project_iso_tag_put',
                'http_method': 'PUT',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'tag_array',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'tag_array',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'tag_array':
                        (TagArray,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'tag_array': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__storage_project_iso_tag_put
        )

        def __storage_project_iso_transfer(
            self,
            project_id,
            location_id,
            iso_id,
            storage_project_iso_transfer,
            **kwargs
        ):
            """Transfer storage/iso  # noqa: E501

            action transfer  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_transfer(project_id, location_id, iso_id, storage_project_iso_transfer, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id
                storage_project_iso_transfer (StorageProjectIsoTransfer):

            Keyword Args:
                x_idempotency_key (str): Idempotency key. [optional]
                x_dry_run (str): Dry run. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Iso
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            kwargs['storage_project_iso_transfer'] = \
                storage_project_iso_transfer
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_transfer = _Endpoint(
            settings={
                'response_type': (Iso,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}/actions/transfer',
                'operation_id': 'storage_project_iso_transfer',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'storage_project_iso_transfer',
                    'x_idempotency_key',
                    'x_dry_run',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'storage_project_iso_transfer',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'storage_project_iso_transfer':
                        (StorageProjectIsoTransfer,),
                    'x_idempotency_key':
                        (str,),
                    'x_dry_run':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                    'x_idempotency_key': 'x-idempotency-key',
                    'x_dry_run': 'x-dry-run',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'storage_project_iso_transfer': 'body',
                    'x_idempotency_key': 'header',
                    'x_dry_run': 'header',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__storage_project_iso_transfer
        )

        def __storage_project_iso_update(
            self,
            project_id,
            location_id,
            iso_id,
            storage_project_iso_update,
            **kwargs
        ):
            """Update storage/iso  # noqa: E501

            Returns modified iso  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.storage_project_iso_update(project_id, location_id, iso_id, storage_project_iso_update, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                iso_id (str): Iso Id
                storage_project_iso_update (StorageProjectIsoUpdate):

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Iso
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['iso_id'] = \
                iso_id
            kwargs['storage_project_iso_update'] = \
                storage_project_iso_update
            return self.call_with_http_info(**kwargs)

        self.storage_project_iso_update = _Endpoint(
            settings={
                'response_type': (Iso,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/storage/{locationId}/project/{projectId}/iso/{isoId}',
                'operation_id': 'storage_project_iso_update',
                'http_method': 'PATCH',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'storage_project_iso_update',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'iso_id',
                    'storage_project_iso_update',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'iso_id':
                        (str,),
                    'storage_project_iso_update':
                        (StorageProjectIsoUpdate,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'iso_id': 'isoId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'iso_id': 'path',
                    'storage_project_iso_update': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__storage_project_iso_update
        )

HyperOne      HyperOne API  # noqa: E501      The version of the OpenAPI document: 0.1.0     Generated by: https://openapi-generator.tech # noqa: F401 # noqa: F401 # noqa: F401 NOTE: This class is auto generated by OpenAPI Generator     Ref: https://openapi-generator.tech      Do not edit the class manually. Create storage/iso  # noqa: E501              Create iso  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.storage_project_iso_create(project_id, location_id, storage_project_iso_create, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 storage_project_iso_create (StorageProjectIsoCreate):              Keyword Args:                 x_idempotency_key (str): Idempotency key. [optional]                 x_dry_run (str): Dry run. [optional]                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Iso                     If the method is called asynchronously, returns the request                     thread. Delete storage/iso  # noqa: E501              Delete iso  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.storage_project_iso_delete(project_id, location_id, iso_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 iso_id (str): Iso Id              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 None                     If the method is called asynchronously, returns the request                     thread. Detach storage/iso  # noqa: E501              action detach  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.storage_project_iso_detach(project_id, location_id, iso_id, storage_project_iso_detach, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 iso_id (str): Iso Id                 storage_project_iso_detach (StorageProjectIsoDetach):              Keyword Args:                 x_idempotency_key (str): Idempotency key. [optional]                 x_dry_run (str): Dry run. [optional]                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Iso                     If the method is called asynchronously, returns the request                     thread. Get storage/iso.event  # noqa: E501              Get storage/iso.event  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.storage_project_iso_event_get(project_id, location_id, iso_id, event_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 iso_id (str): Iso Id                 event_id (str): eventId              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Event                     If the method is called asynchronously, returns the request                     thread. List storage/iso.event  # noqa: E501              List storage/iso.event  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.storage_project_iso_event_list(project_id, location_id, iso_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 iso_id (str): Iso Id              Keyword Args:                 limit (float): $limit. [optional] if omitted the server will use the default value of 100                 skip (float): $skip. [optional]                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 [Event]                     If the method is called asynchronously, returns the request                     thread. Get storage/iso  # noqa: E501              Returns a single iso  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.storage_project_iso_get(project_id, location_id, iso_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 iso_id (str): Iso Id              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Iso                     If the method is called asynchronously, returns the request                     thread. List storage/iso  # noqa: E501              List iso  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.storage_project_iso_list(project_id, location_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id              Keyword Args:                 name (str): Filter by name. [optional]                 tag_value (str): Filter by tag.value. [optional]                 tag_key (str): Filter by tag.key. [optional]                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 [Iso]                     If the method is called asynchronously, returns the request                     thread. Get storage/iso.service  # noqa: E501              Get storage/iso.service  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.storage_project_iso_service_get(project_id, location_id, iso_id, service_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 iso_id (str): Iso Id                 service_id (str): serviceId              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 ResourceService                     If the method is called asynchronously, returns the request                     thread. List storage/iso.service  # noqa: E501              List storage/iso.service  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.storage_project_iso_service_list(project_id, location_id, iso_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 iso_id (str): Iso Id              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 [ResourceService]                     If the method is called asynchronously, returns the request                     thread. Create storage/iso.tag  # noqa: E501              Create storage/iso.tag  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.storage_project_iso_tag_create(project_id, location_id, iso_id, tag, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 iso_id (str): Iso Id                 tag (Tag):              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Tag                     If the method is called asynchronously, returns the request                     thread. Delete storage/iso.tag  # noqa: E501              Delete storage/iso.tag  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.storage_project_iso_tag_delete(project_id, location_id, iso_id, tag_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 iso_id (str): Iso Id                 tag_id (str): tagId              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 None                     If the method is called asynchronously, returns the request                     thread. Get storage/iso.tag  # noqa: E501              Get storage/iso.tag  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.storage_project_iso_tag_get(project_id, location_id, iso_id, tag_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 iso_id (str): Iso Id                 tag_id (str): tagId              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Tag                     If the method is called asynchronously, returns the request                     thread. List storage/iso.tag  # noqa: E501              List storage/iso.tag  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.storage_project_iso_tag_list(project_id, location_id, iso_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 iso_id (str): Iso Id              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 [Tag]                     If the method is called asynchronously, returns the request                     thread. Replace storage/iso.tag  # noqa: E501              Replace storage/iso.tag  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.storage_project_iso_tag_put(project_id, location_id, iso_id, tag_array, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 iso_id (str): Iso Id                 tag_array (TagArray):              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 [Tag]                     If the method is called asynchronously, returns the request                     thread. Transfer storage/iso  # noqa: E501              action transfer  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.storage_project_iso_transfer(project_id, location_id, iso_id, storage_project_iso_transfer, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 iso_id (str): Iso Id                 storage_project_iso_transfer (StorageProjectIsoTransfer):              Keyword Args:                 x_idempotency_key (str): Idempotency key. [optional]                 x_dry_run (str): Dry run. [optional]                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Iso                     If the method is called asynchronously, returns the request                     thread. Update storage/iso  # noqa: E501              Returns modified iso  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.storage_project_iso_update(project_id, location_id, iso_id, storage_project_iso_update, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 iso_id (str): Iso Id                 storage_project_iso_update (StorageProjectIsoUpdate):              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Iso                     If the method is called asynchronously, returns the request                     thread.