Files
offline_kubespray/collection/dellemc/openmanage/docs/modules/ome_profile.rst
ByeonJungHun 360c6eef4a offline 작업
2024-02-19 16:02:29 +09:00

436 lines
11 KiB
ReStructuredText

.. _ome_profile_module:
ome_profile -- Create, modify, delete, assign, unassign and migrate a profile on OpenManage Enterprise
======================================================================================================
.. contents::
:local:
:depth: 1
Synopsis
--------
This module allows to create, modify, delete, assign, unassign, and migrate a profile on OpenManage Enterprise.
Requirements
------------
The below requirements are needed on the host that executes this module.
- python >= 2.7.5
Parameters
----------
command (optional, str, create)
``create`` creates new profiles.
``modify`` modifies an existing profile. Only *name*, *description*, *boot_to_network_iso*, and *attributes* can be modified.
``delete`` deletes an existing profile.
``assign`` Deploys an existing profile on a target device and returns a task ID.
``unassign`` unassigns a profile from a specified target and returns a task ID.
``migrate`` migrates an existing profile and returns a task ID.
name_prefix (optional, str, Profile)
The name provided when creating a profile is used a prefix followed by the number assigned to it by OpenManage Enterprise.
This is applicable only for a create operation.
This option is mutually exclusive with *name*.
name (optional, str, None)
Name of the profile.
This is applicable for modify, delete, assign, unassign, and migrate operations.
This option is mutually exclusive with *name_prefix* and *number_of_profiles*.
new_name (optional, str, None)
New name of the profile.
Applicable when *command* is ``modify``.
number_of_profiles (optional, int, 1)
Provide the number of profiles to be created.
This is applicable when *name_prefix* is used with ``create``.
This option is mutually exclusive with *name*.
Openmanage Enterprise can create a maximum of 100 profiles.
template_name (optional, str, None)
Name of the template for creating the profile(s).
This is applicable when *command* is ``create``.
This option is mutually exclusive with *template_id*.
template_id (optional, int, None)
ID of the template.
This is applicable when *command* is ``create``.
This option is mutually exclusive with *template_name*.
device_id (optional, int, None)
ID of the target device.
This is applicable when *command* is ``assign`` and ``migrate``.
This option is mutually exclusive with *device_service_tag*.
device_service_tag (optional, str, None)
Identifier of the target device.
This is typically 7 to 8 characters in length.
Applicable when *command* is ``assign``, and ``migrate``.
This option is mutually exclusive with *device_id*.
If the device does not exist when *command* is ``assign`` then the profile is auto-deployed.
description (optional, str, None)
Description of the profile.
boot_to_network_iso (optional, dict, None)
Details of the Share iso.
Applicable when *command* is ``create``, ``assign``, and ``modify``.
boot_to_network (True, bool, None)
Enable or disable a network share.
share_type (optional, str, None)
Type of network share.
share_ip (optional, str, None)
IP address of the network share.
share_user (optional, str, None)
User name when *share_type* is ``CIFS``.
share_password (optional, str, None)
User password when *share_type* is ``CIFS``.
workgroup (optional, str, None)
User workgroup when *share_type* is ``CIFS``.
iso_path (optional, str, None)
Specify the full ISO path including the share name.
iso_timeout (optional, int, 4)
Set the number of hours that the network ISO file will remain mapped to the target device(s).
filters (optional, dict, None)
Filters the profiles based on selected criteria.
This is applicable when *command* is ``delete`` or ``unassign``.
This supports suboption *ProfileIds* which takes a list of profile IDs.
This also supports OData filter expressions with the suboption *Filters*.
See OpenManage Enterprise REST API guide for the filtering options available.
*WARNING* When this option is used in case of ``unassign``, task ID is not returned for any of the profiles affected.
force (optional, bool, False)
Provides the option to force the migration of a profile even if the source device cannot be contacted.
This option is applicable when *command* is ``migrate``.
attributes (optional, dict, None)
Attributes for ``modify`` and ``assign``.
Attributes (optional, list, None)
List of attributes to be modified, when *command* is ``modify``.
List of attributes to be overridden when *command* is ``assign``.
Options (optional, dict, None)
Provides the different shut down options.
This is applicable when *command* is ``assign``.
Schedule (optional, dict, None)
Schedule for profile deployment.
This is applicable when *command* is ``assign``.
hostname (True, str, None)
OpenManage Enterprise or OpenManage Enterprise Modular IP address or hostname.
username (True, str, None)
OpenManage Enterprise or OpenManage Enterprise Modular username.
password (True, str, None)
OpenManage Enterprise or OpenManage Enterprise Modular password.
port (optional, int, 443)
OpenManage Enterprise or OpenManage Enterprise Modular HTTPS port.
Notes
-----
.. note::
- Run this module from a system that has direct access to DellEMC OpenManage Enterprise.
- This module does not support ``check_mode``.
- ``assign`` operation on a already assigned profile will not redeploy.
Examples
--------
.. code-block:: yaml+jinja
---
- name: Create two profiles from a template
dellemc.openmanage.ome_profile:
hostname: "192.168.0.1"
username: "username"
password: "password"
template_name: "template 1"
name_prefix: "omam_profile"
number_of_profiles: 2
- name: Create profile with NFS share
dellemc.openmanage.ome_profile:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: create
template_name: "template 1"
name_prefix: "omam_profile"
number_of_profiles: 1
boot_to_network_iso:
boot_to_network: True
share_type: NFS
share_ip: "192.168.0.1"
iso_path: "path/to/my_iso.iso"
iso_timeout: 8
- name: Create profile with CIFS share
dellemc.openmanage.ome_profile:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: create
template_name: "template 1"
name_prefix: "omam_profile"
number_of_profiles: 1
boot_to_network_iso:
boot_to_network: True
share_type: CIFS
share_ip: "192.168.0.2"
share_user: "username"
share_password: "password"
workgroup: "workgroup"
iso_path: "\\path\\to\\my_iso.iso"
iso_timeout: 8
- name: Modify profile name with NFS share and attributes
dellemc.openmanage.ome_profile:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: modify
name: "Profile 00001"
new_name: "modified profile"
description: "new description"
boot_to_network_iso:
boot_to_network: True
share_type: NFS
share_ip: "192.168.0.3"
iso_path: "path/to/my_iso.iso"
iso_timeout: 8
attributes:
Attributes:
- Id: 4506
Value: "server attr 1"
IsIgnored: true
- Id: 4507
Value: "server attr 2"
IsIgnored: true
- name: Delete a profile using profile name
dellemc.openmanage.ome_profile:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: "delete"
name: "Profile 00001"
- name: Delete profiles using filters
dellemc.openmanage.ome_profile:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: "delete"
filters:
SelectAll: True
Filters: =contains(ProfileName,'Profile 00002')
- name: Delete profiles using profile list filter
dellemc.openmanage.ome_profile:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: "delete"
filters:
ProfileIds:
- 17123
- 16124
- name: Assign a profile to target along with network share
dellemc.openmanage.ome_profile:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: assign
name: "Profile 00001"
device_id: 12456
boot_to_network_iso:
boot_to_network: True
share_type: NFS
share_ip: "192.168.0.1"
iso_path: "path/to/my_iso.iso"
iso_timeout: 8
attributes:
Attributes:
- Id: 4506
Value: "server attr 1"
IsIgnored: true
Options:
ShutdownType: 0
TimeToWaitBeforeShutdown: 300
EndHostPowerState: 1
StrictCheckingVlan: True
Schedule:
RunNow: True
RunLater: False
- name: Unassign a profile using profile name
dellemc.openmanage.ome_profile:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: "unassign"
name: "Profile 00003"
- name: Unassign profiles using filters
dellemc.openmanage.ome_profile:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: "unassign"
filters:
SelectAll: True
Filters: =contains(ProfileName,'Profile 00003')
- name: Unassign profiles using profile list filter
dellemc.openmanage.ome_profile:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: "unassign"
filters:
ProfileIds:
- 17123
- 16123
- name: Migrate a profile
dellemc.openmanage.ome_profile:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: "migrate"
name: "Profile 00001"
device_id: 12456
Return Values
-------------
msg (always, str, Successfully created 2 profile(s).)
Overall status of the profile operation.
profile_ids (when I(command) is C(create), list, [1234, 5678])
IDs of the profiles created.
job_id (when I(command) is C(assign), C(migrate) or C(unassign), int, 14123)
Task ID created when *command* is ``assign``, ``migrate`` or ``unassign``.
``assign`` and ``unassign`` operations do not trigger a task if a profile is auto-deployed.
error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}})
Details of the HTTP Error.
Status
------
Authors
~~~~~~~
- Jagadeesh N V (@jagadeeshnv)