|
39 | 39 | -->
|
40 | 40 |
|
41 | 41 | ## Current Breaking Changes
|
| 42 | + |
| 43 | +### Release 4.0.0 - November 2017 |
| 44 | + |
| 45 | +The following cmdlets were affected this release: |
| 46 | + |
| 47 | +**New-AzureBatchCertificate** |
| 48 | +- Parameter `Password` being replaced in favor of a Secure string |
| 49 | + |
| 50 | +```powershell |
| 51 | +# Old |
| 52 | +New-AzureBatchCertificate [other required parameters] -Password "plain-text string" |
| 53 | +
|
| 54 | +# New |
| 55 | +New-AzureBatchCertificate [other required parameters] -Password $SecureStringVariable |
| 56 | +``` |
| 57 | + |
| 58 | +**New-AzureBatchComputeNodeUser** |
| 59 | +- Parameter `Password` being replaced in favor of a Secure string |
| 60 | + |
| 61 | +```powershell |
| 62 | +# Old |
| 63 | +New-AzureBatchComputeNodeUser [other required parameters] -Password "plain-text string" |
| 64 | +
|
| 65 | +# New |
| 66 | +New-AzureBatchComputeNodeUser [other required parameters] -Password $SecureStringVariable |
| 67 | +``` |
| 68 | + |
| 69 | +**Set-AzureRmBatchComputeNodeUser** |
| 70 | +- Parameter `Password` being replaced in favor of a Secure string |
| 71 | + |
| 72 | +```powershell |
| 73 | +# Old |
| 74 | +Set-AzureRmBatchComputeNodeUser [other required parameters] -Password "plain-text string" |
| 75 | +
|
| 76 | +# New |
| 77 | +Set-AzureRmBatchComputeNodeUser [other required parameters] -Password $SecureStringVariable |
| 78 | +``` |
| 79 | + |
| 80 | +**New-AzureBatchTask** |
| 81 | + - Removed the `RunElevated` switch and replaced it with `UserIdentity`. |
| 82 | + |
| 83 | +```powershell |
| 84 | +# Old |
| 85 | +New-AzureBatchTask -Id $taskId1 -JobId $jobId -CommandLine "cmd /c echo hello" -RunElevated $TRUE |
| 86 | +
|
| 87 | +# New |
| 88 | +$autoUser = New-Object Microsoft.Azure.Commands.Batch.Models.PSAutoUserSpecification -ArgumentList @("Task", "Admin") |
| 89 | +$userIdentity = New-Object Microsoft.Azure.Commands.Batch.Models.PSUserIdentity $autoUser |
| 90 | +New-AzureBatchTask -Id $taskId1 -JobId $jobId -CommandLine "cmd /c echo hello" -UserIdentity $userIdentity |
| 91 | +``` |
| 92 | + |
| 93 | +This additionally impacts the `RunElevated` property on `PSCloudTask`, `PSStartTask`, `PSJobManagerTask`, `PSJobPreparationTask`, and `PSJobReleaseTask`. |
| 94 | + |
| 95 | +- `PSMultiInstanceSettings` constructor no longer takes a required `numberOfInstances` parameter, instead it takes a required `coordinationCommandLine` parameter. |
| 96 | + |
| 97 | +```powershell |
| 98 | +# Old |
| 99 | +$settings = New-Object Microsoft.Azure.Commands.Batch.Models.PSMultiInstanceSettings -ArgumentList @(2) |
| 100 | +$settings.CoordinationCommandLine = "cmd /c echo hello" |
| 101 | +New-AzureBatchTask [other parameters] -MultiInstanceSettings $settings |
| 102 | +
|
| 103 | +# New |
| 104 | +$settings = New-Object Microsoft.Azure.Commands.Batch.Models.PSMultiInstanceSettings -ArgumentList @("cmd /c echo hello", 2) |
| 105 | +New-AzureBatchTask [other parameters] -MultiInstanceSettings $settings |
| 106 | +``` |
| 107 | + |
| 108 | +**Get-AzureBatchTask** |
| 109 | + - Removed the `RunElevated` property on `PSCloudTask`. The `UserIdentity` property has been added to replace `RunElevated`. |
| 110 | + |
| 111 | +```powershell |
| 112 | +# Old |
| 113 | +$task = Get-AzureBatchTask [parameters] |
| 114 | +$task.RunElevated |
| 115 | +
|
| 116 | +# New |
| 117 | +$task = Get-AzureBatchTask [parameters] |
| 118 | +$task.UserIdentity.AutoUser.ElevationLevel |
| 119 | +``` |
| 120 | + |
| 121 | +This additionally impacts the `RunElevated` property on `PSCloudTask`, `PSStartTask`, `PSJobManagerTask`, `PSJobPreparationTask`, and `PSJobReleaseTask`. |
| 122 | + |
| 123 | +- Renamed the `SchedulingError` property on `PSExitConditions` to `PreProcessingError`. |
| 124 | + |
| 125 | +```powershell |
| 126 | +# Old |
| 127 | +$task = Get-AzureBatchTask [parameters] |
| 128 | +$task.ExitConditions.SchedulingError |
| 129 | +
|
| 130 | +# New |
| 131 | +$task = Get-AzureBatchTask [parameters] |
| 132 | +$task.ExitConditions.PreProcessingError |
| 133 | +``` |
| 134 | + |
| 135 | +- Renamed the `SchedulingError` property on `PSJobPreparationTaskExecutionInformation`, `PSJobReleaseTaskExecutionInformation`, `PSStartTaskInformation`, `PSSubtaskInformation`, and `PSTaskExecutionInformation` to `FailureInformation`. |
| 136 | + - `FailureInformation` is returned any time there is a task failure. This includes all previous scheduling error cases, as well as nonzero task exit codes, and file upload failures from the new output files feature. |
| 137 | + - This is structured the same as before, so no code change is needed when using this type. |
| 138 | + |
| 139 | +```powershell |
| 140 | +# Old |
| 141 | +$task = Get-AzureBatchTask [parameters] |
| 142 | +$task.ExecutionInformation.SchedulingError |
| 143 | +
|
| 144 | +# New |
| 145 | +$task = Get-AzureBatchTask [parameters] |
| 146 | +$task.ExecutionInformation.FailureInformation |
| 147 | +``` |
| 148 | + |
| 149 | +This additionally impacts: Get-AzureBatchPool, Get-AzureBatchSubtask, and Get-AzureBatchJobPreparationAndReleaseTaskStatus |
| 150 | + |
| 151 | +**New-AzureBatchPool** |
| 152 | + - Removed `TargetDedicated` and replaced it with `TargetDedicatedComputeNodes` and `TargetLowPriorityComputeNodes`. |
| 153 | + - `TargetDedicatedComputeNodes` has an alias `TargetDedicated`. |
| 154 | + |
| 155 | +```powershell |
| 156 | +# Old |
| 157 | +New-AzureBatchPool [other parameters] [-TargetDedicated <Int32>] |
| 158 | +
|
| 159 | +# New |
| 160 | +New-AzureBatchPool [other parameters] [-TargetDedicatedComputeNodes <Int32>] [-TargetLowPriorityComputeNodes <Int32>] |
| 161 | +``` |
| 162 | + |
| 163 | +This also impacts: Start-AzureBatchPoolResize |
| 164 | + |
| 165 | +**Get-AzureBatchPool** |
| 166 | + - Renamed the `TargetDedicated` and `CurrentDedicated` properties on `PSCloudPool` to `TargetDedicatedComputeNodes` and `CurrentDedicatedComputeNodes`. |
| 167 | + |
| 168 | +```powershell |
| 169 | +# Old |
| 170 | +$pool = Get-AzureBatchPool [parameters] |
| 171 | +$pool.TargetDedicated |
| 172 | +$pool.CurrentDedicated |
| 173 | +
|
| 174 | +# New |
| 175 | +$pool = Get-AzureBatchPool [parameters] |
| 176 | +$pool.TargetDedicatedComputeNodes |
| 177 | +$pool.CurrentDedicatedComputeNodes |
| 178 | +``` |
| 179 | + |
| 180 | +- Renamed `ResizeError` to `ResizeErrors` on `PSCloudPool`, and it is now a collection. |
| 181 | + |
| 182 | +```powershell |
| 183 | +# Old |
| 184 | +$pool = Get-AzureBatchPool [parameters] |
| 185 | +$pool.ResizeError |
| 186 | +
|
| 187 | +# New |
| 188 | +$pool = Get-AzureBatchPool [parameters] |
| 189 | +$pool.ResizeErrors[0] |
| 190 | +``` |
| 191 | + |
| 192 | +**New-AzureBatchJob** |
| 193 | +- Renamed the `TargetDedicated` property on `PSPoolSpecification` to `TargetDedicatedComputeNodes`. |
| 194 | + |
| 195 | +```powershell |
| 196 | +# Old |
| 197 | +$poolInfo = New-Object Microsoft.Azure.Commands.Batch.Models.PSPoolInformation |
| 198 | +$poolInfo.AutoPoolSpecification = New-Object Microsoft.Azure.Commands.Batch.Models.PSAutoPoolSpecification |
| 199 | +$poolInfo.AutoPoolSpecification.PoolSpecification = New-Object Microsoft.Azure.Commands.Batch.Models.PSPoolSpecification |
| 200 | +$poolInfo.AutoPoolSpecification.PoolSpecification.TargetDedicated = 5 |
| 201 | +New-AzureBatchJob [other parameters] -PoolInformation $poolInfo |
| 202 | +
|
| 203 | +# New |
| 204 | +$poolInfo = New-Object Microsoft.Azure.Commands.Batch.Models.PSPoolInformation |
| 205 | +$poolInfo.AutoPoolSpecification = New-Object Microsoft.Azure.Commands.Batch.Models.PSAutoPoolSpecification |
| 206 | +$poolInfo.AutoPoolSpecification.PoolSpecification = New-Object Microsoft.Azure.Commands.Batch.Models.PSPoolSpecification |
| 207 | +$poolInfo.AutoPoolSpecification.PoolSpecification.TargetDedicatedComputeNodes = 5 |
| 208 | +New-AzureBatchJob [other parameters] -PoolInformation $poolInfo |
| 209 | +``` |
| 210 | + |
| 211 | +**Get-AzureBatchNodeFile** |
| 212 | + - Removed `Name` and replaced it with `Path`. |
| 213 | + - `Path` has an alias `Name`. |
| 214 | + |
| 215 | +```powershell |
| 216 | +# Old |
| 217 | +Get-AzureBatchNodeFile [other parameters] [[-Name] <String>] |
| 218 | +
|
| 219 | +# New |
| 220 | +Get-AzureBatchNodeFile [other parameters] [[-Path] <String>] |
| 221 | +``` |
| 222 | + |
| 223 | +This also impacts: Get-AzureBatchNodeFileContent, Remove-AzureBatchNodeFile |
| 224 | + |
| 225 | + - Renamed the `Name` property on `PSNodeFile` to `Path`. |
| 226 | + |
| 227 | +```powershell |
| 228 | +# Old |
| 229 | +$file = Get-AzureBatchNodeFile [parameters] |
| 230 | +$file.Name |
| 231 | +
|
| 232 | +# New |
| 233 | +$file = Get-AzureBatchNodeFile [parameters] |
| 234 | +$file.Path |
| 235 | +``` |
| 236 | + |
| 237 | +**Get-AzureBatchSubtask** |
| 238 | +- The `PreviousState` and `State` properties of `PSSubtaskInformation` are no longer of type `TaskState`, instead they are of type `SubtaskState`. |
| 239 | + - Unlike `TaskState`, `SubtaskState` has no `Active` value, since it is not possible for subtasks to be in an `Active` state. |
| 240 | + |
| 241 | +```powershell |
| 242 | +# Old |
| 243 | +$subtask = Get-AzureBatchSubtask [parameters] |
| 244 | +if ($subtask.State -eq Microsoft.Azure.Batch.Common.TaskState.Running) { } |
| 245 | +
|
| 246 | +# New |
| 247 | +$subtask = Get-AzureBatchSubtask [parameters] |
| 248 | +if ($subtask.State -eq Microsoft.Azure.Batch.Common.SubtaskState.Running) { } |
| 249 | +``` |
0 commit comments