type: str node_wwn: description: Unique network identifier for the HBA's interface card type: str port_wwn: description: Unique network identifier for the port type: str target_ports: description: List of VPLEX ports visible to initiator type: list type: description: Host operating system type: str ''' LOG = utils.get_logger('dellemc_vplex_initiator') HAS_VPLEXAPI_SDK = utils.has_vplexapi_sdk() class VplexInitiator(): # pylint:disable=R0902 """Class with initiator operations""" def __init__(self): """Define all parameters required by this module""" self.module_params = utils.get_vplex_management_host_parameters() self.module_params.update(get_vplex_initiator_parameters()) mutually_exclusive = [ ['iscsi_name', 'port_wwn'] ]
type: int type: description: - The type of mobility job type: str source_exported: description: - Whether the source device is exported type: bool target_exported: description: - Whether the target device is exported type: bool ''' LOG = utils.get_logger('dellemc_vplex_data_migration') HAS_VPLEXAPI_SDK = utils.has_vplexapi_sdk() class VplexDataMigration(): # pylint: disable=R0902 """Class with VPLEX Data migration operations""" def __init__(self): """Define all the parameters required by this module""" self.module_params = utils.get_vplex_management_host_parameters() self.module_params.update(get_vplex_data_migration_parameters()) self.module = AnsibleModule( argument_spec=self.module_params, supports_check_mode=False, )
visibility: description: To enable remote access global or local type: str vpd_id: description: vpd_id type: str additional_devs: description: added device list to expand virtual volume type: list mirrors: descrition: added device list for mirroring type: list ''' LOG = utils.get_logger('dellemc_vplex_virtual_volume') HAS_VPLEXAPI_SDK = utils.has_vplexapi_sdk() class VirtualVolumeModule: # pylint: disable=R0902 """Class with virtual Volume operations""" def __init__(self): """Define all parameters required by the module""" self.module_params = utils.get_vplex_management_host_parameters() self.module_params.update(get_user_parameters()) mutually_exclusive = [ ['virtual_volume_name', 'virtual_volume_id'] ] required_one_of = [
type: str storage_array_family: description: The storage array family name type: str thin_capable: description: Thin provisioning support type: bool virtual_volume: description: Name of the distributed virtual volume type: str name: description: The name of the distributed device type: str ''' LOG = utils.get_logger('dellemc_vplex_distributed_device') HAS_VPLEXAPI_SDK = utils.has_vplexapi_sdk() class VplexDistributedDevice(): """Class with distributed device operations""" def __init__(self): """ Define all parameters required by this module""" self.module_params = utils.get_vplex_management_host_parameters() self.module_params.update(get_distributed_device_parameters()) # initialize the ansible module self.module = AnsibleModule(argument_spec=self.module_params, supports_check_mode=False) # Check for external libraries lib_status, message = utils.external_library_check() if not lib_status:
type: bool storage_at_clusters: description: - Consistency group storage clusters type: list virtual_volumes: description: - URI of virtual volumes belongs to consistency group type: list visibility: description: - Cluster visibility of consistency group type: list ''' LOG = utils.get_logger('dellemc_vplex_consistency_group') HAS_VPLEXAPI_SDK = utils.has_vplexapi_sdk() class ConsistencyGroup(): """Class with VPLEX Consistency group operations""" def __init__(self): """Define all the parameters required by this module""" self.module_params = utils.get_vplex_management_host_parameters() self.module_params.update(get_vplex_cg_parameters()) required_together = [['virtual_volumes', 'virtual_volume_state']] self.module = AnsibleModule(argument_spec=self.module_params, supports_check_mode=False,
contains: name: description: Extent names type: str Device Migration Jobs: description: List of Device migration jobs returned: When Device migration jobs exist type: complex contains: name: description: Device migration jobs names type: str ''' LOG = utils.get_logger('dellemc_vplex_gatherfacts') HAS_VPLEXAPI_SDK = utils.has_vplexapi_sdk() class VplexGatherFacts(): """Class with Gather Facts operations""" def __init__(self): """Define all the parameters required by this module""" self.module_params = utils.get_vplex_management_host_parameters() self.module_params.update(get_vplex_gatherfacts_parameters()) self.module = AnsibleModule(argument_spec=self.module_params, supports_check_mode=False) # Check for external libraries
type: str system_id: description: Unique volume id type: str thin_enabled: description: Thin provisioning support type: str visibility: description: To display the global access type: str vpd_id: description: vpd_id type: str ''' LOG = utils.get_logger('dellemc_vplex_distributed_virtual_volume') HAS_VPLEXAPI_SDK = utils.has_vplexapi_sdk() class VplexDistributedVirtualVolume(): # pylint:disable=R0902 """Class with distributed virtual volume operations""" def __init__(self): """Define all parameters required by this module""" self.module_params = utils.get_vplex_management_host_parameters() self.module_params.update(get_distributed_virtual_volume_parameters()) mutually_exclusive = [[ 'distributed_virtual_volume_name', 'distributed_virtual_volume_id' ]] required_one_of = [[
type: list iscsi_name: description: ISCSI name of the port type: str name: description: Name of the port type: str node_wwn: description: node wwn for registering the port type: str port_wwn: description: WWN of the port to register type: str ''' LOG = utils.get_logger('dellemc_vplex_port') HAS_VPLEXAPI_SDK = utils.has_vplexapi_sdk() class VplexPort(): # pylint:disable=R0902 """Class wth port operations""" def __init__(self): """Define all parameters required by this module""" self.module_params = utils.get_vplex_management_host_parameters() self.module_params.update(get_vplex_port_parameters()) # initialize the ansible module self.module = AnsibleModule( argument_spec=self.module_params, supports_check_mode=False,
type: str virtual_volumes: description: List of virtual volumes attached to the storage view type: list initiators: description: List of initiators attached to the storage view type: list ports: description: List of ports attached to the storage view type: list ''' LOG = utils.get_logger('dellemc_vplex_storage_view') HAS_VPLEXAPI_SDK = utils.has_vplexapi_sdk() class VplexStorageview(): # pylint:disable=R0902 ''' class with storage view operations ''' def __init__(self): """Define all the parameters required by this module""" self.module_params = utils.get_vplex_management_host_parameters() self.module_params.update(get_vplex_storageview_parameters()) self.resource_fail_msg = "Failed to collect resources" self.fail_msg = "Could not collect resources in {0}" self.module = AnsibleModule(argument_spec=self.module_params, supports_check_mode=False)
underlying_storage_block_size: description: Size of the storage volume block type: int use: description: Status of the extent type: str used_by: description: Device list which use the extent type: list vendor_specific_name: description: Vendor specific name type: str ''' LOG = utils.get_logger('dellemc_vplex_extent') HAS_VPLEXAPI_SDK = utils.has_vplexapi_sdk() class VplexExtent(): # pylint:disable=R0902 """Class with extent operations""" def __init__(self): """Define all parameters required by this module""" self.module_params = utils.get_vplex_management_host_parameters() self.module_params.update(get_vplex_extent_parameters()) self.resource_fail_msg = "Failed to collect resources" self.fail_msg = "Could not collect resources in {0}" mutually_exclusive = [['storage_volume_name', 'storage_volume_id']] required_one_of = [[ 'storage_volume_name', 'storage_volume_id', 'extent_name' ]]
type: bool transfer_size: description: - Size of the region in cache used to service the migration type: int virtual_volume: description: - Name of the virtual volume type: str visibility: description: - The cluster visibility of the device type: str ''' LOG = utils.get_logger('dellemc_vplex_device') HAS_VPLEXAPI_SDK = utils.has_vplexapi_sdk() class VplexDevice(): """Class with VPLEX Device operations""" def __init__(self): """Define all the parameters required by this module""" self.module_params = utils.get_vplex_management_host_parameters() self.module_params.update(get_vplex_device_parameters()) required_together = [['extents', 'extent_state']] self.module = AnsibleModule(argument_spec=self.module_params, supports_check_mode=False,
type: bool thin_rebuild: description: Thin rebuild type: bool use: description: Status of the volume type: str used_by: description: List of extents used by type: bool vendor_specific_name: description: Vendor specific name type: str ''' LOG = utils.get_logger('dellemc_vplex_storage_volume') HAS_VPLEXAPI_SDK = utils.has_vplexapi_sdk() class StorageVolumeModule: """Class with Storage Volume operations""" def __init__(self): """Define all parameters required by the module""" self.module_params = utils.get_vplex_management_host_parameters() self.module_params.update(get_user_parameters()) mutually_exclusive = [['storage_volume_name', 'storage_volume_id']] required_one_of = [['storage_volume_name', 'storage_volume_id']] self.module = AnsibleModule(argument_spec=self.module_params, mutually_exclusive=mutually_exclusive, required_one_of=required_one_of, supports_check_mode=False)
storage_array_family: description: - StorageArray's family type: str storage_groups: description: - storage_groups URI of StorageArray type: str storage_pools: description: - storage_pools URI of the StorageArray type: str ''' LOG = utils.get_logger('dellemc_vplex_array') HAS_VPLEXAPI_SDK = utils.has_vplexapi_sdk() class VplexRediscoverArray(): """Class with VPLEX Rediscover Array operation""" def __init__(self): """Define all the parameters required by this module""" self.module_params = utils.get_vplex_management_host_parameters() self.module_params.update(get_vplex_rediscover_array_parameters()) self.module = AnsibleModule(argument_spec=self.module_params, supports_check_mode=False) # Check for external libraries lib_status, message = utils.external_library_check()