dellemc.openmanage.ome_profile – Create, modify, delete, assign, unassign and migrate a profile on OpenManage Enterprise

Note

This plugin is part of the dellemc.openmanage collection (version 3.2.0).

To install it use: ansible-galaxy collection install dellemc.openmanage.

To use it in a playbook, specify: dellemc.openmanage.ome_profile.

New in version 3.1.0: of dellemc.openmanage

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

Parameter Choices/Defaults Comments
attributes
dictionary
Attributes for modify and assign.
Attributes
list / elements=dictionary
List of attributes to be modified, when command is modify.
List of attributes to be overridden when command is assign.
Options
dictionary
Provides the different shut down options.
This is applicable when command is assign.
Schedule
dictionary
Schedule for profile deployment.
This is applicable when command is assign.
boot_to_network_iso
dictionary
Details of the Share iso.
Applicable when command is create, assign, and modify.
boot_to_network
boolean / required
    Choices:
  • no
  • yes
Enable or disable a network share.
iso_path
string
Specify the full ISO path including the share name.
iso_timeout
integer
    Choices:
  • 1
  • 2
  • 4
  • 8
  • 16
Default:
4
Set the number of hours that the network ISO file will remain mapped to the target device(s).
share_ip
string
IP address of the network share.
share_password
string
User password when share_type is CIFS.
share_type
string
    Choices:
  • NFS
  • CIFS
Type of network share.
share_user
string
User name when share_type is CIFS.
workgroup
string
User workgroup when share_type is CIFS.
command
string
    Choices:
  • create ←
  • modify
  • delete
  • assign
  • unassign
  • migrate
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.
description
string
Description of the profile.
device_id
integer
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
string
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.
filters
dictionary
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
boolean
    Choices:
  • no ←
  • yes
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.
hostname
string / required
Target IP address or hostname.
name
string
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.
name_prefix
string
Default:
"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.
new_name
string
New name of the profile.
Applicable when command is modify.
number_of_profiles
integer
Default:
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.
password
string / required
Target user password.
port
integer
Default:
443
Target HTTPS port.
template_id
integer
ID of the template.
This is applicable when command is create.
This option is mutually exclusive with template_name.
template_name
string
Name of the template for creating the profile(s).
This is applicable when command is create.
This option is mutually exclusive with template_id.
username
string / required
Target username.

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

---
- 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

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
error_info
dictionary
on HTTP error
Details of the HTTP Error.

Sample:
{'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'MessageId': 'GEN1234', 'RelatedProperties': [], 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.', 'Severity': 'Critical'}], 'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.'}}
job_id
integer
when command is assign, migrate or unassign
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.

Sample:
14123
msg
string
always
Overall status of the profile operation.

Sample:
Successfully created 2 profile(s).
profile_ids
list / elements=string
when command is create
IDs of the profiles created.

Sample:
[1234, 5678]


Authors

  • Jagadeesh N V (@jagadeeshnv)