<!--- Verify first that your feature was not already discussed on GitHub -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
<!--- Describe the new feature/improvement briefly below -->
A number of the existing Redfish commands act on a single system, manager or chassis. But there is no option to specify which one to act on if there are multiple systems, managers or chassis in the service. Currently, in this case, the module will act on the first one in the collection.

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
redfish_utils.py
redfish_config.py
redfish_command.py

##### ADDITIONAL INFORMATION
<!--- Describe how the feature would be used, why it is needed and what it would solve -->
Given the issue summarized above, it is impossible to issue certain commands to systems, managers and chassis beyond the first one that appears in the collection.

To solve this, the behavior will be updated as follows:

- New options to specify a particular system, manager or chassis will be added.
- For the impacted commands (see below), if there is exactly one system/manager/chassis resource in the service, act on that resource. Specifying the system/manager/chassis using the new options will not be required.
- In the case where there are multiple system/manager/chassis resources, the one to act on ~~must~~ should be specified using the new options. If one is not specified, ~~an error~~  a deprecation warning will be reported and ~~no action taken~~ the existing behavior of using the first resource in the collection will be used.

Here are the impacted commands.

Commands that act on a single **system**:

- Power* (PowerOn, PowerReboot, etc.)
- SetOneTimeBoot
- SetBiosDefaultSettings
- SetBiosAttributes

Commands that act on a single **manager**:

- GracefulRestart
- ClearLogs

Commands that act on a single **chassis**:
- IndicatorLedOn, IndicatorLedOff, IndicatorLedBlink


<!--- Paste example playbooks or commands between quotes below -->
An example of an existing playbook to reboot a system:

```yaml
  - name: Reboot system power
    redfish_command:
      category: Systems
      command: PowerReboot
      baseuri: "{{ baseuri }}"
      username: "{{ username }}"
      password: "{{ password }}"
```

An example of the playbook after adding a new option to specify the system to reboot:

```yaml
  - name: Reboot system power
    redfish_command:
      category: Systems
      command: PowerReboot
      system_id: 437XR1138R2
      baseuri: "{{ baseuri }}"
      username: "{{ username }}"
      password: "{{ password }}"
```

**Note:**
When implementing this feature, but sure to fix any places that may result in errors like:

`The value Lit for the property IndicatorLED is not in the list of acceptable values`

`Key IndicatorLED not found`

<!--- HINT: You can also paste gist.github.com links for larger files -->

roleid: "{{ roleid }}"
  - name: Add user using new option aliases
    redfish_command:
      category: Accounts
      command: AddUser
      baseuri: "{{ baseuri }}"
      username: "{{ username }}"
      password: "{{ password }}"
      account_username: "{{ account_username }}"
      account_password: "{{ account_password }}"
      account_roleid: "{{ account_roleid }}"
  - name: Delete user
    redfish_command:
      category: Accounts
      command: DeleteUser
      baseuri: "{{ baseuri }}"
      username: "{{ username }}"
      password: "{{ password }}"
      account_username: "{{ account_username }}"
  - name: Disable user
    redfish_command:
      category: Accounts
      command: DisableUser
      baseuri: "{{ baseuri }}"
      username: "{{ username }}"
      password: "{{ password }}"
      account_username: "{{ account_username }}"
  - name: Enable user
    redfish_command:
      category: Accounts