/// <summary> /// ProcessRecord of the command. /// </summary> public override void ExecuteCmdlet() { try { this.WriteVerbose(Resources.ResourceContextInitializeMessage); var resCred = StorSimpleClient.GetResourceDetails(ResourceName); if (resCred == null) { this.WriteVerbose(Resources.NotFoundMessageResource); throw GetGenericException(Resources.NotFoundMessageResource, null); } StorSimpleClient.SetResourceContext(resCred); var deviceInfos = StorSimpleClient.GetAllDevices(); if (!deviceInfos.Any()) { StorSimpleClient.ResetResourceContext(); throw base.GetGenericException(Resources.DeviceNotRegisteredMessage, null); } //now check for the key if (string.IsNullOrEmpty(RegistrationKey)) { this.WriteVerbose(Resources.RegistrationKeyNotPassedMessage); } else { this.WriteVerbose(Resources.RegistrationKeyPassedMessage); EncryptionCmdLetHelper.PersistCIK(this, resCred.ResourceId, StorSimpleClient.ParseCIKFromRegistrationKey(RegistrationKey)); } EncryptionCmdLetHelper.ValidatePersistedCIK(this, resCred.ResourceId); this.WriteVerbose(Resources.SecretsValidationCompleteMessage); this.WriteVerbose(Resources.SuccessMessageSetResourceContext); var currentContext = StorSimpleClient.GetResourceContext(); this.WriteObject(currentContext); } catch (Exception exception) { this.HandleException(exception); } }
public override void ExecuteCmdlet() { try { ValidateParams(); // Make sure we have a device for supplied name and get its device id. var deviceId = StorSimpleClient.GetDeviceId(DeviceName); if (deviceId == null) { throw new ArgumentException(string.Format(Resources.NoDeviceFoundWithGivenNameInResourceMessage, StorSimpleContext.ResourceName, DeviceName)); } // Get the current device details. ( If we found id from the name, this call is bound to succeed) var deviceDetails = StorSimpleClient.GetDeviceDetails(deviceId); // The cik also needs to be sent to the service. string cik = EncryptionCmdLetHelper.RetrieveCIK(this, StorSimpleContext.ResourceId); // Update device details. var cryptoManager = new StorSimpleCryptoManager(StorSimpleClient); StorSimpleClient.UpdateVirtualDeviceDetails(deviceDetails, TimeZone, SecretKey, AdministratorPassword, SnapshotManagerPassword, cik, cryptoManager); // Make request with updated data WriteVerbose(string.Format(Resources.BeginningDeviceConfiguration, deviceDetails.DeviceProperties.FriendlyName)); var taskStatusInfo = StorSimpleClient.UpdateDeviceDetails(deviceDetails); HandleSyncTaskResponse(taskStatusInfo, "Setup"); if (taskStatusInfo.AsyncTaskAggregatedResult == AsyncTaskAggregatedResult.Succeeded) { var updatedDetails = StorSimpleClient.GetDeviceDetails(deviceId); WriteObject(updatedDetails); WriteVerbose(string.Format(Resources.StorSimpleDeviceUpdatedSuccessfully, updatedDetails.DeviceProperties.FriendlyName, updatedDetails.DeviceProperties.DeviceId)); } } catch (Exception exception) { this.HandleException(exception); } }