/// <summary>
 /// Changes the power state of the controller.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='deviceName'>
 /// The device name
 /// </param>
 /// <param name='hardwareComponentGroupName'>
 /// The hardware component group name.
 /// </param>
 /// <param name='parameters'>
 /// The controller power state change request.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The resource group name
 /// </param>
 /// <param name='managerName'>
 /// The manager name
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task ChangeControllerPowerStateAsync(this IHardwareComponentGroupsOperations operations, string deviceName, string hardwareComponentGroupName, ControllerPowerStateChangeRequestInner parameters, string resourceGroupName, string managerName, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.ChangeControllerPowerStateWithHttpMessagesAsync(deviceName, hardwareComponentGroupName, parameters, resourceGroupName, managerName, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 /// <summary>
 /// Changes the power state of the controller.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='deviceName'>
 /// The device name
 /// </param>
 /// <param name='hardwareComponentGroupName'>
 /// The hardware component group name.
 /// </param>
 /// <param name='parameters'>
 /// The controller power state change request.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The resource group name
 /// </param>
 /// <param name='managerName'>
 /// The manager name
 /// </param>
 public static void ChangeControllerPowerState(this IHardwareComponentGroupsOperations operations, string deviceName, string hardwareComponentGroupName, ControllerPowerStateChangeRequest parameters, string resourceGroupName, string managerName)
 {
     operations.ChangeControllerPowerStateAsync(deviceName, hardwareComponentGroupName, parameters, resourceGroupName, managerName).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Lists the hardware component groups at device-level.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='deviceName'>
 /// The device name
 /// </param>
 /// <param name='resourceGroupName'>
 /// The resource group name
 /// </param>
 /// <param name='managerName'>
 /// The manager name
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IEnumerable <HardwareComponentGroup> > ListByDeviceAsync(this IHardwareComponentGroupsOperations operations, string deviceName, string resourceGroupName, string managerName, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListByDeviceWithHttpMessagesAsync(deviceName, resourceGroupName, managerName, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Lists the hardware component groups at device-level.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='deviceName'>
 /// The device name
 /// </param>
 /// <param name='resourceGroupName'>
 /// The resource group name
 /// </param>
 /// <param name='managerName'>
 /// The manager name
 /// </param>
 public static IEnumerable <HardwareComponentGroup> ListByDevice(this IHardwareComponentGroupsOperations operations, string deviceName, string resourceGroupName, string managerName)
 {
     return(operations.ListByDeviceAsync(deviceName, resourceGroupName, managerName).GetAwaiter().GetResult());
 }