From c38e34442115159061a44563fee8a8979e61d542 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Wed, 1 Feb 2023 11:54:02 +0000 Subject: [PATCH] CodeGen from PR 22407 in Azure/azure-rest-api-specs Merge 27077e41aa5859f20f113a168d1a9c127872936f into dea4d453ca250eae677d69751d909df00d6b6b05 --- swaggerci/redis/.gitattributes | 1 + swaggerci/redis/.gitignore | 5 + swaggerci/redis/Az.Redis.csproj | 44 + swaggerci/redis/Az.Redis.format.ps1xml | 2095 +++ swaggerci/redis/Az.Redis.nuspec | 32 + swaggerci/redis/Az.Redis.psd1 | 24 + swaggerci/redis/Az.Redis.psm1 | 107 + swaggerci/redis/MSSharedLibKey.snk | Bin 0 -> 160 bytes swaggerci/redis/README.md | 27 + swaggerci/redis/build-module.ps1 | 153 + swaggerci/redis/check-dependencies.ps1 | 57 + swaggerci/redis/create-model-cmdlets.ps1 | 163 + swaggerci/redis/custom/Az.Redis.custom.psm1 | 17 + swaggerci/redis/custom/README.md | 41 + swaggerci/redis/docs/Az.Redis.md | 89 + swaggerci/redis/docs/Export-AzRedisData.md | 342 + swaggerci/redis/docs/Get-AzRedis.md | 177 + .../docs/Get-AzRedisAsyncOperationStatus.md | 167 + .../redis/docs/Get-AzRedisFirewallRule.md | 187 + swaggerci/redis/docs/Get-AzRedisKey.md | 157 + .../redis/docs/Get-AzRedisLinkedServer.md | 187 + .../redis/docs/Get-AzRedisPatchSchedule.md | 187 + .../Get-AzRedisPrivateEndpointConnection.md | 188 + .../docs/Get-AzRedisPrivateLinkResource.md | 124 + .../docs/Get-AzRedisUpgradeNotification.md | 139 + swaggerci/redis/docs/Import-AzRedisData.md | 326 + swaggerci/redis/docs/New-AzRedis.md | 514 + .../redis/docs/New-AzRedisFirewallRule.md | 201 + swaggerci/redis/docs/New-AzRedisKey.md | 248 + .../redis/docs/New-AzRedisLinkedServer.md | 247 + .../redis/docs/New-AzRedisPatchSchedule.md | 181 + swaggerci/redis/docs/README.md | 11 + swaggerci/redis/docs/Remove-AzRedis.md | 243 + .../redis/docs/Remove-AzRedisFirewallRule.md | 228 + .../redis/docs/Remove-AzRedisLinkedServer.md | 259 + .../redis/docs/Remove-AzRedisPatchSchedule.md | 213 + ...Remove-AzRedisPrivateEndpointConnection.md | 228 + swaggerci/redis/docs/Restart-AzRedis.md | 284 + .../docs/Test-AzRedisNameAvailability.md | 248 + swaggerci/redis/docs/Update-AzRedis.md | 494 + .../redis/examples/Export-AzRedisData.md | 22 + swaggerci/redis/examples/Get-AzRedis.md | 22 + .../Get-AzRedisAsyncOperationStatus.md | 22 + .../redis/examples/Get-AzRedisFirewallRule.md | 22 + swaggerci/redis/examples/Get-AzRedisKey.md | 22 + .../redis/examples/Get-AzRedisLinkedServer.md | 22 + .../examples/Get-AzRedisPatchSchedule.md | 22 + .../Get-AzRedisPrivateEndpointConnection.md | 22 + .../Get-AzRedisPrivateLinkResource.md | 22 + .../Get-AzRedisUpgradeNotification.md | 22 + .../redis/examples/Import-AzRedisData.md | 22 + swaggerci/redis/examples/New-AzRedis.md | 22 + .../redis/examples/New-AzRedisFirewallRule.md | 22 + swaggerci/redis/examples/New-AzRedisKey.md | 22 + .../redis/examples/New-AzRedisLinkedServer.md | 22 + .../examples/New-AzRedisPatchSchedule.md | 22 + swaggerci/redis/examples/Remove-AzRedis.md | 22 + .../examples/Remove-AzRedisFirewallRule.md | 22 + .../examples/Remove-AzRedisLinkedServer.md | 22 + .../examples/Remove-AzRedisPatchSchedule.md | 22 + ...Remove-AzRedisPrivateEndpointConnection.md | 22 + swaggerci/redis/examples/Restart-AzRedis.md | 22 + .../examples/Test-AzRedisNameAvailability.md | 22 + swaggerci/redis/examples/Update-AzRedis.md | 22 + swaggerci/redis/export-surface.ps1 | 33 + .../redis/exports/Export-AzRedisData.ps1 | 266 + swaggerci/redis/exports/Get-AzRedis.ps1 | 203 + .../Get-AzRedisAsyncOperationStatus.ps1 | 198 + .../redis/exports/Get-AzRedisFirewallRule.ps1 | 208 + swaggerci/redis/exports/Get-AzRedisKey.ps1 | 173 + .../redis/exports/Get-AzRedisLinkedServer.ps1 | 208 + .../exports/Get-AzRedisPatchSchedule.ps1 | 207 + .../Get-AzRedisPrivateEndpointConnection.ps1 | 209 + .../Get-AzRedisPrivateLinkResource.ps1 | 171 + .../Get-AzRedisUpgradeNotification.ps1 | 177 + .../redis/exports/Import-AzRedisData.ps1 | 259 + swaggerci/redis/exports/New-AzRedis.ps1 | 343 + .../redis/exports/New-AzRedisFirewallRule.ps1 | 189 + swaggerci/redis/exports/New-AzRedisKey.ps1 | 227 + .../redis/exports/New-AzRedisLinkedServer.ps1 | 208 + .../exports/New-AzRedisPatchSchedule.ps1 | 188 + .../redis/exports/ProxyCmdletDefinitions.ps1 | 5147 +++++++ swaggerci/redis/exports/README.md | 20 + swaggerci/redis/exports/Remove-AzRedis.ps1 | 216 + .../exports/Remove-AzRedisFirewallRule.ps1 | 210 + .../exports/Remove-AzRedisLinkedServer.ps1 | 222 + .../exports/Remove-AzRedisPatchSchedule.ps1 | 204 + ...emove-AzRedisPrivateEndpointConnection.ps1 | 211 + swaggerci/redis/exports/Restart-AzRedis.ps1 | 247 + .../exports/Test-AzRedisNameAvailability.ps1 | 225 + swaggerci/redis/exports/Update-AzRedis.ps1 | 339 + swaggerci/redis/generate-help.ps1 | 66 + swaggerci/redis/generated/Module.cs | 181 + .../generated/api/Models/Any.PowerShell.cs | 136 + .../generated/api/Models/Any.TypeConverter.cs | 146 + swaggerci/redis/generated/api/Models/Any.cs | 34 + .../redis/generated/api/Models/Any.json.cs | 104 + .../Api10/PrivateEndpoint.PowerShell.cs | 144 + .../Api10/PrivateEndpoint.TypeConverter.cs | 147 + .../api/Models/Api10/PrivateEndpoint.cs | 54 + .../api/Models/Api10/PrivateEndpoint.json.cs | 111 + .../PrivateEndpointConnection.PowerShell.cs | 224 + ...PrivateEndpointConnection.TypeConverter.cs | 147 + .../Models/Api10/PrivateEndpointConnection.cs | 189 + .../Api10/PrivateEndpointConnection.json.cs | 110 + ...EndpointConnectionListResult.PowerShell.cs | 150 + ...pointConnectionListResult.TypeConverter.cs | 149 + .../PrivateEndpointConnectionListResult.cs | 53 + ...rivateEndpointConnectionListResult.json.cs | 119 + ...EndpointConnectionProperties.PowerShell.cs | 196 + ...pointConnectionProperties.TypeConverter.cs | 149 + .../PrivateEndpointConnectionProperties.cs | 153 + ...rivateEndpointConnectionProperties.json.cs | 116 + .../Api10/PrivateLinkResource.PowerShell.cs | 192 + .../PrivateLinkResource.TypeConverter.cs | 147 + .../api/Models/Api10/PrivateLinkResource.cs | 137 + .../Models/Api10/PrivateLinkResource.json.cs | 110 + ...rivateLinkResourceListResult.PowerShell.cs | 144 + ...ateLinkResourceListResult.TypeConverter.cs | 147 + .../Api10/PrivateLinkResourceListResult.cs | 51 + .../PrivateLinkResourceListResult.json.cs | 116 + ...rivateLinkResourceProperties.PowerShell.cs | 160 + ...ateLinkResourceProperties.TypeConverter.cs | 147 + .../Api10/PrivateLinkResourceProperties.cs | 91 + .../PrivateLinkResourceProperties.json.cs | 134 + ...teLinkServiceConnectionState.PowerShell.cs | 164 + ...inkServiceConnectionState.TypeConverter.cs | 148 + .../PrivateLinkServiceConnectionState.cs | 99 + .../PrivateLinkServiceConnectionState.json.cs | 114 + .../api/Models/Api10/Resource.PowerShell.cs | 162 + .../Models/Api10/Resource.TypeConverter.cs | 146 + .../generated/api/Models/Api10/Resource.cs | 108 + .../api/Models/Api10/Resource.json.cs | 121 + .../Api20/ErrorAdditionalInfo.PowerShell.cs | 152 + .../ErrorAdditionalInfo.TypeConverter.cs | 147 + .../api/Models/Api20/ErrorAdditionalInfo.cs | 74 + .../Models/Api20/ErrorAdditionalInfo.json.cs | 116 + .../Models/Api20/ErrorDetail.PowerShell.cs | 176 + .../Models/Api20/ErrorDetail.TypeConverter.cs | 147 + .../generated/api/Models/Api20/ErrorDetail.cs | 134 + .../api/Models/Api20/ErrorDetail.json.cs | 147 + .../Models/Api20/ErrorResponse.PowerShell.cs | 188 + .../Api20/ErrorResponse.TypeConverter.cs | 147 + .../api/Models/Api20/ErrorResponse.cs | 136 + .../api/Models/Api20/ErrorResponse.json.cs | 111 + .../Models/Api20/ProxyResource.PowerShell.cs | 162 + .../Api20/ProxyResource.TypeConverter.cs | 147 + .../api/Models/Api20/ProxyResource.cs | 79 + .../api/Models/Api20/ProxyResource.json.cs | 110 + .../Api20/TrackedResource.PowerShell.cs | 178 + .../Api20/TrackedResource.TypeConverter.cs | 147 + .../api/Models/Api20/TrackedResource.cs | 113 + .../api/Models/Api20/TrackedResource.json.cs | 114 + .../Api20/TrackedResourceTags.PowerShell.cs | 140 + .../TrackedResourceTags.TypeConverter.cs | 147 + .../api/Models/Api20/TrackedResourceTags.cs | 35 + .../Api20/TrackedResourceTags.dictionary.cs | 75 + .../Models/Api20/TrackedResourceTags.json.cs | 109 + ...ckNameAvailabilityParameters.PowerShell.cs | 154 + ...ameAvailabilityParameters.TypeConverter.cs | 148 + .../CheckNameAvailabilityParameters.cs | 74 + .../CheckNameAvailabilityParameters.json.cs | 110 + .../ExportRdbParameters.PowerShell.cs | 168 + .../ExportRdbParameters.TypeConverter.cs | 147 + .../Models/Api20220601/ExportRdbParameters.cs | 111 + .../Api20220601/ExportRdbParameters.json.cs | 114 + .../ImportRdbParameters.PowerShell.cs | 160 + .../ImportRdbParameters.TypeConverter.cs | 147 + .../Models/Api20220601/ImportRdbParameters.cs | 94 + .../Api20220601/ImportRdbParameters.json.cs | 120 + .../NotificationListResponse.PowerShell.cs | 152 + .../NotificationListResponse.TypeConverter.cs | 147 + .../Api20220601/NotificationListResponse.cs | 71 + .../NotificationListResponse.json.cs | 121 + .../Api20220601/Operation.PowerShell.cs | 184 + .../Api20220601/Operation.TypeConverter.cs | 146 + .../api/Models/Api20220601/Operation.cs | 119 + .../api/Models/Api20220601/Operation.json.cs | 110 + .../OperationDisplay.PowerShell.cs | 168 + .../OperationDisplay.TypeConverter.cs | 147 + .../Models/Api20220601/OperationDisplay.cs | 102 + .../Api20220601/OperationDisplay.json.cs | 114 + .../OperationListResult.PowerShell.cs | 156 + .../OperationListResult.TypeConverter.cs | 147 + .../Models/Api20220601/OperationListResult.cs | 76 + .../Api20220601/OperationListResult.json.cs | 124 + .../Api20220601/OperationStatus.PowerShell.cs | 248 + .../OperationStatus.TypeConverter.cs | 147 + .../api/Models/Api20220601/OperationStatus.cs | 137 + .../Api20220601/OperationStatus.json.cs | 110 + .../OperationStatusProperties.PowerShell.cs | 140 + ...OperationStatusProperties.TypeConverter.cs | 147 + .../Api20220601/OperationStatusProperties.cs | 35 + .../OperationStatusProperties.dictionary.cs | 75 + .../OperationStatusProperties.json.cs | 109 + .../Api20220601/RedisAccessKeys.PowerShell.cs | 152 + .../RedisAccessKeys.TypeConverter.cs | 147 + .../api/Models/Api20220601/RedisAccessKeys.cs | 80 + .../Api20220601/RedisAccessKeys.json.cs | 116 + .../RedisCommonProperties.PowerShell.cs | 208 + .../RedisCommonProperties.TypeConverter.cs | 147 + .../Api20220601/RedisCommonProperties.cs | 220 + .../Api20220601/RedisCommonProperties.json.cs | 124 + ...PropertiesRedisConfiguration.PowerShell.cs | 285 + ...pertiesRedisConfiguration.TypeConverter.cs | 151 + ...RedisCommonPropertiesRedisConfiguration.cs | 368 + ...PropertiesRedisConfiguration.dictionary.cs | 75 + ...CommonPropertiesRedisConfiguration.json.cs | 157 + ...mmonPropertiesTenantSettings.PowerShell.cs | 144 + ...nPropertiesTenantSettings.TypeConverter.cs | 149 + .../RedisCommonPropertiesTenantSettings.cs | 35 + ...mmonPropertiesTenantSettings.dictionary.cs | 75 + ...edisCommonPropertiesTenantSettings.json.cs | 110 + .../RedisCreateParameters.PowerShell.cs | 328 + .../RedisCreateParameters.TypeConverter.cs | 147 + .../Api20220601/RedisCreateParameters.cs | 459 + .../Api20220601/RedisCreateParameters.json.cs | 124 + .../RedisCreateParametersTags.PowerShell.cs | 140 + ...RedisCreateParametersTags.TypeConverter.cs | 147 + .../Api20220601/RedisCreateParametersTags.cs | 35 + .../RedisCreateParametersTags.dictionary.cs | 75 + .../RedisCreateParametersTags.json.cs | 109 + .../RedisCreateProperties.PowerShell.cs | 256 + .../RedisCreateProperties.TypeConverter.cs | 147 + .../Api20220601/RedisCreateProperties.cs | 212 + .../Api20220601/RedisCreateProperties.json.cs | 114 + .../RedisFirewallRule.PowerShell.cs | 186 + .../RedisFirewallRule.TypeConverter.cs | 147 + .../Models/Api20220601/RedisFirewallRule.cs | 119 + .../Api20220601/RedisFirewallRule.json.cs | 112 + ...FirewallRuleCreateParameters.PowerShell.cs | 192 + ...ewallRuleCreateParameters.TypeConverter.cs | 148 + .../RedisFirewallRuleCreateParameters.cs | 95 + .../RedisFirewallRuleCreateParameters.json.cs | 111 + .../RedisFirewallRuleListResult.PowerShell.cs | 152 + ...disFirewallRuleListResult.TypeConverter.cs | 147 + .../RedisFirewallRuleListResult.cs | 71 + .../RedisFirewallRuleListResult.json.cs | 121 + .../RedisFirewallRuleProperties.PowerShell.cs | 152 + ...disFirewallRuleProperties.TypeConverter.cs | 147 + .../RedisFirewallRuleProperties.cs | 68 + .../RedisFirewallRuleProperties.json.cs | 110 + .../RedisForceRebootResponse.PowerShell.cs | 144 + .../RedisForceRebootResponse.TypeConverter.cs | 147 + .../Api20220601/RedisForceRebootResponse.cs | 54 + .../RedisForceRebootResponse.json.cs | 111 + .../RedisInstanceDetails.PowerShell.cs | 184 + .../RedisInstanceDetails.TypeConverter.cs | 147 + .../Api20220601/RedisInstanceDetails.cs | 160 + .../Api20220601/RedisInstanceDetails.json.cs | 136 + .../RedisLinkedServer.PowerShell.cs | 144 + .../RedisLinkedServer.TypeConverter.cs | 147 + .../Models/Api20220601/RedisLinkedServer.cs | 54 + .../Api20220601/RedisLinkedServer.json.cs | 111 + ...LinkedServerCreateParameters.PowerShell.cs | 188 + ...kedServerCreateParameters.TypeConverter.cs | 148 + .../RedisLinkedServerCreateParameters.cs | 140 + .../RedisLinkedServerCreateParameters.json.cs | 108 + ...LinkedServerCreateProperties.PowerShell.cs | 180 + ...kedServerCreateProperties.TypeConverter.cs | 148 + .../RedisLinkedServerCreateProperties.cs | 143 + .../RedisLinkedServerCreateProperties.json.cs | 122 + .../RedisLinkedServerProperties.PowerShell.cs | 184 + ...disLinkedServerProperties.TypeConverter.cs | 147 + .../RedisLinkedServerProperties.cs | 105 + .../RedisLinkedServerProperties.json.cs | 113 + ...isLinkedServerWithProperties.PowerShell.cs | 218 + ...inkedServerWithProperties.TypeConverter.cs | 148 + .../RedisLinkedServerWithProperties.cs | 200 + .../RedisLinkedServerWithProperties.json.cs | 110 + ...nkedServerWithPropertiesList.PowerShell.cs | 156 + ...dServerWithPropertiesList.TypeConverter.cs | 149 + .../RedisLinkedServerWithPropertiesList.cs | 71 + ...edisLinkedServerWithPropertiesList.json.cs | 122 + .../Api20220601/RedisListResult.PowerShell.cs | 152 + .../RedisListResult.TypeConverter.cs | 147 + .../api/Models/Api20220601/RedisListResult.cs | 71 + .../Api20220601/RedisListResult.json.cs | 121 + .../RedisPatchSchedule.PowerShell.cs | 184 + .../RedisPatchSchedule.TypeConverter.cs | 147 + .../Models/Api20220601/RedisPatchSchedule.cs | 123 + .../Api20220601/RedisPatchSchedule.json.cs | 115 + ...RedisPatchScheduleListResult.PowerShell.cs | 152 + ...isPatchScheduleListResult.TypeConverter.cs | 147 + .../RedisPatchScheduleListResult.cs | 71 + .../RedisPatchScheduleListResult.json.cs | 121 + .../Api20220601/RedisProperties.PowerShell.cs | 336 + .../RedisProperties.TypeConverter.cs | 147 + .../api/Models/Api20220601/RedisProperties.cs | 328 + .../Api20220601/RedisProperties.json.cs | 172 + .../RedisRebootParameters.PowerShell.cs | 160 + .../RedisRebootParameters.TypeConverter.cs | 147 + .../Api20220601/RedisRebootParameters.cs | 91 + .../Api20220601/RedisRebootParameters.json.cs | 120 + ...RedisRegenerateKeyParameters.PowerShell.cs | 144 + ...isRegenerateKeyParameters.TypeConverter.cs | 147 + .../RedisRegenerateKeyParameters.cs | 51 + .../RedisRegenerateKeyParameters.json.cs | 108 + .../Api20220601/RedisResource.PowerShell.cs | 432 + .../RedisResource.TypeConverter.cs | 147 + .../api/Models/Api20220601/RedisResource.cs | 643 + .../Models/Api20220601/RedisResource.json.cs | 122 + .../RedisUpdateParameters.PowerShell.cs | 296 + .../RedisUpdateParameters.TypeConverter.cs | 147 + .../Api20220601/RedisUpdateParameters.cs | 382 + .../Api20220601/RedisUpdateParameters.json.cs | 112 + .../RedisUpdateParametersTags.PowerShell.cs | 140 + ...RedisUpdateParametersTags.TypeConverter.cs | 147 + .../Api20220601/RedisUpdateParametersTags.cs | 35 + .../RedisUpdateParametersTags.dictionary.cs | 75 + .../RedisUpdateParametersTags.json.cs | 109 + .../RedisUpdateProperties.PowerShell.cs | 240 + .../RedisUpdateProperties.TypeConverter.cs | 147 + .../Api20220601/RedisUpdateProperties.cs | 163 + .../Api20220601/RedisUpdateProperties.json.cs | 110 + .../Api20220601/ScheduleEntries.PowerShell.cs | 144 + .../ScheduleEntries.TypeConverter.cs | 147 + .../api/Models/Api20220601/ScheduleEntries.cs | 51 + .../Api20220601/ScheduleEntries.json.cs | 116 + .../Api20220601/ScheduleEntry.PowerShell.cs | 160 + .../ScheduleEntry.TypeConverter.cs | 147 + .../api/Models/Api20220601/ScheduleEntry.cs | 85 + .../Models/Api20220601/ScheduleEntry.json.cs | 112 + .../api/Models/Api20220601/Sku.PowerShell.cs | 160 + .../Models/Api20220601/Sku.TypeConverter.cs | 146 + .../generated/api/Models/Api20220601/Sku.cs | 94 + .../api/Models/Api20220601/Sku.json.cs | 112 + .../UpgradeNotification.PowerShell.cs | 160 + .../UpgradeNotification.TypeConverter.cs | 147 + .../Models/Api20220601/UpgradeNotification.cs | 94 + .../Api20220601/UpgradeNotification.json.cs | 121 + ...tificationUpsellNotification.PowerShell.cs | 145 + ...icationUpsellNotification.TypeConverter.cs | 150 + .../UpgradeNotificationUpsellNotification.cs | 35 + ...tificationUpsellNotification.dictionary.cs | 75 + ...radeNotificationUpsellNotification.json.cs | 110 + .../ErrorDetailAutoGenerated.PowerShell.cs | 176 + .../ErrorDetailAutoGenerated.TypeConverter.cs | 147 + .../Models/Api30/ErrorDetailAutoGenerated.cs | 134 + .../Api30/ErrorDetailAutoGenerated.json.cs | 147 + .../Api30/OperationStatusResult.PowerShell.cs | 240 + .../OperationStatusResult.TypeConverter.cs | 147 + .../api/Models/Api30/OperationStatusResult.cs | 250 + .../Api30/OperationStatusResult.json.cs | 130 + .../ManagedServiceIdentity.PowerShell.cs | 168 + .../ManagedServiceIdentity.TypeConverter.cs | 147 + .../Models/Api40/ManagedServiceIdentity.cs | 138 + .../Api40/ManagedServiceIdentity.json.cs | 120 + .../UserAssignedIdentities.PowerShell.cs | 146 + .../UserAssignedIdentities.TypeConverter.cs | 147 + .../Models/Api40/UserAssignedIdentities.cs | 43 + .../UserAssignedIdentities.dictionary.cs | 75 + .../Api40/UserAssignedIdentities.json.cs | 113 + .../Api40/UserAssignedIdentity.PowerShell.cs | 152 + .../UserAssignedIdentity.TypeConverter.cs | 147 + .../api/Models/Api40/UserAssignedIdentity.cs | 74 + .../Models/Api40/UserAssignedIdentity.json.cs | 116 + .../api/Models/RedisIdentity.PowerShell.cs | 222 + .../api/Models/RedisIdentity.TypeConverter.cs | 157 + .../generated/api/Models/RedisIdentity.cs | 227 + .../api/Models/RedisIdentity.json.cs | 125 + .../generated/api/RedisManagementClient.cs | 6505 +++++++++ .../api/Support/DayOfWeek.Completer.cs | 67 + .../api/Support/DayOfWeek.TypeConverter.cs | 59 + .../redis/generated/api/Support/DayOfWeek.cs | 112 + .../api/Support/DefaultName.Completer.cs | 35 + .../api/Support/DefaultName.TypeConverter.cs | 59 + .../generated/api/Support/DefaultName.cs | 95 + .../ManagedServiceIdentityType.Completer.cs | 49 + ...anagedServiceIdentityType.TypeConverter.cs | 61 + .../api/Support/ManagedServiceIdentityType.cs | 106 + ...ntConnectionProvisioningState.Completer.cs | 47 + ...nnectionProvisioningState.TypeConverter.cs | 59 + ...vateEndpointConnectionProvisioningState.cs | 112 + ...dpointServiceConnectionStatus.Completer.cs | 43 + ...ntServiceConnectionStatus.TypeConverter.cs | 59 + .../PrivateEndpointServiceConnectionStatus.cs | 106 + .../Support/ProvisioningState.Completer.cs | 79 + .../ProvisioningState.TypeConverter.cs | 59 + .../api/Support/ProvisioningState.cs | 118 + .../Support/PublicNetworkAccess.Completer.cs | 42 + .../PublicNetworkAccess.TypeConverter.cs | 62 + .../api/Support/PublicNetworkAccess.cs | 101 + .../api/Support/RebootType.Completer.cs | 43 + .../api/Support/RebootType.TypeConverter.cs | 59 + .../redis/generated/api/Support/RebootType.cs | 100 + .../api/Support/RedisKeyType.Completer.cs | 39 + .../api/Support/RedisKeyType.TypeConverter.cs | 59 + .../generated/api/Support/RedisKeyType.cs | 98 + .../api/Support/ReplicationRole.Completer.cs | 39 + .../Support/ReplicationRole.TypeConverter.cs | 59 + .../generated/api/Support/ReplicationRole.cs | 98 + .../api/Support/SkuFamily.Completer.cs | 39 + .../api/Support/SkuFamily.TypeConverter.cs | 59 + .../redis/generated/api/Support/SkuFamily.cs | 98 + .../api/Support/SkuName.Completer.cs | 43 + .../api/Support/SkuName.TypeConverter.cs | 59 + .../redis/generated/api/Support/SkuName.cs | 100 + .../api/Support/TlsVersion.Completer.cs | 45 + .../api/Support/TlsVersion.TypeConverter.cs | 61 + .../redis/generated/api/Support/TlsVersion.cs | 102 + .../cmdlets/ExportAzRedisData_Export.cs | 525 + .../ExportAzRedisData_ExportExpanded.cs | 562 + .../ExportAzRedisData_ExportViaIdentity.cs | 501 + ...rtAzRedisData_ExportViaIdentityExpanded.cs | 538 + .../GetAzRedisAsyncOperationStatus_Get.cs | 406 + ...edisAsyncOperationStatus_GetViaIdentity.cs | 382 + .../cmdlets/GetAzRedisFirewallRule_Get.cs | 420 + .../GetAzRedisFirewallRule_GetViaIdentity.cs | 386 + .../cmdlets/GetAzRedisFirewallRule_List.cs | 428 + .../generated/cmdlets/GetAzRedisKey_List.cs | 411 + .../cmdlets/GetAzRedisLinkedServer_Get.cs | 422 + .../GetAzRedisLinkedServer_GetViaIdentity.cs | 388 + .../cmdlets/GetAzRedisLinkedServer_List.cs | 430 + .../cmdlets/GetAzRedisOperation_List.cs | 377 + .../cmdlets/GetAzRedisPatchSchedule_Get.cs | 406 + .../GetAzRedisPatchSchedule_GetViaIdentity.cs | 382 + .../cmdlets/GetAzRedisPatchSchedule_List.cs | 428 + ...GetAzRedisPrivateEndpointConnection_Get.cs | 421 + ...rivateEndpointConnection_GetViaIdentity.cs | 386 + ...etAzRedisPrivateEndpointConnection_List.cs | 407 + .../GetAzRedisPrivateLinkResource_List.cs | 407 + .../GetAzRedisUpgradeNotification_List.cs | 442 + .../redis/generated/cmdlets/GetAzRedis_Get.cs | 404 + .../cmdlets/GetAzRedis_GetViaIdentity.cs | 382 + .../generated/cmdlets/GetAzRedis_List.cs | 412 + .../generated/cmdlets/GetAzRedis_List1.cs | 398 + .../cmdlets/ImportAzRedisData_Import.cs | 525 + .../ImportAzRedisData_ImportExpanded.cs | 552 + .../ImportAzRedisData_ImportViaIdentity.cs | 501 + ...rtAzRedisData_ImportViaIdentityExpanded.cs | 528 + .../NewAzRedisFirewallRule_CreateExpanded.cs | 483 + .../cmdlets/NewAzRedisKey_Regenerate.cs | 421 + .../NewAzRedisKey_RegenerateExpanded.cs | 423 + .../NewAzRedisKey_RegenerateViaIdentity.cs | 400 + ...zRedisKey_RegenerateViaIdentityExpanded.cs | 402 + .../NewAzRedisLinkedServer_CreateExpanded.cs | 525 + .../NewAzRedisPatchSchedule_CreateExpanded.cs | 457 + .../cmdlets/NewAzRedis_CreateExpanded.cs | 721 + .../RemoveAzRedisFirewallRule_Delete.cs | 459 + ...veAzRedisFirewallRule_DeleteViaIdentity.cs | 428 + .../RemoveAzRedisLinkedServer_Delete.cs | 492 + ...veAzRedisLinkedServer_DeleteViaIdentity.cs | 457 + .../RemoveAzRedisPatchSchedule_Delete.cs | 445 + ...eAzRedisPatchSchedule_DeleteViaIdentity.cs | 424 + ...AzRedisPrivateEndpointConnection_Delete.cs | 462 + ...ateEndpointConnection_DeleteViaIdentity.cs | 430 + .../generated/cmdlets/RemoveAzRedis_Delete.cs | 511 + .../RemoveAzRedis_DeleteViaIdentity.cs | 487 + .../cmdlets/RestartAzRedis_ForceReboot.cs | 422 + .../RestartAzRedis_ForceRebootExpanded.cs | 449 + .../RestartAzRedis_ForceRebootViaIdentity.cs | 401 + ...tAzRedis_ForceRebootViaIdentityExpanded.cs | 428 + .../TestAzRedisNameAvailability_Check.cs | 396 + ...stAzRedisNameAvailability_CheckExpanded.cs | 410 + ...zRedisNameAvailability_CheckViaIdentity.cs | 395 + ...meAvailability_CheckViaIdentityExpanded.cs | 409 + .../cmdlets/UpdateAzRedis_UpdateExpanded.cs | 669 + ...UpdateAzRedis_UpdateViaIdentityExpanded.cs | 645 + .../Az.Accounts/2.7.5/Accounts.format.ps1xml | 496 + .../2.7.5/Accounts.generated.format.ps1xml | 468 + .../Az.Accounts/2.7.5/Accounts.types.ps1xml | 303 + .../Az.Accounts/2.7.5/Az.Accounts.nuspec | 20 + .../Az.Accounts/2.7.5/Az.Accounts.psd1 | 387 + .../Az.Accounts/2.7.5/Az.Accounts.psm1 | 375 + .../AzSharedAlcAssemblies/Azure.Core.dll | Bin 0 -> 251816 bytes .../AzSharedAlcAssemblies/Azure.Identity.dll | Bin 0 -> 294288 bytes .../Microsoft.Bcl.AsyncInterfaces.dll | Bin 0 -> 20864 bytes ...rosoft.Identity.Client.Extensions.Msal.dll | Bin 0 -> 62472 bytes .../Microsoft.Identity.Client.dll | Bin 0 -> 1363896 bytes .../System.Memory.Data.dll | Bin 0 -> 21368 bytes .../System.Text.Json.dll | Bin 0 -> 293240 bytes .../modules/Az.Accounts/2.7.5/Hyak.Common.dll | Bin 0 -> 63880 bytes .../2.7.5/Microsoft.ApplicationInsights.dll | Bin 0 -> 336464 bytes .../2.7.5/Microsoft.Azure.Common.dll | Bin 0 -> 35720 bytes ...PowerShell.Authentication.Abstractions.dll | Bin 0 -> 119208 bytes ...l.Authentication.ResourceManager.deps.json | 2309 +++ ...erShell.Authentication.ResourceManager.dll | Bin 0 -> 79792 bytes ....Azure.PowerShell.Authentication.deps.json | 2273 +++ ...rosoft.Azure.PowerShell.Authentication.dll | Bin 0 -> 136096 bytes ...uthenticationAssemblyLoadContext.deps.json | 1316 ++ ...hell.AuthenticationAssemblyLoadContext.dll | Bin 0 -> 18344 bytes ...rosoft.Azure.PowerShell.Authenticators.dll | Bin 0 -> 85416 bytes ...Microsoft.Azure.PowerShell.Clients.Aks.dll | Bin 0 -> 90000 bytes ...Azure.PowerShell.Clients.Authorization.dll | Bin 0 -> 150928 bytes ...osoft.Azure.PowerShell.Clients.Compute.dll | Bin 0 -> 1419664 bytes ...ft.Azure.PowerShell.Clients.Graph.Rbac.dll | Bin 0 -> 759184 bytes ...soft.Azure.PowerShell.Clients.KeyVault.dll | Bin 0 -> 122792 bytes ...osoft.Azure.PowerShell.Clients.Monitor.dll | Bin 0 -> 413584 bytes ...osoft.Azure.PowerShell.Clients.Network.dll | Bin 0 -> 1688488 bytes ...zure.PowerShell.Clients.PolicyInsights.dll | Bin 0 -> 178064 bytes ...ure.PowerShell.Clients.ResourceManager.dll | Bin 0 -> 1220496 bytes ....PowerShell.Clients.Storage.Management.dll | Bin 0 -> 263080 bytes ...soft.Azure.PowerShell.Clients.Websites.dll | Bin 0 -> 3272080 bytes ...zure.PowerShell.Cmdlets.Accounts.deps.json | 2413 ++++ ...soft.Azure.PowerShell.Cmdlets.Accounts.dll | Bin 0 -> 461744 bytes ...e.PowerShell.Cmdlets.Accounts.dll-Help.xml | 11900 ++++++++++++++++ ...icrosoft.Azure.PowerShell.Common.Share.dll | Bin 0 -> 27048 bytes .../Microsoft.Azure.PowerShell.Common.dll | Bin 0 -> 276368 bytes .../Microsoft.Azure.PowerShell.Storage.dll | Bin 0 -> 20392 bytes .../Microsoft.Azure.PowerShell.Strategies.dll | Bin 0 -> 65424 bytes .../Microsoft.Rest.ClientRuntime.Azure.dll | Bin 0 -> 97872 bytes .../2.7.5/Microsoft.Rest.ClientRuntime.dll | Bin 0 -> 80248 bytes ...soft.WindowsAzure.Storage.DataMovement.dll | Bin 0 -> 302784 bytes .../2.7.5/Microsoft.WindowsAzure.Storage.dll | Bin 0 -> 784496 bytes .../PostImportScripts/LoadAuthenticators.ps1 | 219 + .../2.7.5/PreloadAssemblies/Azure.Core.dll | Bin 0 -> 259448 bytes .../PreloadAssemblies/Azure.Identity.dll | Bin 0 -> 294288 bytes ...rosoft.Azure.PowerShell.Authenticators.dll | Bin 0 -> 85416 bytes .../Microsoft.Bcl.AsyncInterfaces.dll | Bin 0 -> 20856 bytes ...rosoft.Identity.Client.Extensions.Msal.dll | Bin 0 -> 61944 bytes .../Microsoft.Identity.Client.dll | Bin 0 -> 1421752 bytes .../Newtonsoft.Json.12.0.3.dll | Bin 0 -> 702400 bytes .../PreloadAssemblies/Newtonsoft.Json.dll | Bin 0 -> 663992 bytes .../PreloadAssemblies/System.Buffers.dll | Bin 0 -> 28304 bytes .../System.Diagnostics.DiagnosticSource.dll | Bin 0 -> 49528 bytes .../PreloadAssemblies/System.Memory.Data.dll | Bin 0 -> 21880 bytes .../2.7.5/PreloadAssemblies/System.Memory.dll | Bin 0 -> 148760 bytes .../System.Net.Http.WinHttpHandler.dll | Bin 0 -> 117656 bytes .../System.Numerics.Vectors.dll | Bin 0 -> 115856 bytes .../System.Private.ServiceModel.dll | Bin 0 -> 2318920 bytes .../System.Reflection.DispatchProxy.dll | Bin 0 -> 24992 bytes ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 16760 bytes .../System.Security.AccessControl.dll | Bin 0 -> 54416 bytes .../System.Security.Cryptography.Cng.dll | Bin 0 -> 23976 bytes .../System.Security.Permissions.dll | Bin 0 -> 96400 bytes .../System.Security.Principal.Windows.dll | Bin 0 -> 39056 bytes .../System.ServiceModel.Primitives.dll | Bin 0 -> 21576 bytes .../System.Text.Encodings.Web.dll | Bin 0 -> 59768 bytes .../PreloadAssemblies/System.Text.Json.dll | Bin 0 -> 293248 bytes .../System.Threading.Tasks.Extensions.dll | Bin 0 -> 25984 bytes .../System.Xml.ReaderWriter.dll | Bin 0 -> 606592 bytes .../2.7.5/StartupScripts/AzError.ps1 | 278 + .../InitializeAssemblyResolver.ps1 | 234 + .../Az.Accounts/2.7.5/[Content_Types].xml | 14 + .../modules/Az.Accounts/2.7.5/_rels/.rels | 5 + .../Az.Accounts/2.7.5/en-US/about_az.help.txt | 50 + .../1aa0749a068a4238881858013f1a5b7f.psmdcp | 11 + .../generated/runtime/AsyncCommandRuntime.cs | 832 ++ swaggerci/redis/generated/runtime/AsyncJob.cs | 270 + .../runtime/AsyncOperationResponse.cs | 176 + .../BuildTime/Cmdlets/ExportCmdletSurface.cs | 113 + .../BuildTime/Cmdlets/ExportExampleStub.cs | 74 + .../BuildTime/Cmdlets/ExportFormatPs1xml.cs | 101 + .../BuildTime/Cmdlets/ExportHelpMarkdown.cs | 53 + .../BuildTime/Cmdlets/ExportModelSurface.cs | 117 + .../BuildTime/Cmdlets/ExportProxyCmdlet.cs | 169 + .../runtime/BuildTime/Cmdlets/ExportPsd1.cs | 191 + .../BuildTime/Cmdlets/ExportTestStub.cs | 148 + .../BuildTime/Cmdlets/GetCommonParameter.cs | 52 + .../BuildTime/Cmdlets/GetModuleGuid.cs | 31 + .../BuildTime/Cmdlets/GetScriptCmdlet.cs | 54 + .../runtime/BuildTime/CollectionExtensions.cs | 20 + .../runtime/BuildTime/MarkdownRenderer.cs | 114 + .../runtime/BuildTime/Models/PsFormatTypes.cs | 138 + .../BuildTime/Models/PsHelpMarkdownOutputs.cs | 199 + .../runtime/BuildTime/Models/PsHelpTypes.cs | 202 + .../BuildTime/Models/PsMarkdownTypes.cs | 294 + .../BuildTime/Models/PsProxyOutputs.cs | 611 + .../runtime/BuildTime/Models/PsProxyTypes.cs | 514 + .../runtime/BuildTime/PsAttributes.cs | 114 + .../runtime/BuildTime/PsExtensions.cs | 169 + .../generated/runtime/BuildTime/PsHelpers.cs | 105 + .../runtime/BuildTime/StringExtensions.cs | 24 + .../runtime/BuildTime/XmlExtensions.cs | 28 + .../redis/generated/runtime/CmdInfoHandler.cs | 40 + .../Conversions/ConversionException.cs | 17 + .../runtime/Conversions/IJsonConverter.cs | 13 + .../Conversions/Instances/BinaryConverter.cs | 24 + .../Conversions/Instances/BooleanConverter.cs | 13 + .../Instances/DateTimeConverter.cs | 18 + .../Instances/DateTimeOffsetConverter.cs | 15 + .../Conversions/Instances/DecimalConverter.cs | 16 + .../Conversions/Instances/DoubleConverter.cs | 13 + .../Conversions/Instances/EnumConverter.cs | 30 + .../Conversions/Instances/GuidConverter.cs | 15 + .../Instances/HashSet'1Converter.cs | 27 + .../Conversions/Instances/Int16Converter.cs | 13 + .../Conversions/Instances/Int32Converter.cs | 13 + .../Conversions/Instances/Int64Converter.cs | 13 + .../Instances/JsonArrayConverter.cs | 13 + .../Instances/JsonObjectConverter.cs | 13 + .../Conversions/Instances/SingleConverter.cs | 13 + .../Conversions/Instances/StringConverter.cs | 13 + .../Instances/TimeSpanConverter.cs | 15 + .../Conversions/Instances/UInt16Converter.cs | 13 + .../Conversions/Instances/UInt32Converter.cs | 13 + .../Conversions/Instances/UInt64Converter.cs | 13 + .../Conversions/Instances/UriConverter.cs | 15 + .../runtime/Conversions/JsonConverter.cs | 21 + .../Conversions/JsonConverterAttribute.cs | 18 + .../Conversions/JsonConverterFactory.cs | 91 + .../Conversions/StringLikeConverter.cs | 45 + .../Customizations/IJsonSerializable.cs | 263 + .../runtime/Customizations/JsonArray.cs | 13 + .../runtime/Customizations/JsonBoolean.cs | 16 + .../runtime/Customizations/JsonNode.cs | 21 + .../runtime/Customizations/JsonNumber.cs | 78 + .../runtime/Customizations/JsonObject.cs | 183 + .../runtime/Customizations/JsonString.cs | 34 + .../runtime/Customizations/XNodeArray.cs | 44 + .../redis/generated/runtime/Debugging.cs | 28 + .../generated/runtime/DictionaryExtensions.cs | 33 + .../redis/generated/runtime/EventData.cs | 78 + .../generated/runtime/EventDataExtensions.cs | 94 + .../redis/generated/runtime/EventListener.cs | 247 + swaggerci/redis/generated/runtime/Events.cs | 27 + .../generated/runtime/EventsExtensions.cs | 27 + .../redis/generated/runtime/Extensions.cs | 117 + .../Extensions/StringBuilderExtensions.cs | 23 + .../Helpers/Extensions/TypeExtensions.cs | 61 + .../generated/runtime/Helpers/Seperator.cs | 11 + .../generated/runtime/Helpers/TypeDetails.cs | 116 + .../generated/runtime/Helpers/XHelper.cs | 75 + .../redis/generated/runtime/HttpPipeline.cs | 88 + .../generated/runtime/HttpPipelineMocking.ps1 | 110 + .../generated/runtime/IAssociativeArray.cs | 24 + .../generated/runtime/IHeaderSerializable.cs | 14 + .../redis/generated/runtime/ISendAsync.cs | 300 + .../redis/generated/runtime/InfoAttribute.cs | 34 + .../redis/generated/runtime/Iso/IsoDate.cs | 214 + swaggerci/redis/generated/runtime/JsonType.cs | 18 + .../generated/runtime/MessageAttribute.cs | 360 + .../runtime/MessageAttributeHelper.cs | 161 + swaggerci/redis/generated/runtime/Method.cs | 19 + .../generated/runtime/Models/JsonMember.cs | 83 + .../generated/runtime/Models/JsonModel.cs | 89 + .../runtime/Models/JsonModelCache.cs | 19 + .../runtime/Nodes/Collections/JsonArray.cs | 65 + .../Nodes/Collections/XImmutableArray.cs | 62 + .../runtime/Nodes/Collections/XList.cs | 64 + .../runtime/Nodes/Collections/XNodeArray.cs | 68 + .../runtime/Nodes/Collections/XSet.cs | 60 + .../generated/runtime/Nodes/JsonBoolean.cs | 42 + .../redis/generated/runtime/Nodes/JsonDate.cs | 173 + .../redis/generated/runtime/Nodes/JsonNode.cs | 250 + .../generated/runtime/Nodes/JsonNumber.cs | 109 + .../generated/runtime/Nodes/JsonObject.cs | 172 + .../generated/runtime/Nodes/JsonString.cs | 42 + .../redis/generated/runtime/Nodes/XBinary.cs | 40 + .../redis/generated/runtime/Nodes/XNull.cs | 15 + .../Parser/Exceptions/ParseException.cs | 24 + .../generated/runtime/Parser/JsonParser.cs | 180 + .../generated/runtime/Parser/JsonToken.cs | 66 + .../generated/runtime/Parser/JsonTokenizer.cs | 177 + .../generated/runtime/Parser/Location.cs | 43 + .../runtime/Parser/Readers/SourceReader.cs | 130 + .../generated/runtime/Parser/TokenReader.cs | 39 + .../generated/runtime/PipelineMocking.cs | 262 + .../runtime/Properties/Resources.Designer.cs | 5633 ++++++++ .../runtime/Properties/Resources.resx | 1741 +++ swaggerci/redis/generated/runtime/Response.cs | 27 + .../runtime/Serialization/JsonSerializer.cs | 350 + .../Serialization/PropertyTransformation.cs | 21 + .../Serialization/SerializationOptions.cs | 65 + .../generated/runtime/SerializationMode.cs | 16 + .../runtime/TypeConverterExtensions.cs | 211 + .../runtime/UndeclaredResponseException.cs | 112 + .../generated/runtime/Writers/JsonWriter.cs | 223 + .../redis/generated/runtime/delegates.cs | 23 + swaggerci/redis/how-to.md | 58 + .../redis/internal/Az.Redis.internal.psm1 | 38 + .../redis/internal/Get-AzRedisOperation.ps1 | 116 + .../redis/internal/ProxyCmdletDefinitions.ps1 | 116 + swaggerci/redis/internal/README.md | 14 + swaggerci/redis/license.txt | 227 + swaggerci/redis/pack-module.ps1 | 9 + swaggerci/redis/readme.md | 10 + swaggerci/redis/resources/README.md | 11 + swaggerci/redis/run-module.ps1 | 54 + swaggerci/redis/test-module.ps1 | 86 + .../redis/test/Export-AzRedisData.Tests.ps1 | 33 + swaggerci/redis/test/Get-AzRedis.Tests.ps1 | 33 + .../Get-AzRedisAsyncOperationStatus.Tests.ps1 | 25 + .../test/Get-AzRedisFirewallRule.Tests.ps1 | 29 + swaggerci/redis/test/Get-AzRedisKey.Tests.ps1 | 21 + .../test/Get-AzRedisLinkedServer.Tests.ps1 | 29 + .../test/Get-AzRedisPatchSchedule.Tests.ps1 | 29 + ...AzRedisPrivateEndpointConnection.Tests.ps1 | 29 + .../Get-AzRedisPrivateLinkResource.Tests.ps1 | 21 + .../Get-AzRedisUpgradeNotification.Tests.ps1 | 21 + .../redis/test/Import-AzRedisData.Tests.ps1 | 33 + swaggerci/redis/test/New-AzRedis.Tests.ps1 | 21 + .../test/New-AzRedisFirewallRule.Tests.ps1 | 21 + swaggerci/redis/test/New-AzRedisKey.Tests.ps1 | 33 + .../test/New-AzRedisLinkedServer.Tests.ps1 | 21 + .../test/New-AzRedisPatchSchedule.Tests.ps1 | 21 + swaggerci/redis/test/README.md | 17 + swaggerci/redis/test/Remove-AzRedis.Tests.ps1 | 25 + .../test/Remove-AzRedisFirewallRule.Tests.ps1 | 25 + .../test/Remove-AzRedisLinkedServer.Tests.ps1 | 25 + .../Remove-AzRedisPatchSchedule.Tests.ps1 | 25 + ...AzRedisPrivateEndpointConnection.Tests.ps1 | 25 + .../redis/test/Restart-AzRedis.Tests.ps1 | 33 + .../Test-AzRedisNameAvailability.Tests.ps1 | 33 + swaggerci/redis/test/Update-AzRedis.Tests.ps1 | 25 + swaggerci/redis/test/loadEnv.ps1 | 21 + swaggerci/redis/test/utils.ps1 | 31 + .../redis/utils/Unprotect-SecureString.ps1 | 16 + 699 files changed, 136988 insertions(+) create mode 100644 swaggerci/redis/.gitattributes create mode 100644 swaggerci/redis/.gitignore create mode 100644 swaggerci/redis/Az.Redis.csproj create mode 100644 swaggerci/redis/Az.Redis.format.ps1xml create mode 100644 swaggerci/redis/Az.Redis.nuspec create mode 100644 swaggerci/redis/Az.Redis.psd1 create mode 100644 swaggerci/redis/Az.Redis.psm1 create mode 100644 swaggerci/redis/MSSharedLibKey.snk create mode 100644 swaggerci/redis/README.md create mode 100644 swaggerci/redis/build-module.ps1 create mode 100644 swaggerci/redis/check-dependencies.ps1 create mode 100644 swaggerci/redis/create-model-cmdlets.ps1 create mode 100644 swaggerci/redis/custom/Az.Redis.custom.psm1 create mode 100644 swaggerci/redis/custom/README.md create mode 100644 swaggerci/redis/docs/Az.Redis.md create mode 100644 swaggerci/redis/docs/Export-AzRedisData.md create mode 100644 swaggerci/redis/docs/Get-AzRedis.md create mode 100644 swaggerci/redis/docs/Get-AzRedisAsyncOperationStatus.md create mode 100644 swaggerci/redis/docs/Get-AzRedisFirewallRule.md create mode 100644 swaggerci/redis/docs/Get-AzRedisKey.md create mode 100644 swaggerci/redis/docs/Get-AzRedisLinkedServer.md create mode 100644 swaggerci/redis/docs/Get-AzRedisPatchSchedule.md create mode 100644 swaggerci/redis/docs/Get-AzRedisPrivateEndpointConnection.md create mode 100644 swaggerci/redis/docs/Get-AzRedisPrivateLinkResource.md create mode 100644 swaggerci/redis/docs/Get-AzRedisUpgradeNotification.md create mode 100644 swaggerci/redis/docs/Import-AzRedisData.md create mode 100644 swaggerci/redis/docs/New-AzRedis.md create mode 100644 swaggerci/redis/docs/New-AzRedisFirewallRule.md create mode 100644 swaggerci/redis/docs/New-AzRedisKey.md create mode 100644 swaggerci/redis/docs/New-AzRedisLinkedServer.md create mode 100644 swaggerci/redis/docs/New-AzRedisPatchSchedule.md create mode 100644 swaggerci/redis/docs/README.md create mode 100644 swaggerci/redis/docs/Remove-AzRedis.md create mode 100644 swaggerci/redis/docs/Remove-AzRedisFirewallRule.md create mode 100644 swaggerci/redis/docs/Remove-AzRedisLinkedServer.md create mode 100644 swaggerci/redis/docs/Remove-AzRedisPatchSchedule.md create mode 100644 swaggerci/redis/docs/Remove-AzRedisPrivateEndpointConnection.md create mode 100644 swaggerci/redis/docs/Restart-AzRedis.md create mode 100644 swaggerci/redis/docs/Test-AzRedisNameAvailability.md create mode 100644 swaggerci/redis/docs/Update-AzRedis.md create mode 100644 swaggerci/redis/examples/Export-AzRedisData.md create mode 100644 swaggerci/redis/examples/Get-AzRedis.md create mode 100644 swaggerci/redis/examples/Get-AzRedisAsyncOperationStatus.md create mode 100644 swaggerci/redis/examples/Get-AzRedisFirewallRule.md create mode 100644 swaggerci/redis/examples/Get-AzRedisKey.md create mode 100644 swaggerci/redis/examples/Get-AzRedisLinkedServer.md create mode 100644 swaggerci/redis/examples/Get-AzRedisPatchSchedule.md create mode 100644 swaggerci/redis/examples/Get-AzRedisPrivateEndpointConnection.md create mode 100644 swaggerci/redis/examples/Get-AzRedisPrivateLinkResource.md create mode 100644 swaggerci/redis/examples/Get-AzRedisUpgradeNotification.md create mode 100644 swaggerci/redis/examples/Import-AzRedisData.md create mode 100644 swaggerci/redis/examples/New-AzRedis.md create mode 100644 swaggerci/redis/examples/New-AzRedisFirewallRule.md create mode 100644 swaggerci/redis/examples/New-AzRedisKey.md create mode 100644 swaggerci/redis/examples/New-AzRedisLinkedServer.md create mode 100644 swaggerci/redis/examples/New-AzRedisPatchSchedule.md create mode 100644 swaggerci/redis/examples/Remove-AzRedis.md create mode 100644 swaggerci/redis/examples/Remove-AzRedisFirewallRule.md create mode 100644 swaggerci/redis/examples/Remove-AzRedisLinkedServer.md create mode 100644 swaggerci/redis/examples/Remove-AzRedisPatchSchedule.md create mode 100644 swaggerci/redis/examples/Remove-AzRedisPrivateEndpointConnection.md create mode 100644 swaggerci/redis/examples/Restart-AzRedis.md create mode 100644 swaggerci/redis/examples/Test-AzRedisNameAvailability.md create mode 100644 swaggerci/redis/examples/Update-AzRedis.md create mode 100644 swaggerci/redis/export-surface.ps1 create mode 100644 swaggerci/redis/exports/Export-AzRedisData.ps1 create mode 100644 swaggerci/redis/exports/Get-AzRedis.ps1 create mode 100644 swaggerci/redis/exports/Get-AzRedisAsyncOperationStatus.ps1 create mode 100644 swaggerci/redis/exports/Get-AzRedisFirewallRule.ps1 create mode 100644 swaggerci/redis/exports/Get-AzRedisKey.ps1 create mode 100644 swaggerci/redis/exports/Get-AzRedisLinkedServer.ps1 create mode 100644 swaggerci/redis/exports/Get-AzRedisPatchSchedule.ps1 create mode 100644 swaggerci/redis/exports/Get-AzRedisPrivateEndpointConnection.ps1 create mode 100644 swaggerci/redis/exports/Get-AzRedisPrivateLinkResource.ps1 create mode 100644 swaggerci/redis/exports/Get-AzRedisUpgradeNotification.ps1 create mode 100644 swaggerci/redis/exports/Import-AzRedisData.ps1 create mode 100644 swaggerci/redis/exports/New-AzRedis.ps1 create mode 100644 swaggerci/redis/exports/New-AzRedisFirewallRule.ps1 create mode 100644 swaggerci/redis/exports/New-AzRedisKey.ps1 create mode 100644 swaggerci/redis/exports/New-AzRedisLinkedServer.ps1 create mode 100644 swaggerci/redis/exports/New-AzRedisPatchSchedule.ps1 create mode 100644 swaggerci/redis/exports/ProxyCmdletDefinitions.ps1 create mode 100644 swaggerci/redis/exports/README.md create mode 100644 swaggerci/redis/exports/Remove-AzRedis.ps1 create mode 100644 swaggerci/redis/exports/Remove-AzRedisFirewallRule.ps1 create mode 100644 swaggerci/redis/exports/Remove-AzRedisLinkedServer.ps1 create mode 100644 swaggerci/redis/exports/Remove-AzRedisPatchSchedule.ps1 create mode 100644 swaggerci/redis/exports/Remove-AzRedisPrivateEndpointConnection.ps1 create mode 100644 swaggerci/redis/exports/Restart-AzRedis.ps1 create mode 100644 swaggerci/redis/exports/Test-AzRedisNameAvailability.ps1 create mode 100644 swaggerci/redis/exports/Update-AzRedis.ps1 create mode 100644 swaggerci/redis/generate-help.ps1 create mode 100644 swaggerci/redis/generated/Module.cs create mode 100644 swaggerci/redis/generated/api/Models/Any.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Any.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Any.cs create mode 100644 swaggerci/redis/generated/api/Models/Any.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateEndpoint.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateEndpoint.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateEndpoint.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateEndpoint.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnection.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnection.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnection.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnection.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionListResult.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionListResult.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionListResult.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionListResult.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionProperties.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionProperties.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionProperties.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionProperties.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateLinkResource.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateLinkResource.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateLinkResource.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateLinkResource.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceListResult.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceListResult.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceListResult.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceListResult.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceProperties.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceProperties.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceProperties.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceProperties.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateLinkServiceConnectionState.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateLinkServiceConnectionState.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateLinkServiceConnectionState.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/PrivateLinkServiceConnectionState.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/Resource.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/Resource.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/Resource.cs create mode 100644 swaggerci/redis/generated/api/Models/Api10/Resource.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/ErrorAdditionalInfo.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/ErrorAdditionalInfo.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/ErrorAdditionalInfo.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/ErrorAdditionalInfo.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/ErrorDetail.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/ErrorDetail.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/ErrorDetail.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/ErrorDetail.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/ErrorResponse.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/ErrorResponse.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/ErrorResponse.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/ErrorResponse.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/ProxyResource.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/ProxyResource.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/ProxyResource.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/ProxyResource.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/TrackedResource.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/TrackedResource.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/TrackedResource.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/TrackedResource.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.dictionary.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/CheckNameAvailabilityParameters.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/CheckNameAvailabilityParameters.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/CheckNameAvailabilityParameters.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/CheckNameAvailabilityParameters.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/ExportRdbParameters.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/ExportRdbParameters.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/ExportRdbParameters.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/ExportRdbParameters.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/ImportRdbParameters.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/ImportRdbParameters.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/ImportRdbParameters.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/ImportRdbParameters.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/NotificationListResponse.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/NotificationListResponse.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/NotificationListResponse.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/NotificationListResponse.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/Operation.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/Operation.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/Operation.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/Operation.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/OperationDisplay.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/OperationDisplay.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/OperationDisplay.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/OperationDisplay.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/OperationListResult.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/OperationListResult.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/OperationListResult.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/OperationListResult.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/OperationStatus.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/OperationStatus.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/OperationStatus.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/OperationStatus.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.dictionary.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisAccessKeys.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisAccessKeys.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisAccessKeys.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisAccessKeys.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCommonProperties.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCommonProperties.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCommonProperties.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCommonProperties.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.dictionary.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.dictionary.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParameters.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParameters.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParameters.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParameters.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.dictionary.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCreateProperties.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCreateProperties.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCreateProperties.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisCreateProperties.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRule.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRule.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRule.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRule.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleCreateParameters.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleCreateParameters.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleCreateParameters.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleCreateParameters.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleListResult.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleListResult.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleListResult.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleListResult.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleProperties.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleProperties.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleProperties.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleProperties.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisForceRebootResponse.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisForceRebootResponse.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisForceRebootResponse.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisForceRebootResponse.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisInstanceDetails.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisInstanceDetails.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisInstanceDetails.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisInstanceDetails.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServer.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServer.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServer.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServer.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateParameters.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateParameters.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateParameters.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateParameters.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateProperties.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateProperties.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateProperties.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateProperties.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerProperties.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerProperties.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerProperties.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerProperties.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithProperties.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithProperties.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithProperties.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithProperties.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithPropertiesList.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithPropertiesList.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithPropertiesList.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithPropertiesList.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisListResult.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisListResult.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisListResult.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisListResult.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisPatchSchedule.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisPatchSchedule.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisPatchSchedule.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisPatchSchedule.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisPatchScheduleListResult.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisPatchScheduleListResult.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisPatchScheduleListResult.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisPatchScheduleListResult.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisProperties.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisProperties.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisProperties.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisProperties.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisRebootParameters.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisRebootParameters.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisRebootParameters.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisRebootParameters.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisRegenerateKeyParameters.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisRegenerateKeyParameters.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisRegenerateKeyParameters.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisRegenerateKeyParameters.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisResource.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisResource.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisResource.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisResource.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParameters.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParameters.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParameters.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParameters.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.dictionary.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateProperties.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateProperties.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateProperties.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateProperties.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntries.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntries.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntries.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntries.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntry.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntry.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntry.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntry.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/Sku.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/Sku.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/Sku.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/Sku.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotification.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotification.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotification.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotification.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.dictionary.cs create mode 100644 swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api30/ErrorDetailAutoGenerated.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api30/ErrorDetailAutoGenerated.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api30/ErrorDetailAutoGenerated.cs create mode 100644 swaggerci/redis/generated/api/Models/Api30/ErrorDetailAutoGenerated.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api30/OperationStatusResult.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api30/OperationStatusResult.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api30/OperationStatusResult.cs create mode 100644 swaggerci/redis/generated/api/Models/Api30/OperationStatusResult.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api40/ManagedServiceIdentity.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api40/ManagedServiceIdentity.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api40/ManagedServiceIdentity.cs create mode 100644 swaggerci/redis/generated/api/Models/Api40/ManagedServiceIdentity.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.cs create mode 100644 swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.dictionary.cs create mode 100644 swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.json.cs create mode 100644 swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentity.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentity.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentity.cs create mode 100644 swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentity.json.cs create mode 100644 swaggerci/redis/generated/api/Models/RedisIdentity.PowerShell.cs create mode 100644 swaggerci/redis/generated/api/Models/RedisIdentity.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Models/RedisIdentity.cs create mode 100644 swaggerci/redis/generated/api/Models/RedisIdentity.json.cs create mode 100644 swaggerci/redis/generated/api/RedisManagementClient.cs create mode 100644 swaggerci/redis/generated/api/Support/DayOfWeek.Completer.cs create mode 100644 swaggerci/redis/generated/api/Support/DayOfWeek.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Support/DayOfWeek.cs create mode 100644 swaggerci/redis/generated/api/Support/DefaultName.Completer.cs create mode 100644 swaggerci/redis/generated/api/Support/DefaultName.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Support/DefaultName.cs create mode 100644 swaggerci/redis/generated/api/Support/ManagedServiceIdentityType.Completer.cs create mode 100644 swaggerci/redis/generated/api/Support/ManagedServiceIdentityType.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Support/ManagedServiceIdentityType.cs create mode 100644 swaggerci/redis/generated/api/Support/PrivateEndpointConnectionProvisioningState.Completer.cs create mode 100644 swaggerci/redis/generated/api/Support/PrivateEndpointConnectionProvisioningState.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Support/PrivateEndpointConnectionProvisioningState.cs create mode 100644 swaggerci/redis/generated/api/Support/PrivateEndpointServiceConnectionStatus.Completer.cs create mode 100644 swaggerci/redis/generated/api/Support/PrivateEndpointServiceConnectionStatus.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Support/PrivateEndpointServiceConnectionStatus.cs create mode 100644 swaggerci/redis/generated/api/Support/ProvisioningState.Completer.cs create mode 100644 swaggerci/redis/generated/api/Support/ProvisioningState.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Support/ProvisioningState.cs create mode 100644 swaggerci/redis/generated/api/Support/PublicNetworkAccess.Completer.cs create mode 100644 swaggerci/redis/generated/api/Support/PublicNetworkAccess.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Support/PublicNetworkAccess.cs create mode 100644 swaggerci/redis/generated/api/Support/RebootType.Completer.cs create mode 100644 swaggerci/redis/generated/api/Support/RebootType.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Support/RebootType.cs create mode 100644 swaggerci/redis/generated/api/Support/RedisKeyType.Completer.cs create mode 100644 swaggerci/redis/generated/api/Support/RedisKeyType.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Support/RedisKeyType.cs create mode 100644 swaggerci/redis/generated/api/Support/ReplicationRole.Completer.cs create mode 100644 swaggerci/redis/generated/api/Support/ReplicationRole.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Support/ReplicationRole.cs create mode 100644 swaggerci/redis/generated/api/Support/SkuFamily.Completer.cs create mode 100644 swaggerci/redis/generated/api/Support/SkuFamily.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Support/SkuFamily.cs create mode 100644 swaggerci/redis/generated/api/Support/SkuName.Completer.cs create mode 100644 swaggerci/redis/generated/api/Support/SkuName.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Support/SkuName.cs create mode 100644 swaggerci/redis/generated/api/Support/TlsVersion.Completer.cs create mode 100644 swaggerci/redis/generated/api/Support/TlsVersion.TypeConverter.cs create mode 100644 swaggerci/redis/generated/api/Support/TlsVersion.cs create mode 100644 swaggerci/redis/generated/cmdlets/ExportAzRedisData_Export.cs create mode 100644 swaggerci/redis/generated/cmdlets/ExportAzRedisData_ExportExpanded.cs create mode 100644 swaggerci/redis/generated/cmdlets/ExportAzRedisData_ExportViaIdentity.cs create mode 100644 swaggerci/redis/generated/cmdlets/ExportAzRedisData_ExportViaIdentityExpanded.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedisAsyncOperationStatus_Get.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedisAsyncOperationStatus_GetViaIdentity.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedisFirewallRule_Get.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedisFirewallRule_GetViaIdentity.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedisFirewallRule_List.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedisKey_List.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedisLinkedServer_Get.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedisLinkedServer_GetViaIdentity.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedisLinkedServer_List.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedisOperation_List.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedisPatchSchedule_Get.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedisPatchSchedule_GetViaIdentity.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedisPatchSchedule_List.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedisPrivateEndpointConnection_Get.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedisPrivateEndpointConnection_GetViaIdentity.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedisPrivateEndpointConnection_List.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedisPrivateLinkResource_List.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedisUpgradeNotification_List.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedis_Get.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedis_GetViaIdentity.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedis_List.cs create mode 100644 swaggerci/redis/generated/cmdlets/GetAzRedis_List1.cs create mode 100644 swaggerci/redis/generated/cmdlets/ImportAzRedisData_Import.cs create mode 100644 swaggerci/redis/generated/cmdlets/ImportAzRedisData_ImportExpanded.cs create mode 100644 swaggerci/redis/generated/cmdlets/ImportAzRedisData_ImportViaIdentity.cs create mode 100644 swaggerci/redis/generated/cmdlets/ImportAzRedisData_ImportViaIdentityExpanded.cs create mode 100644 swaggerci/redis/generated/cmdlets/NewAzRedisFirewallRule_CreateExpanded.cs create mode 100644 swaggerci/redis/generated/cmdlets/NewAzRedisKey_Regenerate.cs create mode 100644 swaggerci/redis/generated/cmdlets/NewAzRedisKey_RegenerateExpanded.cs create mode 100644 swaggerci/redis/generated/cmdlets/NewAzRedisKey_RegenerateViaIdentity.cs create mode 100644 swaggerci/redis/generated/cmdlets/NewAzRedisKey_RegenerateViaIdentityExpanded.cs create mode 100644 swaggerci/redis/generated/cmdlets/NewAzRedisLinkedServer_CreateExpanded.cs create mode 100644 swaggerci/redis/generated/cmdlets/NewAzRedisPatchSchedule_CreateExpanded.cs create mode 100644 swaggerci/redis/generated/cmdlets/NewAzRedis_CreateExpanded.cs create mode 100644 swaggerci/redis/generated/cmdlets/RemoveAzRedisFirewallRule_Delete.cs create mode 100644 swaggerci/redis/generated/cmdlets/RemoveAzRedisFirewallRule_DeleteViaIdentity.cs create mode 100644 swaggerci/redis/generated/cmdlets/RemoveAzRedisLinkedServer_Delete.cs create mode 100644 swaggerci/redis/generated/cmdlets/RemoveAzRedisLinkedServer_DeleteViaIdentity.cs create mode 100644 swaggerci/redis/generated/cmdlets/RemoveAzRedisPatchSchedule_Delete.cs create mode 100644 swaggerci/redis/generated/cmdlets/RemoveAzRedisPatchSchedule_DeleteViaIdentity.cs create mode 100644 swaggerci/redis/generated/cmdlets/RemoveAzRedisPrivateEndpointConnection_Delete.cs create mode 100644 swaggerci/redis/generated/cmdlets/RemoveAzRedisPrivateEndpointConnection_DeleteViaIdentity.cs create mode 100644 swaggerci/redis/generated/cmdlets/RemoveAzRedis_Delete.cs create mode 100644 swaggerci/redis/generated/cmdlets/RemoveAzRedis_DeleteViaIdentity.cs create mode 100644 swaggerci/redis/generated/cmdlets/RestartAzRedis_ForceReboot.cs create mode 100644 swaggerci/redis/generated/cmdlets/RestartAzRedis_ForceRebootExpanded.cs create mode 100644 swaggerci/redis/generated/cmdlets/RestartAzRedis_ForceRebootViaIdentity.cs create mode 100644 swaggerci/redis/generated/cmdlets/RestartAzRedis_ForceRebootViaIdentityExpanded.cs create mode 100644 swaggerci/redis/generated/cmdlets/TestAzRedisNameAvailability_Check.cs create mode 100644 swaggerci/redis/generated/cmdlets/TestAzRedisNameAvailability_CheckExpanded.cs create mode 100644 swaggerci/redis/generated/cmdlets/TestAzRedisNameAvailability_CheckViaIdentity.cs create mode 100644 swaggerci/redis/generated/cmdlets/TestAzRedisNameAvailability_CheckViaIdentityExpanded.cs create mode 100644 swaggerci/redis/generated/cmdlets/UpdateAzRedis_UpdateExpanded.cs create mode 100644 swaggerci/redis/generated/cmdlets/UpdateAzRedis_UpdateViaIdentityExpanded.cs create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Accounts.format.ps1xml create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Accounts.generated.format.ps1xml create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Accounts.types.ps1xml create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Az.Accounts.nuspec create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Az.Accounts.psd1 create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Az.Accounts.psm1 create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Azure.Core.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Azure.Identity.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Microsoft.Bcl.AsyncInterfaces.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Microsoft.Identity.Client.Extensions.Msal.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Microsoft.Identity.Client.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/System.Memory.Data.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/System.Text.Json.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Hyak.Common.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.ApplicationInsights.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.Common.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.Abstractions.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.ResourceManager.deps.json create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.ResourceManager.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.deps.json create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext.deps.json create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authenticators.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Aks.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Authorization.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Compute.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Graph.Rbac.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.KeyVault.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Monitor.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Network.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.PolicyInsights.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.ResourceManager.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Storage.Management.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Websites.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Cmdlets.Accounts.deps.json create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Cmdlets.Accounts.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Cmdlets.Accounts.dll-Help.xml create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Common.Share.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Common.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Storage.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Strategies.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Rest.ClientRuntime.Azure.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Rest.ClientRuntime.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.WindowsAzure.Storage.DataMovement.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.WindowsAzure.Storage.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PostImportScripts/LoadAuthenticators.ps1 create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Azure.Core.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Azure.Identity.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Azure.PowerShell.Authenticators.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Bcl.AsyncInterfaces.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Identity.Client.Extensions.Msal.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Identity.Client.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Newtonsoft.Json.12.0.3.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Newtonsoft.Json.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Buffers.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Diagnostics.DiagnosticSource.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Memory.Data.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Memory.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Net.Http.WinHttpHandler.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Numerics.Vectors.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Private.ServiceModel.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Reflection.DispatchProxy.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Runtime.CompilerServices.Unsafe.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Security.AccessControl.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Security.Cryptography.Cng.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Security.Permissions.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Security.Principal.Windows.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.ServiceModel.Primitives.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Text.Encodings.Web.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Text.Json.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Threading.Tasks.Extensions.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Xml.ReaderWriter.dll create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/StartupScripts/AzError.ps1 create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/StartupScripts/InitializeAssemblyResolver.ps1 create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/[Content_Types].xml create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/_rels/.rels create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/en-US/about_az.help.txt create mode 100644 swaggerci/redis/generated/modules/Az.Accounts/2.7.5/package/services/metadata/core-properties/1aa0749a068a4238881858013f1a5b7f.psmdcp create mode 100644 swaggerci/redis/generated/runtime/AsyncCommandRuntime.cs create mode 100644 swaggerci/redis/generated/runtime/AsyncJob.cs create mode 100644 swaggerci/redis/generated/runtime/AsyncOperationResponse.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportCmdletSurface.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportExampleStub.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportFormatPs1xml.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportHelpMarkdown.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportModelSurface.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportProxyCmdlet.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportPsd1.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportTestStub.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/Cmdlets/GetCommonParameter.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/Cmdlets/GetModuleGuid.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/Cmdlets/GetScriptCmdlet.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/CollectionExtensions.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/MarkdownRenderer.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/Models/PsFormatTypes.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/Models/PsHelpMarkdownOutputs.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/Models/PsHelpTypes.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/Models/PsMarkdownTypes.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/Models/PsProxyOutputs.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/Models/PsProxyTypes.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/PsAttributes.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/PsExtensions.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/PsHelpers.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/StringExtensions.cs create mode 100644 swaggerci/redis/generated/runtime/BuildTime/XmlExtensions.cs create mode 100644 swaggerci/redis/generated/runtime/CmdInfoHandler.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/ConversionException.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/IJsonConverter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/BinaryConverter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/BooleanConverter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/DateTimeConverter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/DateTimeOffsetConverter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/DecimalConverter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/DoubleConverter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/EnumConverter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/GuidConverter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/HashSet'1Converter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/Int16Converter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/Int32Converter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/Int64Converter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/JsonArrayConverter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/JsonObjectConverter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/SingleConverter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/StringConverter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/TimeSpanConverter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/UInt16Converter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/UInt32Converter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/UInt64Converter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/Instances/UriConverter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/JsonConverter.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/JsonConverterAttribute.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/JsonConverterFactory.cs create mode 100644 swaggerci/redis/generated/runtime/Conversions/StringLikeConverter.cs create mode 100644 swaggerci/redis/generated/runtime/Customizations/IJsonSerializable.cs create mode 100644 swaggerci/redis/generated/runtime/Customizations/JsonArray.cs create mode 100644 swaggerci/redis/generated/runtime/Customizations/JsonBoolean.cs create mode 100644 swaggerci/redis/generated/runtime/Customizations/JsonNode.cs create mode 100644 swaggerci/redis/generated/runtime/Customizations/JsonNumber.cs create mode 100644 swaggerci/redis/generated/runtime/Customizations/JsonObject.cs create mode 100644 swaggerci/redis/generated/runtime/Customizations/JsonString.cs create mode 100644 swaggerci/redis/generated/runtime/Customizations/XNodeArray.cs create mode 100644 swaggerci/redis/generated/runtime/Debugging.cs create mode 100644 swaggerci/redis/generated/runtime/DictionaryExtensions.cs create mode 100644 swaggerci/redis/generated/runtime/EventData.cs create mode 100644 swaggerci/redis/generated/runtime/EventDataExtensions.cs create mode 100644 swaggerci/redis/generated/runtime/EventListener.cs create mode 100644 swaggerci/redis/generated/runtime/Events.cs create mode 100644 swaggerci/redis/generated/runtime/EventsExtensions.cs create mode 100644 swaggerci/redis/generated/runtime/Extensions.cs create mode 100644 swaggerci/redis/generated/runtime/Helpers/Extensions/StringBuilderExtensions.cs create mode 100644 swaggerci/redis/generated/runtime/Helpers/Extensions/TypeExtensions.cs create mode 100644 swaggerci/redis/generated/runtime/Helpers/Seperator.cs create mode 100644 swaggerci/redis/generated/runtime/Helpers/TypeDetails.cs create mode 100644 swaggerci/redis/generated/runtime/Helpers/XHelper.cs create mode 100644 swaggerci/redis/generated/runtime/HttpPipeline.cs create mode 100644 swaggerci/redis/generated/runtime/HttpPipelineMocking.ps1 create mode 100644 swaggerci/redis/generated/runtime/IAssociativeArray.cs create mode 100644 swaggerci/redis/generated/runtime/IHeaderSerializable.cs create mode 100644 swaggerci/redis/generated/runtime/ISendAsync.cs create mode 100644 swaggerci/redis/generated/runtime/InfoAttribute.cs create mode 100644 swaggerci/redis/generated/runtime/Iso/IsoDate.cs create mode 100644 swaggerci/redis/generated/runtime/JsonType.cs create mode 100644 swaggerci/redis/generated/runtime/MessageAttribute.cs create mode 100644 swaggerci/redis/generated/runtime/MessageAttributeHelper.cs create mode 100644 swaggerci/redis/generated/runtime/Method.cs create mode 100644 swaggerci/redis/generated/runtime/Models/JsonMember.cs create mode 100644 swaggerci/redis/generated/runtime/Models/JsonModel.cs create mode 100644 swaggerci/redis/generated/runtime/Models/JsonModelCache.cs create mode 100644 swaggerci/redis/generated/runtime/Nodes/Collections/JsonArray.cs create mode 100644 swaggerci/redis/generated/runtime/Nodes/Collections/XImmutableArray.cs create mode 100644 swaggerci/redis/generated/runtime/Nodes/Collections/XList.cs create mode 100644 swaggerci/redis/generated/runtime/Nodes/Collections/XNodeArray.cs create mode 100644 swaggerci/redis/generated/runtime/Nodes/Collections/XSet.cs create mode 100644 swaggerci/redis/generated/runtime/Nodes/JsonBoolean.cs create mode 100644 swaggerci/redis/generated/runtime/Nodes/JsonDate.cs create mode 100644 swaggerci/redis/generated/runtime/Nodes/JsonNode.cs create mode 100644 swaggerci/redis/generated/runtime/Nodes/JsonNumber.cs create mode 100644 swaggerci/redis/generated/runtime/Nodes/JsonObject.cs create mode 100644 swaggerci/redis/generated/runtime/Nodes/JsonString.cs create mode 100644 swaggerci/redis/generated/runtime/Nodes/XBinary.cs create mode 100644 swaggerci/redis/generated/runtime/Nodes/XNull.cs create mode 100644 swaggerci/redis/generated/runtime/Parser/Exceptions/ParseException.cs create mode 100644 swaggerci/redis/generated/runtime/Parser/JsonParser.cs create mode 100644 swaggerci/redis/generated/runtime/Parser/JsonToken.cs create mode 100644 swaggerci/redis/generated/runtime/Parser/JsonTokenizer.cs create mode 100644 swaggerci/redis/generated/runtime/Parser/Location.cs create mode 100644 swaggerci/redis/generated/runtime/Parser/Readers/SourceReader.cs create mode 100644 swaggerci/redis/generated/runtime/Parser/TokenReader.cs create mode 100644 swaggerci/redis/generated/runtime/PipelineMocking.cs create mode 100644 swaggerci/redis/generated/runtime/Properties/Resources.Designer.cs create mode 100644 swaggerci/redis/generated/runtime/Properties/Resources.resx create mode 100644 swaggerci/redis/generated/runtime/Response.cs create mode 100644 swaggerci/redis/generated/runtime/Serialization/JsonSerializer.cs create mode 100644 swaggerci/redis/generated/runtime/Serialization/PropertyTransformation.cs create mode 100644 swaggerci/redis/generated/runtime/Serialization/SerializationOptions.cs create mode 100644 swaggerci/redis/generated/runtime/SerializationMode.cs create mode 100644 swaggerci/redis/generated/runtime/TypeConverterExtensions.cs create mode 100644 swaggerci/redis/generated/runtime/UndeclaredResponseException.cs create mode 100644 swaggerci/redis/generated/runtime/Writers/JsonWriter.cs create mode 100644 swaggerci/redis/generated/runtime/delegates.cs create mode 100644 swaggerci/redis/how-to.md create mode 100644 swaggerci/redis/internal/Az.Redis.internal.psm1 create mode 100644 swaggerci/redis/internal/Get-AzRedisOperation.ps1 create mode 100644 swaggerci/redis/internal/ProxyCmdletDefinitions.ps1 create mode 100644 swaggerci/redis/internal/README.md create mode 100644 swaggerci/redis/license.txt create mode 100644 swaggerci/redis/pack-module.ps1 create mode 100644 swaggerci/redis/readme.md create mode 100644 swaggerci/redis/resources/README.md create mode 100644 swaggerci/redis/run-module.ps1 create mode 100644 swaggerci/redis/test-module.ps1 create mode 100644 swaggerci/redis/test/Export-AzRedisData.Tests.ps1 create mode 100644 swaggerci/redis/test/Get-AzRedis.Tests.ps1 create mode 100644 swaggerci/redis/test/Get-AzRedisAsyncOperationStatus.Tests.ps1 create mode 100644 swaggerci/redis/test/Get-AzRedisFirewallRule.Tests.ps1 create mode 100644 swaggerci/redis/test/Get-AzRedisKey.Tests.ps1 create mode 100644 swaggerci/redis/test/Get-AzRedisLinkedServer.Tests.ps1 create mode 100644 swaggerci/redis/test/Get-AzRedisPatchSchedule.Tests.ps1 create mode 100644 swaggerci/redis/test/Get-AzRedisPrivateEndpointConnection.Tests.ps1 create mode 100644 swaggerci/redis/test/Get-AzRedisPrivateLinkResource.Tests.ps1 create mode 100644 swaggerci/redis/test/Get-AzRedisUpgradeNotification.Tests.ps1 create mode 100644 swaggerci/redis/test/Import-AzRedisData.Tests.ps1 create mode 100644 swaggerci/redis/test/New-AzRedis.Tests.ps1 create mode 100644 swaggerci/redis/test/New-AzRedisFirewallRule.Tests.ps1 create mode 100644 swaggerci/redis/test/New-AzRedisKey.Tests.ps1 create mode 100644 swaggerci/redis/test/New-AzRedisLinkedServer.Tests.ps1 create mode 100644 swaggerci/redis/test/New-AzRedisPatchSchedule.Tests.ps1 create mode 100644 swaggerci/redis/test/README.md create mode 100644 swaggerci/redis/test/Remove-AzRedis.Tests.ps1 create mode 100644 swaggerci/redis/test/Remove-AzRedisFirewallRule.Tests.ps1 create mode 100644 swaggerci/redis/test/Remove-AzRedisLinkedServer.Tests.ps1 create mode 100644 swaggerci/redis/test/Remove-AzRedisPatchSchedule.Tests.ps1 create mode 100644 swaggerci/redis/test/Remove-AzRedisPrivateEndpointConnection.Tests.ps1 create mode 100644 swaggerci/redis/test/Restart-AzRedis.Tests.ps1 create mode 100644 swaggerci/redis/test/Test-AzRedisNameAvailability.Tests.ps1 create mode 100644 swaggerci/redis/test/Update-AzRedis.Tests.ps1 create mode 100644 swaggerci/redis/test/loadEnv.ps1 create mode 100644 swaggerci/redis/test/utils.ps1 create mode 100644 swaggerci/redis/utils/Unprotect-SecureString.ps1 diff --git a/swaggerci/redis/.gitattributes b/swaggerci/redis/.gitattributes new file mode 100644 index 000000000000..2125666142eb --- /dev/null +++ b/swaggerci/redis/.gitattributes @@ -0,0 +1 @@ +* text=auto \ No newline at end of file diff --git a/swaggerci/redis/.gitignore b/swaggerci/redis/.gitignore new file mode 100644 index 000000000000..7998f37e1e47 --- /dev/null +++ b/swaggerci/redis/.gitignore @@ -0,0 +1,5 @@ +bin +obj +.vs +tools +test/*-TestResults.xml \ No newline at end of file diff --git a/swaggerci/redis/Az.Redis.csproj b/swaggerci/redis/Az.Redis.csproj new file mode 100644 index 000000000000..4022b104c5a0 --- /dev/null +++ b/swaggerci/redis/Az.Redis.csproj @@ -0,0 +1,44 @@ + + + + 0.1.0 + 7.1 + netstandard2.0 + Library + Az.Redis.private + Microsoft.Azure.PowerShell.Cmdlets.Redis + true + false + ./bin + $(OutputPath) + Az.Redis.nuspec + true + + + 1998, 1591 + true + + + + + false + TRACE;DEBUG;NETSTANDARD + + + + true + true + MSSharedLibKey.snk + TRACE;RELEASE;NETSTANDARD;SIGN + + + + + + + + + $(DefaultItemExcludes);resources/** + + + \ No newline at end of file diff --git a/swaggerci/redis/Az.Redis.format.ps1xml b/swaggerci/redis/Az.Redis.format.ps1xml new file mode 100644 index 000000000000..ed6f422f7a2a --- /dev/null +++ b/swaggerci/redis/Az.Redis.format.ps1xml @@ -0,0 +1,2095 @@ + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.RedisIdentity + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.RedisIdentity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CacheName + + + Default + + + Id + + + LinkedServerName + + + Location + + + Name + + + OperationId + + + PrivateEndpointConnectionName + + + ResourceGroupName + + + RuleName + + + SubscriptionId + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.ManagedServiceIdentity + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.ManagedServiceIdentity + + + + + + + + + + + + + + + + + + PrincipalId + + + TenantId + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.UserAssignedIdentity + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.UserAssignedIdentity + + + + + + + + + + + + + + + ClientId + + + PrincipalId + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.ErrorDetailAutoGenerated + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.ErrorDetailAutoGenerated + + + + + + + + + + + + + + + + + + Code + + + Message + + + Target + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.OperationStatusResult + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.OperationStatusResult + + + + + + + + + + + + + + + + + + + + + + + + + + + EndTime + + + Id + + + Name + + + PercentComplete + + + StartTime + + + Status + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.CheckNameAvailabilityParameters + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.CheckNameAvailabilityParameters + + + + + + + + + + + + + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ExportRdbParameters + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ExportRdbParameters + + + + + + + + + + + + + + + + + + + + + Container + + + Format + + + PreferredDataArchiveAuthMethod + + + Prefix + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ImportRdbParameters + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ImportRdbParameters + + + + + + + + + + + + + + + + + + File + + + Format + + + PreferredDataArchiveAuthMethod + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.NotificationListResponse + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.NotificationListResponse + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.Operation + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.Operation + + + + + + + + + + + + Name + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationDisplay + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationDisplay + + + + + + + + + + + + + + + + + + + + + Description + + + Operation + + + Provider + + + Resource + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationListResult + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationListResult + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationStatus + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationStatus + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Code + + + EndTime + + + Id + + + Message + + + Name + + + PercentComplete + + + StartTime + + + Status + + + Target + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisAccessKeys + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisAccessKeys + + + + + + + + + + + + + + + PrimaryKey + + + SecondaryKey + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonProperties + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + EnableNonSslPort + + + MinimumTlsVersion + + + PublicNetworkAccess + + + RedisVersion + + + ReplicasPerMaster + + + ReplicasPerPrimary + + + ShardCount + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesRedisConfiguration + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesRedisConfiguration + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AofBackupEnabled + + + AofStorageConnectionString0 + + + AofStorageConnectionString1 + + + Authnotrequired + + + Maxclient + + + MaxfragmentationmemoryReserved + + + MaxmemoryDelta + + + MaxmemoryPolicy + + + MaxmemoryReserved + + + NotifyKeyspaceEvent + + + PreferredDataArchiveAuthMethod + + + PreferredDataPersistenceAuthMethod + + + RdbBackupEnabled + + + RdbBackupFrequency + + + RdbBackupMaxSnapshotCount + + + RdbStorageConnectionString + + + ZonalConfiguration + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesTenantSettings + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesTenantSettings + + + + + + + + + + + + Item + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCreateParameters + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCreateParameters + + + + + + + + + + + + + + + Location + + + Zone + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCreateParametersTags + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCreateParametersTags + + + + + + + + + + + + Item + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCreateProperties + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCreateProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + EnableNonSslPort + + + MinimumTlsVersion + + + PublicNetworkAccess + + + RedisVersion + + + ReplicasPerMaster + + + ReplicasPerPrimary + + + ShardCount + + + StaticIP + + + SubnetId + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRule + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRule + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRuleCreateParameters + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRuleCreateParameters + + + + + + + + + + + + + + + + + + + + + + + + EndIP + + + Id + + + Name + + + StartIP + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRuleListResult + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRuleListResult + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRuleProperties + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRuleProperties + + + + + + + + + + + + + + + EndIP + + + StartIP + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisForceRebootResponse + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisForceRebootResponse + + + + + + + + + + + + Message + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisInstanceDetails + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisInstanceDetails + + + + + + + + + + + + + + + + + + + + + + + + + + + IsMaster + + + IsPrimary + + + NonSslPort + + + ShardId + + + SslPort + + + Zone + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServer + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServer + + + + + + + + + + + + Id + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerCreateProperties + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerCreateProperties + + + + + + + + + + + + + + + + + + + + + + + + GeoReplicatedPrimaryHostName + + + LinkedRedisCacheId + + + LinkedRedisCacheLocation + + + PrimaryHostName + + + ServerRole + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerProperties + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + GeoReplicatedPrimaryHostName + + + LinkedRedisCacheId + + + LinkedRedisCacheLocation + + + PrimaryHostName + + + ServerRole + + + ProvisioningState + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerWithProperties + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerWithProperties + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerWithPropertiesList + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerWithPropertiesList + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisListResult + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisListResult + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisPatchSchedule + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisPatchSchedule + + + + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + Location + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisPatchScheduleListResult + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisPatchScheduleListResult + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisProperties + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + EnableNonSslPort + + + MinimumTlsVersion + + + PublicNetworkAccess + + + RedisVersion + + + ReplicasPerMaster + + + ReplicasPerPrimary + + + ShardCount + + + SkuCapacity + + + SkuFamily + + + SkuName + + + StaticIP + + + SubnetId + + + HostName + + + Port + + + ProvisioningState + + + SslPort + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisRebootParameters + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisRebootParameters + + + + + + + + + + + + + + + + + + Port + + + RebootType + + + ShardId + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisRegenerateKeyParameters + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisRegenerateKeyParameters + + + + + + + + + + + + KeyType + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisResource + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisResource + + + + + + + + + + + + + + + + + + + + + + + + Id + + + Location + + + Name + + + Type + + + Zone + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisUpdateParametersTags + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisUpdateParametersTags + + + + + + + + + + + + Item + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisUpdateProperties + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisUpdateProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + EnableNonSslPort + + + MinimumTlsVersion + + + PublicNetworkAccess + + + RedisVersion + + + ReplicasPerMaster + + + ReplicasPerPrimary + + + ShardCount + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ScheduleEntry + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ScheduleEntry + + + + + + + + + + + + + + + DayOfWeek + + + StartHourUtc + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.Sku + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.Sku + + + + + + + + + + + + + + + + + + Capacity + + + Family + + + Name + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.UpgradeNotification + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.UpgradeNotification + + + + + + + + + + + + + + + Name + + + Timestamp + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.UpgradeNotificationUpsellNotification + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.UpgradeNotificationUpsellNotification + + + + + + + + + + + + Item + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorAdditionalInfo + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorAdditionalInfo + + + + + + + + + + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorDetail + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorDetail + + + + + + + + + + + + + + + + + + Code + + + Message + + + Target + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ProxyResource + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ProxyResource + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.TrackedResource + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.TrackedResource + + + + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + Location + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.TrackedResourceTags + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.TrackedResourceTags + + + + + + + + + + + + Item + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpoint + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpoint + + + + + + + + + + + + Id + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnection + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnection + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnectionProperties + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnectionProperties + + + + + + + + + + + + ProvisioningState + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkResource + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkResource + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkResourceProperties + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkResourceProperties + + + + + + + + + + + + + + + + + + GroupId + + + RequiredMember + + + RequiredZoneName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkServiceConnectionState + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkServiceConnectionState + + + + + + + + + + + + + + + + + + ActionsRequired + + + Description + + + Status + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.Resource + + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.Resource + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + \ No newline at end of file diff --git a/swaggerci/redis/Az.Redis.nuspec b/swaggerci/redis/Az.Redis.nuspec new file mode 100644 index 000000000000..f6ca9a449bd8 --- /dev/null +++ b/swaggerci/redis/Az.Redis.nuspec @@ -0,0 +1,32 @@ + + + + Az.Redis + 0.1.0 + Microsoft Corporation + Microsoft Corporation + true + https://aka.ms/azps-license + https://github.com/Azure/azure-powershell + Microsoft Azure PowerShell: $(service-name) cmdlets + + Microsoft Corporation. All rights reserved. + Azure ResourceManager ARM PSModule $(service-name) + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/swaggerci/redis/Az.Redis.psd1 b/swaggerci/redis/Az.Redis.psd1 new file mode 100644 index 000000000000..1ae44ab28112 --- /dev/null +++ b/swaggerci/redis/Az.Redis.psd1 @@ -0,0 +1,24 @@ +@{ + GUID = 'de254928-8c9a-4556-80d5-b821628913fc' + RootModule = './Az.Redis.psm1' + ModuleVersion = '0.1.0' + CompatiblePSEditions = 'Core', 'Desktop' + Author = 'Microsoft Corporation' + CompanyName = 'Microsoft Corporation' + Copyright = 'Microsoft Corporation. All rights reserved.' + Description = 'Microsoft Azure PowerShell: Redis cmdlets' + PowerShellVersion = '5.1' + DotNetFrameworkVersion = '4.7.2' + RequiredAssemblies = './bin/Az.Redis.private.dll' + FormatsToProcess = './Az.Redis.format.ps1xml' + FunctionsToExport = 'Export-AzRedisData', 'Get-AzRedis', 'Get-AzRedisAsyncOperationStatus', 'Get-AzRedisFirewallRule', 'Get-AzRedisKey', 'Get-AzRedisLinkedServer', 'Get-AzRedisPatchSchedule', 'Get-AzRedisPrivateEndpointConnection', 'Get-AzRedisPrivateLinkResource', 'Get-AzRedisUpgradeNotification', 'Import-AzRedisData', 'New-AzRedis', 'New-AzRedisFirewallRule', 'New-AzRedisKey', 'New-AzRedisLinkedServer', 'New-AzRedisPatchSchedule', 'Remove-AzRedis', 'Remove-AzRedisFirewallRule', 'Remove-AzRedisLinkedServer', 'Remove-AzRedisPatchSchedule', 'Remove-AzRedisPrivateEndpointConnection', 'Restart-AzRedis', 'Test-AzRedisNameAvailability', 'Update-AzRedis', '*' + AliasesToExport = '*' + PrivateData = @{ + PSData = @{ + Tags = 'Azure', 'ResourceManager', 'ARM', 'PSModule', 'Redis' + LicenseUri = 'https://aka.ms/azps-license' + ProjectUri = 'https://github.com/Azure/azure-powershell' + ReleaseNotes = '' + } + } +} diff --git a/swaggerci/redis/Az.Redis.psm1 b/swaggerci/redis/Az.Redis.psm1 new file mode 100644 index 000000000000..d52646714e24 --- /dev/null +++ b/swaggerci/redis/Az.Redis.psm1 @@ -0,0 +1,107 @@ +# region Generated + # ---------------------------------------------------------------------------------- + # Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. + # ---------------------------------------------------------------------------------- + # Load required Az.Accounts module + $accountsName = 'Az.Accounts' + $accountsModule = Get-Module -Name $accountsName + if(-not $accountsModule) { + $localAccountsPath = Join-Path $PSScriptRoot 'generated/modules' + if(Test-Path -Path $localAccountsPath) { + $localAccounts = Get-ChildItem -Path $localAccountsPath -Recurse -Include 'Az.Accounts.psd1' | Select-Object -Last 1 + if($localAccounts) { + $accountsModule = Import-Module -Name ($localAccounts.FullName) -Scope Global -PassThru + } + } + if(-not $accountsModule) { + $hasAdequateVersion = (Get-Module -Name $accountsName -ListAvailable | Where-Object { $_.Version -ge [System.Version]'2.7.5' } | Measure-Object).Count -gt 0 + if($hasAdequateVersion) { + $accountsModule = Import-Module -Name $accountsName -MinimumVersion 2.7.5 -Scope Global -PassThru + } + } + } + + if(-not $accountsModule) { + Write-Error "`nThis module requires $accountsName version 2.7.5 or greater. For installation instructions, please see: https://docs.microsoft.com/powershell/azure/install-az-ps" -ErrorAction Stop + } elseif (($accountsModule.Version -lt [System.Version]'2.7.5') -and (-not $localAccounts)) { + Write-Error "`nThis module requires $accountsName version 2.7.5 or greater. An earlier version of Az.Accounts is imported in the current PowerShell session. If you are running test, please try to add the switch '-RegenerateSupportModule' when executing 'test-module.ps1'. Otherwise please open a new PowerShell session and import this module again.`nAdditionally, this error could indicate that multiple incompatible versions of Azure PowerShell modules are installed on your system. For troubleshooting information, please see: https://aka.ms/azps-version-error" -ErrorAction Stop + } + Write-Information "Loaded Module '$($accountsModule.Name)'" + + # Load the private module dll + $null = Import-Module -Name (Join-Path $PSScriptRoot './bin/Az.Redis.private.dll') + + # Get the private module's instance + $instance = [Microsoft.Azure.PowerShell.Cmdlets.Redis.Module]::Instance + + # Ask for the shared functionality table + $VTable = Register-AzModule + + # Tweaks the pipeline on module load + $instance.OnModuleLoad = $VTable.OnModuleLoad + + # Following two delegates are added for telemetry + $instance.GetTelemetryId = $VTable.GetTelemetryId + $instance.Telemetry = $VTable.Telemetry + + + # Tweaks the pipeline per call + $instance.OnNewRequest = $VTable.OnNewRequest + + # Gets shared parameter values + $instance.GetParameterValue = $VTable.GetParameterValue + + # Allows shared module to listen to events from this module + $instance.EventListener = $VTable.EventListener + + # Gets shared argument completers + $instance.ArgumentCompleter = $VTable.ArgumentCompleter + + # The name of the currently selected Azure profile + $instance.ProfileName = $VTable.ProfileName + + + # Load the custom module + $customModulePath = Join-Path $PSScriptRoot './custom/Az.Redis.custom.psm1' + if(Test-Path $customModulePath) { + $null = Import-Module -Name $customModulePath + } + + # Export nothing to clear implicit exports + Export-ModuleMember + + # Export proxy cmdlet scripts + $exportsPath = Join-Path $PSScriptRoot './exports' + $directories = Get-ChildItem -Directory -Path $exportsPath + $profileDirectory = $null + if($instance.ProfileName) { + if(($directories | ForEach-Object { $_.Name }) -contains $instance.ProfileName) { + $profileDirectory = $directories | Where-Object { $_.Name -eq $instance.ProfileName } + } else { + # Don't export anything if the profile doesn't exist for the module + $exportsPath = $null + Write-Warning "Selected Azure profile '$($instance.ProfileName)' does not exist for module '$($instance.Name)'. No cmdlets were loaded." + } + } elseif(($directories | Measure-Object).Count -gt 0) { + # Load the last folder if no profile is selected + $profileDirectory = $directories | Select-Object -Last 1 + } + + if($profileDirectory) { + Write-Information "Loaded Azure profile '$($profileDirectory.Name)' for module '$($instance.Name)'" + $exportsPath = $profileDirectory.FullName + } + + if($exportsPath) { + Get-ChildItem -Path $exportsPath -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName } + $cmdletNames = Get-ScriptCmdlet -ScriptFolder $exportsPath + Export-ModuleMember -Function $cmdletNames -Alias (Get-ScriptCmdlet -ScriptFolder $exportsPath -AsAlias) + } + + # Finalize initialization of this module + $instance.Init(); + Write-Information "Loaded Module '$($instance.Name)'" +# endregion diff --git a/swaggerci/redis/MSSharedLibKey.snk b/swaggerci/redis/MSSharedLibKey.snk new file mode 100644 index 0000000000000000000000000000000000000000..695f1b38774e839e5b90059bfb7f32df1dff4223 GIT binary patch literal 160 zcmV;R0AK$ABme*efB*oL000060ssI2Bme+XQ$aBR1ONa50098C{E+7Ye`kjtcRG*W zi8#m|)B?I?xgZ^2Sw5D;l4TxtPwG;3)3^j?qDHjEteSTF{rM+4WI`v zCD?tsZ^;k+S&r1&HRMb=j738S=;J$tCKNrc$@P|lZ +# Az.Redis +This directory contains the PowerShell module for the Redis service. + +--- +## Status +[![Az.Redis](https://img.shields.io/powershellgallery/v/Az.Redis.svg?style=flat-square&label=Az.Redis "Az.Redis")](https://www.powershellgallery.com/packages/Az.Redis/) + +## Info +- Modifiable: yes +- Generated: all +- Committed: yes +- Packaged: yes + +--- +## Detail +This module was primarily generated via [AutoRest](https://github.com/Azure/autorest) using the [PowerShell](https://github.com/Azure/autorest.powershell) extension. + +## Module Requirements +- [Az.Accounts module](https://www.powershellgallery.com/packages/Az.Accounts/), version 2.7.5 or greater + +## Authentication +AutoRest does not generate authentication code for the module. Authentication is handled via Az.Accounts by altering the HTTP payload before it is sent. + +## Development +For information on how to develop for `Az.Redis`, see [how-to.md](how-to.md). + diff --git a/swaggerci/redis/build-module.ps1 b/swaggerci/redis/build-module.ps1 new file mode 100644 index 000000000000..49e207d0e279 --- /dev/null +++ b/swaggerci/redis/build-module.ps1 @@ -0,0 +1,153 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- +param([switch]$Isolated, [switch]$Run, [switch]$Test, [switch]$Docs, [switch]$Pack, [switch]$Code, [switch]$Release, [switch]$Debugger, [switch]$NoDocs) +$ErrorActionPreference = 'Stop' + +if($PSEdition -ne 'Core') { + Write-Error 'This script requires PowerShell Core to execute. [Note] Generated cmdlets will work in both PowerShell Core or Windows PowerShell.' +} + +if(-not $Isolated -and -not $Debugger) { + Write-Host -ForegroundColor Green 'Creating isolated process...' + $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path + & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -Isolated + + if($LastExitCode -ne 0) { + # Build failed. Don't attempt to run the module. + return + } + + if($Test) { + . (Join-Path $PSScriptRoot 'test-module.ps1') + if($LastExitCode -ne 0) { + # Tests failed. Don't attempt to run the module. + return + } + } + + if($Docs) { + . (Join-Path $PSScriptRoot 'generate-help.ps1') + if($LastExitCode -ne 0) { + # Docs generation failed. Don't attempt to run the module. + return + } + } + + if($Pack) { + . (Join-Path $PSScriptRoot 'pack-module.ps1') + if($LastExitCode -ne 0) { + # Packing failed. Don't attempt to run the module. + return + } + } + + $runModulePath = Join-Path $PSScriptRoot 'run-module.ps1' + if($Code) { + . $runModulePath -Code + } elseif($Run) { + . $runModulePath + } else { + Write-Host -ForegroundColor Cyan "To run this module in an isolated PowerShell session, run the 'run-module.ps1' script or provide the '-Run' parameter to this script." + } + return +} + +$binFolder = Join-Path $PSScriptRoot 'bin' +$objFolder = Join-Path $PSScriptRoot 'obj' + +if(-not $Debugger) { + Write-Host -ForegroundColor Green 'Cleaning build folders...' + $null = Remove-Item -Recurse -ErrorAction SilentlyContinue -Path $binFolder, $objFolder + + if((Test-Path $binFolder) -or (Test-Path $objFolder)) { + Write-Host -ForegroundColor Cyan 'Did you forget to exit your isolated module session before rebuilding?' + Write-Error 'Unable to clean ''bin'' or ''obj'' folder. A process may have an open handle.' + } + + Write-Host -ForegroundColor Green 'Compiling module...' + $buildConfig = 'Debug' + if($Release) { + $buildConfig = 'Release' + } + dotnet publish $PSScriptRoot --verbosity quiet --configuration $buildConfig /nologo + if($LastExitCode -ne 0) { + Write-Error 'Compilation failed.' + } + + $null = Remove-Item -Recurse -ErrorAction SilentlyContinue -Path (Join-Path $binFolder 'Debug'), (Join-Path $binFolder 'Release') +} + +$dll = Join-Path $PSScriptRoot 'bin/Az.Redis.private.dll' +if(-not (Test-Path $dll)) { + Write-Error "Unable to find output assembly in '$binFolder'." +} + +# Load DLL to use build-time cmdlets +$null = Import-Module -Name $dll + +$modulePaths = $dll +$customPsm1 = Join-Path $PSScriptRoot 'custom/Az.Redis.custom.psm1' +if(Test-Path $customPsm1) { + $modulePaths = @($dll, $customPsm1) +} + +$exportsFolder = Join-Path $PSScriptRoot 'exports' +if(Test-Path $exportsFolder) { + $null = Get-ChildItem -Path $exportsFolder -Recurse -Exclude 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue +} +$null = New-Item -ItemType Directory -Force -Path $exportsFolder + +$internalFolder = Join-Path $PSScriptRoot 'internal' +if(Test-Path $internalFolder) { + $null = Get-ChildItem -Path $internalFolder -Recurse -Exclude '*.psm1', 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue +} +$null = New-Item -ItemType Directory -Force -Path $internalFolder + +$psd1 = Join-Path $PSScriptRoot './Az.Redis.psd1' +$guid = Get-ModuleGuid -Psd1Path $psd1 +$moduleName = 'Az.Redis' +$examplesFolder = Join-Path $PSScriptRoot 'examples' +$null = New-Item -ItemType Directory -Force -Path $examplesFolder + +Write-Host -ForegroundColor Green 'Creating cmdlets for specified models...' +$modelCmdlets = @() +if ($modelCmdlets.Count -gt 0) { + . (Join-Path $PSScriptRoot 'create-model-cmdlets.ps1') + CreateModelCmdlet($modelCmdlets) +} + +if($NoDocs) { + Write-Host -ForegroundColor Green 'Creating exports...' + Export-ProxyCmdlet -ModuleName $moduleName -ModulePath $modulePaths -ExportsFolder $exportsFolder -InternalFolder $internalFolder -ExcludeDocs -ExamplesFolder $examplesFolder +} else { + Write-Host -ForegroundColor Green 'Creating exports and docs...' + $moduleDescription = 'Microsoft Azure PowerShell: Redis cmdlets' + $docsFolder = Join-Path $PSScriptRoot 'docs' + if(Test-Path $docsFolder) { + $null = Get-ChildItem -Path $docsFolder -Recurse -Exclude 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue + } + $null = New-Item -ItemType Directory -Force -Path $docsFolder + Export-ProxyCmdlet -ModuleName $moduleName -ModulePath $modulePaths -ExportsFolder $exportsFolder -InternalFolder $internalFolder -ModuleDescription $moduleDescription -DocsFolder $docsFolder -ExamplesFolder $examplesFolder -ModuleGuid $guid +} + +Write-Host -ForegroundColor Green 'Creating format.ps1xml...' +$formatPs1xml = Join-Path $PSScriptRoot './Az.Redis.format.ps1xml' +Export-FormatPs1xml -FilePath $formatPs1xml + +Write-Host -ForegroundColor Green 'Creating psd1...' +$customFolder = Join-Path $PSScriptRoot 'custom' +Export-Psd1 -ExportsFolder $exportsFolder -CustomFolder $customFolder -Psd1Path $psd1 -ModuleGuid $guid + +Write-Host -ForegroundColor Green 'Creating test stubs...' +$testFolder = Join-Path $PSScriptRoot 'test' +$null = New-Item -ItemType Directory -Force -Path $testFolder +Export-TestStub -ModuleName $moduleName -ExportsFolder $exportsFolder -OutputFolder $testFolder + +Write-Host -ForegroundColor Green 'Creating example stubs...' +Export-ExampleStub -ExportsFolder $exportsFolder -OutputFolder $examplesFolder + +Write-Host -ForegroundColor Green '-------------Done-------------' diff --git a/swaggerci/redis/check-dependencies.ps1 b/swaggerci/redis/check-dependencies.ps1 new file mode 100644 index 000000000000..ec3055201a71 --- /dev/null +++ b/swaggerci/redis/check-dependencies.ps1 @@ -0,0 +1,57 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- +param([switch]$Isolated, [switch]$Accounts, [switch]$Pester, [switch]$Resources) +$ErrorActionPreference = 'Stop' + +if(-not $Isolated) { + Write-Host -ForegroundColor Green 'Creating isolated process...' + $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path + & "$pwsh" -NoExit -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -Isolated + return +} + +function DownloadModule ([bool]$predicate, [string]$path, [string]$moduleName, [string]$versionMinimum, [string]$requiredVersion) { + if($predicate) { + $module = Get-Module -ListAvailable -Name $moduleName + if((-not $module) -or ($versionMinimum -and ($module | ForEach-Object { $_.Version } | Where-Object { $_ -ge [System.Version]$versionMinimum } | Measure-Object).Count -eq 0) -or ($requiredVersion -and ($module | ForEach-Object { $_.Version } | Where-Object { $_ -eq [System.Version]$requiredVersion } | Measure-Object).Count -eq 0)) { + $null = New-Item -ItemType Directory -Force -Path $path + Write-Host -ForegroundColor Green "Installing local $moduleName module into '$path'..." + if ($requiredVersion) { + Find-Module -Name $moduleName -RequiredVersion $requiredVersion -Repository PSGallery | Save-Module -Path $path + }elseif($versionMinimum) { + Find-Module -Name $moduleName -MinimumVersion $versionMinimum -Repository PSGallery | Save-Module -Path $path + } else { + Find-Module -Name $moduleName -Repository PSGallery | Save-Module -Path $path + } + } + } +} + +$ProgressPreference = 'SilentlyContinue' +$all = (@($Accounts.IsPresent, $Pester.IsPresent) | Select-Object -Unique | Measure-Object).Count -eq 1 + +$localModulesPath = Join-Path $PSScriptRoot 'generated/modules' +if(Test-Path -Path $localModulesPath) { + $env:PSModulePath = "$localModulesPath$([IO.Path]::PathSeparator)$env:PSModulePath" +} + +DownloadModule -predicate ($all -or $Accounts) -path $localModulesPath -moduleName 'Az.Accounts' -versionMinimum '2.7.5' +DownloadModule -predicate ($all -or $Pester) -path $localModulesPath -moduleName 'Pester' -requiredVersion '4.10.1' + +$tools = Join-Path $PSScriptRoot 'tools' +$resourceDir = Join-Path $tools 'Resources' +$resourceModule = Join-Path $HOME '.PSSharedModules\Resources\Az.Resources.TestSupport.psm1' + +if ($Resources.IsPresent -and ((-not (Test-Path -Path $resourceModule)) -or $RegenerateSupportModule.IsPresent)) { + Write-Host -ForegroundColor Green "Building local Resource module used for test..." + Set-Location $resourceDir + $null = autorest .\README.md --use:@autorest/powershell@3.0.414 --output-folder=$HOME/.PSSharedModules/Resources + $null = Copy-Item custom/* $HOME/.PSSharedModules/Resources/custom/ + Set-Location $HOME/.PSSharedModules/Resources + $null = .\build-module.ps1 + Set-Location $PSScriptRoot +} diff --git a/swaggerci/redis/create-model-cmdlets.ps1 b/swaggerci/redis/create-model-cmdlets.ps1 new file mode 100644 index 000000000000..b721f1604b13 --- /dev/null +++ b/swaggerci/redis/create-model-cmdlets.ps1 @@ -0,0 +1,163 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +function CreateModelCmdlet { + + param([string[]]$Models) + + if ($Models.Count -eq 0) + { + return + } + + $ModelCsPath = Join-Path (Join-Path $PSScriptRoot 'generated/api') 'Models' + $ModuleName = 'Redis' + $OutputDir = Join-Path $PSScriptRoot 'custom/autogen-model-cmdlets' + $null = New-Item -ItemType Directory -Force -Path $OutputDir + + $CsFiles = Get-ChildItem -Path $ModelCsPath -Recurse -Filter *.cs + $Content = '' + $null = $CsFiles | ForEach-Object -Process { if ($_.Name.Split('.').count -eq 2 ) + { $Content += get-content $_.fullname -raw + } } + + $Tree = [Microsoft.CodeAnalysis.CSharp.SyntaxFactory]::ParseCompilationUnit($Content) + $Nodes = $Tree.ChildNodes().ChildNodes() + foreach ($Model in $Models) + { + $InterfaceNode = $Nodes | Where-Object { ($_.Keyword.value -eq 'interface') -and ($_.Identifier.value -eq "I$Model") } + if ($InterfaceNode.count -eq 0) { + continue + } + # through a queue, we iterate all the parent models. + $Queue = @($InterfaceNode) + $visited = @("I$Model") + $AllInterfaceNodes = @() + while ($Queue.count -ne 0) + { + $AllInterfaceNodes += $Queue[0] + # Baselist contains the direct parent models. + foreach ($parent in $Queue[0].BaseList.Types) + { + if (($parent.Type.Right.Identifier.Value -ne 'IJsonSerializable') -and (-not $visited.Contains($parent.Type.Right.Identifier.Value))) + { + $Queue = [Array]$Queue + ($Nodes | Where-Object { ($_.Keyword.value -eq 'interface') -and ($_.Identifier.value -eq $parent.Type.Right.Identifier.Value) }) + $visited = [Array]$visited + $parent.Type.Right.Identifier.Value + } + } + $first, $Queue = $Queue + } + + $Namespace = $InterfaceNode.Parent.Name + $ObjectType = $Model + $ObjectTypeWithNamespace = "${Namespace}.${ObjectType}" + # remove duplicated module name + if ($ObjectType.StartsWith($ModuleName)) { + $ModulePrefix = '' + } else { + $ModulePrefix = $ModuleName + } + $OutputPath = Join-Path -ChildPath "New-Az${ModulePrefix}${ObjectType}Object.ps1" -Path $OutputDir + + $ParameterDefineScriptList = New-Object System.Collections.Generic.List[string] + $ParameterAssignScriptList = New-Object System.Collections.Generic.List[string] + foreach ($Node in $AllInterfaceNodes) + { + foreach ($Member in $Node.Members) + { + $Arguments = $Member.AttributeLists.Attributes.ArgumentList.Arguments + $Required = $false + $Description = "" + $Readonly = $False + foreach ($Argument in $Arguments) + { + if ($Argument.NameEquals.Name.Identifier.Value -eq "Required") + { + $Required = $Argument.Expression.Token.Value + } + if ($Argument.NameEquals.Name.Identifier.Value -eq "Description") + { + $Description = $Argument.Expression.Token.Value.Trim('.').replace('"', '`"') + } + if ($Argument.NameEquals.Name.Identifier.Value -eq "Readonly") + { + $Readonly = $Argument.Expression.Token.Value + } + } + if ($Readonly) + { + continue + } + $Identifier = $Member.Identifier.Value + $Type = $Member.Type.ToString().replace('?', '').Split("::")[-1] + $ParameterDefinePropertyList = New-Object System.Collections.Generic.List[string] + if ($Required) + { + $ParameterDefinePropertyList.Add("Mandatory") + } + if ($Description -ne "") + { + $ParameterDefinePropertyList.Add("HelpMessage=`"${Description}.`"") + } + $ParameterDefineProperty = [System.String]::Join(", ", $ParameterDefinePropertyList) + # check whether completer is needed + $completer = ''; + if($Type.Split('.').Split('.')[-2] -eq 'Support') { + # If Type is an array, need to strip [] + $strippedType = $Type.Replace('[]', '') + $completer += "`n [ArgumentCompleter([${strippedType}])]" + } + $ParameterDefineScript = " + [Parameter($ParameterDefineProperty)]${completer} + [${Type}] + `$${Identifier}" + $ParameterDefineScriptList.Add($ParameterDefineScript) + $ParameterAssignScriptList.Add(" + if (`$PSBoundParameters.ContainsKey('${Identifier}')) { + `$Object.${Identifier} = `$${Identifier} + }") + } + } + $ParameterDefineScript = $ParameterDefineScriptList | Join-String -Separator "," + $ParameterAssignScript = $ParameterAssignScriptList | Join-String -Separator "" + + $Script = " +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create an in-memory object for ${ObjectType}. +.Description +Create an in-memory object for ${ObjectType}. + +.Outputs +${ObjectTypeWithNamespace} +.Link +https://docs.microsoft.com/en-us/powershell/module/az.${ModuleName}/new-Az${ModulePrefix}${ObjectType}Object +#> +function New-Az${ModulePrefix}${ObjectType}Object { + [OutputType('${ObjectTypeWithNamespace}')] + [CmdletBinding(PositionalBinding=`$false)] + Param( +${ParameterDefineScript} + ) + + process { + `$Object = [${ObjectTypeWithNamespace}]::New() +${ParameterAssignScript} + return `$Object + } +} +" + Set-Content -Path $OutputPath -Value $Script + } +} diff --git a/swaggerci/redis/custom/Az.Redis.custom.psm1 b/swaggerci/redis/custom/Az.Redis.custom.psm1 new file mode 100644 index 000000000000..d73d202af825 --- /dev/null +++ b/swaggerci/redis/custom/Az.Redis.custom.psm1 @@ -0,0 +1,17 @@ +# region Generated + # Load the private module dll + $null = Import-Module -PassThru -Name (Join-Path $PSScriptRoot '../bin/Az.Redis.private.dll') + + # Load the internal module + $internalModulePath = Join-Path $PSScriptRoot '../internal/Az.Redis.internal.psm1' + if(Test-Path $internalModulePath) { + $null = Import-Module -Name $internalModulePath + } + + # Export nothing to clear implicit exports + Export-ModuleMember + + # Export script cmdlets + Get-ChildItem -Path $PSScriptRoot -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName } + Export-ModuleMember -Function (Get-ScriptCmdlet -ScriptFolder $PSScriptRoot) -Alias (Get-ScriptCmdlet -ScriptFolder $PSScriptRoot -AsAlias) +# endregion diff --git a/swaggerci/redis/custom/README.md b/swaggerci/redis/custom/README.md new file mode 100644 index 000000000000..8989d4bee94e --- /dev/null +++ b/swaggerci/redis/custom/README.md @@ -0,0 +1,41 @@ +# Custom +This directory contains custom implementation for non-generated cmdlets for the `Az.Redis` module. Both scripts (`.ps1`) and C# files (`.cs`) can be implemented here. They will be used during the build process in `build-module.ps1`, and create cmdlets into the `../exports` folder. The only generated file into this folder is the `Az.Redis.custom.psm1`. This file should not be modified. + +## Info +- Modifiable: yes +- Generated: partial +- Committed: yes +- Packaged: yes + +## Details +For `Az.Redis` to use custom cmdlets, it does this two different ways. We **highly recommend** creating script cmdlets, as they are easier to write and allow access to the other exported cmdlets. C# cmdlets *cannot access exported cmdlets*. + +For C# cmdlets, they are compiled with the rest of the generated low-level cmdlets into the `./bin/Az.Redis.private.dll`. The names of the cmdlets (methods) and files must follow the `[cmdletName]_[variantName]` syntax used for generated cmdlets. The `variantName` is used as the `ParameterSetName`, so use something appropriate that doesn't clash with already created variant or parameter set names. You cannot use the `ParameterSetName` property in the `Parameter` attribute on C# cmdlets. Each cmdlet must be separated into variants using the same pattern as seen in the `generated/cmdlets` folder. + +For script cmdlets, these are loaded via the `Az.Redis.custom.psm1`. Then, during the build process, this module is loaded and processed in the same manner as the C# cmdlets. The fundamental difference is the script cmdlets use the `ParameterSetName` attribute and C# cmdlets do not. To create a script cmdlet variant of a generated cmdlet, simply decorate all parameters in the script with the new `ParameterSetName` in the `Parameter` attribute. This will appropriately treat each parameter set as a separate variant when processed to be exported during the build. + +## Purpose +This allows the modules to have cmdlets that were not defined in the REST specification. It also allows combining logic using generated cmdlets. This is a level of customization beyond what can be done using the [readme configuration options](https://github.com/Azure/autorest/blob/master/docs/powershell/options.md) that are currently available. These custom cmdlets are then referenced by the cmdlets created at build-time in the `../exports` folder. + +## Usage +The easiest way currently to start developing custom cmdlets is to copy an existing cmdlet. For C# cmdlets, copy one from the `generated/cmdlets` folder. For script cmdlets, build the project using `build-module.ps1` and copy one of the scripts from the `../exports` folder. After that, if you want to add new parameter sets, follow the guidelines in the `Details` section above. For implementing a new cmdlets, at minimum, please keep these parameters: +- Break +- DefaultProfile +- HttpPipelineAppend +- HttpPipelinePrepend +- Proxy +- ProxyCredential +- ProxyUseDefaultCredentials + +These provide functionality to our HTTP pipeline and other useful features. In script, you can forward these parameters using `$PSBoundParameters` to the other cmdlets you're calling within `Az.Redis`. For C#, follow the usage seen in the `ProcessRecordAsync` method. + +### Attributes +For processing the cmdlets, we've created some additional attributes: +- `Microsoft.Azure.PowerShell.Cmdlets.Redis.DescriptionAttribute` + - Used in C# cmdlets to provide a high-level description of the cmdlet. This is propagated to reference documentation via [help comments](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comment_based_help) in the exported scripts. +- `Microsoft.Azure.PowerShell.Cmdlets.Redis.DoNotExportAttribute` + - Used in C# and script cmdlets to suppress creating an exported cmdlet at build-time. These cmdlets will *not be exposed* by `Az.Redis`. +- `Microsoft.Azure.PowerShell.Cmdlets.Redis.InternalExportAttribute` + - Used in C# cmdlets to route exported cmdlets to the `../internal`, which are *not exposed* by `Az.Redis`. For more information, see [README.md](../internal/README.md) in the `../internal` folder. +- `Microsoft.Azure.PowerShell.Cmdlets.Redis.ProfileAttribute` + - Used in C# and script cmdlets to define which Azure profiles the cmdlet supports. This is only supported for Azure (`--azure`) modules. \ No newline at end of file diff --git a/swaggerci/redis/docs/Az.Redis.md b/swaggerci/redis/docs/Az.Redis.md new file mode 100644 index 000000000000..3a3acdb99d0f --- /dev/null +++ b/swaggerci/redis/docs/Az.Redis.md @@ -0,0 +1,89 @@ +--- +Module Name: Az.Redis +Module Guid: de254928-8c9a-4556-80d5-b821628913fc +Download Help Link: https://docs.microsoft.com/en-us/powershell/module/az.redis +Help Version: 1.0.0.0 +Locale: en-US +--- + +# Az.Redis Module +## Description +Microsoft Azure PowerShell: Redis cmdlets + +## Az.Redis Cmdlets +### [Export-AzRedisData](Export-AzRedisData.md) +Export data from the redis cache to blobs in a container. + +### [Get-AzRedis](Get-AzRedis.md) +Gets a Redis cache (resource description). + +### [Get-AzRedisAsyncOperationStatus](Get-AzRedisAsyncOperationStatus.md) +For checking the ongoing status of an operation + +### [Get-AzRedisFirewallRule](Get-AzRedisFirewallRule.md) +Gets a single firewall rule in a specified redis cache. + +### [Get-AzRedisKey](Get-AzRedisKey.md) +Retrieve a Redis cache's access keys. +This operation requires write permission to the cache resource. + +### [Get-AzRedisLinkedServer](Get-AzRedisLinkedServer.md) +Gets the detailed information about a linked server of a redis cache (requires Premium SKU). + +### [Get-AzRedisPatchSchedule](Get-AzRedisPatchSchedule.md) +Gets the patching schedule of a redis cache. + +### [Get-AzRedisPrivateEndpointConnection](Get-AzRedisPrivateEndpointConnection.md) +Gets the specified private endpoint connection associated with the redis cache. + +### [Get-AzRedisPrivateLinkResource](Get-AzRedisPrivateLinkResource.md) +Gets the private link resources that need to be created for a redis cache. + +### [Get-AzRedisUpgradeNotification](Get-AzRedisUpgradeNotification.md) +Gets any upgrade notifications for a Redis cache. + +### [Import-AzRedisData](Import-AzRedisData.md) +Import data into Redis cache. + +### [New-AzRedis](New-AzRedis.md) +Create or replace (overwrite/recreate, with potential downtime) an existing Redis cache. + +### [New-AzRedisFirewallRule](New-AzRedisFirewallRule.md) +Create or update a redis cache firewall rule + +### [New-AzRedisKey](New-AzRedisKey.md) +Regenerate Redis cache's access keys. +This operation requires write permission to the cache resource. + +### [New-AzRedisLinkedServer](New-AzRedisLinkedServer.md) +Adds a linked server to the Redis cache (requires Premium SKU). + +### [New-AzRedisPatchSchedule](New-AzRedisPatchSchedule.md) +Create or replace the patching schedule for Redis cache. + +### [Remove-AzRedis](Remove-AzRedis.md) +Deletes a Redis cache. + +### [Remove-AzRedisFirewallRule](Remove-AzRedisFirewallRule.md) +Deletes a single firewall rule in a specified redis cache. + +### [Remove-AzRedisLinkedServer](Remove-AzRedisLinkedServer.md) +Deletes the linked server from a redis cache (requires Premium SKU). + +### [Remove-AzRedisPatchSchedule](Remove-AzRedisPatchSchedule.md) +Deletes the patching schedule of a redis cache. + +### [Remove-AzRedisPrivateEndpointConnection](Remove-AzRedisPrivateEndpointConnection.md) +Deletes the specified private endpoint connection associated with the redis cache. + +### [Restart-AzRedis](Restart-AzRedis.md) +Reboot specified Redis node(s). +This operation requires write permission to the cache resource. +There can be potential data loss. + +### [Test-AzRedisNameAvailability](Test-AzRedisNameAvailability.md) +Checks that the redis cache name is valid and is not already in use. + +### [Update-AzRedis](Update-AzRedis.md) +Update an existing Redis cache. + diff --git a/swaggerci/redis/docs/Export-AzRedisData.md b/swaggerci/redis/docs/Export-AzRedisData.md new file mode 100644 index 000000000000..65002906d0fd --- /dev/null +++ b/swaggerci/redis/docs/Export-AzRedisData.md @@ -0,0 +1,342 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/export-azredisdata +schema: 2.0.0 +--- + +# Export-AzRedisData + +## SYNOPSIS +Export data from the redis cache to blobs in a container. + +## SYNTAX + +### ExportExpanded (Default) +``` +Export-AzRedisData -Name -ResourceGroupName -Container -Prefix + [-SubscriptionId ] [-Format ] [-PreferredDataArchiveAuthMethod ] + [-DefaultProfile ] [-AsJob] [-NoWait] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### Export +``` +Export-AzRedisData -Name -ResourceGroupName -Parameter + [-SubscriptionId ] [-DefaultProfile ] [-AsJob] [-NoWait] [-PassThru] [-Confirm] [-WhatIf] + [] +``` + +### ExportViaIdentity +``` +Export-AzRedisData -InputObject -Parameter + [-DefaultProfile ] [-AsJob] [-NoWait] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### ExportViaIdentityExpanded +``` +Export-AzRedisData -InputObject -Container -Prefix [-Format ] + [-PreferredDataArchiveAuthMethod ] [-DefaultProfile ] [-AsJob] [-NoWait] [-PassThru] + [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Export data from the redis cache to blobs in a container. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -AsJob +Run the command as a job + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Container +Container name to export to. + +```yaml +Type: System.String +Parameter Sets: ExportExpanded, ExportViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Format +File format. + +```yaml +Type: System.String +Parameter Sets: ExportExpanded, ExportViaIdentityExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +Parameter Sets: ExportViaIdentity, ExportViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the Redis cache. + +```yaml +Type: System.String +Parameter Sets: Export, ExportExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -NoWait +Run the command asynchronously + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Parameter +Parameters for Redis export operation. +To construct, see NOTES section for PARAMETER properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters +Parameter Sets: Export, ExportViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -PassThru +Returns true when the command succeeds + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PreferredDataArchiveAuthMethod +Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS + +```yaml +Type: System.String +Parameter Sets: ExportExpanded, ExportViaIdentityExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Prefix +Prefix to use for exported files. + +```yaml +Type: System.String +Parameter Sets: ExportExpanded, ExportViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Export, ExportExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String +Parameter Sets: Export, ExportExpanded +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity + +## OUTPUTS + +### System.Boolean + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[CacheName ]`: The name of the Redis cache. + - `[Default ]`: Default string modeled as parameter for auto generation to work correctly. + - `[Id ]`: Resource identity path + - `[LinkedServerName ]`: The name of the linked server that is being added to the Redis cache. + - `[Location ]`: The location at which operation was triggered + - `[Name ]`: The name of the Redis cache. + - `[OperationId ]`: The ID of asynchronous operation + - `[PrivateEndpointConnectionName ]`: The name of the private endpoint connection associated with the Azure resource + - `[ResourceGroupName ]`: The name of the resource group. + - `[RuleName ]`: The name of the firewall rule. + - `[SubscriptionId ]`: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +`PARAMETER `: Parameters for Redis export operation. + - `Container `: Container name to export to. + - `Prefix `: Prefix to use for exported files. + - `[Format ]`: File format. + - `[PreferredDataArchiveAuthMethod ]`: Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/Get-AzRedis.md b/swaggerci/redis/docs/Get-AzRedis.md new file mode 100644 index 000000000000..59005a986e30 --- /dev/null +++ b/swaggerci/redis/docs/Get-AzRedis.md @@ -0,0 +1,177 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredis +schema: 2.0.0 +--- + +# Get-AzRedis + +## SYNOPSIS +Gets a Redis cache (resource description). + +## SYNTAX + +### List1 (Default) +``` +Get-AzRedis [-SubscriptionId ] [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzRedis -Name -ResourceGroupName [-SubscriptionId ] + [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzRedis -InputObject [-DefaultProfile ] [] +``` + +### List +``` +Get-AzRedis -ResourceGroupName [-SubscriptionId ] [-DefaultProfile ] + [] +``` + +## DESCRIPTION +Gets a Redis cache (resource description). + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the Redis cache. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String[] +Parameter Sets: Get, List, List1 +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[CacheName ]`: The name of the Redis cache. + - `[Default ]`: Default string modeled as parameter for auto generation to work correctly. + - `[Id ]`: Resource identity path + - `[LinkedServerName ]`: The name of the linked server that is being added to the Redis cache. + - `[Location ]`: The location at which operation was triggered + - `[Name ]`: The name of the Redis cache. + - `[OperationId ]`: The ID of asynchronous operation + - `[PrivateEndpointConnectionName ]`: The name of the private endpoint connection associated with the Azure resource + - `[ResourceGroupName ]`: The name of the resource group. + - `[RuleName ]`: The name of the firewall rule. + - `[SubscriptionId ]`: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/Get-AzRedisAsyncOperationStatus.md b/swaggerci/redis/docs/Get-AzRedisAsyncOperationStatus.md new file mode 100644 index 000000000000..08d0565fba68 --- /dev/null +++ b/swaggerci/redis/docs/Get-AzRedisAsyncOperationStatus.md @@ -0,0 +1,167 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredisasyncoperationstatus +schema: 2.0.0 +--- + +# Get-AzRedisAsyncOperationStatus + +## SYNOPSIS +For checking the ongoing status of an operation + +## SYNTAX + +### Get (Default) +``` +Get-AzRedisAsyncOperationStatus -Location -OperationId [-SubscriptionId ] + [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzRedisAsyncOperationStatus -InputObject [-DefaultProfile ] + [] +``` + +## DESCRIPTION +For checking the ongoing status of an operation + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Location +The location at which operation was triggered + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -OperationId +The ID of asynchronous operation + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String[] +Parameter Sets: Get +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[CacheName ]`: The name of the Redis cache. + - `[Default ]`: Default string modeled as parameter for auto generation to work correctly. + - `[Id ]`: Resource identity path + - `[LinkedServerName ]`: The name of the linked server that is being added to the Redis cache. + - `[Location ]`: The location at which operation was triggered + - `[Name ]`: The name of the Redis cache. + - `[OperationId ]`: The ID of asynchronous operation + - `[PrivateEndpointConnectionName ]`: The name of the private endpoint connection associated with the Azure resource + - `[ResourceGroupName ]`: The name of the resource group. + - `[RuleName ]`: The name of the firewall rule. + - `[SubscriptionId ]`: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/Get-AzRedisFirewallRule.md b/swaggerci/redis/docs/Get-AzRedisFirewallRule.md new file mode 100644 index 000000000000..f09f5bc8b7cc --- /dev/null +++ b/swaggerci/redis/docs/Get-AzRedisFirewallRule.md @@ -0,0 +1,187 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredisfirewallrule +schema: 2.0.0 +--- + +# Get-AzRedisFirewallRule + +## SYNOPSIS +Gets a single firewall rule in a specified redis cache. + +## SYNTAX + +### List (Default) +``` +Get-AzRedisFirewallRule -CacheName -ResourceGroupName [-SubscriptionId ] + [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzRedisFirewallRule -CacheName -ResourceGroupName -RuleName + [-SubscriptionId ] [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzRedisFirewallRule -InputObject [-DefaultProfile ] [] +``` + +## DESCRIPTION +Gets a single firewall rule in a specified redis cache. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -CacheName +The name of the Redis cache. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -RuleName +The name of the firewall rule. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String[] +Parameter Sets: Get, List +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[CacheName ]`: The name of the Redis cache. + - `[Default ]`: Default string modeled as parameter for auto generation to work correctly. + - `[Id ]`: Resource identity path + - `[LinkedServerName ]`: The name of the linked server that is being added to the Redis cache. + - `[Location ]`: The location at which operation was triggered + - `[Name ]`: The name of the Redis cache. + - `[OperationId ]`: The ID of asynchronous operation + - `[PrivateEndpointConnectionName ]`: The name of the private endpoint connection associated with the Azure resource + - `[ResourceGroupName ]`: The name of the resource group. + - `[RuleName ]`: The name of the firewall rule. + - `[SubscriptionId ]`: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/Get-AzRedisKey.md b/swaggerci/redis/docs/Get-AzRedisKey.md new file mode 100644 index 000000000000..c3f5a9d69f4b --- /dev/null +++ b/swaggerci/redis/docs/Get-AzRedisKey.md @@ -0,0 +1,157 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azrediskey +schema: 2.0.0 +--- + +# Get-AzRedisKey + +## SYNOPSIS +Retrieve a Redis cache's access keys. +This operation requires write permission to the cache resource. + +## SYNTAX + +``` +Get-AzRedisKey -Name -ResourceGroupName [-SubscriptionId ] + [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Retrieve a Redis cache's access keys. +This operation requires write permission to the cache resource. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The name of the Redis cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/Get-AzRedisLinkedServer.md b/swaggerci/redis/docs/Get-AzRedisLinkedServer.md new file mode 100644 index 000000000000..dc735227ee1b --- /dev/null +++ b/swaggerci/redis/docs/Get-AzRedisLinkedServer.md @@ -0,0 +1,187 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredislinkedserver +schema: 2.0.0 +--- + +# Get-AzRedisLinkedServer + +## SYNOPSIS +Gets the detailed information about a linked server of a redis cache (requires Premium SKU). + +## SYNTAX + +### List (Default) +``` +Get-AzRedisLinkedServer -Name -ResourceGroupName [-SubscriptionId ] + [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzRedisLinkedServer -LinkedServerName -Name -ResourceGroupName + [-SubscriptionId ] [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzRedisLinkedServer -InputObject [-DefaultProfile ] [] +``` + +## DESCRIPTION +Gets the detailed information about a linked server of a redis cache (requires Premium SKU). + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -LinkedServerName +The name of the linked server. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The name of the redis cache. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String[] +Parameter Sets: Get, List +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[CacheName ]`: The name of the Redis cache. + - `[Default ]`: Default string modeled as parameter for auto generation to work correctly. + - `[Id ]`: Resource identity path + - `[LinkedServerName ]`: The name of the linked server that is being added to the Redis cache. + - `[Location ]`: The location at which operation was triggered + - `[Name ]`: The name of the Redis cache. + - `[OperationId ]`: The ID of asynchronous operation + - `[PrivateEndpointConnectionName ]`: The name of the private endpoint connection associated with the Azure resource + - `[ResourceGroupName ]`: The name of the resource group. + - `[RuleName ]`: The name of the firewall rule. + - `[SubscriptionId ]`: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/Get-AzRedisPatchSchedule.md b/swaggerci/redis/docs/Get-AzRedisPatchSchedule.md new file mode 100644 index 000000000000..036d2f268cc3 --- /dev/null +++ b/swaggerci/redis/docs/Get-AzRedisPatchSchedule.md @@ -0,0 +1,187 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredispatchschedule +schema: 2.0.0 +--- + +# Get-AzRedisPatchSchedule + +## SYNOPSIS +Gets the patching schedule of a redis cache. + +## SYNTAX + +### Get (Default) +``` +Get-AzRedisPatchSchedule -Name -ResourceGroupName [-SubscriptionId ] + [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzRedisPatchSchedule -InputObject [-DefaultProfile ] [] +``` + +### List +``` +Get-AzRedisPatchSchedule -CacheName -ResourceGroupName [-SubscriptionId ] + [-DefaultProfile ] [] +``` + +## DESCRIPTION +Gets the patching schedule of a redis cache. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -CacheName +The name of the Redis cache. + +```yaml +Type: System.String +Parameter Sets: List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the redis cache. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String[] +Parameter Sets: Get, List +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[CacheName ]`: The name of the Redis cache. + - `[Default ]`: Default string modeled as parameter for auto generation to work correctly. + - `[Id ]`: Resource identity path + - `[LinkedServerName ]`: The name of the linked server that is being added to the Redis cache. + - `[Location ]`: The location at which operation was triggered + - `[Name ]`: The name of the Redis cache. + - `[OperationId ]`: The ID of asynchronous operation + - `[PrivateEndpointConnectionName ]`: The name of the private endpoint connection associated with the Azure resource + - `[ResourceGroupName ]`: The name of the resource group. + - `[RuleName ]`: The name of the firewall rule. + - `[SubscriptionId ]`: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/Get-AzRedisPrivateEndpointConnection.md b/swaggerci/redis/docs/Get-AzRedisPrivateEndpointConnection.md new file mode 100644 index 000000000000..4f25f7b6b56b --- /dev/null +++ b/swaggerci/redis/docs/Get-AzRedisPrivateEndpointConnection.md @@ -0,0 +1,188 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredisprivateendpointconnection +schema: 2.0.0 +--- + +# Get-AzRedisPrivateEndpointConnection + +## SYNOPSIS +Gets the specified private endpoint connection associated with the redis cache. + +## SYNTAX + +### List (Default) +``` +Get-AzRedisPrivateEndpointConnection -CacheName -ResourceGroupName + [-SubscriptionId ] [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzRedisPrivateEndpointConnection -CacheName -Name -ResourceGroupName + [-SubscriptionId ] [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzRedisPrivateEndpointConnection -InputObject [-DefaultProfile ] + [] +``` + +## DESCRIPTION +Gets the specified private endpoint connection associated with the redis cache. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -CacheName +The name of the Redis cache. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the private endpoint connection associated with the Azure resource + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: PrivateEndpointConnectionName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String[] +Parameter Sets: Get, List +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[CacheName ]`: The name of the Redis cache. + - `[Default ]`: Default string modeled as parameter for auto generation to work correctly. + - `[Id ]`: Resource identity path + - `[LinkedServerName ]`: The name of the linked server that is being added to the Redis cache. + - `[Location ]`: The location at which operation was triggered + - `[Name ]`: The name of the Redis cache. + - `[OperationId ]`: The ID of asynchronous operation + - `[PrivateEndpointConnectionName ]`: The name of the private endpoint connection associated with the Azure resource + - `[ResourceGroupName ]`: The name of the resource group. + - `[RuleName ]`: The name of the firewall rule. + - `[SubscriptionId ]`: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/Get-AzRedisPrivateLinkResource.md b/swaggerci/redis/docs/Get-AzRedisPrivateLinkResource.md new file mode 100644 index 000000000000..7a183ac6437e --- /dev/null +++ b/swaggerci/redis/docs/Get-AzRedisPrivateLinkResource.md @@ -0,0 +1,124 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredisprivatelinkresource +schema: 2.0.0 +--- + +# Get-AzRedisPrivateLinkResource + +## SYNOPSIS +Gets the private link resources that need to be created for a redis cache. + +## SYNTAX + +``` +Get-AzRedisPrivateLinkResource -CacheName -ResourceGroupName [-SubscriptionId ] + [-DefaultProfile ] [] +``` + +## DESCRIPTION +Gets the private link resources that need to be created for a redis cache. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -CacheName +The name of the Redis cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/Get-AzRedisUpgradeNotification.md b/swaggerci/redis/docs/Get-AzRedisUpgradeNotification.md new file mode 100644 index 000000000000..8d25070a86f1 --- /dev/null +++ b/swaggerci/redis/docs/Get-AzRedisUpgradeNotification.md @@ -0,0 +1,139 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredisupgradenotification +schema: 2.0.0 +--- + +# Get-AzRedisUpgradeNotification + +## SYNOPSIS +Gets any upgrade notifications for a Redis cache. + +## SYNTAX + +``` +Get-AzRedisUpgradeNotification -Name -ResourceGroupName -History + [-SubscriptionId ] [-DefaultProfile ] [] +``` + +## DESCRIPTION +Gets any upgrade notifications for a Redis cache. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -History +how many minutes in past to look for upgrade notifications + +```yaml +Type: System.Double +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The name of the Redis cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/Import-AzRedisData.md b/swaggerci/redis/docs/Import-AzRedisData.md new file mode 100644 index 000000000000..9a672c139df9 --- /dev/null +++ b/swaggerci/redis/docs/Import-AzRedisData.md @@ -0,0 +1,326 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/import-azredisdata +schema: 2.0.0 +--- + +# Import-AzRedisData + +## SYNOPSIS +Import data into Redis cache. + +## SYNTAX + +### ImportExpanded (Default) +``` +Import-AzRedisData -Name -ResourceGroupName -File [-SubscriptionId ] + [-Format ] [-PreferredDataArchiveAuthMethod ] [-DefaultProfile ] [-AsJob] [-NoWait] + [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### Import +``` +Import-AzRedisData -Name -ResourceGroupName -Parameter + [-SubscriptionId ] [-DefaultProfile ] [-AsJob] [-NoWait] [-PassThru] [-Confirm] [-WhatIf] + [] +``` + +### ImportViaIdentity +``` +Import-AzRedisData -InputObject -Parameter + [-DefaultProfile ] [-AsJob] [-NoWait] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### ImportViaIdentityExpanded +``` +Import-AzRedisData -InputObject -File [-Format ] + [-PreferredDataArchiveAuthMethod ] [-DefaultProfile ] [-AsJob] [-NoWait] [-PassThru] + [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Import data into Redis cache. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -AsJob +Run the command as a job + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -File +files to import. + +```yaml +Type: System.String[] +Parameter Sets: ImportExpanded, ImportViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Format +File format. + +```yaml +Type: System.String +Parameter Sets: ImportExpanded, ImportViaIdentityExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +Parameter Sets: ImportViaIdentity, ImportViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the Redis cache. + +```yaml +Type: System.String +Parameter Sets: Import, ImportExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -NoWait +Run the command asynchronously + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Parameter +Parameters for Redis import operation. +To construct, see NOTES section for PARAMETER properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters +Parameter Sets: Import, ImportViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -PassThru +Returns true when the command succeeds + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PreferredDataArchiveAuthMethod +Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS + +```yaml +Type: System.String +Parameter Sets: ImportExpanded, ImportViaIdentityExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Import, ImportExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String +Parameter Sets: Import, ImportExpanded +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity + +## OUTPUTS + +### System.Boolean + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[CacheName ]`: The name of the Redis cache. + - `[Default ]`: Default string modeled as parameter for auto generation to work correctly. + - `[Id ]`: Resource identity path + - `[LinkedServerName ]`: The name of the linked server that is being added to the Redis cache. + - `[Location ]`: The location at which operation was triggered + - `[Name ]`: The name of the Redis cache. + - `[OperationId ]`: The ID of asynchronous operation + - `[PrivateEndpointConnectionName ]`: The name of the private endpoint connection associated with the Azure resource + - `[ResourceGroupName ]`: The name of the resource group. + - `[RuleName ]`: The name of the firewall rule. + - `[SubscriptionId ]`: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +`PARAMETER `: Parameters for Redis import operation. + - `File `: files to import. + - `[Format ]`: File format. + - `[PreferredDataArchiveAuthMethod ]`: Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/New-AzRedis.md b/swaggerci/redis/docs/New-AzRedis.md new file mode 100644 index 000000000000..d7f591f89408 --- /dev/null +++ b/swaggerci/redis/docs/New-AzRedis.md @@ -0,0 +1,514 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/new-azredis +schema: 2.0.0 +--- + +# New-AzRedis + +## SYNOPSIS +Create or replace (overwrite/recreate, with potential downtime) an existing Redis cache. + +## SYNTAX + +``` +New-AzRedis -Name -ResourceGroupName -Location -SkuCapacity + -SkuFamily -SkuName [-SubscriptionId ] [-EnableNonSslPort] + [-IdentityType ] [-IdentityUserAssignedIdentity ] + [-MinimumTlsVersion ] [-PublicNetworkAccess ] + [-RedisConfiguration ] [-RedisVersion ] + [-ReplicasPerMaster ] [-ReplicasPerPrimary ] [-ShardCount ] [-StaticIP ] + [-SubnetId ] [-Tag ] [-TenantSetting ] [-Zone ] + [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Create or replace (overwrite/recreate, with potential downtime) an existing Redis cache. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -AsJob +Run the command as a job + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -EnableNonSslPort +Specifies whether the non-ssl Redis server port (6379) is enabled. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -IdentityType +Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -IdentityUserAssignedIdentity +The set of user assigned identities associated with the resource. +The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. +The dictionary values can be empty objects ({}) in requests. + +```yaml +Type: System.Collections.Hashtable +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Location +The geo-location where the resource lives + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -MinimumTlsVersion +Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The name of the Redis cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -NoWait +Run the command asynchronously + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PublicNetworkAccess +Whether or not public endpoint access is allowed for this cache. +Value is optional but if passed in, must be 'Enabled' or 'Disabled'. +If 'Disabled', private endpoints are the exclusive access method. +Default value is 'Enabled' + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -RedisConfiguration +All Redis Settings. +Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc. +To construct, see NOTES section for REDISCONFIGURATION properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -RedisVersion +Redis version. +This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. +Supported versions: 4.0, 6.0 (latest). +Default value is 'latest'. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ReplicasPerMaster +The number of replicas to be created per primary. + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ReplicasPerPrimary +The number of replicas to be created per primary. + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ShardCount +The number of shards to be created on a Premium Cluster Cache. + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SkuCapacity +The size of the Redis cache to deploy. +Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4). + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SkuFamily +The SKU family to use. +Valid values: (C, P). +(C = Basic/Standard, P = Premium). + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SkuName +The type of Redis cache to deploy. +Valid values: (Basic, Standard, Premium) + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -StaticIP +Static IP address. +Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; auto assigned by default. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubnetId +The full resource ID of a subnet in a virtual network to deploy the Redis cache in. +Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Tag +Resource tags. + +```yaml +Type: System.Collections.Hashtable +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -TenantSetting +A dictionary of tenant settings + +```yaml +Type: System.Collections.Hashtable +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Zone +A list of availability zones denoting where the resource needs to come from. + +```yaml +Type: System.String[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`REDISCONFIGURATION `: All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc. + - `[(Any) ]`: This indicates any property can be added to this object. + - `[AofBackupEnabled ]`: Specifies whether the aof backup is enabled + - `[AofStorageConnectionString0 ]`: First storage account connection string + - `[AofStorageConnectionString1 ]`: Second storage account connection string + - `[Authnotrequired ]`: Specifies whether the authentication is disabled. Setting this property is highly discouraged from security point of view. + - `[MaxfragmentationmemoryReserved ]`: Value in megabytes reserved for fragmentation per shard + - `[MaxmemoryDelta ]`: Value in megabytes reserved for non-cache usage per shard e.g. failover. + - `[MaxmemoryPolicy ]`: The eviction strategy used when your data won't fit within its memory limit. + - `[MaxmemoryReserved ]`: Value in megabytes reserved for non-cache usage per shard e.g. failover. + - `[NotifyKeyspaceEvent ]`: The KeySpace Events which should be monitored. + - `[PreferredDataPersistenceAuthMethod ]`: Preferred auth method to communicate to storage account used for data persistence, specify SAS or ManagedIdentity, default value is SAS + - `[RdbBackupEnabled ]`: Specifies whether the rdb backup is enabled + - `[RdbBackupFrequency ]`: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, 1440) + - `[RdbBackupMaxSnapshotCount ]`: Specifies the maximum number of snapshots for rdb backup + - `[RdbStorageConnectionString ]`: The storage account connection string for storing rdb file + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/New-AzRedisFirewallRule.md b/swaggerci/redis/docs/New-AzRedisFirewallRule.md new file mode 100644 index 000000000000..74fc72af01a2 --- /dev/null +++ b/swaggerci/redis/docs/New-AzRedisFirewallRule.md @@ -0,0 +1,201 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/new-azredisfirewallrule +schema: 2.0.0 +--- + +# New-AzRedisFirewallRule + +## SYNOPSIS +Create or update a redis cache firewall rule + +## SYNTAX + +``` +New-AzRedisFirewallRule -CacheName -ResourceGroupName -RuleName -EndIP + -StartIP [-SubscriptionId ] [-DefaultProfile ] [-Confirm] [-WhatIf] + [] +``` + +## DESCRIPTION +Create or update a redis cache firewall rule + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -CacheName +The name of the Redis cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -EndIP +highest IP address included in the range + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -RuleName +The name of the firewall rule. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -StartIP +lowest IP address included in the range + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/New-AzRedisKey.md b/swaggerci/redis/docs/New-AzRedisKey.md new file mode 100644 index 000000000000..fbf5905d0a06 --- /dev/null +++ b/swaggerci/redis/docs/New-AzRedisKey.md @@ -0,0 +1,248 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/new-azrediskey +schema: 2.0.0 +--- + +# New-AzRedisKey + +## SYNOPSIS +Regenerate Redis cache's access keys. +This operation requires write permission to the cache resource. + +## SYNTAX + +### RegenerateExpanded (Default) +``` +New-AzRedisKey -Name -ResourceGroupName -KeyType [-SubscriptionId ] + [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +### Regenerate +``` +New-AzRedisKey -Name -ResourceGroupName -Parameter + [-SubscriptionId ] [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +### RegenerateViaIdentity +``` +New-AzRedisKey -InputObject -Parameter + [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +### RegenerateViaIdentityExpanded +``` +New-AzRedisKey -InputObject -KeyType [-DefaultProfile ] [-Confirm] + [-WhatIf] [] +``` + +## DESCRIPTION +Regenerate Redis cache's access keys. +This operation requires write permission to the cache resource. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +Parameter Sets: RegenerateViaIdentity, RegenerateViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -KeyType +The Redis access key to regenerate. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType +Parameter Sets: RegenerateExpanded, RegenerateViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The name of the Redis cache. + +```yaml +Type: System.String +Parameter Sets: Regenerate, RegenerateExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Parameter +Specifies which Redis access keys to reset. +To construct, see NOTES section for PARAMETER properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters +Parameter Sets: Regenerate, RegenerateViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Regenerate, RegenerateExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String +Parameter Sets: Regenerate, RegenerateExpanded +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[CacheName ]`: The name of the Redis cache. + - `[Default ]`: Default string modeled as parameter for auto generation to work correctly. + - `[Id ]`: Resource identity path + - `[LinkedServerName ]`: The name of the linked server that is being added to the Redis cache. + - `[Location ]`: The location at which operation was triggered + - `[Name ]`: The name of the Redis cache. + - `[OperationId ]`: The ID of asynchronous operation + - `[PrivateEndpointConnectionName ]`: The name of the private endpoint connection associated with the Azure resource + - `[ResourceGroupName ]`: The name of the resource group. + - `[RuleName ]`: The name of the firewall rule. + - `[SubscriptionId ]`: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +`PARAMETER `: Specifies which Redis access keys to reset. + - `KeyType `: The Redis access key to regenerate. + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/New-AzRedisLinkedServer.md b/swaggerci/redis/docs/New-AzRedisLinkedServer.md new file mode 100644 index 000000000000..3c579d200f92 --- /dev/null +++ b/swaggerci/redis/docs/New-AzRedisLinkedServer.md @@ -0,0 +1,247 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/new-azredislinkedserver +schema: 2.0.0 +--- + +# New-AzRedisLinkedServer + +## SYNOPSIS +Adds a linked server to the Redis cache (requires Premium SKU). + +## SYNTAX + +``` +New-AzRedisLinkedServer -LinkedServerName -Name -ResourceGroupName + -LinkedRedisCacheId -LinkedRedisCacheLocation -ServerRole + [-SubscriptionId ] [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] + [] +``` + +## DESCRIPTION +Adds a linked server to the Redis cache (requires Premium SKU). + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -AsJob +Run the command as a job + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -LinkedRedisCacheId +Fully qualified resourceId of the linked redis cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -LinkedRedisCacheLocation +Location of the linked redis cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -LinkedServerName +The name of the linked server that is being added to the Redis cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The name of the Redis cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -NoWait +Run the command asynchronously + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ServerRole +Role of the linked server. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/New-AzRedisPatchSchedule.md b/swaggerci/redis/docs/New-AzRedisPatchSchedule.md new file mode 100644 index 000000000000..767e0612ffed --- /dev/null +++ b/swaggerci/redis/docs/New-AzRedisPatchSchedule.md @@ -0,0 +1,181 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/new-azredispatchschedule +schema: 2.0.0 +--- + +# New-AzRedisPatchSchedule + +## SYNOPSIS +Create or replace the patching schedule for Redis cache. + +## SYNTAX + +``` +New-AzRedisPatchSchedule -Name -ResourceGroupName -ScheduleEntry + [-SubscriptionId ] [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Create or replace the patching schedule for Redis cache. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The name of the Redis cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ScheduleEntry +List of patch schedules for a Redis cache. +To construct, see NOTES section for SCHEDULEENTRY properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry[] +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`SCHEDULEENTRY `: List of patch schedules for a Redis cache. + - `DayOfWeek `: Day of the week when a cache can be patched. + - `StartHourUtc `: Start hour after which cache patching can start. + - `[MaintenanceWindow ]`: ISO8601 timespan specifying how much time cache patching can take. + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/README.md b/swaggerci/redis/docs/README.md new file mode 100644 index 000000000000..b32e75f25c17 --- /dev/null +++ b/swaggerci/redis/docs/README.md @@ -0,0 +1,11 @@ +# Docs +This directory contains the documentation of the cmdlets for the `Az.Redis` module. To run documentation generation, use the `generate-help.ps1` script at the root module folder. Files in this folder will *always be overridden on regeneration*. To update documentation examples, please use the `../examples` folder. + +## Info +- Modifiable: no +- Generated: all +- Committed: yes +- Packaged: yes + +## Details +The process of documentation generation loads `Az.Redis` and analyzes the exported cmdlets from the module. It recognizes the [help comments](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comment_based_help) that are generated into the scripts in the `../exports` folder. Additionally, when writing custom cmdlets in the `../custom` folder, you can use the help comments syntax, which decorate the exported scripts at build-time. The documentation examples are taken from the `../examples` folder. \ No newline at end of file diff --git a/swaggerci/redis/docs/Remove-AzRedis.md b/swaggerci/redis/docs/Remove-AzRedis.md new file mode 100644 index 000000000000..7b6984e57c09 --- /dev/null +++ b/swaggerci/redis/docs/Remove-AzRedis.md @@ -0,0 +1,243 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/remove-azredis +schema: 2.0.0 +--- + +# Remove-AzRedis + +## SYNOPSIS +Deletes a Redis cache. + +## SYNTAX + +### Delete (Default) +``` +Remove-AzRedis -Name -ResourceGroupName [-SubscriptionId ] + [-DefaultProfile ] [-AsJob] [-NoWait] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### DeleteViaIdentity +``` +Remove-AzRedis -InputObject [-DefaultProfile ] [-AsJob] [-NoWait] [-PassThru] + [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Deletes a Redis cache. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -AsJob +Run the command as a job + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +Parameter Sets: DeleteViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the Redis cache. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -NoWait +Run the command asynchronously + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PassThru +Returns true when the command succeeds + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity + +## OUTPUTS + +### System.Boolean + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[CacheName ]`: The name of the Redis cache. + - `[Default ]`: Default string modeled as parameter for auto generation to work correctly. + - `[Id ]`: Resource identity path + - `[LinkedServerName ]`: The name of the linked server that is being added to the Redis cache. + - `[Location ]`: The location at which operation was triggered + - `[Name ]`: The name of the Redis cache. + - `[OperationId ]`: The ID of asynchronous operation + - `[PrivateEndpointConnectionName ]`: The name of the private endpoint connection associated with the Azure resource + - `[ResourceGroupName ]`: The name of the resource group. + - `[RuleName ]`: The name of the firewall rule. + - `[SubscriptionId ]`: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/Remove-AzRedisFirewallRule.md b/swaggerci/redis/docs/Remove-AzRedisFirewallRule.md new file mode 100644 index 000000000000..9152f1eff2fc --- /dev/null +++ b/swaggerci/redis/docs/Remove-AzRedisFirewallRule.md @@ -0,0 +1,228 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/remove-azredisfirewallrule +schema: 2.0.0 +--- + +# Remove-AzRedisFirewallRule + +## SYNOPSIS +Deletes a single firewall rule in a specified redis cache. + +## SYNTAX + +### Delete (Default) +``` +Remove-AzRedisFirewallRule -CacheName -ResourceGroupName -RuleName + [-SubscriptionId ] [-DefaultProfile ] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### DeleteViaIdentity +``` +Remove-AzRedisFirewallRule -InputObject [-DefaultProfile ] [-PassThru] [-Confirm] + [-WhatIf] [] +``` + +## DESCRIPTION +Deletes a single firewall rule in a specified redis cache. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -CacheName +The name of the Redis cache. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +Parameter Sets: DeleteViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -PassThru +Returns true when the command succeeds + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -RuleName +The name of the firewall rule. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity + +## OUTPUTS + +### System.Boolean + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[CacheName ]`: The name of the Redis cache. + - `[Default ]`: Default string modeled as parameter for auto generation to work correctly. + - `[Id ]`: Resource identity path + - `[LinkedServerName ]`: The name of the linked server that is being added to the Redis cache. + - `[Location ]`: The location at which operation was triggered + - `[Name ]`: The name of the Redis cache. + - `[OperationId ]`: The ID of asynchronous operation + - `[PrivateEndpointConnectionName ]`: The name of the private endpoint connection associated with the Azure resource + - `[ResourceGroupName ]`: The name of the resource group. + - `[RuleName ]`: The name of the firewall rule. + - `[SubscriptionId ]`: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/Remove-AzRedisLinkedServer.md b/swaggerci/redis/docs/Remove-AzRedisLinkedServer.md new file mode 100644 index 000000000000..0221c6cbd7c6 --- /dev/null +++ b/swaggerci/redis/docs/Remove-AzRedisLinkedServer.md @@ -0,0 +1,259 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/remove-azredislinkedserver +schema: 2.0.0 +--- + +# Remove-AzRedisLinkedServer + +## SYNOPSIS +Deletes the linked server from a redis cache (requires Premium SKU). + +## SYNTAX + +### Delete (Default) +``` +Remove-AzRedisLinkedServer -LinkedServerName -Name -ResourceGroupName + [-SubscriptionId ] [-DefaultProfile ] [-AsJob] [-NoWait] [-PassThru] [-Confirm] [-WhatIf] + [] +``` + +### DeleteViaIdentity +``` +Remove-AzRedisLinkedServer -InputObject [-DefaultProfile ] [-AsJob] [-NoWait] + [-PassThru] [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Deletes the linked server from a redis cache (requires Premium SKU). + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -AsJob +Run the command as a job + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +Parameter Sets: DeleteViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -LinkedServerName +The name of the linked server that is being added to the Redis cache. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The name of the redis cache. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -NoWait +Run the command asynchronously + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PassThru +Returns true when the command succeeds + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity + +## OUTPUTS + +### System.Boolean + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[CacheName ]`: The name of the Redis cache. + - `[Default ]`: Default string modeled as parameter for auto generation to work correctly. + - `[Id ]`: Resource identity path + - `[LinkedServerName ]`: The name of the linked server that is being added to the Redis cache. + - `[Location ]`: The location at which operation was triggered + - `[Name ]`: The name of the Redis cache. + - `[OperationId ]`: The ID of asynchronous operation + - `[PrivateEndpointConnectionName ]`: The name of the private endpoint connection associated with the Azure resource + - `[ResourceGroupName ]`: The name of the resource group. + - `[RuleName ]`: The name of the firewall rule. + - `[SubscriptionId ]`: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/Remove-AzRedisPatchSchedule.md b/swaggerci/redis/docs/Remove-AzRedisPatchSchedule.md new file mode 100644 index 000000000000..60be3b2e6f00 --- /dev/null +++ b/swaggerci/redis/docs/Remove-AzRedisPatchSchedule.md @@ -0,0 +1,213 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/remove-azredispatchschedule +schema: 2.0.0 +--- + +# Remove-AzRedisPatchSchedule + +## SYNOPSIS +Deletes the patching schedule of a redis cache. + +## SYNTAX + +### Delete (Default) +``` +Remove-AzRedisPatchSchedule -Name -ResourceGroupName [-SubscriptionId ] + [-DefaultProfile ] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### DeleteViaIdentity +``` +Remove-AzRedisPatchSchedule -InputObject [-DefaultProfile ] [-PassThru] [-Confirm] + [-WhatIf] [] +``` + +## DESCRIPTION +Deletes the patching schedule of a redis cache. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +Parameter Sets: DeleteViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the redis cache. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PassThru +Returns true when the command succeeds + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity + +## OUTPUTS + +### System.Boolean + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[CacheName ]`: The name of the Redis cache. + - `[Default ]`: Default string modeled as parameter for auto generation to work correctly. + - `[Id ]`: Resource identity path + - `[LinkedServerName ]`: The name of the linked server that is being added to the Redis cache. + - `[Location ]`: The location at which operation was triggered + - `[Name ]`: The name of the Redis cache. + - `[OperationId ]`: The ID of asynchronous operation + - `[PrivateEndpointConnectionName ]`: The name of the private endpoint connection associated with the Azure resource + - `[ResourceGroupName ]`: The name of the resource group. + - `[RuleName ]`: The name of the firewall rule. + - `[SubscriptionId ]`: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/Remove-AzRedisPrivateEndpointConnection.md b/swaggerci/redis/docs/Remove-AzRedisPrivateEndpointConnection.md new file mode 100644 index 000000000000..ac653e4eaf38 --- /dev/null +++ b/swaggerci/redis/docs/Remove-AzRedisPrivateEndpointConnection.md @@ -0,0 +1,228 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/remove-azredisprivateendpointconnection +schema: 2.0.0 +--- + +# Remove-AzRedisPrivateEndpointConnection + +## SYNOPSIS +Deletes the specified private endpoint connection associated with the redis cache. + +## SYNTAX + +### Delete (Default) +``` +Remove-AzRedisPrivateEndpointConnection -CacheName -Name -ResourceGroupName + [-SubscriptionId ] [-DefaultProfile ] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### DeleteViaIdentity +``` +Remove-AzRedisPrivateEndpointConnection -InputObject [-DefaultProfile ] [-PassThru] + [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Deletes the specified private endpoint connection associated with the redis cache. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -CacheName +The name of the Redis cache. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +Parameter Sets: DeleteViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the private endpoint connection associated with the Azure resource + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: PrivateEndpointConnectionName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PassThru +Returns true when the command succeeds + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity + +## OUTPUTS + +### System.Boolean + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[CacheName ]`: The name of the Redis cache. + - `[Default ]`: Default string modeled as parameter for auto generation to work correctly. + - `[Id ]`: Resource identity path + - `[LinkedServerName ]`: The name of the linked server that is being added to the Redis cache. + - `[Location ]`: The location at which operation was triggered + - `[Name ]`: The name of the Redis cache. + - `[OperationId ]`: The ID of asynchronous operation + - `[PrivateEndpointConnectionName ]`: The name of the private endpoint connection associated with the Azure resource + - `[ResourceGroupName ]`: The name of the resource group. + - `[RuleName ]`: The name of the firewall rule. + - `[SubscriptionId ]`: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/Restart-AzRedis.md b/swaggerci/redis/docs/Restart-AzRedis.md new file mode 100644 index 000000000000..38c9811af427 --- /dev/null +++ b/swaggerci/redis/docs/Restart-AzRedis.md @@ -0,0 +1,284 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/restart-azredis +schema: 2.0.0 +--- + +# Restart-AzRedis + +## SYNOPSIS +Reboot specified Redis node(s). +This operation requires write permission to the cache resource. +There can be potential data loss. + +## SYNTAX + +### ForceRebootExpanded (Default) +``` +Restart-AzRedis -Name -ResourceGroupName [-SubscriptionId ] [-Port ] + [-RebootType ] [-ShardId ] [-DefaultProfile ] [-Confirm] [-WhatIf] + [] +``` + +### ForceReboot +``` +Restart-AzRedis -Name -ResourceGroupName -Parameter + [-SubscriptionId ] [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +### ForceRebootViaIdentity +``` +Restart-AzRedis -InputObject -Parameter [-DefaultProfile ] + [-Confirm] [-WhatIf] [] +``` + +### ForceRebootViaIdentityExpanded +``` +Restart-AzRedis -InputObject [-Port ] [-RebootType ] [-ShardId ] + [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Reboot specified Redis node(s). +This operation requires write permission to the cache resource. +There can be potential data loss. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +Parameter Sets: ForceRebootViaIdentity, ForceRebootViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the Redis cache. + +```yaml +Type: System.String +Parameter Sets: ForceReboot, ForceRebootExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Parameter +Specifies which Redis node(s) to reboot. +To construct, see NOTES section for PARAMETER properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters +Parameter Sets: ForceReboot, ForceRebootViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Port +A list of redis instances to reboot, specified by per-instance SSL ports or non-SSL ports. + +```yaml +Type: System.Int32[] +Parameter Sets: ForceRebootExpanded, ForceRebootViaIdentityExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -RebootType +Which Redis node(s) to reboot. +Depending on this value data loss is possible. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType +Parameter Sets: ForceRebootExpanded, ForceRebootViaIdentityExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: ForceReboot, ForceRebootExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ShardId +If clustering is enabled, the ID of the shard to be rebooted. + +```yaml +Type: System.Int32 +Parameter Sets: ForceRebootExpanded, ForceRebootViaIdentityExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String +Parameter Sets: ForceReboot, ForceRebootExpanded +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity + +## OUTPUTS + +### System.String + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[CacheName ]`: The name of the Redis cache. + - `[Default ]`: Default string modeled as parameter for auto generation to work correctly. + - `[Id ]`: Resource identity path + - `[LinkedServerName ]`: The name of the linked server that is being added to the Redis cache. + - `[Location ]`: The location at which operation was triggered + - `[Name ]`: The name of the Redis cache. + - `[OperationId ]`: The ID of asynchronous operation + - `[PrivateEndpointConnectionName ]`: The name of the private endpoint connection associated with the Azure resource + - `[ResourceGroupName ]`: The name of the resource group. + - `[RuleName ]`: The name of the firewall rule. + - `[SubscriptionId ]`: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +`PARAMETER `: Specifies which Redis node(s) to reboot. + - `[Port ]`: A list of redis instances to reboot, specified by per-instance SSL ports or non-SSL ports. + - `[RebootType ]`: Which Redis node(s) to reboot. Depending on this value data loss is possible. + - `[ShardId ]`: If clustering is enabled, the ID of the shard to be rebooted. + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/Test-AzRedisNameAvailability.md b/swaggerci/redis/docs/Test-AzRedisNameAvailability.md new file mode 100644 index 000000000000..49d5ce8848c6 --- /dev/null +++ b/swaggerci/redis/docs/Test-AzRedisNameAvailability.md @@ -0,0 +1,248 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/test-azredisnameavailability +schema: 2.0.0 +--- + +# Test-AzRedisNameAvailability + +## SYNOPSIS +Checks that the redis cache name is valid and is not already in use. + +## SYNTAX + +### CheckExpanded (Default) +``` +Test-AzRedisNameAvailability -Name -Type [-SubscriptionId ] + [-DefaultProfile ] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### Check +``` +Test-AzRedisNameAvailability -Parameter [-SubscriptionId ] + [-DefaultProfile ] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### CheckViaIdentity +``` +Test-AzRedisNameAvailability -InputObject -Parameter + [-DefaultProfile ] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### CheckViaIdentityExpanded +``` +Test-AzRedisNameAvailability -InputObject -Name -Type + [-DefaultProfile ] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Checks that the redis cache name is valid and is not already in use. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +Parameter Sets: CheckViaIdentity, CheckViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +Resource name. + +```yaml +Type: System.String +Parameter Sets: CheckExpanded, CheckViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Parameter +Parameters body to pass for resource name availability check. +To construct, see NOTES section for PARAMETER properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters +Parameter Sets: Check, CheckViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -PassThru +Returns true when the command succeeds + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String +Parameter Sets: Check, CheckExpanded +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Type +Resource type. +The only legal value of this property for checking redis cache name availability is 'Microsoft.Cache/redis'. + +```yaml +Type: System.String +Parameter Sets: CheckExpanded, CheckViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity + +## OUTPUTS + +### System.Boolean + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[CacheName ]`: The name of the Redis cache. + - `[Default ]`: Default string modeled as parameter for auto generation to work correctly. + - `[Id ]`: Resource identity path + - `[LinkedServerName ]`: The name of the linked server that is being added to the Redis cache. + - `[Location ]`: The location at which operation was triggered + - `[Name ]`: The name of the Redis cache. + - `[OperationId ]`: The ID of asynchronous operation + - `[PrivateEndpointConnectionName ]`: The name of the private endpoint connection associated with the Azure resource + - `[ResourceGroupName ]`: The name of the resource group. + - `[RuleName ]`: The name of the firewall rule. + - `[SubscriptionId ]`: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +`PARAMETER `: Parameters body to pass for resource name availability check. + - `Name `: Resource name. + - `Type `: Resource type. The only legal value of this property for checking redis cache name availability is 'Microsoft.Cache/redis'. + +## RELATED LINKS + diff --git a/swaggerci/redis/docs/Update-AzRedis.md b/swaggerci/redis/docs/Update-AzRedis.md new file mode 100644 index 000000000000..ff11d835c979 --- /dev/null +++ b/swaggerci/redis/docs/Update-AzRedis.md @@ -0,0 +1,494 @@ +--- +external help file: +Module Name: Az.Redis +online version: https://docs.microsoft.com/en-us/powershell/module/az.redis/update-azredis +schema: 2.0.0 +--- + +# Update-AzRedis + +## SYNOPSIS +Update an existing Redis cache. + +## SYNTAX + +### UpdateExpanded (Default) +``` +Update-AzRedis -Name -ResourceGroupName [-SubscriptionId ] [-EnableNonSslPort] + [-IdentityType ] [-IdentityUserAssignedIdentity ] + [-MinimumTlsVersion ] [-PublicNetworkAccess ] + [-RedisConfiguration ] [-RedisVersion ] + [-ReplicasPerMaster ] [-ReplicasPerPrimary ] [-ShardCount ] [-SkuCapacity ] + [-SkuFamily ] [-SkuName ] [-Tag ] [-TenantSetting ] + [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] [] +``` + +### UpdateViaIdentityExpanded +``` +Update-AzRedis -InputObject [-EnableNonSslPort] [-IdentityType ] + [-IdentityUserAssignedIdentity ] [-MinimumTlsVersion ] + [-PublicNetworkAccess ] [-RedisConfiguration ] + [-RedisVersion ] [-ReplicasPerMaster ] [-ReplicasPerPrimary ] [-ShardCount ] + [-SkuCapacity ] [-SkuFamily ] [-SkuName ] [-Tag ] + [-TenantSetting ] [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] + [] +``` + +## DESCRIPTION +Update an existing Redis cache. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -AsJob +Run the command as a job + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -EnableNonSslPort +Specifies whether the non-ssl Redis server port (6379) is enabled. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -IdentityType +Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -IdentityUserAssignedIdentity +The set of user assigned identities associated with the resource. +The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. +The dictionary values can be empty objects ({}) in requests. + +```yaml +Type: System.Collections.Hashtable +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +Parameter Sets: UpdateViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -MinimumTlsVersion +Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The name of the Redis cache. + +```yaml +Type: System.String +Parameter Sets: UpdateExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -NoWait +Run the command asynchronously + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PublicNetworkAccess +Whether or not public endpoint access is allowed for this cache. +Value is optional but if passed in, must be 'Enabled' or 'Disabled'. +If 'Disabled', private endpoints are the exclusive access method. +Default value is 'Enabled' + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -RedisConfiguration +All Redis Settings. +Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc. +To construct, see NOTES section for REDISCONFIGURATION properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -RedisVersion +Redis version. +This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. +Supported versions: 4.0, 6.0 (latest). +Default value is 'latest'. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ReplicasPerMaster +The number of replicas to be created per primary. + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ReplicasPerPrimary +The number of replicas to be created per primary. + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: UpdateExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ShardCount +The number of shards to be created on a Premium Cluster Cache. + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SkuCapacity +The size of the Redis cache to deploy. +Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4). + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SkuFamily +The SKU family to use. +Valid values: (C, P). +(C = Basic/Standard, P = Premium). + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SkuName +The type of Redis cache to deploy. +Valid values: (Basic, Standard, Premium) + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Gets subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String +Parameter Sets: UpdateExpanded +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Tag +Resource tags. + +```yaml +Type: System.Collections.Hashtable +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -TenantSetting +A dictionary of tenant settings + +```yaml +Type: System.Collections.Hashtable +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[CacheName ]`: The name of the Redis cache. + - `[Default ]`: Default string modeled as parameter for auto generation to work correctly. + - `[Id ]`: Resource identity path + - `[LinkedServerName ]`: The name of the linked server that is being added to the Redis cache. + - `[Location ]`: The location at which operation was triggered + - `[Name ]`: The name of the Redis cache. + - `[OperationId ]`: The ID of asynchronous operation + - `[PrivateEndpointConnectionName ]`: The name of the private endpoint connection associated with the Azure resource + - `[ResourceGroupName ]`: The name of the resource group. + - `[RuleName ]`: The name of the firewall rule. + - `[SubscriptionId ]`: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +`REDISCONFIGURATION `: All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc. + - `[(Any) ]`: This indicates any property can be added to this object. + - `[AofBackupEnabled ]`: Specifies whether the aof backup is enabled + - `[AofStorageConnectionString0 ]`: First storage account connection string + - `[AofStorageConnectionString1 ]`: Second storage account connection string + - `[Authnotrequired ]`: Specifies whether the authentication is disabled. Setting this property is highly discouraged from security point of view. + - `[MaxfragmentationmemoryReserved ]`: Value in megabytes reserved for fragmentation per shard + - `[MaxmemoryDelta ]`: Value in megabytes reserved for non-cache usage per shard e.g. failover. + - `[MaxmemoryPolicy ]`: The eviction strategy used when your data won't fit within its memory limit. + - `[MaxmemoryReserved ]`: Value in megabytes reserved for non-cache usage per shard e.g. failover. + - `[NotifyKeyspaceEvent ]`: The KeySpace Events which should be monitored. + - `[PreferredDataPersistenceAuthMethod ]`: Preferred auth method to communicate to storage account used for data persistence, specify SAS or ManagedIdentity, default value is SAS + - `[RdbBackupEnabled ]`: Specifies whether the rdb backup is enabled + - `[RdbBackupFrequency ]`: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, 1440) + - `[RdbBackupMaxSnapshotCount ]`: Specifies the maximum number of snapshots for rdb backup + - `[RdbStorageConnectionString ]`: The storage account connection string for storing rdb file + +## RELATED LINKS + diff --git a/swaggerci/redis/examples/Export-AzRedisData.md b/swaggerci/redis/examples/Export-AzRedisData.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/Export-AzRedisData.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/Get-AzRedis.md b/swaggerci/redis/examples/Get-AzRedis.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/Get-AzRedis.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/Get-AzRedisAsyncOperationStatus.md b/swaggerci/redis/examples/Get-AzRedisAsyncOperationStatus.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/Get-AzRedisAsyncOperationStatus.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/Get-AzRedisFirewallRule.md b/swaggerci/redis/examples/Get-AzRedisFirewallRule.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/Get-AzRedisFirewallRule.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/Get-AzRedisKey.md b/swaggerci/redis/examples/Get-AzRedisKey.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/Get-AzRedisKey.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/Get-AzRedisLinkedServer.md b/swaggerci/redis/examples/Get-AzRedisLinkedServer.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/Get-AzRedisLinkedServer.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/Get-AzRedisPatchSchedule.md b/swaggerci/redis/examples/Get-AzRedisPatchSchedule.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/Get-AzRedisPatchSchedule.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/Get-AzRedisPrivateEndpointConnection.md b/swaggerci/redis/examples/Get-AzRedisPrivateEndpointConnection.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/Get-AzRedisPrivateEndpointConnection.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/Get-AzRedisPrivateLinkResource.md b/swaggerci/redis/examples/Get-AzRedisPrivateLinkResource.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/Get-AzRedisPrivateLinkResource.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/Get-AzRedisUpgradeNotification.md b/swaggerci/redis/examples/Get-AzRedisUpgradeNotification.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/Get-AzRedisUpgradeNotification.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/Import-AzRedisData.md b/swaggerci/redis/examples/Import-AzRedisData.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/Import-AzRedisData.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/New-AzRedis.md b/swaggerci/redis/examples/New-AzRedis.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/New-AzRedis.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/New-AzRedisFirewallRule.md b/swaggerci/redis/examples/New-AzRedisFirewallRule.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/New-AzRedisFirewallRule.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/New-AzRedisKey.md b/swaggerci/redis/examples/New-AzRedisKey.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/New-AzRedisKey.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/New-AzRedisLinkedServer.md b/swaggerci/redis/examples/New-AzRedisLinkedServer.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/New-AzRedisLinkedServer.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/New-AzRedisPatchSchedule.md b/swaggerci/redis/examples/New-AzRedisPatchSchedule.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/New-AzRedisPatchSchedule.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/Remove-AzRedis.md b/swaggerci/redis/examples/Remove-AzRedis.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/Remove-AzRedis.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/Remove-AzRedisFirewallRule.md b/swaggerci/redis/examples/Remove-AzRedisFirewallRule.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/Remove-AzRedisFirewallRule.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/Remove-AzRedisLinkedServer.md b/swaggerci/redis/examples/Remove-AzRedisLinkedServer.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/Remove-AzRedisLinkedServer.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/Remove-AzRedisPatchSchedule.md b/swaggerci/redis/examples/Remove-AzRedisPatchSchedule.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/Remove-AzRedisPatchSchedule.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/Remove-AzRedisPrivateEndpointConnection.md b/swaggerci/redis/examples/Remove-AzRedisPrivateEndpointConnection.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/Remove-AzRedisPrivateEndpointConnection.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/Restart-AzRedis.md b/swaggerci/redis/examples/Restart-AzRedis.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/Restart-AzRedis.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/Test-AzRedisNameAvailability.md b/swaggerci/redis/examples/Test-AzRedisNameAvailability.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/Test-AzRedisNameAvailability.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/examples/Update-AzRedis.md b/swaggerci/redis/examples/Update-AzRedis.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/redis/examples/Update-AzRedis.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/redis/export-surface.ps1 b/swaggerci/redis/export-surface.ps1 new file mode 100644 index 000000000000..0ecc10e8c009 --- /dev/null +++ b/swaggerci/redis/export-surface.ps1 @@ -0,0 +1,33 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- +param([switch]$Isolated, [switch]$IncludeGeneralParameters, [switch]$UseExpandedFormat) +$ErrorActionPreference = 'Stop' + +$pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path +if(-not $Isolated) { + Write-Host -ForegroundColor Green 'Creating isolated process...' + & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -Isolated + return +} + +$dll = Join-Path $PSScriptRoot 'bin/Az.Redis.private.dll' +if(-not (Test-Path $dll)) { + Write-Error "Unable to find output assembly in '$binFolder'." +} +$null = Import-Module -Name $dll + +$moduleName = 'Az.Redis' +$exportsFolder = Join-Path $PSScriptRoot 'exports' +$resourcesFolder = Join-Path $PSScriptRoot 'resources' + +Export-CmdletSurface -ModuleName $moduleName -CmdletFolder $exportsFolder -OutputFolder $resourcesFolder -IncludeGeneralParameters $IncludeGeneralParameters.IsPresent -UseExpandedFormat $UseExpandedFormat.IsPresent +Write-Host -ForegroundColor Green "CmdletSurface file(s) created in '$resourcesFolder'" + +Export-ModelSurface -OutputFolder $resourcesFolder -UseExpandedFormat $UseExpandedFormat.IsPresent +Write-Host -ForegroundColor Green "ModelSurface file created in '$resourcesFolder'" + +Write-Host -ForegroundColor Green '-------------Done-------------' \ No newline at end of file diff --git a/swaggerci/redis/exports/Export-AzRedisData.ps1 b/swaggerci/redis/exports/Export-AzRedisData.ps1 new file mode 100644 index 000000000000..70c5f200b469 --- /dev/null +++ b/swaggerci/redis/exports/Export-AzRedisData.ps1 @@ -0,0 +1,266 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Export data from the redis cache to blobs in a container. +.Description +Export data from the redis cache to blobs in a container. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +PARAMETER : Parameters for Redis export operation. + Container : Container name to export to. + Prefix : Prefix to use for exported files. + [Format ]: File format. + [PreferredDataArchiveAuthMethod ]: Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/export-azredisdata +#> +function Export-AzRedisData { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='ExportExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Export', Mandatory)] + [Parameter(ParameterSetName='ExportExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(ParameterSetName='Export', Mandatory)] + [Parameter(ParameterSetName='ExportExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Export')] + [Parameter(ParameterSetName='ExportExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='ExportViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ExportViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Export', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ExportViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters] + # Parameters for Redis export operation. + # To construct, see NOTES section for PARAMETER properties and create a hash table. + ${Parameter}, + + [Parameter(ParameterSetName='ExportExpanded', Mandatory)] + [Parameter(ParameterSetName='ExportViaIdentityExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Container name to export to. + ${Container}, + + [Parameter(ParameterSetName='ExportExpanded', Mandatory)] + [Parameter(ParameterSetName='ExportViaIdentityExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Prefix to use for exported files. + ${Prefix}, + + [Parameter(ParameterSetName='ExportExpanded')] + [Parameter(ParameterSetName='ExportViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # File format. + ${Format}, + + [Parameter(ParameterSetName='ExportExpanded')] + [Parameter(ParameterSetName='ExportViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS + ${PreferredDataArchiveAuthMethod}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Export = 'Az.Redis.private\Export-AzRedisData_Export'; + ExportExpanded = 'Az.Redis.private\Export-AzRedisData_ExportExpanded'; + ExportViaIdentity = 'Az.Redis.private\Export-AzRedisData_ExportViaIdentity'; + ExportViaIdentityExpanded = 'Az.Redis.private\Export-AzRedisData_ExportViaIdentityExpanded'; + } + if (('Export', 'ExportExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/Get-AzRedis.ps1 b/swaggerci/redis/exports/Get-AzRedis.ps1 new file mode 100644 index 000000000000..eaa4c0d1543c --- /dev/null +++ b/swaggerci/redis/exports/Get-AzRedis.ps1 @@ -0,0 +1,203 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets a Redis cache (resource description). +.Description +Gets a Redis cache (resource description). +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredis +#> +function Get-AzRedis { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource])] +[CmdletBinding(DefaultParameterSetName='List1', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Get')] + [Parameter(ParameterSetName='List')] + [Parameter(ParameterSetName='List1')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Redis.private\Get-AzRedis_Get'; + GetViaIdentity = 'Az.Redis.private\Get-AzRedis_GetViaIdentity'; + List = 'Az.Redis.private\Get-AzRedis_List'; + List1 = 'Az.Redis.private\Get-AzRedis_List1'; + } + if (('Get', 'List', 'List1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/Get-AzRedisAsyncOperationStatus.ps1 b/swaggerci/redis/exports/Get-AzRedisAsyncOperationStatus.ps1 new file mode 100644 index 000000000000..3e58da8c1aab --- /dev/null +++ b/swaggerci/redis/exports/Get-AzRedisAsyncOperationStatus.ps1 @@ -0,0 +1,198 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +For checking the ongoing status of an operation +.Description +For checking the ongoing status of an operation +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredisasyncoperationstatus +#> +function Get-AzRedisAsyncOperationStatus { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The location at which operation was triggered + ${Location}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The ID of asynchronous operation + ${OperationId}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Redis.private\Get-AzRedisAsyncOperationStatus_Get'; + GetViaIdentity = 'Az.Redis.private\Get-AzRedisAsyncOperationStatus_GetViaIdentity'; + } + if (('Get') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/Get-AzRedisFirewallRule.ps1 b/swaggerci/redis/exports/Get-AzRedisFirewallRule.ps1 new file mode 100644 index 000000000000..ed9a7b7d90c0 --- /dev/null +++ b/swaggerci/redis/exports/Get-AzRedisFirewallRule.ps1 @@ -0,0 +1,208 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets a single firewall rule in a specified redis cache. +.Description +Gets a single firewall rule in a specified redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredisfirewallrule +#> +function Get-AzRedisFirewallRule { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${CacheName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the firewall rule. + ${RuleName}, + + [Parameter(ParameterSetName='Get')] + [Parameter(ParameterSetName='List')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Redis.private\Get-AzRedisFirewallRule_Get'; + GetViaIdentity = 'Az.Redis.private\Get-AzRedisFirewallRule_GetViaIdentity'; + List = 'Az.Redis.private\Get-AzRedisFirewallRule_List'; + } + if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/Get-AzRedisKey.ps1 b/swaggerci/redis/exports/Get-AzRedisKey.ps1 new file mode 100644 index 000000000000..fdddb8f0ecd7 --- /dev/null +++ b/swaggerci/redis/exports/Get-AzRedisKey.ps1 @@ -0,0 +1,173 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Retrieve a Redis cache's access keys. +This operation requires write permission to the cache resource. +.Description +Retrieve a Redis cache's access keys. +This operation requires write permission to the cache resource. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azrediskey +#> +function Get-AzRedisKey { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + List = 'Az.Redis.private\Get-AzRedisKey_List'; + } + if (('List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/Get-AzRedisLinkedServer.ps1 b/swaggerci/redis/exports/Get-AzRedisLinkedServer.ps1 new file mode 100644 index 000000000000..b12d8a8ec973 --- /dev/null +++ b/swaggerci/redis/exports/Get-AzRedisLinkedServer.ps1 @@ -0,0 +1,208 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets the detailed information about a linked server of a redis cache (requires Premium SKU). +.Description +Gets the detailed information about a linked server of a redis cache (requires Premium SKU). +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredislinkedserver +#> +function Get-AzRedisLinkedServer { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the linked server. + ${LinkedServerName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the redis cache. + ${Name}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Get')] + [Parameter(ParameterSetName='List')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Redis.private\Get-AzRedisLinkedServer_Get'; + GetViaIdentity = 'Az.Redis.private\Get-AzRedisLinkedServer_GetViaIdentity'; + List = 'Az.Redis.private\Get-AzRedisLinkedServer_List'; + } + if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/Get-AzRedisPatchSchedule.ps1 b/swaggerci/redis/exports/Get-AzRedisPatchSchedule.ps1 new file mode 100644 index 000000000000..adff94684d5d --- /dev/null +++ b/swaggerci/redis/exports/Get-AzRedisPatchSchedule.ps1 @@ -0,0 +1,207 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets the patching schedule of a redis cache. +.Description +Gets the patching schedule of a redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredispatchschedule +#> +function Get-AzRedisPatchSchedule { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the redis cache. + ${Name}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Get')] + [Parameter(ParameterSetName='List')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${CacheName}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Redis.private\Get-AzRedisPatchSchedule_Get'; + GetViaIdentity = 'Az.Redis.private\Get-AzRedisPatchSchedule_GetViaIdentity'; + List = 'Az.Redis.private\Get-AzRedisPatchSchedule_List'; + } + if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/Get-AzRedisPrivateEndpointConnection.ps1 b/swaggerci/redis/exports/Get-AzRedisPrivateEndpointConnection.ps1 new file mode 100644 index 000000000000..f29931b7fc59 --- /dev/null +++ b/swaggerci/redis/exports/Get-AzRedisPrivateEndpointConnection.ps1 @@ -0,0 +1,209 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets the specified private endpoint connection associated with the redis cache. +.Description +Gets the specified private endpoint connection associated with the redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredisprivateendpointconnection +#> +function Get-AzRedisPrivateEndpointConnection { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${CacheName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('PrivateEndpointConnectionName')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the private endpoint connection associated with the Azure resource + ${Name}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Get')] + [Parameter(ParameterSetName='List')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Redis.private\Get-AzRedisPrivateEndpointConnection_Get'; + GetViaIdentity = 'Az.Redis.private\Get-AzRedisPrivateEndpointConnection_GetViaIdentity'; + List = 'Az.Redis.private\Get-AzRedisPrivateEndpointConnection_List'; + } + if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/Get-AzRedisPrivateLinkResource.ps1 b/swaggerci/redis/exports/Get-AzRedisPrivateLinkResource.ps1 new file mode 100644 index 000000000000..d603f359a4b9 --- /dev/null +++ b/swaggerci/redis/exports/Get-AzRedisPrivateLinkResource.ps1 @@ -0,0 +1,171 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets the private link resources that need to be created for a redis cache. +.Description +Gets the private link resources that need to be created for a redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredisprivatelinkresource +#> +function Get-AzRedisPrivateLinkResource { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${CacheName}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + List = 'Az.Redis.private\Get-AzRedisPrivateLinkResource_List'; + } + if (('List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/Get-AzRedisUpgradeNotification.ps1 b/swaggerci/redis/exports/Get-AzRedisUpgradeNotification.ps1 new file mode 100644 index 000000000000..af29ed09dd00 --- /dev/null +++ b/swaggerci/redis/exports/Get-AzRedisUpgradeNotification.ps1 @@ -0,0 +1,177 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets any upgrade notifications for a Redis cache. +.Description +Gets any upgrade notifications for a Redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredisupgradenotification +#> +function Get-AzRedisUpgradeNotification { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Query')] + [System.Double] + # how many minutes in past to look for upgrade notifications + ${History}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + List = 'Az.Redis.private\Get-AzRedisUpgradeNotification_List'; + } + if (('List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/Import-AzRedisData.ps1 b/swaggerci/redis/exports/Import-AzRedisData.ps1 new file mode 100644 index 000000000000..5342ab60ebf3 --- /dev/null +++ b/swaggerci/redis/exports/Import-AzRedisData.ps1 @@ -0,0 +1,259 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Import data into Redis cache. +.Description +Import data into Redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +PARAMETER : Parameters for Redis import operation. + File : files to import. + [Format ]: File format. + [PreferredDataArchiveAuthMethod ]: Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/import-azredisdata +#> +function Import-AzRedisData { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='ImportExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Import', Mandatory)] + [Parameter(ParameterSetName='ImportExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(ParameterSetName='Import', Mandatory)] + [Parameter(ParameterSetName='ImportExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Import')] + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='ImportViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ImportViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Import', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ImportViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters] + # Parameters for Redis import operation. + # To construct, see NOTES section for PARAMETER properties and create a hash table. + ${Parameter}, + + [Parameter(ParameterSetName='ImportExpanded', Mandatory)] + [Parameter(ParameterSetName='ImportViaIdentityExpanded', Mandatory)] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String[]] + # files to import. + ${File}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Parameter(ParameterSetName='ImportViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # File format. + ${Format}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Parameter(ParameterSetName='ImportViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS + ${PreferredDataArchiveAuthMethod}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Import = 'Az.Redis.private\Import-AzRedisData_Import'; + ImportExpanded = 'Az.Redis.private\Import-AzRedisData_ImportExpanded'; + ImportViaIdentity = 'Az.Redis.private\Import-AzRedisData_ImportViaIdentity'; + ImportViaIdentityExpanded = 'Az.Redis.private\Import-AzRedisData_ImportViaIdentityExpanded'; + } + if (('Import', 'ImportExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/New-AzRedis.ps1 b/swaggerci/redis/exports/New-AzRedis.ps1 new file mode 100644 index 000000000000..bfce5dc5e708 --- /dev/null +++ b/swaggerci/redis/exports/New-AzRedis.ps1 @@ -0,0 +1,343 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create or replace (overwrite/recreate, with potential downtime) an existing Redis cache. +.Description +Create or replace (overwrite/recreate, with potential downtime) an existing Redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +REDISCONFIGURATION : All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc. + [(Any) ]: This indicates any property can be added to this object. + [AofBackupEnabled ]: Specifies whether the aof backup is enabled + [AofStorageConnectionString0 ]: First storage account connection string + [AofStorageConnectionString1 ]: Second storage account connection string + [Authnotrequired ]: Specifies whether the authentication is disabled. Setting this property is highly discouraged from security point of view. + [MaxfragmentationmemoryReserved ]: Value in megabytes reserved for fragmentation per shard + [MaxmemoryDelta ]: Value in megabytes reserved for non-cache usage per shard e.g. failover. + [MaxmemoryPolicy ]: The eviction strategy used when your data won't fit within its memory limit. + [MaxmemoryReserved ]: Value in megabytes reserved for non-cache usage per shard e.g. failover. + [NotifyKeyspaceEvent ]: The KeySpace Events which should be monitored. + [PreferredDataPersistenceAuthMethod ]: Preferred auth method to communicate to storage account used for data persistence, specify SAS or ManagedIdentity, default value is SAS + [RdbBackupEnabled ]: Specifies whether the rdb backup is enabled + [RdbBackupFrequency ]: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, 1440) + [RdbBackupMaxSnapshotCount ]: Specifies the maximum number of snapshots for rdb backup + [RdbStorageConnectionString ]: The storage account connection string for storing rdb file +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/new-azredis +#> +function New-AzRedis { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # The geo-location where the resource lives + ${Location}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32] + # The size of the Redis cache to deploy. + # Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4). + ${SkuCapacity}, + + [Parameter(Mandatory)] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily] + # The SKU family to use. + # Valid values: (C, P). + # (C = Basic/Standard, P = Premium). + ${SkuFamily}, + + [Parameter(Mandatory)] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName] + # The type of Redis cache to deploy. + # Valid values: (Basic, Standard, Premium) + ${SkuName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Specifies whether the non-ssl Redis server port (6379) is enabled. + ${EnableNonSslPort}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType] + # Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + ${IdentityType}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities]))] + [System.Collections.Hashtable] + # The set of user assigned identities associated with the resource. + # The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + # The dictionary values can be empty objects ({}) in requests. + ${IdentityUserAssignedIdentity}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion] + # Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + ${MinimumTlsVersion}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess] + # Whether or not public endpoint access is allowed for this cache. + # Value is optional but if passed in, must be 'Enabled' or 'Disabled'. + # If 'Disabled', private endpoints are the exclusive access method. + # Default value is 'Enabled' + ${PublicNetworkAccess}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration] + # All Redis Settings. + # Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc. + # To construct, see NOTES section for REDISCONFIGURATION properties and create a hash table. + ${RedisConfiguration}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Redis version. + # This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. + # Supported versions: 4.0, 6.0 (latest). + # Default value is 'latest'. + ${RedisVersion}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32] + # The number of replicas to be created per primary. + ${ReplicasPerMaster}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32] + # The number of replicas to be created per primary. + ${ReplicasPerPrimary}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32] + # The number of shards to be created on a Premium Cluster Cache. + ${ShardCount}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Static IP address. + # Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; auto assigned by default. + ${StaticIP}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # The full resource ID of a subnet in a virtual network to deploy the Redis cache in. + # Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + ${SubnetId}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings]))] + [System.Collections.Hashtable] + # A dictionary of tenant settings + ${TenantSetting}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String[]] + # A list of availability zones denoting where the resource needs to come from. + ${Zone}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + CreateExpanded = 'Az.Redis.private\New-AzRedis_CreateExpanded'; + } + if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/New-AzRedisFirewallRule.ps1 b/swaggerci/redis/exports/New-AzRedisFirewallRule.ps1 new file mode 100644 index 000000000000..d858375aca6f --- /dev/null +++ b/swaggerci/redis/exports/New-AzRedisFirewallRule.ps1 @@ -0,0 +1,189 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create or update a redis cache firewall rule +.Description +Create or update a redis cache firewall rule +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/new-azredisfirewallrule +#> +function New-AzRedisFirewallRule { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${CacheName}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the firewall rule. + ${RuleName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # highest IP address included in the range + ${EndIP}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # lowest IP address included in the range + ${StartIP}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + CreateExpanded = 'Az.Redis.private\New-AzRedisFirewallRule_CreateExpanded'; + } + if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/New-AzRedisKey.ps1 b/swaggerci/redis/exports/New-AzRedisKey.ps1 new file mode 100644 index 000000000000..f254296e631d --- /dev/null +++ b/swaggerci/redis/exports/New-AzRedisKey.ps1 @@ -0,0 +1,227 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Regenerate Redis cache's access keys. +This operation requires write permission to the cache resource. +.Description +Regenerate Redis cache's access keys. +This operation requires write permission to the cache resource. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +PARAMETER : Specifies which Redis access keys to reset. + KeyType : The Redis access key to regenerate. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/new-azrediskey +#> +function New-AzRedisKey { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys])] +[CmdletBinding(DefaultParameterSetName='RegenerateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Regenerate', Mandatory)] + [Parameter(ParameterSetName='RegenerateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(ParameterSetName='Regenerate', Mandatory)] + [Parameter(ParameterSetName='RegenerateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Regenerate')] + [Parameter(ParameterSetName='RegenerateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='RegenerateViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='RegenerateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Regenerate', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='RegenerateViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters] + # Specifies which Redis access keys to reset. + # To construct, see NOTES section for PARAMETER properties and create a hash table. + ${Parameter}, + + [Parameter(ParameterSetName='RegenerateExpanded', Mandatory)] + [Parameter(ParameterSetName='RegenerateViaIdentityExpanded', Mandatory)] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType] + # The Redis access key to regenerate. + ${KeyType}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Regenerate = 'Az.Redis.private\New-AzRedisKey_Regenerate'; + RegenerateExpanded = 'Az.Redis.private\New-AzRedisKey_RegenerateExpanded'; + RegenerateViaIdentity = 'Az.Redis.private\New-AzRedisKey_RegenerateViaIdentity'; + RegenerateViaIdentityExpanded = 'Az.Redis.private\New-AzRedisKey_RegenerateViaIdentityExpanded'; + } + if (('Regenerate', 'RegenerateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/New-AzRedisLinkedServer.ps1 b/swaggerci/redis/exports/New-AzRedisLinkedServer.ps1 new file mode 100644 index 000000000000..26a628857f78 --- /dev/null +++ b/swaggerci/redis/exports/New-AzRedisLinkedServer.ps1 @@ -0,0 +1,208 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Adds a linked server to the Redis cache (requires Premium SKU). +.Description +Adds a linked server to the Redis cache (requires Premium SKU). +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/new-azredislinkedserver +#> +function New-AzRedisLinkedServer { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the linked server that is being added to the Redis cache. + ${LinkedServerName}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Fully qualified resourceId of the linked redis cache. + ${LinkedRedisCacheId}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Location of the linked redis cache. + ${LinkedRedisCacheLocation}, + + [Parameter(Mandatory)] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole] + # Role of the linked server. + ${ServerRole}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + CreateExpanded = 'Az.Redis.private\New-AzRedisLinkedServer_CreateExpanded'; + } + if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/New-AzRedisPatchSchedule.ps1 b/swaggerci/redis/exports/New-AzRedisPatchSchedule.ps1 new file mode 100644 index 000000000000..d8a5f603f331 --- /dev/null +++ b/swaggerci/redis/exports/New-AzRedisPatchSchedule.ps1 @@ -0,0 +1,188 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create or replace the patching schedule for Redis cache. +.Description +Create or replace the patching schedule for Redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +SCHEDULEENTRY : List of patch schedules for a Redis cache. + DayOfWeek : Day of the week when a cache can be patched. + StartHourUtc : Start hour after which cache patching can start. + [MaintenanceWindow ]: ISO8601 timespan specifying how much time cache patching can take. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/new-azredispatchschedule +#> +function New-AzRedisPatchSchedule { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(Mandatory)] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry[]] + # List of patch schedules for a Redis cache. + # To construct, see NOTES section for SCHEDULEENTRY properties and create a hash table. + ${ScheduleEntry}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + CreateExpanded = 'Az.Redis.private\New-AzRedisPatchSchedule_CreateExpanded'; + } + if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/ProxyCmdletDefinitions.ps1 b/swaggerci/redis/exports/ProxyCmdletDefinitions.ps1 new file mode 100644 index 000000000000..c3bcd64c3aaf --- /dev/null +++ b/swaggerci/redis/exports/ProxyCmdletDefinitions.ps1 @@ -0,0 +1,5147 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Export data from the redis cache to blobs in a container. +.Description +Export data from the redis cache to blobs in a container. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +PARAMETER : Parameters for Redis export operation. + Container : Container name to export to. + Prefix : Prefix to use for exported files. + [Format ]: File format. + [PreferredDataArchiveAuthMethod ]: Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/export-azredisdata +#> +function Export-AzRedisData { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='ExportExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Export', Mandatory)] + [Parameter(ParameterSetName='ExportExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(ParameterSetName='Export', Mandatory)] + [Parameter(ParameterSetName='ExportExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Export')] + [Parameter(ParameterSetName='ExportExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='ExportViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ExportViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Export', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ExportViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters] + # Parameters for Redis export operation. + # To construct, see NOTES section for PARAMETER properties and create a hash table. + ${Parameter}, + + [Parameter(ParameterSetName='ExportExpanded', Mandatory)] + [Parameter(ParameterSetName='ExportViaIdentityExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Container name to export to. + ${Container}, + + [Parameter(ParameterSetName='ExportExpanded', Mandatory)] + [Parameter(ParameterSetName='ExportViaIdentityExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Prefix to use for exported files. + ${Prefix}, + + [Parameter(ParameterSetName='ExportExpanded')] + [Parameter(ParameterSetName='ExportViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # File format. + ${Format}, + + [Parameter(ParameterSetName='ExportExpanded')] + [Parameter(ParameterSetName='ExportViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS + ${PreferredDataArchiveAuthMethod}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Export = 'Az.Redis.private\Export-AzRedisData_Export'; + ExportExpanded = 'Az.Redis.private\Export-AzRedisData_ExportExpanded'; + ExportViaIdentity = 'Az.Redis.private\Export-AzRedisData_ExportViaIdentity'; + ExportViaIdentityExpanded = 'Az.Redis.private\Export-AzRedisData_ExportViaIdentityExpanded'; + } + if (('Export', 'ExportExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +For checking the ongoing status of an operation +.Description +For checking the ongoing status of an operation +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredisasyncoperationstatus +#> +function Get-AzRedisAsyncOperationStatus { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The location at which operation was triggered + ${Location}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The ID of asynchronous operation + ${OperationId}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Redis.private\Get-AzRedisAsyncOperationStatus_Get'; + GetViaIdentity = 'Az.Redis.private\Get-AzRedisAsyncOperationStatus_GetViaIdentity'; + } + if (('Get') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets a single firewall rule in a specified redis cache. +.Description +Gets a single firewall rule in a specified redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredisfirewallrule +#> +function Get-AzRedisFirewallRule { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${CacheName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the firewall rule. + ${RuleName}, + + [Parameter(ParameterSetName='Get')] + [Parameter(ParameterSetName='List')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Redis.private\Get-AzRedisFirewallRule_Get'; + GetViaIdentity = 'Az.Redis.private\Get-AzRedisFirewallRule_GetViaIdentity'; + List = 'Az.Redis.private\Get-AzRedisFirewallRule_List'; + } + if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Retrieve a Redis cache's access keys. +This operation requires write permission to the cache resource. +.Description +Retrieve a Redis cache's access keys. +This operation requires write permission to the cache resource. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azrediskey +#> +function Get-AzRedisKey { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + List = 'Az.Redis.private\Get-AzRedisKey_List'; + } + if (('List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets the detailed information about a linked server of a redis cache (requires Premium SKU). +.Description +Gets the detailed information about a linked server of a redis cache (requires Premium SKU). +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredislinkedserver +#> +function Get-AzRedisLinkedServer { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the linked server. + ${LinkedServerName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the redis cache. + ${Name}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Get')] + [Parameter(ParameterSetName='List')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Redis.private\Get-AzRedisLinkedServer_Get'; + GetViaIdentity = 'Az.Redis.private\Get-AzRedisLinkedServer_GetViaIdentity'; + List = 'Az.Redis.private\Get-AzRedisLinkedServer_List'; + } + if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets the patching schedule of a redis cache. +.Description +Gets the patching schedule of a redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredispatchschedule +#> +function Get-AzRedisPatchSchedule { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the redis cache. + ${Name}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Get')] + [Parameter(ParameterSetName='List')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${CacheName}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Redis.private\Get-AzRedisPatchSchedule_Get'; + GetViaIdentity = 'Az.Redis.private\Get-AzRedisPatchSchedule_GetViaIdentity'; + List = 'Az.Redis.private\Get-AzRedisPatchSchedule_List'; + } + if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets the specified private endpoint connection associated with the redis cache. +.Description +Gets the specified private endpoint connection associated with the redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredisprivateendpointconnection +#> +function Get-AzRedisPrivateEndpointConnection { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${CacheName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('PrivateEndpointConnectionName')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the private endpoint connection associated with the Azure resource + ${Name}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Get')] + [Parameter(ParameterSetName='List')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Redis.private\Get-AzRedisPrivateEndpointConnection_Get'; + GetViaIdentity = 'Az.Redis.private\Get-AzRedisPrivateEndpointConnection_GetViaIdentity'; + List = 'Az.Redis.private\Get-AzRedisPrivateEndpointConnection_List'; + } + if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets the private link resources that need to be created for a redis cache. +.Description +Gets the private link resources that need to be created for a redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredisprivatelinkresource +#> +function Get-AzRedisPrivateLinkResource { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${CacheName}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + List = 'Az.Redis.private\Get-AzRedisPrivateLinkResource_List'; + } + if (('List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets any upgrade notifications for a Redis cache. +.Description +Gets any upgrade notifications for a Redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredisupgradenotification +#> +function Get-AzRedisUpgradeNotification { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Query')] + [System.Double] + # how many minutes in past to look for upgrade notifications + ${History}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + List = 'Az.Redis.private\Get-AzRedisUpgradeNotification_List'; + } + if (('List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets a Redis cache (resource description). +.Description +Gets a Redis cache (resource description). +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredis +#> +function Get-AzRedis { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource])] +[CmdletBinding(DefaultParameterSetName='List1', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Get')] + [Parameter(ParameterSetName='List')] + [Parameter(ParameterSetName='List1')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Redis.private\Get-AzRedis_Get'; + GetViaIdentity = 'Az.Redis.private\Get-AzRedis_GetViaIdentity'; + List = 'Az.Redis.private\Get-AzRedis_List'; + List1 = 'Az.Redis.private\Get-AzRedis_List1'; + } + if (('Get', 'List', 'List1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Import data into Redis cache. +.Description +Import data into Redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +PARAMETER : Parameters for Redis import operation. + File : files to import. + [Format ]: File format. + [PreferredDataArchiveAuthMethod ]: Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/import-azredisdata +#> +function Import-AzRedisData { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='ImportExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Import', Mandatory)] + [Parameter(ParameterSetName='ImportExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(ParameterSetName='Import', Mandatory)] + [Parameter(ParameterSetName='ImportExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Import')] + [Parameter(ParameterSetName='ImportExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='ImportViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ImportViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Import', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ImportViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters] + # Parameters for Redis import operation. + # To construct, see NOTES section for PARAMETER properties and create a hash table. + ${Parameter}, + + [Parameter(ParameterSetName='ImportExpanded', Mandatory)] + [Parameter(ParameterSetName='ImportViaIdentityExpanded', Mandatory)] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String[]] + # files to import. + ${File}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Parameter(ParameterSetName='ImportViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # File format. + ${Format}, + + [Parameter(ParameterSetName='ImportExpanded')] + [Parameter(ParameterSetName='ImportViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS + ${PreferredDataArchiveAuthMethod}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Import = 'Az.Redis.private\Import-AzRedisData_Import'; + ImportExpanded = 'Az.Redis.private\Import-AzRedisData_ImportExpanded'; + ImportViaIdentity = 'Az.Redis.private\Import-AzRedisData_ImportViaIdentity'; + ImportViaIdentityExpanded = 'Az.Redis.private\Import-AzRedisData_ImportViaIdentityExpanded'; + } + if (('Import', 'ImportExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Create or update a redis cache firewall rule +.Description +Create or update a redis cache firewall rule +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/new-azredisfirewallrule +#> +function New-AzRedisFirewallRule { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${CacheName}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the firewall rule. + ${RuleName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # highest IP address included in the range + ${EndIP}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # lowest IP address included in the range + ${StartIP}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + CreateExpanded = 'Az.Redis.private\New-AzRedisFirewallRule_CreateExpanded'; + } + if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Regenerate Redis cache's access keys. +This operation requires write permission to the cache resource. +.Description +Regenerate Redis cache's access keys. +This operation requires write permission to the cache resource. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +PARAMETER : Specifies which Redis access keys to reset. + KeyType : The Redis access key to regenerate. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/new-azrediskey +#> +function New-AzRedisKey { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys])] +[CmdletBinding(DefaultParameterSetName='RegenerateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Regenerate', Mandatory)] + [Parameter(ParameterSetName='RegenerateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(ParameterSetName='Regenerate', Mandatory)] + [Parameter(ParameterSetName='RegenerateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Regenerate')] + [Parameter(ParameterSetName='RegenerateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='RegenerateViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='RegenerateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Regenerate', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='RegenerateViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters] + # Specifies which Redis access keys to reset. + # To construct, see NOTES section for PARAMETER properties and create a hash table. + ${Parameter}, + + [Parameter(ParameterSetName='RegenerateExpanded', Mandatory)] + [Parameter(ParameterSetName='RegenerateViaIdentityExpanded', Mandatory)] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType] + # The Redis access key to regenerate. + ${KeyType}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Regenerate = 'Az.Redis.private\New-AzRedisKey_Regenerate'; + RegenerateExpanded = 'Az.Redis.private\New-AzRedisKey_RegenerateExpanded'; + RegenerateViaIdentity = 'Az.Redis.private\New-AzRedisKey_RegenerateViaIdentity'; + RegenerateViaIdentityExpanded = 'Az.Redis.private\New-AzRedisKey_RegenerateViaIdentityExpanded'; + } + if (('Regenerate', 'RegenerateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Adds a linked server to the Redis cache (requires Premium SKU). +.Description +Adds a linked server to the Redis cache (requires Premium SKU). +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/new-azredislinkedserver +#> +function New-AzRedisLinkedServer { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the linked server that is being added to the Redis cache. + ${LinkedServerName}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Fully qualified resourceId of the linked redis cache. + ${LinkedRedisCacheId}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Location of the linked redis cache. + ${LinkedRedisCacheLocation}, + + [Parameter(Mandatory)] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole] + # Role of the linked server. + ${ServerRole}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + CreateExpanded = 'Az.Redis.private\New-AzRedisLinkedServer_CreateExpanded'; + } + if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Create or replace the patching schedule for Redis cache. +.Description +Create or replace the patching schedule for Redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +SCHEDULEENTRY : List of patch schedules for a Redis cache. + DayOfWeek : Day of the week when a cache can be patched. + StartHourUtc : Start hour after which cache patching can start. + [MaintenanceWindow ]: ISO8601 timespan specifying how much time cache patching can take. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/new-azredispatchschedule +#> +function New-AzRedisPatchSchedule { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(Mandatory)] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry[]] + # List of patch schedules for a Redis cache. + # To construct, see NOTES section for SCHEDULEENTRY properties and create a hash table. + ${ScheduleEntry}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + CreateExpanded = 'Az.Redis.private\New-AzRedisPatchSchedule_CreateExpanded'; + } + if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Create or replace (overwrite/recreate, with potential downtime) an existing Redis cache. +.Description +Create or replace (overwrite/recreate, with potential downtime) an existing Redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +REDISCONFIGURATION : All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc. + [(Any) ]: This indicates any property can be added to this object. + [AofBackupEnabled ]: Specifies whether the aof backup is enabled + [AofStorageConnectionString0 ]: First storage account connection string + [AofStorageConnectionString1 ]: Second storage account connection string + [Authnotrequired ]: Specifies whether the authentication is disabled. Setting this property is highly discouraged from security point of view. + [MaxfragmentationmemoryReserved ]: Value in megabytes reserved for fragmentation per shard + [MaxmemoryDelta ]: Value in megabytes reserved for non-cache usage per shard e.g. failover. + [MaxmemoryPolicy ]: The eviction strategy used when your data won't fit within its memory limit. + [MaxmemoryReserved ]: Value in megabytes reserved for non-cache usage per shard e.g. failover. + [NotifyKeyspaceEvent ]: The KeySpace Events which should be monitored. + [PreferredDataPersistenceAuthMethod ]: Preferred auth method to communicate to storage account used for data persistence, specify SAS or ManagedIdentity, default value is SAS + [RdbBackupEnabled ]: Specifies whether the rdb backup is enabled + [RdbBackupFrequency ]: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, 1440) + [RdbBackupMaxSnapshotCount ]: Specifies the maximum number of snapshots for rdb backup + [RdbStorageConnectionString ]: The storage account connection string for storing rdb file +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/new-azredis +#> +function New-AzRedis { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # The geo-location where the resource lives + ${Location}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32] + # The size of the Redis cache to deploy. + # Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4). + ${SkuCapacity}, + + [Parameter(Mandatory)] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily] + # The SKU family to use. + # Valid values: (C, P). + # (C = Basic/Standard, P = Premium). + ${SkuFamily}, + + [Parameter(Mandatory)] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName] + # The type of Redis cache to deploy. + # Valid values: (Basic, Standard, Premium) + ${SkuName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Specifies whether the non-ssl Redis server port (6379) is enabled. + ${EnableNonSslPort}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType] + # Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + ${IdentityType}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities]))] + [System.Collections.Hashtable] + # The set of user assigned identities associated with the resource. + # The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + # The dictionary values can be empty objects ({}) in requests. + ${IdentityUserAssignedIdentity}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion] + # Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + ${MinimumTlsVersion}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess] + # Whether or not public endpoint access is allowed for this cache. + # Value is optional but if passed in, must be 'Enabled' or 'Disabled'. + # If 'Disabled', private endpoints are the exclusive access method. + # Default value is 'Enabled' + ${PublicNetworkAccess}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration] + # All Redis Settings. + # Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc. + # To construct, see NOTES section for REDISCONFIGURATION properties and create a hash table. + ${RedisConfiguration}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Redis version. + # This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. + # Supported versions: 4.0, 6.0 (latest). + # Default value is 'latest'. + ${RedisVersion}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32] + # The number of replicas to be created per primary. + ${ReplicasPerMaster}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32] + # The number of replicas to be created per primary. + ${ReplicasPerPrimary}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32] + # The number of shards to be created on a Premium Cluster Cache. + ${ShardCount}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Static IP address. + # Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; auto assigned by default. + ${StaticIP}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # The full resource ID of a subnet in a virtual network to deploy the Redis cache in. + # Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + ${SubnetId}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings]))] + [System.Collections.Hashtable] + # A dictionary of tenant settings + ${TenantSetting}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String[]] + # A list of availability zones denoting where the resource needs to come from. + ${Zone}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + CreateExpanded = 'Az.Redis.private\New-AzRedis_CreateExpanded'; + } + if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Deletes a single firewall rule in a specified redis cache. +.Description +Deletes a single firewall rule in a specified redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/remove-azredisfirewallrule +#> +function Remove-AzRedisFirewallRule { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${CacheName}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the firewall rule. + ${RuleName}, + + [Parameter(ParameterSetName='Delete')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Delete = 'Az.Redis.private\Remove-AzRedisFirewallRule_Delete'; + DeleteViaIdentity = 'Az.Redis.private\Remove-AzRedisFirewallRule_DeleteViaIdentity'; + } + if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Deletes the linked server from a redis cache (requires Premium SKU). +.Description +Deletes the linked server from a redis cache (requires Premium SKU). +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/remove-azredislinkedserver +#> +function Remove-AzRedisLinkedServer { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the linked server that is being added to the Redis cache. + ${LinkedServerName}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the redis cache. + ${Name}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Delete')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Delete = 'Az.Redis.private\Remove-AzRedisLinkedServer_Delete'; + DeleteViaIdentity = 'Az.Redis.private\Remove-AzRedisLinkedServer_DeleteViaIdentity'; + } + if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Deletes the patching schedule of a redis cache. +.Description +Deletes the patching schedule of a redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/remove-azredispatchschedule +#> +function Remove-AzRedisPatchSchedule { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the redis cache. + ${Name}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Delete')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Delete = 'Az.Redis.private\Remove-AzRedisPatchSchedule_Delete'; + DeleteViaIdentity = 'Az.Redis.private\Remove-AzRedisPatchSchedule_DeleteViaIdentity'; + } + if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Deletes the specified private endpoint connection associated with the redis cache. +.Description +Deletes the specified private endpoint connection associated with the redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/remove-azredisprivateendpointconnection +#> +function Remove-AzRedisPrivateEndpointConnection { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${CacheName}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Alias('PrivateEndpointConnectionName')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the private endpoint connection associated with the Azure resource + ${Name}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Delete')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Delete = 'Az.Redis.private\Remove-AzRedisPrivateEndpointConnection_Delete'; + DeleteViaIdentity = 'Az.Redis.private\Remove-AzRedisPrivateEndpointConnection_DeleteViaIdentity'; + } + if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Deletes a Redis cache. +.Description +Deletes a Redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/remove-azredis +#> +function Remove-AzRedis { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Delete')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Delete = 'Az.Redis.private\Remove-AzRedis_Delete'; + DeleteViaIdentity = 'Az.Redis.private\Remove-AzRedis_DeleteViaIdentity'; + } + if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Reboot specified Redis node(s). +This operation requires write permission to the cache resource. +There can be potential data loss. +.Description +Reboot specified Redis node(s). +This operation requires write permission to the cache resource. +There can be potential data loss. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +System.String +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +PARAMETER : Specifies which Redis node(s) to reboot. + [Port ]: A list of redis instances to reboot, specified by per-instance SSL ports or non-SSL ports. + [RebootType ]: Which Redis node(s) to reboot. Depending on this value data loss is possible. + [ShardId ]: If clustering is enabled, the ID of the shard to be rebooted. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/restart-azredis +#> +function Restart-AzRedis { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='ForceRebootExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='ForceReboot', Mandatory)] + [Parameter(ParameterSetName='ForceRebootExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(ParameterSetName='ForceReboot', Mandatory)] + [Parameter(ParameterSetName='ForceRebootExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='ForceReboot')] + [Parameter(ParameterSetName='ForceRebootExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='ForceRebootViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ForceRebootViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='ForceReboot', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ForceRebootViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters] + # Specifies which Redis node(s) to reboot. + # To construct, see NOTES section for PARAMETER properties and create a hash table. + ${Parameter}, + + [Parameter(ParameterSetName='ForceRebootExpanded')] + [Parameter(ParameterSetName='ForceRebootViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32[]] + # A list of redis instances to reboot, specified by per-instance SSL ports or non-SSL ports. + ${Port}, + + [Parameter(ParameterSetName='ForceRebootExpanded')] + [Parameter(ParameterSetName='ForceRebootViaIdentityExpanded')] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType] + # Which Redis node(s) to reboot. + # Depending on this value data loss is possible. + ${RebootType}, + + [Parameter(ParameterSetName='ForceRebootExpanded')] + [Parameter(ParameterSetName='ForceRebootViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32] + # If clustering is enabled, the ID of the shard to be rebooted. + ${ShardId}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + ForceReboot = 'Az.Redis.private\Restart-AzRedis_ForceReboot'; + ForceRebootExpanded = 'Az.Redis.private\Restart-AzRedis_ForceRebootExpanded'; + ForceRebootViaIdentity = 'Az.Redis.private\Restart-AzRedis_ForceRebootViaIdentity'; + ForceRebootViaIdentityExpanded = 'Az.Redis.private\Restart-AzRedis_ForceRebootViaIdentityExpanded'; + } + if (('ForceReboot', 'ForceRebootExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Checks that the redis cache name is valid and is not already in use. +.Description +Checks that the redis cache name is valid and is not already in use. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +PARAMETER : Parameters body to pass for resource name availability check. + Name : Resource name. + Type : Resource type. The only legal value of this property for checking redis cache name availability is 'Microsoft.Cache/redis'. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/test-azredisnameavailability +#> +function Test-AzRedisNameAvailability { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='CheckExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Check')] + [Parameter(ParameterSetName='CheckExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='CheckViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='CheckViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Check', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='CheckViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters] + # Parameters body to pass for resource name availability check. + # To construct, see NOTES section for PARAMETER properties and create a hash table. + ${Parameter}, + + [Parameter(ParameterSetName='CheckExpanded', Mandatory)] + [Parameter(ParameterSetName='CheckViaIdentityExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Resource name. + ${Name}, + + [Parameter(ParameterSetName='CheckExpanded', Mandatory)] + [Parameter(ParameterSetName='CheckViaIdentityExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Resource type. + # The only legal value of this property for checking redis cache name availability is 'Microsoft.Cache/redis'. + ${Type}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Check = 'Az.Redis.private\Test-AzRedisNameAvailability_Check'; + CheckExpanded = 'Az.Redis.private\Test-AzRedisNameAvailability_CheckExpanded'; + CheckViaIdentity = 'Az.Redis.private\Test-AzRedisNameAvailability_CheckViaIdentity'; + CheckViaIdentityExpanded = 'Az.Redis.private\Test-AzRedisNameAvailability_CheckViaIdentityExpanded'; + } + if (('Check', 'CheckExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Update an existing Redis cache. +.Description +Update an existing Redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +REDISCONFIGURATION : All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc. + [(Any) ]: This indicates any property can be added to this object. + [AofBackupEnabled ]: Specifies whether the aof backup is enabled + [AofStorageConnectionString0 ]: First storage account connection string + [AofStorageConnectionString1 ]: Second storage account connection string + [Authnotrequired ]: Specifies whether the authentication is disabled. Setting this property is highly discouraged from security point of view. + [MaxfragmentationmemoryReserved ]: Value in megabytes reserved for fragmentation per shard + [MaxmemoryDelta ]: Value in megabytes reserved for non-cache usage per shard e.g. failover. + [MaxmemoryPolicy ]: The eviction strategy used when your data won't fit within its memory limit. + [MaxmemoryReserved ]: Value in megabytes reserved for non-cache usage per shard e.g. failover. + [NotifyKeyspaceEvent ]: The KeySpace Events which should be monitored. + [PreferredDataPersistenceAuthMethod ]: Preferred auth method to communicate to storage account used for data persistence, specify SAS or ManagedIdentity, default value is SAS + [RdbBackupEnabled ]: Specifies whether the rdb backup is enabled + [RdbBackupFrequency ]: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, 1440) + [RdbBackupMaxSnapshotCount ]: Specifies the maximum number of snapshots for rdb backup + [RdbStorageConnectionString ]: The storage account connection string for storing rdb file +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/update-azredis +#> +function Update-AzRedis { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Specifies whether the non-ssl Redis server port (6379) is enabled. + ${EnableNonSslPort}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType] + # Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + ${IdentityType}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities]))] + [System.Collections.Hashtable] + # The set of user assigned identities associated with the resource. + # The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + # The dictionary values can be empty objects ({}) in requests. + ${IdentityUserAssignedIdentity}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion] + # Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + ${MinimumTlsVersion}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess] + # Whether or not public endpoint access is allowed for this cache. + # Value is optional but if passed in, must be 'Enabled' or 'Disabled'. + # If 'Disabled', private endpoints are the exclusive access method. + # Default value is 'Enabled' + ${PublicNetworkAccess}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration] + # All Redis Settings. + # Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc. + # To construct, see NOTES section for REDISCONFIGURATION properties and create a hash table. + ${RedisConfiguration}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Redis version. + # This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. + # Supported versions: 4.0, 6.0 (latest). + # Default value is 'latest'. + ${RedisVersion}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32] + # The number of replicas to be created per primary. + ${ReplicasPerMaster}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32] + # The number of replicas to be created per primary. + ${ReplicasPerPrimary}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32] + # The number of shards to be created on a Premium Cluster Cache. + ${ShardCount}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32] + # The size of the Redis cache to deploy. + # Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4). + ${SkuCapacity}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily] + # The SKU family to use. + # Valid values: (C, P). + # (C = Basic/Standard, P = Premium). + ${SkuFamily}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName] + # The type of Redis cache to deploy. + # Valid values: (Basic, Standard, Premium) + ${SkuName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings]))] + [System.Collections.Hashtable] + # A dictionary of tenant settings + ${TenantSetting}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + UpdateExpanded = 'Az.Redis.private\Update-AzRedis_UpdateExpanded'; + UpdateViaIdentityExpanded = 'Az.Redis.private\Update-AzRedis_UpdateViaIdentityExpanded'; + } + if (('UpdateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/README.md b/swaggerci/redis/exports/README.md new file mode 100644 index 000000000000..d6aeda7f8ba1 --- /dev/null +++ b/swaggerci/redis/exports/README.md @@ -0,0 +1,20 @@ +# Exports +This directory contains the cmdlets *exported by* `Az.Redis`. No other cmdlets in this repository are directly exported. What that means is the `Az.Redis` module will run [Export-ModuleMember](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/export-modulemember) on the cmldets in this directory. The cmdlets in this directory are generated at **build-time**. Do not put any custom code, files, cmdlets, etc. into this directory. Please use `../custom` for all custom implementation. + +## Info +- Modifiable: no +- Generated: all +- Committed: no +- Packaged: yes + +## Details +The cmdlets generated here are created every time you run `build-module.ps1`. These cmdlets are a merge of all (excluding `InternalExport`) cmdlets from the private binary (`../bin/Az.Redis.private.dll`) and from the `../custom/Az.Redis.custom.psm1` module. Cmdlets that are *not merged* from those directories are decorated with the `InternalExport` attribute. This happens when you set the cmdlet to **hide** from configuration. For more information on hiding, see [cmdlet hiding](https://github.com/Azure/autorest/blob/master/docs/powershell/options.md#cmdlet-hiding-exportation-suppression) or the [README.md](../internal/README.md) in the `../internal` folder. + +## Purpose +We generate script cmdlets out of the binary cmdlets and custom cmdlets. The format of script cmdlets are simplistic; thus, easier to generate at build time. Generating the cmdlets is required as to allow merging of generated binary, hand-written binary, and hand-written custom cmdlets. For Azure cmdlets, having script cmdlets simplifies the mechanism for exporting Azure profiles. + +## Structure +The cmdlets generated here will flat in the directory (no sub-folders) as long as there are no Azure profiles specified for any cmdlets. Azure profiles (the `Profiles` attribute) is only applied when generating with the `--azure` attribute (or `azure: true` in the configuration). When Azure profiles are applied, the folder structure has a folder per profile. Each profile folder has only those cmdlets that apply to that profile. + +## Usage +When `./Az.Redis.psm1` is loaded, it dynamically exports cmdlets here based on the folder structure and on the selected profile. If there are no sub-folders, it exports all cmdlets at the root of this folder. If there are sub-folders, it checks to see the selected profile. If no profile is selected, it exports the cmdlets in the last sub-folder (alphabetically). If a profile is selected, it exports the cmdlets in the sub-folder that matches the profile name. If there is no sub-folder that matches the profile name, it exports no cmdlets and writes a warning message. \ No newline at end of file diff --git a/swaggerci/redis/exports/Remove-AzRedis.ps1 b/swaggerci/redis/exports/Remove-AzRedis.ps1 new file mode 100644 index 000000000000..2697c3c483b8 --- /dev/null +++ b/swaggerci/redis/exports/Remove-AzRedis.ps1 @@ -0,0 +1,216 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Deletes a Redis cache. +.Description +Deletes a Redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/remove-azredis +#> +function Remove-AzRedis { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Delete')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Delete = 'Az.Redis.private\Remove-AzRedis_Delete'; + DeleteViaIdentity = 'Az.Redis.private\Remove-AzRedis_DeleteViaIdentity'; + } + if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/Remove-AzRedisFirewallRule.ps1 b/swaggerci/redis/exports/Remove-AzRedisFirewallRule.ps1 new file mode 100644 index 000000000000..a3937415ec28 --- /dev/null +++ b/swaggerci/redis/exports/Remove-AzRedisFirewallRule.ps1 @@ -0,0 +1,210 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Deletes a single firewall rule in a specified redis cache. +.Description +Deletes a single firewall rule in a specified redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/remove-azredisfirewallrule +#> +function Remove-AzRedisFirewallRule { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${CacheName}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the firewall rule. + ${RuleName}, + + [Parameter(ParameterSetName='Delete')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Delete = 'Az.Redis.private\Remove-AzRedisFirewallRule_Delete'; + DeleteViaIdentity = 'Az.Redis.private\Remove-AzRedisFirewallRule_DeleteViaIdentity'; + } + if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/Remove-AzRedisLinkedServer.ps1 b/swaggerci/redis/exports/Remove-AzRedisLinkedServer.ps1 new file mode 100644 index 000000000000..d9c481059ac4 --- /dev/null +++ b/swaggerci/redis/exports/Remove-AzRedisLinkedServer.ps1 @@ -0,0 +1,222 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Deletes the linked server from a redis cache (requires Premium SKU). +.Description +Deletes the linked server from a redis cache (requires Premium SKU). +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/remove-azredislinkedserver +#> +function Remove-AzRedisLinkedServer { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the linked server that is being added to the Redis cache. + ${LinkedServerName}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the redis cache. + ${Name}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Delete')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Delete = 'Az.Redis.private\Remove-AzRedisLinkedServer_Delete'; + DeleteViaIdentity = 'Az.Redis.private\Remove-AzRedisLinkedServer_DeleteViaIdentity'; + } + if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/Remove-AzRedisPatchSchedule.ps1 b/swaggerci/redis/exports/Remove-AzRedisPatchSchedule.ps1 new file mode 100644 index 000000000000..467e62e465ac --- /dev/null +++ b/swaggerci/redis/exports/Remove-AzRedisPatchSchedule.ps1 @@ -0,0 +1,204 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Deletes the patching schedule of a redis cache. +.Description +Deletes the patching schedule of a redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/remove-azredispatchschedule +#> +function Remove-AzRedisPatchSchedule { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the redis cache. + ${Name}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Delete')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Delete = 'Az.Redis.private\Remove-AzRedisPatchSchedule_Delete'; + DeleteViaIdentity = 'Az.Redis.private\Remove-AzRedisPatchSchedule_DeleteViaIdentity'; + } + if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/Remove-AzRedisPrivateEndpointConnection.ps1 b/swaggerci/redis/exports/Remove-AzRedisPrivateEndpointConnection.ps1 new file mode 100644 index 000000000000..7cf46c210042 --- /dev/null +++ b/swaggerci/redis/exports/Remove-AzRedisPrivateEndpointConnection.ps1 @@ -0,0 +1,211 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Deletes the specified private endpoint connection associated with the redis cache. +.Description +Deletes the specified private endpoint connection associated with the redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/remove-azredisprivateendpointconnection +#> +function Remove-AzRedisPrivateEndpointConnection { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${CacheName}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Alias('PrivateEndpointConnectionName')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the private endpoint connection associated with the Azure resource + ${Name}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='Delete')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Delete = 'Az.Redis.private\Remove-AzRedisPrivateEndpointConnection_Delete'; + DeleteViaIdentity = 'Az.Redis.private\Remove-AzRedisPrivateEndpointConnection_DeleteViaIdentity'; + } + if (('Delete') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/Restart-AzRedis.ps1 b/swaggerci/redis/exports/Restart-AzRedis.ps1 new file mode 100644 index 000000000000..2e01aee66673 --- /dev/null +++ b/swaggerci/redis/exports/Restart-AzRedis.ps1 @@ -0,0 +1,247 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Reboot specified Redis node(s). +This operation requires write permission to the cache resource. +There can be potential data loss. +.Description +Reboot specified Redis node(s). +This operation requires write permission to the cache resource. +There can be potential data loss. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +System.String +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +PARAMETER : Specifies which Redis node(s) to reboot. + [Port ]: A list of redis instances to reboot, specified by per-instance SSL ports or non-SSL ports. + [RebootType ]: Which Redis node(s) to reboot. Depending on this value data loss is possible. + [ShardId ]: If clustering is enabled, the ID of the shard to be rebooted. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/restart-azredis +#> +function Restart-AzRedis { +[OutputType([System.String])] +[CmdletBinding(DefaultParameterSetName='ForceRebootExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='ForceReboot', Mandatory)] + [Parameter(ParameterSetName='ForceRebootExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(ParameterSetName='ForceReboot', Mandatory)] + [Parameter(ParameterSetName='ForceRebootExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='ForceReboot')] + [Parameter(ParameterSetName='ForceRebootExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='ForceRebootViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ForceRebootViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='ForceReboot', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ForceRebootViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters] + # Specifies which Redis node(s) to reboot. + # To construct, see NOTES section for PARAMETER properties and create a hash table. + ${Parameter}, + + [Parameter(ParameterSetName='ForceRebootExpanded')] + [Parameter(ParameterSetName='ForceRebootViaIdentityExpanded')] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32[]] + # A list of redis instances to reboot, specified by per-instance SSL ports or non-SSL ports. + ${Port}, + + [Parameter(ParameterSetName='ForceRebootExpanded')] + [Parameter(ParameterSetName='ForceRebootViaIdentityExpanded')] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType] + # Which Redis node(s) to reboot. + # Depending on this value data loss is possible. + ${RebootType}, + + [Parameter(ParameterSetName='ForceRebootExpanded')] + [Parameter(ParameterSetName='ForceRebootViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32] + # If clustering is enabled, the ID of the shard to be rebooted. + ${ShardId}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + ForceReboot = 'Az.Redis.private\Restart-AzRedis_ForceReboot'; + ForceRebootExpanded = 'Az.Redis.private\Restart-AzRedis_ForceRebootExpanded'; + ForceRebootViaIdentity = 'Az.Redis.private\Restart-AzRedis_ForceRebootViaIdentity'; + ForceRebootViaIdentityExpanded = 'Az.Redis.private\Restart-AzRedis_ForceRebootViaIdentityExpanded'; + } + if (('ForceReboot', 'ForceRebootExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/Test-AzRedisNameAvailability.ps1 b/swaggerci/redis/exports/Test-AzRedisNameAvailability.ps1 new file mode 100644 index 000000000000..faadbace52a6 --- /dev/null +++ b/swaggerci/redis/exports/Test-AzRedisNameAvailability.ps1 @@ -0,0 +1,225 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Checks that the redis cache name is valid and is not already in use. +.Description +Checks that the redis cache name is valid and is not already in use. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +System.Boolean +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +PARAMETER : Parameters body to pass for resource name availability check. + Name : Resource name. + Type : Resource type. The only legal value of this property for checking redis cache name availability is 'Microsoft.Cache/redis'. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/test-azredisnameavailability +#> +function Test-AzRedisNameAvailability { +[OutputType([System.Boolean])] +[CmdletBinding(DefaultParameterSetName='CheckExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Check')] + [Parameter(ParameterSetName='CheckExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='CheckViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='CheckViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Check', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='CheckViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters] + # Parameters body to pass for resource name availability check. + # To construct, see NOTES section for PARAMETER properties and create a hash table. + ${Parameter}, + + [Parameter(ParameterSetName='CheckExpanded', Mandatory)] + [Parameter(ParameterSetName='CheckViaIdentityExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Resource name. + ${Name}, + + [Parameter(ParameterSetName='CheckExpanded', Mandatory)] + [Parameter(ParameterSetName='CheckViaIdentityExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Resource type. + # The only legal value of this property for checking redis cache name availability is 'Microsoft.Cache/redis'. + ${Type}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Check = 'Az.Redis.private\Test-AzRedisNameAvailability_Check'; + CheckExpanded = 'Az.Redis.private\Test-AzRedisNameAvailability_CheckExpanded'; + CheckViaIdentity = 'Az.Redis.private\Test-AzRedisNameAvailability_CheckViaIdentity'; + CheckViaIdentityExpanded = 'Az.Redis.private\Test-AzRedisNameAvailability_CheckViaIdentityExpanded'; + } + if (('Check', 'CheckExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/exports/Update-AzRedis.ps1 b/swaggerci/redis/exports/Update-AzRedis.ps1 new file mode 100644 index 000000000000..6892314c93bb --- /dev/null +++ b/swaggerci/redis/exports/Update-AzRedis.ps1 @@ -0,0 +1,339 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Update an existing Redis cache. +.Description +Update an existing Redis cache. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [CacheName ]: The name of the Redis cache. + [Default ]: Default string modeled as parameter for auto generation to work correctly. + [Id ]: Resource identity path + [LinkedServerName ]: The name of the linked server that is being added to the Redis cache. + [Location ]: The location at which operation was triggered + [Name ]: The name of the Redis cache. + [OperationId ]: The ID of asynchronous operation + [PrivateEndpointConnectionName ]: The name of the private endpoint connection associated with the Azure resource + [ResourceGroupName ]: The name of the resource group. + [RuleName ]: The name of the firewall rule. + [SubscriptionId ]: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + +REDISCONFIGURATION : All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc. + [(Any) ]: This indicates any property can be added to this object. + [AofBackupEnabled ]: Specifies whether the aof backup is enabled + [AofStorageConnectionString0 ]: First storage account connection string + [AofStorageConnectionString1 ]: Second storage account connection string + [Authnotrequired ]: Specifies whether the authentication is disabled. Setting this property is highly discouraged from security point of view. + [MaxfragmentationmemoryReserved ]: Value in megabytes reserved for fragmentation per shard + [MaxmemoryDelta ]: Value in megabytes reserved for non-cache usage per shard e.g. failover. + [MaxmemoryPolicy ]: The eviction strategy used when your data won't fit within its memory limit. + [MaxmemoryReserved ]: Value in megabytes reserved for non-cache usage per shard e.g. failover. + [NotifyKeyspaceEvent ]: The KeySpace Events which should be monitored. + [PreferredDataPersistenceAuthMethod ]: Preferred auth method to communicate to storage account used for data persistence, specify SAS or ManagedIdentity, default value is SAS + [RdbBackupEnabled ]: Specifies whether the rdb backup is enabled + [RdbBackupFrequency ]: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, 1440) + [RdbBackupMaxSnapshotCount ]: Specifies the maximum number of snapshots for rdb backup + [RdbStorageConnectionString ]: The storage account connection string for storing rdb file +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/update-azredis +#> +function Update-AzRedis { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the Redis cache. + ${Name}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [System.String] + # The name of the resource group. + ${ResourceGroupName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # Gets subscription credentials which uniquely identify the Microsoft Azure subscription. + # The subscription ID forms part of the URI for every service call. + ${SubscriptionId}, + + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Specifies whether the non-ssl Redis server port (6379) is enabled. + ${EnableNonSslPort}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType] + # Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + ${IdentityType}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities]))] + [System.Collections.Hashtable] + # The set of user assigned identities associated with the resource. + # The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + # The dictionary values can be empty objects ({}) in requests. + ${IdentityUserAssignedIdentity}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion] + # Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + ${MinimumTlsVersion}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess] + # Whether or not public endpoint access is allowed for this cache. + # Value is optional but if passed in, must be 'Enabled' or 'Disabled'. + # If 'Disabled', private endpoints are the exclusive access method. + # Default value is 'Enabled' + ${PublicNetworkAccess}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration] + # All Redis Settings. + # Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc. + # To construct, see NOTES section for REDISCONFIGURATION properties and create a hash table. + ${RedisConfiguration}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.String] + # Redis version. + # This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. + # Supported versions: 4.0, 6.0 (latest). + # Default value is 'latest'. + ${RedisVersion}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32] + # The number of replicas to be created per primary. + ${ReplicasPerMaster}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32] + # The number of replicas to be created per primary. + ${ReplicasPerPrimary}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32] + # The number of shards to be created on a Premium Cluster Cache. + ${ShardCount}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [System.Int32] + # The size of the Redis cache to deploy. + # Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4). + ${SkuCapacity}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily] + # The SKU family to use. + # Valid values: (C, P). + # (C = Basic/Standard, P = Premium). + ${SkuFamily}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName])] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName] + # The type of Redis cache to deploy. + # Valid values: (Basic, Standard, Premium) + ${SkuName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags]))] + [System.Collections.Hashtable] + # Resource tags. + ${Tag}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings]))] + [System.Collections.Hashtable] + # A dictionary of tenant settings + ${TenantSetting}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + UpdateExpanded = 'Az.Redis.private\Update-AzRedis_UpdateExpanded'; + UpdateViaIdentityExpanded = 'Az.Redis.private\Update-AzRedis_UpdateViaIdentityExpanded'; + } + if (('UpdateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/redis/generate-help.ps1 b/swaggerci/redis/generate-help.ps1 new file mode 100644 index 000000000000..307fd507d85c --- /dev/null +++ b/swaggerci/redis/generate-help.ps1 @@ -0,0 +1,66 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- +param([switch]$Isolated) +$ErrorActionPreference = 'Stop' + +$pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path +if(-not $Isolated) { + Write-Host -ForegroundColor Green 'Creating isolated process...' + & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -Isolated + return +} + +$exportsFolder = Join-Path $PSScriptRoot 'exports' +if(-not (Test-Path $exportsFolder)) { + Write-Error "Exports folder '$exportsFolder' was not found." +} + +$directories = Get-ChildItem -Directory -Path $exportsFolder +$hasProfiles = ($directories | Measure-Object).Count -gt 0 +if(-not $hasProfiles) { + $directories = Get-Item -Path $exportsFolder +} + +$docsFolder = Join-Path $PSScriptRoot 'docs' +if(Test-Path $docsFolder) { + $null = Get-ChildItem -Path $docsFolder -Recurse -Exclude 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue +} +$null = New-Item -ItemType Directory -Force -Path $docsFolder -ErrorAction SilentlyContinue +$examplesFolder = Join-Path $PSScriptRoot 'examples' + +$modulePsd1 = Get-Item -Path (Join-Path $PSScriptRoot './Az.Redis.psd1') +$modulePath = $modulePsd1.FullName +$moduleName = $modulePsd1.BaseName + +# Load DLL to use build-time cmdlets +Import-Module -Name $modulePath +Import-Module -Name (Join-Path $PSScriptRoot './bin/Az.Redis.private.dll') +$instance = [Microsoft.Azure.PowerShell.Cmdlets.Redis.Module]::Instance +# Module info is shared per profile +$moduleInfo = Get-Module -Name $moduleName + +foreach($directory in $directories) +{ + if($hasProfiles) { + Select-AzProfile -Name $directory.Name + } + # Reload module per profile + Import-Module -Name $modulePath -Force + + $cmdletNames = Get-ScriptCmdlet -ScriptFolder $directory.FullName + $cmdletHelpInfo = $cmdletNames | ForEach-Object { Get-Help -Name $_ -Full } + $cmdletFunctionInfo = Get-ScriptCmdlet -ScriptFolder $directory.FullName -AsFunctionInfo + + $docsPath = Join-Path $docsFolder $directory.Name + $null = New-Item -ItemType Directory -Force -Path $docsPath -ErrorAction SilentlyContinue + $examplesPath = Join-Path $examplesFolder $directory.Name + + Export-HelpMarkdown -ModuleInfo $moduleInfo -FunctionInfo $cmdletFunctionInfo -HelpInfo $cmdletHelpInfo -DocsFolder $docsPath -ExamplesFolder $examplesPath + Write-Host -ForegroundColor Green "Created documentation in '$docsPath'" +} + +Write-Host -ForegroundColor Green '-------------Done-------------' \ No newline at end of file diff --git a/swaggerci/redis/generated/Module.cs b/swaggerci/redis/generated/Module.cs new file mode 100644 index 000000000000..498fe733cca1 --- /dev/null +++ b/swaggerci/redis/generated/Module.cs @@ -0,0 +1,181 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using SendAsyncStepDelegate = global::System.Func, global::System.Threading.Tasks.Task>, global::System.Func, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>; + using PipelineChangeDelegate = global::System.Action, global::System.Threading.Tasks.Task>, global::System.Func, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>>; + using GetParameterDelegate = global::System.Func; + using ModuleLoadPipelineDelegate = global::System.Action, global::System.Threading.Tasks.Task>, global::System.Func, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>>, global::System.Action, global::System.Threading.Tasks.Task>, global::System.Func, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>>>; + using ArgumentCompleterDelegate = global::System.Func; + using GetTelemetryIdDelegate = global::System.Func; + using TelemetryDelegate = global::System.Action; + using NewRequestPipelineDelegate = global::System.Action, global::System.Threading.Tasks.Task>, global::System.Func, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>>, global::System.Action, global::System.Threading.Tasks.Task>, global::System.Func, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>>>; + using SignalDelegate = global::System.Func, global::System.Threading.Tasks.Task>; + using EventListenerDelegate = global::System.Func, global::System.Func, global::System.Threading.Tasks.Task>, global::System.Management.Automation.InvocationInfo, string, string, string, global::System.Exception, global::System.Threading.Tasks.Task>; + using NextDelegate = global::System.Func, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>; + + /// A class that contains the module-common code and data. + public partial class Module + { + /// The currently selected profile. + public string Profile = global::System.String.Empty; + + public global::System.Net.Http.HttpClientHandler _handler = new global::System.Net.Http.HttpClientHandler(); + + /// the ISendAsync pipeline instance + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline _pipeline; + + /// the ISendAsync pipeline instance (when proxy is enabled) + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline _pipelineWithProxy; + + public bool _useProxy = false; + + public global::System.Net.WebProxy _webProxy = new global::System.Net.WebProxy(); + + /// Gets completion data for azure specific fields + public ArgumentCompleterDelegate ArgumentCompleter { get; set; } + + /// The instance of the Client API + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient ClientAPI { get; set; } + + /// A delegate that gets called for each signalled event + public EventListenerDelegate EventListener { get; set; } + + /// The delegate to call to get parameter data from a common module. + public GetParameterDelegate GetParameterValue { get; set; } + + /// The delegate to get the telemetry Id. + public GetTelemetryIdDelegate GetTelemetryId { get; set; } + + /// Backing field for property. + private static Microsoft.Azure.PowerShell.Cmdlets.Redis.Module _instance; + + /// the singleton of this module class + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Module Instance => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module._instance?? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Module._instance = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Module()); + + /// The Name of this module + public string Name => @"Az.Redis"; + + /// The delegate to call when this module is loaded (supporting a commmon module). + public ModuleLoadPipelineDelegate OnModuleLoad { get; set; } + + /// The delegate to call before each new request (supporting a commmon module). + public NewRequestPipelineDelegate OnNewRequest { get; set; } + + /// The name of the currently selected Azure profile + public global::System.String ProfileName { get; set; } + + /// The ResourceID for this module (azure arm). + public string ResourceId => @"Az.Redis"; + + /// The delegate for creating a telemetry. + public TelemetryDelegate Telemetry { get; set; } + + /// The from the cmdlet + /// The HttpPipeline for the request + + partial void AfterCreatePipeline(global::System.Management.Automation.InvocationInfo invocationInfo, ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline pipeline); + + /// The from the cmdlet + /// The HttpPipeline for the request + + partial void BeforeCreatePipeline(global::System.Management.Automation.InvocationInfo invocationInfo, ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline pipeline); + + partial void CustomInit(); + + /// Creates an instance of the HttpPipeline for each call. + /// The from the cmdlet + /// the cmdlet's correlation id. + /// the cmdlet's process record correlation id. + /// the cmdlet's parameterset name. + /// a dict for extensible parameters + /// An instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline for the remote call. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline CreatePipeline(global::System.Management.Automation.InvocationInfo invocationInfo, string correlationId, string processRecordId, string parameterSetName = null, global::System.Collections.Generic.IDictionary extensibleParameters = null) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline pipeline = null; + BeforeCreatePipeline(invocationInfo, ref pipeline); + pipeline = (pipeline ?? (_useProxy ? _pipelineWithProxy : _pipeline)).Clone(); + AfterCreatePipeline(invocationInfo, ref pipeline); + pipeline.Append(new Runtime.CmdInfoHandler(processRecordId, invocationInfo, parameterSetName).SendAsync); + OnNewRequest?.Invoke( invocationInfo, correlationId,processRecordId, (step)=> { pipeline.Prepend(step); } , (step)=> { pipeline.Append(step); } ); + return pipeline; + } + + /// Gets parameters from a common module. + /// The from the cmdlet + /// the cmdlet's correlation id. + /// The name of the parameter to get the value for. + /// + /// The parameter value from the common module. (Note: this should be type converted on the way back) + /// + public object GetParameter(global::System.Management.Automation.InvocationInfo invocationInfo, string correlationId, string parameterName) => GetParameterValue?.Invoke( ResourceId, Name, invocationInfo, correlationId,parameterName ); + + /// Initialization steps performed after the module is loaded. + public void Init() + { + OnModuleLoad?.Invoke( ResourceId, Name ,(step)=> { _pipeline.Prepend(step); } , (step)=> { _pipeline.Append(step); } ); + OnModuleLoad?.Invoke( ResourceId, Name ,(step)=> { _pipelineWithProxy.Prepend(step); } , (step)=> { _pipelineWithProxy.Append(step); } ); + CustomInit(); + } + + /// Creates the module instance. + private Module() + { + // constructor + ClientAPI = new Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient(); + _handler.Proxy = _webProxy; + _pipeline = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline(new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpClientFactory(new global::System.Net.Http.HttpClient())); + _pipelineWithProxy = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline(new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpClientFactory(new global::System.Net.Http.HttpClient(_handler))); + } + + /// The HTTP Proxy to use. + /// The HTTP Proxy Credentials + /// True if the proxy should use default credentials + public void SetProxyConfiguration(global::System.Uri proxy, global::System.Management.Automation.PSCredential proxyCredential, bool proxyUseDefaultCredentials) + { + _useProxy = proxy != null; + if (proxy == null) + { + return; + } + // set the proxy configuration + _webProxy.Address = proxy; + _webProxy.BypassProxyOnLocal = false; + if (proxyUseDefaultCredentials) + { + _webProxy.Credentials = null; + _webProxy.UseDefaultCredentials = true; + } + else + { + _webProxy.UseDefaultCredentials = false; + _webProxy.Credentials = proxyCredential ?.GetNetworkCredential(); + } + } + + /// Called to dispatch events to the common module listener + /// The ID of the event + /// The cancellation token for the event + /// A delegate to get the detailed event data + /// The callback for the event dispatcher + /// The from the cmdlet + /// the cmdlet's parameterset name. + /// the cmdlet's correlation id. + /// the cmdlet's process record correlation id. + /// the exception that is being thrown (if available) + /// + /// A that will be complete when handling of the event is completed. + /// + public async global::System.Threading.Tasks.Task Signal(string id, global::System.Threading.CancellationToken token, global::System.Func getEventData, SignalDelegate signal, global::System.Management.Automation.InvocationInfo invocationInfo, string parameterSetName, string correlationId, string processRecordId, global::System.Exception exception) + { + using( NoSynchronizationContext ) + { + await EventListener?.Invoke(id,token,getEventData, signal, invocationInfo, parameterSetName, correlationId,processRecordId,exception); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Any.PowerShell.cs b/swaggerci/redis/generated/api/Models/Any.PowerShell.cs new file mode 100644 index 000000000000..332ad0299f68 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Any.PowerShell.cs @@ -0,0 +1,136 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Any object + [System.ComponentModel.TypeConverter(typeof(AnyTypeConverter))] + public partial class Any + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Any(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Any(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IAny DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Any(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IAny DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Any(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IAny FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Any object + [System.ComponentModel.TypeConverter(typeof(AnyTypeConverter))] + public partial interface IAny + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Any.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Any.TypeConverter.cs new file mode 100644 index 000000000000..e8133e31e4ce --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Any.TypeConverter.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class AnyTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IAny ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IAny).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Any.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Any.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Any.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Any.cs b/swaggerci/redis/generated/api/Models/Any.cs new file mode 100644 index 000000000000..fbac264ddd3d --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Any.cs @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Any object + public partial class Any : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IAny, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IAnyInternal + { + + /// Creates an new instance. + public Any() + { + + } + } + /// Any object + public partial interface IAny : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + + } + /// Any object + internal partial interface IAnyInternal + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Any.json.cs b/swaggerci/redis/generated/api/Models/Any.json.cs new file mode 100644 index 000000000000..3fc247c8a08a --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Any.json.cs @@ -0,0 +1,104 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Any object + public partial class Any + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal Any(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IAny. + /// + /// a to deserialize from. + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IAny. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IAny FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new Any(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateEndpoint.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpoint.PowerShell.cs new file mode 100644 index 000000000000..68306cbee5f9 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpoint.PowerShell.cs @@ -0,0 +1,144 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// The Private Endpoint resource. + [System.ComponentModel.TypeConverter(typeof(PrivateEndpointTypeConverter))] + public partial class PrivateEndpoint + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpoint DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new PrivateEndpoint(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpoint DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new PrivateEndpoint(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpoint FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal PrivateEndpoint(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointInternal)this).Id, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal PrivateEndpoint(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointInternal)this).Id, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The Private Endpoint resource. + [System.ComponentModel.TypeConverter(typeof(PrivateEndpointTypeConverter))] + public partial interface IPrivateEndpoint + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateEndpoint.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpoint.TypeConverter.cs new file mode 100644 index 000000000000..702f8a881e41 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpoint.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class PrivateEndpointTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpoint ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpoint).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return PrivateEndpoint.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return PrivateEndpoint.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return PrivateEndpoint.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateEndpoint.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpoint.cs new file mode 100644 index 000000000000..d2b89c249c74 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpoint.cs @@ -0,0 +1,54 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The Private Endpoint resource. + public partial class PrivateEndpoint : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpoint, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointInternal + { + + /// Backing field for property. + private string _id; + + /// The ARM identifier for Private Endpoint + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Id { get => this._id; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointInternal.Id { get => this._id; set { {_id = value;} } } + + /// Creates an new instance. + public PrivateEndpoint() + { + + } + } + /// The Private Endpoint resource. + public partial interface IPrivateEndpoint : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// The ARM identifier for Private Endpoint + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ARM identifier for Private Endpoint", + SerializedName = @"id", + PossibleTypes = new [] { typeof(string) })] + string Id { get; } + + } + /// The Private Endpoint resource. + internal partial interface IPrivateEndpointInternal + + { + /// The ARM identifier for Private Endpoint + string Id { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateEndpoint.json.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpoint.json.cs new file mode 100644 index 000000000000..75b16e93c147 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpoint.json.cs @@ -0,0 +1,111 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The Private Endpoint resource. + public partial class PrivateEndpoint + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpoint. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpoint. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpoint FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new PrivateEndpoint(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal PrivateEndpoint(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_id = If( json?.PropertyT("id"), out var __jsonId) ? (string)__jsonId : (string)Id;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._id)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._id.ToString()) : null, "id" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnection.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnection.PowerShell.cs new file mode 100644 index 000000000000..fe18f972c26c --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnection.PowerShell.cs @@ -0,0 +1,224 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// The Private Endpoint Connection resource. + [System.ComponentModel.TypeConverter(typeof(PrivateEndpointConnectionTypeConverter))] + public partial class PrivateEndpointConnection + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new PrivateEndpointConnection(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new PrivateEndpointConnection(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal PrivateEndpointConnection(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnectionPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("PrivateEndpoint")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateEndpoint = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpoint) content.GetValueForProperty("PrivateEndpoint",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateEndpoint, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointTypeConverter.ConvertFrom); + } + if (content.Contains("PrivateLinkServiceConnectionState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateLinkServiceConnectionState = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionState) content.GetValueForProperty("PrivateLinkServiceConnectionState",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateLinkServiceConnectionState, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkServiceConnectionStateTypeConverter.ConvertFrom); + } + if (content.Contains("ProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).ProvisioningState = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState?) content.GetValueForProperty("ProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).ProvisioningState, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState.CreateFrom); + } + if (content.Contains("PrivateEndpointId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateEndpointId = (string) content.GetValueForProperty("PrivateEndpointId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateEndpointId, global::System.Convert.ToString); + } + if (content.Contains("PrivateLinkServiceConnectionStateDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateLinkServiceConnectionStateDescription = (string) content.GetValueForProperty("PrivateLinkServiceConnectionStateDescription",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateLinkServiceConnectionStateDescription, global::System.Convert.ToString); + } + if (content.Contains("PrivateLinkServiceConnectionStateActionsRequired")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateLinkServiceConnectionStateActionsRequired = (string) content.GetValueForProperty("PrivateLinkServiceConnectionStateActionsRequired",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateLinkServiceConnectionStateActionsRequired, global::System.Convert.ToString); + } + if (content.Contains("PrivateLinkServiceConnectionStateStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateLinkServiceConnectionStateStatus = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus?) content.GetValueForProperty("PrivateLinkServiceConnectionStateStatus",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateLinkServiceConnectionStateStatus, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus.CreateFrom); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal PrivateEndpointConnection(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnectionPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("PrivateEndpoint")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateEndpoint = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpoint) content.GetValueForProperty("PrivateEndpoint",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateEndpoint, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointTypeConverter.ConvertFrom); + } + if (content.Contains("PrivateLinkServiceConnectionState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateLinkServiceConnectionState = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionState) content.GetValueForProperty("PrivateLinkServiceConnectionState",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateLinkServiceConnectionState, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkServiceConnectionStateTypeConverter.ConvertFrom); + } + if (content.Contains("ProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).ProvisioningState = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState?) content.GetValueForProperty("ProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).ProvisioningState, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState.CreateFrom); + } + if (content.Contains("PrivateEndpointId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateEndpointId = (string) content.GetValueForProperty("PrivateEndpointId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateEndpointId, global::System.Convert.ToString); + } + if (content.Contains("PrivateLinkServiceConnectionStateDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateLinkServiceConnectionStateDescription = (string) content.GetValueForProperty("PrivateLinkServiceConnectionStateDescription",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateLinkServiceConnectionStateDescription, global::System.Convert.ToString); + } + if (content.Contains("PrivateLinkServiceConnectionStateActionsRequired")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateLinkServiceConnectionStateActionsRequired = (string) content.GetValueForProperty("PrivateLinkServiceConnectionStateActionsRequired",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateLinkServiceConnectionStateActionsRequired, global::System.Convert.ToString); + } + if (content.Contains("PrivateLinkServiceConnectionStateStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateLinkServiceConnectionStateStatus = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus?) content.GetValueForProperty("PrivateLinkServiceConnectionStateStatus",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal)this).PrivateLinkServiceConnectionStateStatus, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus.CreateFrom); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The Private Endpoint Connection resource. + [System.ComponentModel.TypeConverter(typeof(PrivateEndpointConnectionTypeConverter))] + public partial interface IPrivateEndpointConnection + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnection.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnection.TypeConverter.cs new file mode 100644 index 000000000000..e8110d01fb13 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnection.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class PrivateEndpointConnectionTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return PrivateEndpointConnection.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return PrivateEndpointConnection.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return PrivateEndpointConnection.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnection.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnection.cs new file mode 100644 index 000000000000..9867f7ed6ddd --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnection.cs @@ -0,0 +1,189 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The Private Endpoint Connection resource. + public partial class PrivateEndpointConnection : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.Resource(); + + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id; } + + /// Internal Acessors for PrivateEndpoint + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpoint Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal.PrivateEndpoint { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)Property).PrivateEndpoint; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)Property).PrivateEndpoint = value; } + + /// Internal Acessors for PrivateEndpointId + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal.PrivateEndpointId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)Property).PrivateEndpointId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)Property).PrivateEndpointId = value; } + + /// Internal Acessors for PrivateLinkServiceConnectionState + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionState Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal.PrivateLinkServiceConnectionState { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)Property).PrivateLinkServiceConnectionState; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)Property).PrivateLinkServiceConnectionState = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionProperties Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnectionProperties()); set { {_property = value;} } } + + /// Internal Acessors for ProvisioningState + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionInternal.ProvisioningState { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)Property).ProvisioningState; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)Property).ProvisioningState = value; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type = value; } + + /// The name of the resource + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name; } + + /// The ARM identifier for Private Endpoint + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string PrivateEndpointId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)Property).PrivateEndpointId; } + + /// + /// A message indicating if changes on the service provider require any updates on the consumer. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string PrivateLinkServiceConnectionStateActionsRequired { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)Property).PrivateLinkServiceConnectionStateActionsRequired; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)Property).PrivateLinkServiceConnectionStateActionsRequired = value ?? null; } + + /// The reason for approval/rejection of the connection. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string PrivateLinkServiceConnectionStateDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)Property).PrivateLinkServiceConnectionStateDescription; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)Property).PrivateLinkServiceConnectionStateDescription = value ?? null; } + + /// + /// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus? PrivateLinkServiceConnectionStateStatus { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)Property).PrivateLinkServiceConnectionStateStatus; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)Property).PrivateLinkServiceConnectionStateStatus = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus)""); } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionProperties _property; + + /// Resource properties. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnectionProperties()); set => this._property = value; } + + /// The provisioning state of the private endpoint connection resource. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState? ProvisioningState { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)Property).ProvisioningState; } + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public PrivateEndpointConnection() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// The Private Endpoint Connection resource. + public partial interface IPrivateEndpointConnection : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource + { + /// The ARM identifier for Private Endpoint + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ARM identifier for Private Endpoint", + SerializedName = @"id", + PossibleTypes = new [] { typeof(string) })] + string PrivateEndpointId { get; } + /// + /// A message indicating if changes on the service provider require any updates on the consumer. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"A message indicating if changes on the service provider require any updates on the consumer.", + SerializedName = @"actionsRequired", + PossibleTypes = new [] { typeof(string) })] + string PrivateLinkServiceConnectionStateActionsRequired { get; set; } + /// The reason for approval/rejection of the connection. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The reason for approval/rejection of the connection.", + SerializedName = @"description", + PossibleTypes = new [] { typeof(string) })] + string PrivateLinkServiceConnectionStateDescription { get; set; } + /// + /// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus? PrivateLinkServiceConnectionStateStatus { get; set; } + /// The provisioning state of the private endpoint connection resource. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The provisioning state of the private endpoint connection resource.", + SerializedName = @"provisioningState", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState? ProvisioningState { get; } + + } + /// The Private Endpoint Connection resource. + internal partial interface IPrivateEndpointConnectionInternal : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal + { + /// The resource of private end point. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpoint PrivateEndpoint { get; set; } + /// The ARM identifier for Private Endpoint + string PrivateEndpointId { get; set; } + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionState PrivateLinkServiceConnectionState { get; set; } + /// + /// A message indicating if changes on the service provider require any updates on the consumer. + /// + string PrivateLinkServiceConnectionStateActionsRequired { get; set; } + /// The reason for approval/rejection of the connection. + string PrivateLinkServiceConnectionStateDescription { get; set; } + /// + /// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus? PrivateLinkServiceConnectionStateStatus { get; set; } + /// Resource properties. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionProperties Property { get; set; } + /// The provisioning state of the private endpoint connection resource. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState? ProvisioningState { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnection.json.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnection.json.cs new file mode 100644 index 000000000000..4f0c2a23b62f --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnection.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The Private Endpoint Connection resource. + public partial class PrivateEndpointConnection + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new PrivateEndpointConnection(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal PrivateEndpointConnection(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnectionProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionListResult.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionListResult.PowerShell.cs new file mode 100644 index 000000000000..66b2d7d0b518 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionListResult.PowerShell.cs @@ -0,0 +1,150 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// List of private endpoint connection associated with the specified storage account + /// + [System.ComponentModel.TypeConverter(typeof(PrivateEndpointConnectionListResultTypeConverter))] + public partial class PrivateEndpointConnectionListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new PrivateEndpointConnectionListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new PrivateEndpointConnectionListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal PrivateEndpointConnectionListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnectionTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal PrivateEndpointConnectionListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnectionTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// List of private endpoint connection associated with the specified storage account + [System.ComponentModel.TypeConverter(typeof(PrivateEndpointConnectionListResultTypeConverter))] + public partial interface IPrivateEndpointConnectionListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionListResult.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionListResult.TypeConverter.cs new file mode 100644 index 000000000000..5a445b0df239 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionListResult.TypeConverter.cs @@ -0,0 +1,149 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class PrivateEndpointConnectionListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise + /// false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return PrivateEndpointConnectionListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return PrivateEndpointConnectionListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return PrivateEndpointConnectionListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionListResult.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionListResult.cs new file mode 100644 index 000000000000..3a8deca2da59 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionListResult.cs @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// List of private endpoint connection associated with the specified storage account + /// + public partial class PrivateEndpointConnectionListResult : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionListResult, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionListResultInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection[] _value; + + /// Array of private endpoint connections + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection[] Value { get => this._value; set => this._value = value; } + + /// Creates an new instance. + public PrivateEndpointConnectionListResult() + { + + } + } + /// List of private endpoint connection associated with the specified storage account + public partial interface IPrivateEndpointConnectionListResult : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// Array of private endpoint connections + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Array of private endpoint connections", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection[] Value { get; set; } + + } + /// List of private endpoint connection associated with the specified storage account + internal partial interface IPrivateEndpointConnectionListResultInternal + + { + /// Array of private endpoint connections + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionListResult.json.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionListResult.json.cs new file mode 100644 index 000000000000..13ea60215f0d --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionListResult.json.cs @@ -0,0 +1,119 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// List of private endpoint connection associated with the specified storage account + /// + public partial class PrivateEndpointConnectionListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new PrivateEndpointConnectionListResult(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal PrivateEndpointConnectionListResult(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection) (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnection.FromJson(__u) )) ))() : null : Value;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionProperties.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionProperties.PowerShell.cs new file mode 100644 index 000000000000..3fd97da61cf6 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionProperties.PowerShell.cs @@ -0,0 +1,196 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Properties of the PrivateEndpointConnectProperties. + [System.ComponentModel.TypeConverter(typeof(PrivateEndpointConnectionPropertiesTypeConverter))] + public partial class PrivateEndpointConnectionProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new PrivateEndpointConnectionProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new PrivateEndpointConnectionProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal PrivateEndpointConnectionProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("PrivateEndpoint")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateEndpoint = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpoint) content.GetValueForProperty("PrivateEndpoint",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateEndpoint, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointTypeConverter.ConvertFrom); + } + if (content.Contains("PrivateLinkServiceConnectionState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateLinkServiceConnectionState = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionState) content.GetValueForProperty("PrivateLinkServiceConnectionState",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateLinkServiceConnectionState, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkServiceConnectionStateTypeConverter.ConvertFrom); + } + if (content.Contains("ProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).ProvisioningState = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState?) content.GetValueForProperty("ProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).ProvisioningState, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState.CreateFrom); + } + if (content.Contains("PrivateEndpointId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateEndpointId = (string) content.GetValueForProperty("PrivateEndpointId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateEndpointId, global::System.Convert.ToString); + } + if (content.Contains("PrivateLinkServiceConnectionStateDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateLinkServiceConnectionStateDescription = (string) content.GetValueForProperty("PrivateLinkServiceConnectionStateDescription",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateLinkServiceConnectionStateDescription, global::System.Convert.ToString); + } + if (content.Contains("PrivateLinkServiceConnectionStateActionsRequired")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateLinkServiceConnectionStateActionsRequired = (string) content.GetValueForProperty("PrivateLinkServiceConnectionStateActionsRequired",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateLinkServiceConnectionStateActionsRequired, global::System.Convert.ToString); + } + if (content.Contains("PrivateLinkServiceConnectionStateStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateLinkServiceConnectionStateStatus = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus?) content.GetValueForProperty("PrivateLinkServiceConnectionStateStatus",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateLinkServiceConnectionStateStatus, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus.CreateFrom); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal PrivateEndpointConnectionProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("PrivateEndpoint")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateEndpoint = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpoint) content.GetValueForProperty("PrivateEndpoint",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateEndpoint, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointTypeConverter.ConvertFrom); + } + if (content.Contains("PrivateLinkServiceConnectionState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateLinkServiceConnectionState = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionState) content.GetValueForProperty("PrivateLinkServiceConnectionState",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateLinkServiceConnectionState, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkServiceConnectionStateTypeConverter.ConvertFrom); + } + if (content.Contains("ProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).ProvisioningState = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState?) content.GetValueForProperty("ProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).ProvisioningState, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState.CreateFrom); + } + if (content.Contains("PrivateEndpointId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateEndpointId = (string) content.GetValueForProperty("PrivateEndpointId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateEndpointId, global::System.Convert.ToString); + } + if (content.Contains("PrivateLinkServiceConnectionStateDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateLinkServiceConnectionStateDescription = (string) content.GetValueForProperty("PrivateLinkServiceConnectionStateDescription",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateLinkServiceConnectionStateDescription, global::System.Convert.ToString); + } + if (content.Contains("PrivateLinkServiceConnectionStateActionsRequired")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateLinkServiceConnectionStateActionsRequired = (string) content.GetValueForProperty("PrivateLinkServiceConnectionStateActionsRequired",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateLinkServiceConnectionStateActionsRequired, global::System.Convert.ToString); + } + if (content.Contains("PrivateLinkServiceConnectionStateStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateLinkServiceConnectionStateStatus = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus?) content.GetValueForProperty("PrivateLinkServiceConnectionStateStatus",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal)this).PrivateLinkServiceConnectionStateStatus, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus.CreateFrom); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Properties of the PrivateEndpointConnectProperties. + [System.ComponentModel.TypeConverter(typeof(PrivateEndpointConnectionPropertiesTypeConverter))] + public partial interface IPrivateEndpointConnectionProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionProperties.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionProperties.TypeConverter.cs new file mode 100644 index 000000000000..32f6df168260 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionProperties.TypeConverter.cs @@ -0,0 +1,149 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class PrivateEndpointConnectionPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise + /// false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return PrivateEndpointConnectionProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return PrivateEndpointConnectionProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return PrivateEndpointConnectionProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionProperties.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionProperties.cs new file mode 100644 index 000000000000..613d6c44eb49 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionProperties.cs @@ -0,0 +1,153 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Properties of the PrivateEndpointConnectProperties. + public partial class PrivateEndpointConnectionProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionProperties, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal + { + + /// Internal Acessors for PrivateEndpoint + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpoint Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal.PrivateEndpoint { get => (this._privateEndpoint = this._privateEndpoint ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpoint()); set { {_privateEndpoint = value;} } } + + /// Internal Acessors for PrivateEndpointId + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal.PrivateEndpointId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointInternal)PrivateEndpoint).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointInternal)PrivateEndpoint).Id = value; } + + /// Internal Acessors for PrivateLinkServiceConnectionState + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionState Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal.PrivateLinkServiceConnectionState { get => (this._privateLinkServiceConnectionState = this._privateLinkServiceConnectionState ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkServiceConnectionState()); set { {_privateLinkServiceConnectionState = value;} } } + + /// Internal Acessors for ProvisioningState + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionPropertiesInternal.ProvisioningState { get => this._provisioningState; set { {_provisioningState = value;} } } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpoint _privateEndpoint; + + /// The resource of private end point. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpoint PrivateEndpoint { get => (this._privateEndpoint = this._privateEndpoint ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpoint()); set => this._privateEndpoint = value; } + + /// The ARM identifier for Private Endpoint + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string PrivateEndpointId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointInternal)PrivateEndpoint).Id; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionState _privateLinkServiceConnectionState; + + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionState PrivateLinkServiceConnectionState { get => (this._privateLinkServiceConnectionState = this._privateLinkServiceConnectionState ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkServiceConnectionState()); set => this._privateLinkServiceConnectionState = value; } + + /// + /// A message indicating if changes on the service provider require any updates on the consumer. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string PrivateLinkServiceConnectionStateActionsRequired { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionStateInternal)PrivateLinkServiceConnectionState).ActionsRequired; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionStateInternal)PrivateLinkServiceConnectionState).ActionsRequired = value ?? null; } + + /// The reason for approval/rejection of the connection. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string PrivateLinkServiceConnectionStateDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionStateInternal)PrivateLinkServiceConnectionState).Description; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionStateInternal)PrivateLinkServiceConnectionState).Description = value ?? null; } + + /// + /// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus? PrivateLinkServiceConnectionStateStatus { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionStateInternal)PrivateLinkServiceConnectionState).Status; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionStateInternal)PrivateLinkServiceConnectionState).Status = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus)""); } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState? _provisioningState; + + /// The provisioning state of the private endpoint connection resource. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState? ProvisioningState { get => this._provisioningState; } + + /// Creates an new instance. + public PrivateEndpointConnectionProperties() + { + + } + } + /// Properties of the PrivateEndpointConnectProperties. + public partial interface IPrivateEndpointConnectionProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// The ARM identifier for Private Endpoint + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ARM identifier for Private Endpoint", + SerializedName = @"id", + PossibleTypes = new [] { typeof(string) })] + string PrivateEndpointId { get; } + /// + /// A message indicating if changes on the service provider require any updates on the consumer. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"A message indicating if changes on the service provider require any updates on the consumer.", + SerializedName = @"actionsRequired", + PossibleTypes = new [] { typeof(string) })] + string PrivateLinkServiceConnectionStateActionsRequired { get; set; } + /// The reason for approval/rejection of the connection. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The reason for approval/rejection of the connection.", + SerializedName = @"description", + PossibleTypes = new [] { typeof(string) })] + string PrivateLinkServiceConnectionStateDescription { get; set; } + /// + /// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus? PrivateLinkServiceConnectionStateStatus { get; set; } + /// The provisioning state of the private endpoint connection resource. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The provisioning state of the private endpoint connection resource.", + SerializedName = @"provisioningState", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState? ProvisioningState { get; } + + } + /// Properties of the PrivateEndpointConnectProperties. + internal partial interface IPrivateEndpointConnectionPropertiesInternal + + { + /// The resource of private end point. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpoint PrivateEndpoint { get; set; } + /// The ARM identifier for Private Endpoint + string PrivateEndpointId { get; set; } + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionState PrivateLinkServiceConnectionState { get; set; } + /// + /// A message indicating if changes on the service provider require any updates on the consumer. + /// + string PrivateLinkServiceConnectionStateActionsRequired { get; set; } + /// The reason for approval/rejection of the connection. + string PrivateLinkServiceConnectionStateDescription { get; set; } + /// + /// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus? PrivateLinkServiceConnectionStateStatus { get; set; } + /// The provisioning state of the private endpoint connection resource. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState? ProvisioningState { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionProperties.json.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionProperties.json.cs new file mode 100644 index 000000000000..2c58364609f2 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateEndpointConnectionProperties.json.cs @@ -0,0 +1,116 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Properties of the PrivateEndpointConnectProperties. + public partial class PrivateEndpointConnectionProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new PrivateEndpointConnectionProperties(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal PrivateEndpointConnectionProperties(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_privateEndpoint = If( json?.PropertyT("privateEndpoint"), out var __jsonPrivateEndpoint) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpoint.FromJson(__jsonPrivateEndpoint) : PrivateEndpoint;} + {_privateLinkServiceConnectionState = If( json?.PropertyT("privateLinkServiceConnectionState"), out var __jsonPrivateLinkServiceConnectionState) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkServiceConnectionState.FromJson(__jsonPrivateLinkServiceConnectionState) : PrivateLinkServiceConnectionState;} + {_provisioningState = If( json?.PropertyT("provisioningState"), out var __jsonProvisioningState) ? (string)__jsonProvisioningState : (string)ProvisioningState;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != this._privateEndpoint ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._privateEndpoint.ToJson(null,serializationMode) : null, "privateEndpoint" ,container.Add ); + AddIf( null != this._privateLinkServiceConnectionState ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._privateLinkServiceConnectionState.ToJson(null,serializationMode) : null, "privateLinkServiceConnectionState" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._provisioningState)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._provisioningState.ToString()) : null, "provisioningState" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResource.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResource.PowerShell.cs new file mode 100644 index 000000000000..f0eb59759ca6 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResource.PowerShell.cs @@ -0,0 +1,192 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// A private link resource + [System.ComponentModel.TypeConverter(typeof(PrivateLinkResourceTypeConverter))] + public partial class PrivateLinkResource + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new PrivateLinkResource(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new PrivateLinkResource(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal PrivateLinkResource(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkResourcePropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("GroupId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal)this).GroupId = (string) content.GetValueForProperty("GroupId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal)this).GroupId, global::System.Convert.ToString); + } + if (content.Contains("RequiredMember")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal)this).RequiredMember = (string[]) content.GetValueForProperty("RequiredMember",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal)this).RequiredMember, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("RequiredZoneName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal)this).RequiredZoneName = (string[]) content.GetValueForProperty("RequiredZoneName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal)this).RequiredZoneName, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal PrivateLinkResource(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkResourcePropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("GroupId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal)this).GroupId = (string) content.GetValueForProperty("GroupId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal)this).GroupId, global::System.Convert.ToString); + } + if (content.Contains("RequiredMember")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal)this).RequiredMember = (string[]) content.GetValueForProperty("RequiredMember",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal)this).RequiredMember, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("RequiredZoneName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal)this).RequiredZoneName = (string[]) content.GetValueForProperty("RequiredZoneName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal)this).RequiredZoneName, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// A private link resource + [System.ComponentModel.TypeConverter(typeof(PrivateLinkResourceTypeConverter))] + public partial interface IPrivateLinkResource + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResource.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResource.TypeConverter.cs new file mode 100644 index 000000000000..6b8bf4a17ec2 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResource.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class PrivateLinkResourceTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return PrivateLinkResource.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return PrivateLinkResource.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return PrivateLinkResource.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResource.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResource.cs new file mode 100644 index 000000000000..db7a994e5412 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResource.cs @@ -0,0 +1,137 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// A private link resource + public partial class PrivateLinkResource : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.Resource(); + + /// The private link resource group id. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string GroupId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)Property).GroupId; } + + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id; } + + /// Internal Acessors for GroupId + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal.GroupId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)Property).GroupId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)Property).GroupId = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceProperties Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkResourceProperties()); set { {_property = value;} } } + + /// Internal Acessors for RequiredMember + string[] Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceInternal.RequiredMember { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)Property).RequiredMember; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)Property).RequiredMember = value; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type = value; } + + /// The name of the resource + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceProperties _property; + + /// Resource properties. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkResourceProperties()); set => this._property = value; } + + /// The private link resource required member names. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string[] RequiredMember { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)Property).RequiredMember; } + + /// The private link resource Private link DNS zone name. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string[] RequiredZoneName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)Property).RequiredZoneName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)Property).RequiredZoneName = value ?? null /* arrayOf */; } + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public PrivateLinkResource() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// A private link resource + public partial interface IPrivateLinkResource : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource + { + /// The private link resource group id. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The private link resource group id.", + SerializedName = @"groupId", + PossibleTypes = new [] { typeof(string) })] + string GroupId { get; } + /// The private link resource required member names. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The private link resource required member names.", + SerializedName = @"requiredMembers", + PossibleTypes = new [] { typeof(string) })] + string[] RequiredMember { get; } + /// The private link resource Private link DNS zone name. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The private link resource Private link DNS zone name.", + SerializedName = @"requiredZoneNames", + PossibleTypes = new [] { typeof(string) })] + string[] RequiredZoneName { get; set; } + + } + /// A private link resource + internal partial interface IPrivateLinkResourceInternal : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal + { + /// The private link resource group id. + string GroupId { get; set; } + /// Resource properties. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceProperties Property { get; set; } + /// The private link resource required member names. + string[] RequiredMember { get; set; } + /// The private link resource Private link DNS zone name. + string[] RequiredZoneName { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResource.json.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResource.json.cs new file mode 100644 index 000000000000..ac1b4c2e9394 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResource.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// A private link resource + public partial class PrivateLinkResource + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new PrivateLinkResource(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal PrivateLinkResource(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkResourceProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceListResult.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceListResult.PowerShell.cs new file mode 100644 index 000000000000..ac01b1f6ac2c --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceListResult.PowerShell.cs @@ -0,0 +1,144 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// A list of private link resources + [System.ComponentModel.TypeConverter(typeof(PrivateLinkResourceListResultTypeConverter))] + public partial class PrivateLinkResourceListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new PrivateLinkResourceListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new PrivateLinkResourceListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal PrivateLinkResourceListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkResourceTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal PrivateLinkResourceListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkResourceTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// A list of private link resources + [System.ComponentModel.TypeConverter(typeof(PrivateLinkResourceListResultTypeConverter))] + public partial interface IPrivateLinkResourceListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceListResult.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceListResult.TypeConverter.cs new file mode 100644 index 000000000000..e2f5b6262529 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceListResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class PrivateLinkResourceListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return PrivateLinkResourceListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return PrivateLinkResourceListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return PrivateLinkResourceListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceListResult.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceListResult.cs new file mode 100644 index 000000000000..806a8dfe36cc --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceListResult.cs @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// A list of private link resources + public partial class PrivateLinkResourceListResult : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceListResult, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceListResultInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource[] _value; + + /// Array of private link resources + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource[] Value { get => this._value; set => this._value = value; } + + /// Creates an new instance. + public PrivateLinkResourceListResult() + { + + } + } + /// A list of private link resources + public partial interface IPrivateLinkResourceListResult : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// Array of private link resources + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Array of private link resources", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource[] Value { get; set; } + + } + /// A list of private link resources + internal partial interface IPrivateLinkResourceListResultInternal + + { + /// Array of private link resources + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceListResult.json.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceListResult.json.cs new file mode 100644 index 000000000000..25a81020f731 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceListResult.json.cs @@ -0,0 +1,116 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// A list of private link resources + public partial class PrivateLinkResourceListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new PrivateLinkResourceListResult(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal PrivateLinkResourceListResult(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource) (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkResource.FromJson(__u) )) ))() : null : Value;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceProperties.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceProperties.PowerShell.cs new file mode 100644 index 000000000000..63a5540de89f --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceProperties.PowerShell.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Properties of a private link resource. + [System.ComponentModel.TypeConverter(typeof(PrivateLinkResourcePropertiesTypeConverter))] + public partial class PrivateLinkResourceProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new PrivateLinkResourceProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new PrivateLinkResourceProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal PrivateLinkResourceProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("GroupId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)this).GroupId = (string) content.GetValueForProperty("GroupId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)this).GroupId, global::System.Convert.ToString); + } + if (content.Contains("RequiredMember")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)this).RequiredMember = (string[]) content.GetValueForProperty("RequiredMember",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)this).RequiredMember, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("RequiredZoneName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)this).RequiredZoneName = (string[]) content.GetValueForProperty("RequiredZoneName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)this).RequiredZoneName, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal PrivateLinkResourceProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("GroupId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)this).GroupId = (string) content.GetValueForProperty("GroupId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)this).GroupId, global::System.Convert.ToString); + } + if (content.Contains("RequiredMember")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)this).RequiredMember = (string[]) content.GetValueForProperty("RequiredMember",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)this).RequiredMember, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("RequiredZoneName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)this).RequiredZoneName = (string[]) content.GetValueForProperty("RequiredZoneName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal)this).RequiredZoneName, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Properties of a private link resource. + [System.ComponentModel.TypeConverter(typeof(PrivateLinkResourcePropertiesTypeConverter))] + public partial interface IPrivateLinkResourceProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceProperties.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceProperties.TypeConverter.cs new file mode 100644 index 000000000000..84fb4459e7be --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class PrivateLinkResourcePropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return PrivateLinkResourceProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return PrivateLinkResourceProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return PrivateLinkResourceProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceProperties.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceProperties.cs new file mode 100644 index 000000000000..4b7ad8092e56 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceProperties.cs @@ -0,0 +1,91 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Properties of a private link resource. + public partial class PrivateLinkResourceProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceProperties, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal + { + + /// Backing field for property. + private string _groupId; + + /// The private link resource group id. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string GroupId { get => this._groupId; } + + /// Internal Acessors for GroupId + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal.GroupId { get => this._groupId; set { {_groupId = value;} } } + + /// Internal Acessors for RequiredMember + string[] Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourcePropertiesInternal.RequiredMember { get => this._requiredMember; set { {_requiredMember = value;} } } + + /// Backing field for property. + private string[] _requiredMember; + + /// The private link resource required member names. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string[] RequiredMember { get => this._requiredMember; } + + /// Backing field for property. + private string[] _requiredZoneName; + + /// The private link resource Private link DNS zone name. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string[] RequiredZoneName { get => this._requiredZoneName; set => this._requiredZoneName = value; } + + /// Creates an new instance. + public PrivateLinkResourceProperties() + { + + } + } + /// Properties of a private link resource. + public partial interface IPrivateLinkResourceProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// The private link resource group id. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The private link resource group id.", + SerializedName = @"groupId", + PossibleTypes = new [] { typeof(string) })] + string GroupId { get; } + /// The private link resource required member names. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The private link resource required member names.", + SerializedName = @"requiredMembers", + PossibleTypes = new [] { typeof(string) })] + string[] RequiredMember { get; } + /// The private link resource Private link DNS zone name. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The private link resource Private link DNS zone name.", + SerializedName = @"requiredZoneNames", + PossibleTypes = new [] { typeof(string) })] + string[] RequiredZoneName { get; set; } + + } + /// Properties of a private link resource. + internal partial interface IPrivateLinkResourcePropertiesInternal + + { + /// The private link resource group id. + string GroupId { get; set; } + /// The private link resource required member names. + string[] RequiredMember { get; set; } + /// The private link resource Private link DNS zone name. + string[] RequiredZoneName { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceProperties.json.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceProperties.json.cs new file mode 100644 index 000000000000..3d6b2cadbf23 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkResourceProperties.json.cs @@ -0,0 +1,134 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Properties of a private link resource. + public partial class PrivateLinkResourceProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new PrivateLinkResourceProperties(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal PrivateLinkResourceProperties(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_groupId = If( json?.PropertyT("groupId"), out var __jsonGroupId) ? (string)__jsonGroupId : (string)GroupId;} + {_requiredMember = If( json?.PropertyT("requiredMembers"), out var __jsonRequiredMembers) ? If( __jsonRequiredMembers as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(string) (__u is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString __t ? (string)(__t.ToString()) : null)) ))() : null : RequiredMember;} + {_requiredZoneName = If( json?.PropertyT("requiredZoneNames"), out var __jsonRequiredZoneNames) ? If( __jsonRequiredZoneNames as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __q) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__q, (__p)=>(string) (__p is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString __o ? (string)(__o.ToString()) : null)) ))() : null : RequiredZoneName;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._groupId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._groupId.ToString()) : null, "groupId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._requiredMember) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __x in this._requiredMember ) + { + AddIf(null != (((object)__x)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(__x.ToString()) : null ,__w.Add); + } + container.Add("requiredMembers",__w); + } + } + if (null != this._requiredZoneName) + { + var __r = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __s in this._requiredZoneName ) + { + AddIf(null != (((object)__s)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(__s.ToString()) : null ,__r.Add); + } + container.Add("requiredZoneNames",__r); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateLinkServiceConnectionState.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkServiceConnectionState.PowerShell.cs new file mode 100644 index 000000000000..9bedb6078a3e --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkServiceConnectionState.PowerShell.cs @@ -0,0 +1,164 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + [System.ComponentModel.TypeConverter(typeof(PrivateLinkServiceConnectionStateTypeConverter))] + public partial class PrivateLinkServiceConnectionState + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionState DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new PrivateLinkServiceConnectionState(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionState DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new PrivateLinkServiceConnectionState(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionState FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal PrivateLinkServiceConnectionState(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionStateInternal)this).Status = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus?) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionStateInternal)this).Status, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus.CreateFrom); + } + if (content.Contains("Description")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionStateInternal)this).Description = (string) content.GetValueForProperty("Description",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionStateInternal)this).Description, global::System.Convert.ToString); + } + if (content.Contains("ActionsRequired")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionStateInternal)this).ActionsRequired = (string) content.GetValueForProperty("ActionsRequired",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionStateInternal)this).ActionsRequired, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal PrivateLinkServiceConnectionState(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionStateInternal)this).Status = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus?) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionStateInternal)this).Status, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus.CreateFrom); + } + if (content.Contains("Description")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionStateInternal)this).Description = (string) content.GetValueForProperty("Description",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionStateInternal)this).Description, global::System.Convert.ToString); + } + if (content.Contains("ActionsRequired")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionStateInternal)this).ActionsRequired = (string) content.GetValueForProperty("ActionsRequired",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionStateInternal)this).ActionsRequired, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// A collection of information about the state of the connection between service consumer and provider. + [System.ComponentModel.TypeConverter(typeof(PrivateLinkServiceConnectionStateTypeConverter))] + public partial interface IPrivateLinkServiceConnectionState + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateLinkServiceConnectionState.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkServiceConnectionState.TypeConverter.cs new file mode 100644 index 000000000000..45dc5e347ab1 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkServiceConnectionState.TypeConverter.cs @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class PrivateLinkServiceConnectionStateTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionState ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionState).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return PrivateLinkServiceConnectionState.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return PrivateLinkServiceConnectionState.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return PrivateLinkServiceConnectionState.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateLinkServiceConnectionState.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkServiceConnectionState.cs new file mode 100644 index 000000000000..02c30cd17323 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkServiceConnectionState.cs @@ -0,0 +1,99 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + public partial class PrivateLinkServiceConnectionState : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionState, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionStateInternal + { + + /// Backing field for property. + private string _actionsRequired; + + /// + /// A message indicating if changes on the service provider require any updates on the consumer. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string ActionsRequired { get => this._actionsRequired; set => this._actionsRequired = value; } + + /// Backing field for property. + private string _description; + + /// The reason for approval/rejection of the connection. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Description { get => this._description; set => this._description = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus? _status; + + /// + /// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus? Status { get => this._status; set => this._status = value; } + + /// Creates an new instance. + public PrivateLinkServiceConnectionState() + { + + } + } + /// A collection of information about the state of the connection between service consumer and provider. + public partial interface IPrivateLinkServiceConnectionState : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// + /// A message indicating if changes on the service provider require any updates on the consumer. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"A message indicating if changes on the service provider require any updates on the consumer.", + SerializedName = @"actionsRequired", + PossibleTypes = new [] { typeof(string) })] + string ActionsRequired { get; set; } + /// The reason for approval/rejection of the connection. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The reason for approval/rejection of the connection.", + SerializedName = @"description", + PossibleTypes = new [] { typeof(string) })] + string Description { get; set; } + /// + /// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus? Status { get; set; } + + } + /// A collection of information about the state of the connection between service consumer and provider. + internal partial interface IPrivateLinkServiceConnectionStateInternal + + { + /// + /// A message indicating if changes on the service provider require any updates on the consumer. + /// + string ActionsRequired { get; set; } + /// The reason for approval/rejection of the connection. + string Description { get; set; } + /// + /// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus? Status { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/PrivateLinkServiceConnectionState.json.cs b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkServiceConnectionState.json.cs new file mode 100644 index 000000000000..7bd380895c4a --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/PrivateLinkServiceConnectionState.json.cs @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + public partial class PrivateLinkServiceConnectionState + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionState. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionState. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkServiceConnectionState FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new PrivateLinkServiceConnectionState(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal PrivateLinkServiceConnectionState(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_status = If( json?.PropertyT("status"), out var __jsonStatus) ? (string)__jsonStatus : (string)Status;} + {_description = If( json?.PropertyT("description"), out var __jsonDescription) ? (string)__jsonDescription : (string)Description;} + {_actionsRequired = If( json?.PropertyT("actionsRequired"), out var __jsonActionsRequired) ? (string)__jsonActionsRequired : (string)ActionsRequired;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._status)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._status.ToString()) : null, "status" ,container.Add ); + AddIf( null != (((object)this._description)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._description.ToString()) : null, "description" ,container.Add ); + AddIf( null != (((object)this._actionsRequired)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._actionsRequired.ToString()) : null, "actionsRequired" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/Resource.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api10/Resource.PowerShell.cs new file mode 100644 index 000000000000..766967ceb096 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/Resource.PowerShell.cs @@ -0,0 +1,162 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// Common fields that are returned in the response for all Azure Resource Manager resources + /// + [System.ComponentModel.TypeConverter(typeof(ResourceTypeConverter))] + public partial class Resource + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Resource(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Resource(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Resource(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Resource(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Common fields that are returned in the response for all Azure Resource Manager resources + [System.ComponentModel.TypeConverter(typeof(ResourceTypeConverter))] + public partial interface IResource + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/Resource.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api10/Resource.TypeConverter.cs new file mode 100644 index 000000000000..747fb57839bb --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/Resource.TypeConverter.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ResourceTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Resource.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Resource.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Resource.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/Resource.cs b/swaggerci/redis/generated/api/Models/Api10/Resource.cs new file mode 100644 index 000000000000..d3d47da9cc97 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/Resource.cs @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// Common fields that are returned in the response for all Azure Resource Manager resources + /// + public partial class Resource : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal + { + + /// Backing field for property. + private string _id; + + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Id { get => this._id; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Id { get => this._id; set { {_id = value;} } } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Name { get => this._name; set { {_name = value;} } } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Type { get => this._type; set { {_type = value;} } } + + /// Backing field for property. + private string _name; + + /// The name of the resource + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Name { get => this._name; } + + /// Backing field for property. + private string _type; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Type { get => this._type; } + + /// Creates an new instance. + public Resource() + { + + } + } + /// Common fields that are returned in the response for all Azure Resource Manager resources + public partial interface IResource : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}", + SerializedName = @"id", + PossibleTypes = new [] { typeof(string) })] + string Id { get; } + /// The name of the resource + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the resource", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + string Name { get; } + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The type of the resource. E.g. ""Microsoft.Compute/virtualMachines"" or ""Microsoft.Storage/storageAccounts""", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + string Type { get; } + + } + /// Common fields that are returned in the response for all Azure Resource Manager resources + internal partial interface IResourceInternal + + { + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + string Id { get; set; } + /// The name of the resource + string Name { get; set; } + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + string Type { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api10/Resource.json.cs b/swaggerci/redis/generated/api/Models/Api10/Resource.json.cs new file mode 100644 index 000000000000..a7e342005342 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api10/Resource.json.cs @@ -0,0 +1,121 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// Common fields that are returned in the response for all Azure Resource Manager resources + /// + public partial class Resource + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource. + /// + /// a to deserialize from. + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new Resource(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal Resource(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_id = If( json?.PropertyT("id"), out var __jsonId) ? (string)__jsonId : (string)Id;} + {_name = If( json?.PropertyT("name"), out var __jsonName) ? (string)__jsonName : (string)Name;} + {_type = If( json?.PropertyT("type"), out var __jsonType) ? (string)__jsonType : (string)Type;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._id)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._id.ToString()) : null, "id" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._name)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._name.ToString()) : null, "name" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._type)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._type.ToString()) : null, "type" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/ErrorAdditionalInfo.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20/ErrorAdditionalInfo.PowerShell.cs new file mode 100644 index 000000000000..186aa84a8310 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/ErrorAdditionalInfo.PowerShell.cs @@ -0,0 +1,152 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// The resource management error additional info. + [System.ComponentModel.TypeConverter(typeof(ErrorAdditionalInfoTypeConverter))] + public partial class ErrorAdditionalInfo + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ErrorAdditionalInfo(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ErrorAdditionalInfo(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ErrorAdditionalInfo(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfoInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfoInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Info")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfoInternal)this).Info = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IAny) content.GetValueForProperty("Info",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfoInternal)this).Info, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.AnyTypeConverter.ConvertFrom); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ErrorAdditionalInfo(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfoInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfoInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Info")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfoInternal)this).Info = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IAny) content.GetValueForProperty("Info",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfoInternal)this).Info, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.AnyTypeConverter.ConvertFrom); + } + AfterDeserializePSObject(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The resource management error additional info. + [System.ComponentModel.TypeConverter(typeof(ErrorAdditionalInfoTypeConverter))] + public partial interface IErrorAdditionalInfo + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/ErrorAdditionalInfo.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20/ErrorAdditionalInfo.TypeConverter.cs new file mode 100644 index 000000000000..164063dbecd4 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/ErrorAdditionalInfo.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ErrorAdditionalInfoTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ErrorAdditionalInfo.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ErrorAdditionalInfo.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ErrorAdditionalInfo.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/ErrorAdditionalInfo.cs b/swaggerci/redis/generated/api/Models/Api20/ErrorAdditionalInfo.cs new file mode 100644 index 000000000000..e7c6884b9744 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/ErrorAdditionalInfo.cs @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The resource management error additional info. + public partial class ErrorAdditionalInfo : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfoInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IAny _info; + + /// The additional info. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IAny Info { get => (this._info = this._info ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Any()); } + + /// Internal Acessors for Info + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IAny Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfoInternal.Info { get => (this._info = this._info ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Any()); set { {_info = value;} } } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfoInternal.Type { get => this._type; set { {_type = value;} } } + + /// Backing field for property. + private string _type; + + /// The additional info type. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Type { get => this._type; } + + /// Creates an new instance. + public ErrorAdditionalInfo() + { + + } + } + /// The resource management error additional info. + public partial interface IErrorAdditionalInfo : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// The additional info. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The additional info.", + SerializedName = @"info", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IAny) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IAny Info { get; } + /// The additional info type. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The additional info type.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + string Type { get; } + + } + /// The resource management error additional info. + internal partial interface IErrorAdditionalInfoInternal + + { + /// The additional info. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IAny Info { get; set; } + /// The additional info type. + string Type { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/ErrorAdditionalInfo.json.cs b/swaggerci/redis/generated/api/Models/Api20/ErrorAdditionalInfo.json.cs new file mode 100644 index 000000000000..3281f528be2b --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/ErrorAdditionalInfo.json.cs @@ -0,0 +1,116 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The resource management error additional info. + public partial class ErrorAdditionalInfo + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal ErrorAdditionalInfo(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_type = If( json?.PropertyT("type"), out var __jsonType) ? (string)__jsonType : (string)Type;} + {_info = If( json?.PropertyT("info"), out var __jsonInfo) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Any.FromJson(__jsonInfo) : Info;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new ErrorAdditionalInfo(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._type)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._type.ToString()) : null, "type" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._info ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._info.ToJson(null,serializationMode) : null, "info" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/ErrorDetail.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20/ErrorDetail.PowerShell.cs new file mode 100644 index 000000000000..756bf3cca062 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/ErrorDetail.PowerShell.cs @@ -0,0 +1,176 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// The error detail. + [System.ComponentModel.TypeConverter(typeof(ErrorDetailTypeConverter))] + public partial class ErrorDetail + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ErrorDetail(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ErrorDetail(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ErrorDetail(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).Target, global::System.Convert.ToString); + } + if (content.Contains("Detail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).Detail = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail[]) content.GetValueForProperty("Detail",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).Detail, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorDetailTypeConverter.ConvertFrom)); + } + if (content.Contains("AdditionalInfo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).AdditionalInfo = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[]) content.GetValueForProperty("AdditionalInfo",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).AdditionalInfo, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorAdditionalInfoTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ErrorDetail(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).Target, global::System.Convert.ToString); + } + if (content.Contains("Detail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).Detail = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail[]) content.GetValueForProperty("Detail",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).Detail, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorDetailTypeConverter.ConvertFrom)); + } + if (content.Contains("AdditionalInfo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).AdditionalInfo = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[]) content.GetValueForProperty("AdditionalInfo",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)this).AdditionalInfo, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorAdditionalInfoTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The error detail. + [System.ComponentModel.TypeConverter(typeof(ErrorDetailTypeConverter))] + public partial interface IErrorDetail + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/ErrorDetail.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20/ErrorDetail.TypeConverter.cs new file mode 100644 index 000000000000..3dfbfaf3d5df --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/ErrorDetail.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ErrorDetailTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ErrorDetail.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ErrorDetail.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ErrorDetail.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/ErrorDetail.cs b/swaggerci/redis/generated/api/Models/Api20/ErrorDetail.cs new file mode 100644 index 000000000000..81e52d9b60ba --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/ErrorDetail.cs @@ -0,0 +1,134 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The error detail. + public partial class ErrorDetail : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] _additionalInfo; + + /// The error additional info. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] AdditionalInfo { get => this._additionalInfo; } + + /// Backing field for property. + private string _code; + + /// The error code. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Code { get => this._code; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail[] _detail; + + /// The error details. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail[] Detail { get => this._detail; } + + /// Backing field for property. + private string _message; + + /// The error message. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Message { get => this._message; } + + /// Internal Acessors for AdditionalInfo + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal.AdditionalInfo { get => this._additionalInfo; set { {_additionalInfo = value;} } } + + /// Internal Acessors for Code + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal.Code { get => this._code; set { {_code = value;} } } + + /// Internal Acessors for Detail + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail[] Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal.Detail { get => this._detail; set { {_detail = value;} } } + + /// Internal Acessors for Message + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal.Message { get => this._message; set { {_message = value;} } } + + /// Internal Acessors for Target + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal.Target { get => this._target; set { {_target = value;} } } + + /// Backing field for property. + private string _target; + + /// The error target. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Target { get => this._target; } + + /// Creates an new instance. + public ErrorDetail() + { + + } + } + /// The error detail. + public partial interface IErrorDetail : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// The error additional info. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error additional info.", + SerializedName = @"additionalInfo", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] AdditionalInfo { get; } + /// The error code. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error code.", + SerializedName = @"code", + PossibleTypes = new [] { typeof(string) })] + string Code { get; } + /// The error details. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error details.", + SerializedName = @"details", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail[] Detail { get; } + /// The error message. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error message.", + SerializedName = @"message", + PossibleTypes = new [] { typeof(string) })] + string Message { get; } + /// The error target. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error target.", + SerializedName = @"target", + PossibleTypes = new [] { typeof(string) })] + string Target { get; } + + } + /// The error detail. + internal partial interface IErrorDetailInternal + + { + /// The error additional info. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] AdditionalInfo { get; set; } + /// The error code. + string Code { get; set; } + /// The error details. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail[] Detail { get; set; } + /// The error message. + string Message { get; set; } + /// The error target. + string Target { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/ErrorDetail.json.cs b/swaggerci/redis/generated/api/Models/Api20/ErrorDetail.json.cs new file mode 100644 index 000000000000..e745f7b3feee --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/ErrorDetail.json.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The error detail. + public partial class ErrorDetail + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal ErrorDetail(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_code = If( json?.PropertyT("code"), out var __jsonCode) ? (string)__jsonCode : (string)Code;} + {_message = If( json?.PropertyT("message"), out var __jsonMessage) ? (string)__jsonMessage : (string)Message;} + {_target = If( json?.PropertyT("target"), out var __jsonTarget) ? (string)__jsonTarget : (string)Target;} + {_detail = If( json?.PropertyT("details"), out var __jsonDetails) ? If( __jsonDetails as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail) (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorDetail.FromJson(__u) )) ))() : null : Detail;} + {_additionalInfo = If( json?.PropertyT("additionalInfo"), out var __jsonAdditionalInfo) ? If( __jsonAdditionalInfo as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __q) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__q, (__p)=>(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo) (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorAdditionalInfo.FromJson(__p) )) ))() : null : AdditionalInfo;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new ErrorDetail(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._code)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._code.ToString()) : null, "code" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._message)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._message.ToString()) : null, "message" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._target)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._target.ToString()) : null, "target" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._detail) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __x in this._detail ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("details",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._additionalInfo) + { + var __r = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __s in this._additionalInfo ) + { + AddIf(__s?.ToJson(null, serializationMode) ,__r.Add); + } + container.Add("additionalInfo",__r); + } + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/ErrorResponse.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20/ErrorResponse.PowerShell.cs new file mode 100644 index 000000000000..0d53d7fa32c4 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/ErrorResponse.PowerShell.cs @@ -0,0 +1,188 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows + /// the OData error response format.). + /// + [System.ComponentModel.TypeConverter(typeof(ErrorResponseTypeConverter))] + public partial class ErrorResponse + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ErrorResponse(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ErrorResponse(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ErrorResponse(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Error")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Error = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail) content.GetValueForProperty("Error",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Error, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorDetailTypeConverter.ConvertFrom); + } + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Target, global::System.Convert.ToString); + } + if (content.Contains("Detail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Detail = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail[]) content.GetValueForProperty("Detail",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Detail, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorDetailTypeConverter.ConvertFrom)); + } + if (content.Contains("AdditionalInfo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).AdditionalInfo = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[]) content.GetValueForProperty("AdditionalInfo",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).AdditionalInfo, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorAdditionalInfoTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ErrorResponse(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Error")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Error = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail) content.GetValueForProperty("Error",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Error, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorDetailTypeConverter.ConvertFrom); + } + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Target, global::System.Convert.ToString); + } + if (content.Contains("Detail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Detail = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail[]) content.GetValueForProperty("Detail",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).Detail, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorDetailTypeConverter.ConvertFrom)); + } + if (content.Contains("AdditionalInfo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).AdditionalInfo = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[]) content.GetValueForProperty("AdditionalInfo",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal)this).AdditionalInfo, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorAdditionalInfoTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows + /// the OData error response format.). + [System.ComponentModel.TypeConverter(typeof(ErrorResponseTypeConverter))] + public partial interface IErrorResponse + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/ErrorResponse.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20/ErrorResponse.TypeConverter.cs new file mode 100644 index 000000000000..178551db67ce --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/ErrorResponse.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ErrorResponseTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ErrorResponse.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ErrorResponse.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ErrorResponse.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/ErrorResponse.cs b/swaggerci/redis/generated/api/Models/Api20/ErrorResponse.cs new file mode 100644 index 000000000000..1f5c0dd7540f --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/ErrorResponse.cs @@ -0,0 +1,136 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows + /// the OData error response format.). + /// + public partial class ErrorResponse : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal + { + + /// The error additional info. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] AdditionalInfo { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)Error).AdditionalInfo; } + + /// The error code. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string Code { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)Error).Code; } + + /// The error details. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail[] Detail { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)Error).Detail; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail _error; + + /// The error object. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail Error { get => (this._error = this._error ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorDetail()); set => this._error = value; } + + /// The error message. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string Message { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)Error).Message; } + + /// Internal Acessors for AdditionalInfo + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal.AdditionalInfo { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)Error).AdditionalInfo; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)Error).AdditionalInfo = value; } + + /// Internal Acessors for Code + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal.Code { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)Error).Code; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)Error).Code = value; } + + /// Internal Acessors for Detail + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail[] Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal.Detail { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)Error).Detail; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)Error).Detail = value; } + + /// Internal Acessors for Error + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal.Error { get => (this._error = this._error ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorDetail()); set { {_error = value;} } } + + /// Internal Acessors for Message + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal.Message { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)Error).Message; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)Error).Message = value; } + + /// Internal Acessors for Target + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponseInternal.Target { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)Error).Target; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)Error).Target = value; } + + /// The error target. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string Target { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetailInternal)Error).Target; } + + /// Creates an new instance. + public ErrorResponse() + { + + } + } + /// Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows + /// the OData error response format.). + public partial interface IErrorResponse : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// The error additional info. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error additional info.", + SerializedName = @"additionalInfo", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] AdditionalInfo { get; } + /// The error code. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error code.", + SerializedName = @"code", + PossibleTypes = new [] { typeof(string) })] + string Code { get; } + /// The error details. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error details.", + SerializedName = @"details", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail[] Detail { get; } + /// The error message. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error message.", + SerializedName = @"message", + PossibleTypes = new [] { typeof(string) })] + string Message { get; } + /// The error target. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error target.", + SerializedName = @"target", + PossibleTypes = new [] { typeof(string) })] + string Target { get; } + + } + /// Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows + /// the OData error response format.). + internal partial interface IErrorResponseInternal + + { + /// The error additional info. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] AdditionalInfo { get; set; } + /// The error code. + string Code { get; set; } + /// The error details. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail[] Detail { get; set; } + /// The error object. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorDetail Error { get; set; } + /// The error message. + string Message { get; set; } + /// The error target. + string Target { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/ErrorResponse.json.cs b/swaggerci/redis/generated/api/Models/Api20/ErrorResponse.json.cs new file mode 100644 index 000000000000..238ab3245c89 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/ErrorResponse.json.cs @@ -0,0 +1,111 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows + /// the OData error response format.). + /// + public partial class ErrorResponse + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal ErrorResponse(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_error = If( json?.PropertyT("error"), out var __jsonError) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorDetail.FromJson(__jsonError) : Error;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new ErrorResponse(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != this._error ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._error.ToJson(null,serializationMode) : null, "error" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/ProxyResource.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20/ProxyResource.PowerShell.cs new file mode 100644 index 000000000000..3cc3df47d11e --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/ProxyResource.PowerShell.cs @@ -0,0 +1,162 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location + /// + [System.ComponentModel.TypeConverter(typeof(ProxyResourceTypeConverter))] + public partial class ProxyResource + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IProxyResource DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ProxyResource(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IProxyResource DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ProxyResource(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IProxyResource FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ProxyResource(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ProxyResource(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location + [System.ComponentModel.TypeConverter(typeof(ProxyResourceTypeConverter))] + public partial interface IProxyResource + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/ProxyResource.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20/ProxyResource.TypeConverter.cs new file mode 100644 index 000000000000..2a8f76c4ac65 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/ProxyResource.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ProxyResourceTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IProxyResource ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IProxyResource).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ProxyResource.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ProxyResource.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ProxyResource.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/ProxyResource.cs b/swaggerci/redis/generated/api/Models/Api20/ProxyResource.cs new file mode 100644 index 000000000000..c50935b9c9da --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/ProxyResource.cs @@ -0,0 +1,79 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location + /// + public partial class ProxyResource : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IProxyResource, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IProxyResourceInternal, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.Resource(); + + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type = value; } + + /// The name of the resource + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name; } + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public ProxyResource() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location + public partial interface IProxyResource : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource + { + + } + /// The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location + internal partial interface IProxyResourceInternal : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/ProxyResource.json.cs b/swaggerci/redis/generated/api/Models/Api20/ProxyResource.json.cs new file mode 100644 index 000000000000..a05b3e2c9d8f --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/ProxyResource.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location + /// + public partial class ProxyResource + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IProxyResource. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IProxyResource. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IProxyResource FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new ProxyResource(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal ProxyResource(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.Resource(json); + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/TrackedResource.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20/TrackedResource.PowerShell.cs new file mode 100644 index 000000000000..3fddeb476def --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/TrackedResource.PowerShell.cs @@ -0,0 +1,178 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' + /// + [System.ComponentModel.TypeConverter(typeof(TrackedResourceTypeConverter))] + public partial class TrackedResource + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResource DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new TrackedResource(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResource DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new TrackedResource(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResource FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal TrackedResource(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Tag")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)this).Tag = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTags) content.GetValueForProperty("Tag",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)this).Tag, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.TrackedResourceTagsTypeConverter.ConvertFrom); + } + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal TrackedResource(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Tag")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)this).Tag = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTags) content.GetValueForProperty("Tag",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)this).Tag, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.TrackedResourceTagsTypeConverter.ConvertFrom); + } + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + } + /// The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' + [System.ComponentModel.TypeConverter(typeof(TrackedResourceTypeConverter))] + public partial interface ITrackedResource + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/TrackedResource.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20/TrackedResource.TypeConverter.cs new file mode 100644 index 000000000000..a12cdf3542f3 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/TrackedResource.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class TrackedResourceTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResource ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResource).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return TrackedResource.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return TrackedResource.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return TrackedResource.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/TrackedResource.cs b/swaggerci/redis/generated/api/Models/Api20/TrackedResource.cs new file mode 100644 index 000000000000..adf0cec51839 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/TrackedResource.cs @@ -0,0 +1,113 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' + /// + public partial class TrackedResource : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResource, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.Resource(); + + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id; } + + /// Backing field for property. + private string _location; + + /// The geo-location where the resource lives + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Location { get => this._location; set => this._location = value; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type = value; } + + /// The name of the resource + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTags _tag; + + /// Resource tags. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTags Tag { get => (this._tag = this._tag ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.TrackedResourceTags()); set => this._tag = value; } + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public TrackedResource() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' + public partial interface ITrackedResource : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource + { + /// The geo-location where the resource lives + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The geo-location where the resource lives", + SerializedName = @"location", + PossibleTypes = new [] { typeof(string) })] + string Location { get; set; } + /// Resource tags. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTags) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTags Tag { get; set; } + + } + /// The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' + internal partial interface ITrackedResourceInternal : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal + { + /// The geo-location where the resource lives + string Location { get; set; } + /// Resource tags. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTags Tag { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/TrackedResource.json.cs b/swaggerci/redis/generated/api/Models/Api20/TrackedResource.json.cs new file mode 100644 index 000000000000..cb3744119504 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/TrackedResource.json.cs @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' + /// + public partial class TrackedResource + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResource. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResource. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResource FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new TrackedResource(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._tag ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._tag.ToJson(null,serializationMode) : null, "tags" ,container.Add ); + AddIf( null != (((object)this._location)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._location.ToString()) : null, "location" ,container.Add ); + AfterToJson(ref container); + return container; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal TrackedResource(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.Resource(json); + {_tag = If( json?.PropertyT("tags"), out var __jsonTags) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.TrackedResourceTags.FromJson(__jsonTags) : Tag;} + {_location = If( json?.PropertyT("location"), out var __jsonLocation) ? (string)__jsonLocation : (string)Location;} + AfterFromJson(json); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.PowerShell.cs new file mode 100644 index 000000000000..0a2ab47d2eaf --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.PowerShell.cs @@ -0,0 +1,140 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Resource tags. + [System.ComponentModel.TypeConverter(typeof(TrackedResourceTagsTypeConverter))] + public partial class TrackedResourceTags + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTags DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new TrackedResourceTags(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTags DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new TrackedResourceTags(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTags FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal TrackedResourceTags(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal TrackedResourceTags(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializePSObject(content); + } + } + /// Resource tags. + [System.ComponentModel.TypeConverter(typeof(TrackedResourceTagsTypeConverter))] + public partial interface ITrackedResourceTags + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.TypeConverter.cs new file mode 100644 index 000000000000..223f5e2ccea8 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class TrackedResourceTagsTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTags ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTags).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return TrackedResourceTags.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return TrackedResourceTags.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return TrackedResourceTags.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.cs b/swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.cs new file mode 100644 index 000000000000..b7cb0121bf83 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.cs @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Resource tags. + public partial class TrackedResourceTags : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTags, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTagsInternal + { + + /// Creates an new instance. + public TrackedResourceTags() + { + + } + } + /// Resource tags. + public partial interface ITrackedResourceTags : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray + { + + } + /// Resource tags. + internal partial interface ITrackedResourceTagsInternal + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.dictionary.cs b/swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.dictionary.cs new file mode 100644 index 000000000000..828a273b4dac --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.dictionary.cs @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + public partial class TrackedResourceTags : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray + { + protected global::System.Collections.Generic.Dictionary __additionalProperties = new global::System.Collections.Generic.Dictionary(); + + global::System.Collections.Generic.IDictionary Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.AdditionalProperties { get => __additionalProperties; } + + int Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Count { get => __additionalProperties.Count; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Keys { get => __additionalProperties.Keys; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Values { get => __additionalProperties.Values; } + + public string this[global::System.String index] { get => __additionalProperties[index]; set => __additionalProperties[index] = value; } + + /// + /// + public void Add(global::System.String key, string value) => __additionalProperties.Add( key, value); + + public void Clear() => __additionalProperties.Clear(); + + /// + public bool ContainsKey(global::System.String key) => __additionalProperties.ContainsKey( key); + + /// + public void CopyFrom(global::System.Collections.IDictionary source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public void CopyFrom(global::System.Management.Automation.PSObject source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public bool Remove(global::System.String key) => __additionalProperties.Remove( key); + + /// + /// + public bool TryGetValue(global::System.String key, out string value) => __additionalProperties.TryGetValue( key, out value); + + /// + + public static implicit operator global::System.Collections.Generic.Dictionary(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.TrackedResourceTags source) => source.__additionalProperties; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.json.cs b/swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.json.cs new file mode 100644 index 000000000000..e346d429f1ef --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20/TrackedResourceTags.json.cs @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Resource tags. + public partial class TrackedResourceTags + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTags. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTags. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTags FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new TrackedResourceTags(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.ToJson( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray)this).AdditionalProperties, container); + AfterToJson(ref container); + return container; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + /// + internal TrackedResourceTags(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, global::System.Collections.Generic.HashSet exclusions = null) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.FromJson( json, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray)this).AdditionalProperties, null ,exclusions ); + AfterFromJson(json); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/CheckNameAvailabilityParameters.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/CheckNameAvailabilityParameters.PowerShell.cs new file mode 100644 index 000000000000..e79d84e9284d --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/CheckNameAvailabilityParameters.PowerShell.cs @@ -0,0 +1,154 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Parameters body to pass for resource name availability check. + [System.ComponentModel.TypeConverter(typeof(CheckNameAvailabilityParametersTypeConverter))] + public partial class CheckNameAvailabilityParameters + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal CheckNameAvailabilityParameters(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParametersInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParametersInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParametersInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParametersInternal)this).Type, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal CheckNameAvailabilityParameters(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParametersInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParametersInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParametersInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParametersInternal)this).Type, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new CheckNameAvailabilityParameters(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new CheckNameAvailabilityParameters(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Parameters body to pass for resource name availability check. + [System.ComponentModel.TypeConverter(typeof(CheckNameAvailabilityParametersTypeConverter))] + public partial interface ICheckNameAvailabilityParameters + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/CheckNameAvailabilityParameters.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/CheckNameAvailabilityParameters.TypeConverter.cs new file mode 100644 index 000000000000..4f4a7881d635 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/CheckNameAvailabilityParameters.TypeConverter.cs @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class CheckNameAvailabilityParametersTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return CheckNameAvailabilityParameters.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return CheckNameAvailabilityParameters.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return CheckNameAvailabilityParameters.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/CheckNameAvailabilityParameters.cs b/swaggerci/redis/generated/api/Models/Api20220601/CheckNameAvailabilityParameters.cs new file mode 100644 index 000000000000..118eebb0146a --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/CheckNameAvailabilityParameters.cs @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Parameters body to pass for resource name availability check. + public partial class CheckNameAvailabilityParameters : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParametersInternal + { + + /// Backing field for property. + private string _name; + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Name { get => this._name; set => this._name = value; } + + /// Backing field for property. + private string _type; + + /// + /// Resource type. The only legal value of this property for checking redis cache name availability is 'Microsoft.Cache/redis'. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Type { get => this._type; set => this._type = value; } + + /// Creates an new instance. + public CheckNameAvailabilityParameters() + { + + } + } + /// Parameters body to pass for resource name availability check. + public partial interface ICheckNameAvailabilityParameters : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Resource name.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + string Name { get; set; } + /// + /// Resource type. The only legal value of this property for checking redis cache name availability is 'Microsoft.Cache/redis'. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Resource type. The only legal value of this property for checking redis cache name availability is 'Microsoft.Cache/redis'.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + string Type { get; set; } + + } + /// Parameters body to pass for resource name availability check. + internal partial interface ICheckNameAvailabilityParametersInternal + + { + /// Resource name. + string Name { get; set; } + /// + /// Resource type. The only legal value of this property for checking redis cache name availability is 'Microsoft.Cache/redis'. + /// + string Type { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/CheckNameAvailabilityParameters.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/CheckNameAvailabilityParameters.json.cs new file mode 100644 index 000000000000..d2596b25748a --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/CheckNameAvailabilityParameters.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Parameters body to pass for resource name availability check. + public partial class CheckNameAvailabilityParameters + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal CheckNameAvailabilityParameters(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_name = If( json?.PropertyT("name"), out var __jsonName) ? (string)__jsonName : (string)Name;} + {_type = If( json?.PropertyT("type"), out var __jsonType) ? (string)__jsonType : (string)Type;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new CheckNameAvailabilityParameters(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._name)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._name.ToString()) : null, "name" ,container.Add ); + AddIf( null != (((object)this._type)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._type.ToString()) : null, "type" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/ExportRdbParameters.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/ExportRdbParameters.PowerShell.cs new file mode 100644 index 000000000000..fa082fbb90e0 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/ExportRdbParameters.PowerShell.cs @@ -0,0 +1,168 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Parameters for Redis export operation. + [System.ComponentModel.TypeConverter(typeof(ExportRdbParametersTypeConverter))] + public partial class ExportRdbParameters + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ExportRdbParameters(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ExportRdbParameters(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ExportRdbParameters(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Format")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParametersInternal)this).Format = (string) content.GetValueForProperty("Format",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParametersInternal)this).Format, global::System.Convert.ToString); + } + if (content.Contains("Prefix")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParametersInternal)this).Prefix = (string) content.GetValueForProperty("Prefix",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParametersInternal)this).Prefix, global::System.Convert.ToString); + } + if (content.Contains("Container")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParametersInternal)this).Container = (string) content.GetValueForProperty("Container",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParametersInternal)this).Container, global::System.Convert.ToString); + } + if (content.Contains("PreferredDataArchiveAuthMethod")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParametersInternal)this).PreferredDataArchiveAuthMethod = (string) content.GetValueForProperty("PreferredDataArchiveAuthMethod",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParametersInternal)this).PreferredDataArchiveAuthMethod, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ExportRdbParameters(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Format")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParametersInternal)this).Format = (string) content.GetValueForProperty("Format",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParametersInternal)this).Format, global::System.Convert.ToString); + } + if (content.Contains("Prefix")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParametersInternal)this).Prefix = (string) content.GetValueForProperty("Prefix",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParametersInternal)this).Prefix, global::System.Convert.ToString); + } + if (content.Contains("Container")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParametersInternal)this).Container = (string) content.GetValueForProperty("Container",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParametersInternal)this).Container, global::System.Convert.ToString); + } + if (content.Contains("PreferredDataArchiveAuthMethod")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParametersInternal)this).PreferredDataArchiveAuthMethod = (string) content.GetValueForProperty("PreferredDataArchiveAuthMethod",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParametersInternal)this).PreferredDataArchiveAuthMethod, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Parameters for Redis export operation. + [System.ComponentModel.TypeConverter(typeof(ExportRdbParametersTypeConverter))] + public partial interface IExportRdbParameters + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/ExportRdbParameters.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/ExportRdbParameters.TypeConverter.cs new file mode 100644 index 000000000000..0a57c8a03f80 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/ExportRdbParameters.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ExportRdbParametersTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ExportRdbParameters.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ExportRdbParameters.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ExportRdbParameters.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/ExportRdbParameters.cs b/swaggerci/redis/generated/api/Models/Api20220601/ExportRdbParameters.cs new file mode 100644 index 000000000000..24fe02ef379c --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/ExportRdbParameters.cs @@ -0,0 +1,111 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Parameters for Redis export operation. + public partial class ExportRdbParameters : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParametersInternal + { + + /// Backing field for property. + private string _container; + + /// Container name to export to. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Container { get => this._container; set => this._container = value; } + + /// Backing field for property. + private string _format; + + /// File format. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Format { get => this._format; set => this._format = value; } + + /// Backing field for property. + private string _preferredDataArchiveAuthMethod; + + /// + /// Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default + /// value is SAS + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string PreferredDataArchiveAuthMethod { get => this._preferredDataArchiveAuthMethod; set => this._preferredDataArchiveAuthMethod = value; } + + /// Backing field for property. + private string _prefix; + + /// Prefix to use for exported files. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Prefix { get => this._prefix; set => this._prefix = value; } + + /// Creates an new instance. + public ExportRdbParameters() + { + + } + } + /// Parameters for Redis export operation. + public partial interface IExportRdbParameters : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// Container name to export to. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Container name to export to.", + SerializedName = @"container", + PossibleTypes = new [] { typeof(string) })] + string Container { get; set; } + /// File format. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"File format.", + SerializedName = @"format", + PossibleTypes = new [] { typeof(string) })] + string Format { get; set; } + /// + /// Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default + /// value is SAS + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS", + SerializedName = @"preferred-data-archive-auth-method", + PossibleTypes = new [] { typeof(string) })] + string PreferredDataArchiveAuthMethod { get; set; } + /// Prefix to use for exported files. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Prefix to use for exported files.", + SerializedName = @"prefix", + PossibleTypes = new [] { typeof(string) })] + string Prefix { get; set; } + + } + /// Parameters for Redis export operation. + internal partial interface IExportRdbParametersInternal + + { + /// Container name to export to. + string Container { get; set; } + /// File format. + string Format { get; set; } + /// + /// Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default + /// value is SAS + /// + string PreferredDataArchiveAuthMethod { get; set; } + /// Prefix to use for exported files. + string Prefix { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/ExportRdbParameters.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/ExportRdbParameters.json.cs new file mode 100644 index 000000000000..9a5d39cdb518 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/ExportRdbParameters.json.cs @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Parameters for Redis export operation. + public partial class ExportRdbParameters + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal ExportRdbParameters(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_format = If( json?.PropertyT("format"), out var __jsonFormat) ? (string)__jsonFormat : (string)Format;} + {_prefix = If( json?.PropertyT("prefix"), out var __jsonPrefix) ? (string)__jsonPrefix : (string)Prefix;} + {_container = If( json?.PropertyT("container"), out var __jsonContainer) ? (string)__jsonContainer : (string)Container;} + {_preferredDataArchiveAuthMethod = If( json?.PropertyT("preferred-data-archive-auth-method"), out var __jsonPreferredDataArchiveAuthMethod) ? (string)__jsonPreferredDataArchiveAuthMethod : (string)PreferredDataArchiveAuthMethod;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new ExportRdbParameters(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._format)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._format.ToString()) : null, "format" ,container.Add ); + AddIf( null != (((object)this._prefix)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._prefix.ToString()) : null, "prefix" ,container.Add ); + AddIf( null != (((object)this._container)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._container.ToString()) : null, "container" ,container.Add ); + AddIf( null != (((object)this._preferredDataArchiveAuthMethod)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._preferredDataArchiveAuthMethod.ToString()) : null, "preferred-data-archive-auth-method" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/ImportRdbParameters.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/ImportRdbParameters.PowerShell.cs new file mode 100644 index 000000000000..9dacbb7944ad --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/ImportRdbParameters.PowerShell.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Parameters for Redis import operation. + [System.ComponentModel.TypeConverter(typeof(ImportRdbParametersTypeConverter))] + public partial class ImportRdbParameters + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ImportRdbParameters(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ImportRdbParameters(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ImportRdbParameters(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Format")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParametersInternal)this).Format = (string) content.GetValueForProperty("Format",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParametersInternal)this).Format, global::System.Convert.ToString); + } + if (content.Contains("File")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParametersInternal)this).File = (string[]) content.GetValueForProperty("File",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParametersInternal)this).File, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("PreferredDataArchiveAuthMethod")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParametersInternal)this).PreferredDataArchiveAuthMethod = (string) content.GetValueForProperty("PreferredDataArchiveAuthMethod",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParametersInternal)this).PreferredDataArchiveAuthMethod, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ImportRdbParameters(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Format")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParametersInternal)this).Format = (string) content.GetValueForProperty("Format",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParametersInternal)this).Format, global::System.Convert.ToString); + } + if (content.Contains("File")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParametersInternal)this).File = (string[]) content.GetValueForProperty("File",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParametersInternal)this).File, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("PreferredDataArchiveAuthMethod")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParametersInternal)this).PreferredDataArchiveAuthMethod = (string) content.GetValueForProperty("PreferredDataArchiveAuthMethod",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParametersInternal)this).PreferredDataArchiveAuthMethod, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Parameters for Redis import operation. + [System.ComponentModel.TypeConverter(typeof(ImportRdbParametersTypeConverter))] + public partial interface IImportRdbParameters + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/ImportRdbParameters.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/ImportRdbParameters.TypeConverter.cs new file mode 100644 index 000000000000..e378ac4f1a41 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/ImportRdbParameters.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ImportRdbParametersTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ImportRdbParameters.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ImportRdbParameters.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ImportRdbParameters.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/ImportRdbParameters.cs b/swaggerci/redis/generated/api/Models/Api20220601/ImportRdbParameters.cs new file mode 100644 index 000000000000..087ccefd055b --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/ImportRdbParameters.cs @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Parameters for Redis import operation. + public partial class ImportRdbParameters : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParametersInternal + { + + /// Backing field for property. + private string[] _file; + + /// files to import. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string[] File { get => this._file; set => this._file = value; } + + /// Backing field for property. + private string _format; + + /// File format. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Format { get => this._format; set => this._format = value; } + + /// Backing field for property. + private string _preferredDataArchiveAuthMethod; + + /// + /// Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default + /// value is SAS + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string PreferredDataArchiveAuthMethod { get => this._preferredDataArchiveAuthMethod; set => this._preferredDataArchiveAuthMethod = value; } + + /// Creates an new instance. + public ImportRdbParameters() + { + + } + } + /// Parameters for Redis import operation. + public partial interface IImportRdbParameters : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// files to import. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"files to import.", + SerializedName = @"files", + PossibleTypes = new [] { typeof(string) })] + string[] File { get; set; } + /// File format. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"File format.", + SerializedName = @"format", + PossibleTypes = new [] { typeof(string) })] + string Format { get; set; } + /// + /// Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default + /// value is SAS + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS", + SerializedName = @"preferred-data-archive-auth-method", + PossibleTypes = new [] { typeof(string) })] + string PreferredDataArchiveAuthMethod { get; set; } + + } + /// Parameters for Redis import operation. + internal partial interface IImportRdbParametersInternal + + { + /// files to import. + string[] File { get; set; } + /// File format. + string Format { get; set; } + /// + /// Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default + /// value is SAS + /// + string PreferredDataArchiveAuthMethod { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/ImportRdbParameters.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/ImportRdbParameters.json.cs new file mode 100644 index 000000000000..194c997d8f07 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/ImportRdbParameters.json.cs @@ -0,0 +1,120 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Parameters for Redis import operation. + public partial class ImportRdbParameters + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new ImportRdbParameters(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal ImportRdbParameters(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_format = If( json?.PropertyT("format"), out var __jsonFormat) ? (string)__jsonFormat : (string)Format;} + {_file = If( json?.PropertyT("files"), out var __jsonFiles) ? If( __jsonFiles as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(string) (__u is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString __t ? (string)(__t.ToString()) : null)) ))() : null : File;} + {_preferredDataArchiveAuthMethod = If( json?.PropertyT("preferred-data-archive-auth-method"), out var __jsonPreferredDataArchiveAuthMethod) ? (string)__jsonPreferredDataArchiveAuthMethod : (string)PreferredDataArchiveAuthMethod;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._format)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._format.ToString()) : null, "format" ,container.Add ); + if (null != this._file) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __x in this._file ) + { + AddIf(null != (((object)__x)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(__x.ToString()) : null ,__w.Add); + } + container.Add("files",__w); + } + AddIf( null != (((object)this._preferredDataArchiveAuthMethod)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._preferredDataArchiveAuthMethod.ToString()) : null, "preferred-data-archive-auth-method" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/NotificationListResponse.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/NotificationListResponse.PowerShell.cs new file mode 100644 index 000000000000..1e23c4dd3d45 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/NotificationListResponse.PowerShell.cs @@ -0,0 +1,152 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// The response of listUpgradeNotifications. + [System.ComponentModel.TypeConverter(typeof(NotificationListResponseTypeConverter))] + public partial class NotificationListResponse + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponse DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new NotificationListResponse(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponse DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new NotificationListResponse(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponse FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal NotificationListResponse(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponseInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponseInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.UpgradeNotificationTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponseInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponseInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal NotificationListResponse(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponseInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponseInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.UpgradeNotificationTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponseInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponseInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The response of listUpgradeNotifications. + [System.ComponentModel.TypeConverter(typeof(NotificationListResponseTypeConverter))] + public partial interface INotificationListResponse + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/NotificationListResponse.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/NotificationListResponse.TypeConverter.cs new file mode 100644 index 000000000000..84cd9f8a8bca --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/NotificationListResponse.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class NotificationListResponseTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponse ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponse).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return NotificationListResponse.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return NotificationListResponse.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return NotificationListResponse.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/NotificationListResponse.cs b/swaggerci/redis/generated/api/Models/Api20220601/NotificationListResponse.cs new file mode 100644 index 000000000000..0b0db9d99fc6 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/NotificationListResponse.cs @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The response of listUpgradeNotifications. + public partial class NotificationListResponse : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponse, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponseInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponseInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// Link for next set of notifications. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification[] _value; + + /// List of all notifications. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification[] Value { get => this._value; set => this._value = value; } + + /// Creates an new instance. + public NotificationListResponse() + { + + } + } + /// The response of listUpgradeNotifications. + public partial interface INotificationListResponse : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// Link for next set of notifications. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Link for next set of notifications.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// List of all notifications. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"List of all notifications.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification[] Value { get; set; } + + } + /// The response of listUpgradeNotifications. + internal partial interface INotificationListResponseInternal + + { + /// Link for next set of notifications. + string NextLink { get; set; } + /// List of all notifications. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/NotificationListResponse.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/NotificationListResponse.json.cs new file mode 100644 index 000000000000..c5105d8049c5 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/NotificationListResponse.json.cs @@ -0,0 +1,121 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The response of listUpgradeNotifications. + public partial class NotificationListResponse + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponse. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponse. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponse FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new NotificationListResponse(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal NotificationListResponse(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification) (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.UpgradeNotification.FromJson(__u) )) ))() : null : Value;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/Operation.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/Operation.PowerShell.cs new file mode 100644 index 000000000000..bdbede48b9a7 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/Operation.PowerShell.cs @@ -0,0 +1,184 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// REST API operation + [System.ComponentModel.TypeConverter(typeof(OperationTypeConverter))] + public partial class Operation + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Operation(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Operation(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Operation(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Display")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).Display = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplay) content.GetValueForProperty("Display",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).Display, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationDisplayTypeConverter.ConvertFrom); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("DisplayProvider")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).DisplayProvider = (string) content.GetValueForProperty("DisplayProvider",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).DisplayProvider, global::System.Convert.ToString); + } + if (content.Contains("DisplayOperation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).DisplayOperation = (string) content.GetValueForProperty("DisplayOperation",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).DisplayOperation, global::System.Convert.ToString); + } + if (content.Contains("DisplayResource")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).DisplayResource = (string) content.GetValueForProperty("DisplayResource",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).DisplayResource, global::System.Convert.ToString); + } + if (content.Contains("DisplayDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).DisplayDescription = (string) content.GetValueForProperty("DisplayDescription",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).DisplayDescription, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Operation(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Display")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).Display = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplay) content.GetValueForProperty("Display",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).Display, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationDisplayTypeConverter.ConvertFrom); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("DisplayProvider")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).DisplayProvider = (string) content.GetValueForProperty("DisplayProvider",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).DisplayProvider, global::System.Convert.ToString); + } + if (content.Contains("DisplayOperation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).DisplayOperation = (string) content.GetValueForProperty("DisplayOperation",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).DisplayOperation, global::System.Convert.ToString); + } + if (content.Contains("DisplayResource")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).DisplayResource = (string) content.GetValueForProperty("DisplayResource",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).DisplayResource, global::System.Convert.ToString); + } + if (content.Contains("DisplayDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).DisplayDescription = (string) content.GetValueForProperty("DisplayDescription",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal)this).DisplayDescription, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// REST API operation + [System.ComponentModel.TypeConverter(typeof(OperationTypeConverter))] + public partial interface IOperation + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/Operation.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/Operation.TypeConverter.cs new file mode 100644 index 000000000000..c2ad6ac11511 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/Operation.TypeConverter.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class OperationTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Operation.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Operation.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Operation.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/Operation.cs b/swaggerci/redis/generated/api/Models/Api20220601/Operation.cs new file mode 100644 index 000000000000..2381249bb7f1 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/Operation.cs @@ -0,0 +1,119 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// REST API operation + public partial class Operation : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplay _display; + + /// The object that describes the operation. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplay Display { get => (this._display = this._display ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationDisplay()); set => this._display = value; } + + /// Friendly name of the operation + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string DisplayDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)Display).Description; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)Display).Description = value ?? null; } + + /// Operation type: read, write, delete, listKeys/action, etc. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string DisplayOperation { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)Display).Operation; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)Display).Operation = value ?? null; } + + /// Friendly name of the resource provider + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string DisplayProvider { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)Display).Provider; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)Display).Provider = value ?? null; } + + /// Resource type on which the operation is performed. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string DisplayResource { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)Display).Resource; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)Display).Resource = value ?? null; } + + /// Internal Acessors for Display + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplay Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationInternal.Display { get => (this._display = this._display ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationDisplay()); set { {_display = value;} } } + + /// Backing field for property. + private string _name; + + /// Operation name: {provider}/{resource}/{operation} + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Name { get => this._name; set => this._name = value; } + + /// Creates an new instance. + public Operation() + { + + } + } + /// REST API operation + public partial interface IOperation : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// Friendly name of the operation + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Friendly name of the operation", + SerializedName = @"description", + PossibleTypes = new [] { typeof(string) })] + string DisplayDescription { get; set; } + /// Operation type: read, write, delete, listKeys/action, etc. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Operation type: read, write, delete, listKeys/action, etc.", + SerializedName = @"operation", + PossibleTypes = new [] { typeof(string) })] + string DisplayOperation { get; set; } + /// Friendly name of the resource provider + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Friendly name of the resource provider", + SerializedName = @"provider", + PossibleTypes = new [] { typeof(string) })] + string DisplayProvider { get; set; } + /// Resource type on which the operation is performed. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource type on which the operation is performed.", + SerializedName = @"resource", + PossibleTypes = new [] { typeof(string) })] + string DisplayResource { get; set; } + /// Operation name: {provider}/{resource}/{operation} + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Operation name: {provider}/{resource}/{operation}", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + string Name { get; set; } + + } + /// REST API operation + internal partial interface IOperationInternal + + { + /// The object that describes the operation. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplay Display { get; set; } + /// Friendly name of the operation + string DisplayDescription { get; set; } + /// Operation type: read, write, delete, listKeys/action, etc. + string DisplayOperation { get; set; } + /// Friendly name of the resource provider + string DisplayProvider { get; set; } + /// Resource type on which the operation is performed. + string DisplayResource { get; set; } + /// Operation name: {provider}/{resource}/{operation} + string Name { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/Operation.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/Operation.json.cs new file mode 100644 index 000000000000..fe5f74df28e3 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/Operation.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// REST API operation + public partial class Operation + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new Operation(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal Operation(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_display = If( json?.PropertyT("display"), out var __jsonDisplay) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationDisplay.FromJson(__jsonDisplay) : Display;} + {_name = If( json?.PropertyT("name"), out var __jsonName) ? (string)__jsonName : (string)Name;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != this._display ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._display.ToJson(null,serializationMode) : null, "display" ,container.Add ); + AddIf( null != (((object)this._name)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._name.ToString()) : null, "name" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/OperationDisplay.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/OperationDisplay.PowerShell.cs new file mode 100644 index 000000000000..f5f590104a0e --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/OperationDisplay.PowerShell.cs @@ -0,0 +1,168 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// The object that describes the operation. + [System.ComponentModel.TypeConverter(typeof(OperationDisplayTypeConverter))] + public partial class OperationDisplay + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplay DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new OperationDisplay(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplay DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new OperationDisplay(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplay FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal OperationDisplay(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Provider")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)this).Provider = (string) content.GetValueForProperty("Provider",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)this).Provider, global::System.Convert.ToString); + } + if (content.Contains("Operation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)this).Operation = (string) content.GetValueForProperty("Operation",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)this).Operation, global::System.Convert.ToString); + } + if (content.Contains("Resource")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)this).Resource = (string) content.GetValueForProperty("Resource",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)this).Resource, global::System.Convert.ToString); + } + if (content.Contains("Description")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)this).Description = (string) content.GetValueForProperty("Description",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)this).Description, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal OperationDisplay(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Provider")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)this).Provider = (string) content.GetValueForProperty("Provider",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)this).Provider, global::System.Convert.ToString); + } + if (content.Contains("Operation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)this).Operation = (string) content.GetValueForProperty("Operation",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)this).Operation, global::System.Convert.ToString); + } + if (content.Contains("Resource")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)this).Resource = (string) content.GetValueForProperty("Resource",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)this).Resource, global::System.Convert.ToString); + } + if (content.Contains("Description")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)this).Description = (string) content.GetValueForProperty("Description",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal)this).Description, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The object that describes the operation. + [System.ComponentModel.TypeConverter(typeof(OperationDisplayTypeConverter))] + public partial interface IOperationDisplay + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/OperationDisplay.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/OperationDisplay.TypeConverter.cs new file mode 100644 index 000000000000..3a16c57531db --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/OperationDisplay.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class OperationDisplayTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplay ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplay).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return OperationDisplay.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return OperationDisplay.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return OperationDisplay.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/OperationDisplay.cs b/swaggerci/redis/generated/api/Models/Api20220601/OperationDisplay.cs new file mode 100644 index 000000000000..616abf7025fd --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/OperationDisplay.cs @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The object that describes the operation. + public partial class OperationDisplay : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplay, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplayInternal + { + + /// Backing field for property. + private string _description; + + /// Friendly name of the operation + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Description { get => this._description; set => this._description = value; } + + /// Backing field for property. + private string _operation; + + /// Operation type: read, write, delete, listKeys/action, etc. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Operation { get => this._operation; set => this._operation = value; } + + /// Backing field for property. + private string _provider; + + /// Friendly name of the resource provider + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Provider { get => this._provider; set => this._provider = value; } + + /// Backing field for property. + private string _resource; + + /// Resource type on which the operation is performed. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Resource { get => this._resource; set => this._resource = value; } + + /// Creates an new instance. + public OperationDisplay() + { + + } + } + /// The object that describes the operation. + public partial interface IOperationDisplay : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// Friendly name of the operation + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Friendly name of the operation", + SerializedName = @"description", + PossibleTypes = new [] { typeof(string) })] + string Description { get; set; } + /// Operation type: read, write, delete, listKeys/action, etc. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Operation type: read, write, delete, listKeys/action, etc.", + SerializedName = @"operation", + PossibleTypes = new [] { typeof(string) })] + string Operation { get; set; } + /// Friendly name of the resource provider + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Friendly name of the resource provider", + SerializedName = @"provider", + PossibleTypes = new [] { typeof(string) })] + string Provider { get; set; } + /// Resource type on which the operation is performed. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource type on which the operation is performed.", + SerializedName = @"resource", + PossibleTypes = new [] { typeof(string) })] + string Resource { get; set; } + + } + /// The object that describes the operation. + internal partial interface IOperationDisplayInternal + + { + /// Friendly name of the operation + string Description { get; set; } + /// Operation type: read, write, delete, listKeys/action, etc. + string Operation { get; set; } + /// Friendly name of the resource provider + string Provider { get; set; } + /// Resource type on which the operation is performed. + string Resource { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/OperationDisplay.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/OperationDisplay.json.cs new file mode 100644 index 000000000000..530be97305c3 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/OperationDisplay.json.cs @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The object that describes the operation. + public partial class OperationDisplay + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplay. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplay. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationDisplay FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new OperationDisplay(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal OperationDisplay(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_provider = If( json?.PropertyT("provider"), out var __jsonProvider) ? (string)__jsonProvider : (string)Provider;} + {_operation = If( json?.PropertyT("operation"), out var __jsonOperation) ? (string)__jsonOperation : (string)Operation;} + {_resource = If( json?.PropertyT("resource"), out var __jsonResource) ? (string)__jsonResource : (string)Resource;} + {_description = If( json?.PropertyT("description"), out var __jsonDescription) ? (string)__jsonDescription : (string)Description;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._provider)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._provider.ToString()) : null, "provider" ,container.Add ); + AddIf( null != (((object)this._operation)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._operation.ToString()) : null, "operation" ,container.Add ); + AddIf( null != (((object)this._resource)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._resource.ToString()) : null, "resource" ,container.Add ); + AddIf( null != (((object)this._description)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._description.ToString()) : null, "description" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/OperationListResult.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/OperationListResult.PowerShell.cs new file mode 100644 index 000000000000..a4f89a9bbbfa --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/OperationListResult.PowerShell.cs @@ -0,0 +1,156 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next + /// set of results. + /// + [System.ComponentModel.TypeConverter(typeof(OperationListResultTypeConverter))] + public partial class OperationListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new OperationListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new OperationListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal OperationListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal OperationListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next + /// set of results. + [System.ComponentModel.TypeConverter(typeof(OperationListResultTypeConverter))] + public partial interface IOperationListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/OperationListResult.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/OperationListResult.TypeConverter.cs new file mode 100644 index 000000000000..2b91943f25e9 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/OperationListResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class OperationListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return OperationListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return OperationListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return OperationListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/OperationListResult.cs b/swaggerci/redis/generated/api/Models/Api20220601/OperationListResult.cs new file mode 100644 index 000000000000..d28a62a72ffe --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/OperationListResult.cs @@ -0,0 +1,76 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next + /// set of results. + /// + public partial class OperationListResult : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResult, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// URL to get the next set of operation list results if there are any. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation[] _value; + + /// List of operations supported by the resource provider. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation[] Value { get => this._value; set => this._value = value; } + + /// Creates an new instance. + public OperationListResult() + { + + } + } + /// Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next + /// set of results. + public partial interface IOperationListResult : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// URL to get the next set of operation list results if there are any. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"URL to get the next set of operation list results if there are any.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// List of operations supported by the resource provider. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"List of operations supported by the resource provider.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation[] Value { get; set; } + + } + /// Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next + /// set of results. + internal partial interface IOperationListResultInternal + + { + /// URL to get the next set of operation list results if there are any. + string NextLink { get; set; } + /// List of operations supported by the resource provider. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/OperationListResult.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/OperationListResult.json.cs new file mode 100644 index 000000000000..0610afd24820 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/OperationListResult.json.cs @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next + /// set of results. + /// + public partial class OperationListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new OperationListResult(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal OperationListResult(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation) (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.Operation.FromJson(__u) )) ))() : null : Value;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/OperationStatus.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/OperationStatus.PowerShell.cs new file mode 100644 index 000000000000..8bb6939732e9 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/OperationStatus.PowerShell.cs @@ -0,0 +1,248 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Asynchronous operation status + [System.ComponentModel.TypeConverter(typeof(OperationStatusTypeConverter))] + public partial class OperationStatus + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new OperationStatus(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new OperationStatus(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal OperationStatus(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationStatusPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Target, global::System.Convert.ToString); + } + if (content.Contains("Detail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Detail = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated[]) content.GetValueForProperty("Detail",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Detail, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.ErrorDetailAutoGeneratedTypeConverter.ConvertFrom)); + } + if (content.Contains("AdditionalInfo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).AdditionalInfo = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[]) content.GetValueForProperty("AdditionalInfo",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).AdditionalInfo, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorAdditionalInfoTypeConverter.ConvertFrom)); + } + if (content.Contains("Error")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Error = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated) content.GetValueForProperty("Error",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Error, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.ErrorDetailAutoGeneratedTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("PercentComplete")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).PercentComplete = (float?) content.GetValueForProperty("PercentComplete",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).PercentComplete, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("StartTime")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).StartTime = (global::System.DateTime?) content.GetValueForProperty("StartTime",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).StartTime, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EndTime")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).EndTime = (global::System.DateTime?) content.GetValueForProperty("EndTime",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).EndTime, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Operation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Operation = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult[]) content.GetValueForProperty("Operation",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Operation, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.OperationStatusResultTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal OperationStatus(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationStatusPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Target, global::System.Convert.ToString); + } + if (content.Contains("Detail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Detail = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated[]) content.GetValueForProperty("Detail",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Detail, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.ErrorDetailAutoGeneratedTypeConverter.ConvertFrom)); + } + if (content.Contains("AdditionalInfo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).AdditionalInfo = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[]) content.GetValueForProperty("AdditionalInfo",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).AdditionalInfo, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorAdditionalInfoTypeConverter.ConvertFrom)); + } + if (content.Contains("Error")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Error = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated) content.GetValueForProperty("Error",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Error, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.ErrorDetailAutoGeneratedTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("PercentComplete")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).PercentComplete = (float?) content.GetValueForProperty("PercentComplete",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).PercentComplete, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("StartTime")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).StartTime = (global::System.DateTime?) content.GetValueForProperty("StartTime",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).StartTime, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EndTime")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).EndTime = (global::System.DateTime?) content.GetValueForProperty("EndTime",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).EndTime, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Operation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Operation = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult[]) content.GetValueForProperty("Operation",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Operation, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.OperationStatusResultTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Asynchronous operation status + [System.ComponentModel.TypeConverter(typeof(OperationStatusTypeConverter))] + public partial interface IOperationStatus + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/OperationStatus.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/OperationStatus.TypeConverter.cs new file mode 100644 index 000000000000..a548e2b8e766 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/OperationStatus.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class OperationStatusTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return OperationStatus.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return OperationStatus.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return OperationStatus.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/OperationStatus.cs b/swaggerci/redis/generated/api/Models/Api20220601/OperationStatus.cs new file mode 100644 index 000000000000..9d85d72b343b --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/OperationStatus.cs @@ -0,0 +1,137 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Asynchronous operation status + public partial class OperationStatus : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusInternal, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult __operationStatusResult = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.OperationStatusResult(); + + /// The error additional info. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] AdditionalInfo { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).AdditionalInfo; } + + /// The error code. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Code { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Code; } + + /// The error details. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated[] Detail { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Detail; } + + /// The end time of the operation. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public global::System.DateTime? EndTime { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).EndTime; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).EndTime = value ?? default(global::System.DateTime); } + + /// If present, details of the operation error. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated Error { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Error; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Error = value ?? null /* model class */; } + + /// Fully qualified ID for the async operation. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Id = value ?? null; } + + /// The error message. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Message { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Message; } + + /// Internal Acessors for AdditionalInfo + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal.AdditionalInfo { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).AdditionalInfo; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).AdditionalInfo = value; } + + /// Internal Acessors for Code + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal.Code { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Code; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Code = value; } + + /// Internal Acessors for Detail + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated[] Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal.Detail { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Detail; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Detail = value; } + + /// Internal Acessors for Message + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal.Message { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Message; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Message = value; } + + /// Internal Acessors for Target + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal.Target { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Target; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Target = value; } + + /// Name of the async operation. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Name = value ?? null; } + + /// The operations list. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult[] Operation { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Operation; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Operation = value ?? null /* arrayOf */; } + + /// Percent of the operation that is complete. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public float? PercentComplete { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).PercentComplete; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).PercentComplete = value ?? default(float); } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusProperties _property; + + /// Additional properties from RP, only when operation is successful + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationStatusProperties()); set => this._property = value; } + + /// The start time of the operation. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public global::System.DateTime? StartTime { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).StartTime; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).StartTime = value ?? default(global::System.DateTime); } + + /// Operation status. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Status { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Status; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Status = value ; } + + /// The error target. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Target { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)__operationStatusResult).Target; } + + /// Creates an new instance. + public OperationStatus() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__operationStatusResult), __operationStatusResult); + await eventListener.AssertObjectIsValid(nameof(__operationStatusResult), __operationStatusResult); + } + } + /// Asynchronous operation status + public partial interface IOperationStatus : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult + { + /// Additional properties from RP, only when operation is successful + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Additional properties from RP, only when operation is successful", + SerializedName = @"properties", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusProperties) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusProperties Property { get; set; } + + } + /// Asynchronous operation status + internal partial interface IOperationStatusInternal : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal + { + /// Additional properties from RP, only when operation is successful + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusProperties Property { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/OperationStatus.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/OperationStatus.json.cs new file mode 100644 index 000000000000..93057b1a3e97 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/OperationStatus.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Asynchronous operation status + public partial class OperationStatus + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new OperationStatus(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal OperationStatus(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __operationStatusResult = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.OperationStatusResult(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationStatusProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __operationStatusResult?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.PowerShell.cs new file mode 100644 index 000000000000..335a7a475d9b --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.PowerShell.cs @@ -0,0 +1,140 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Additional properties from RP, only when operation is successful + [System.ComponentModel.TypeConverter(typeof(OperationStatusPropertiesTypeConverter))] + public partial class OperationStatusProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new OperationStatusProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new OperationStatusProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal OperationStatusProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal OperationStatusProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Additional properties from RP, only when operation is successful + [System.ComponentModel.TypeConverter(typeof(OperationStatusPropertiesTypeConverter))] + public partial interface IOperationStatusProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.TypeConverter.cs new file mode 100644 index 000000000000..4ffe6f17ebb6 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class OperationStatusPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return OperationStatusProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return OperationStatusProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return OperationStatusProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.cs b/swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.cs new file mode 100644 index 000000000000..debbbb11b273 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.cs @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Additional properties from RP, only when operation is successful + public partial class OperationStatusProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusProperties, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusPropertiesInternal + { + + /// Creates an new instance. + public OperationStatusProperties() + { + + } + } + /// Additional properties from RP, only when operation is successful + public partial interface IOperationStatusProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray + { + + } + /// Additional properties from RP, only when operation is successful + internal partial interface IOperationStatusPropertiesInternal + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.dictionary.cs b/swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.dictionary.cs new file mode 100644 index 000000000000..7eef166dd8b5 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.dictionary.cs @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + public partial class OperationStatusProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray + { + protected global::System.Collections.Generic.Dictionary __additionalProperties = new global::System.Collections.Generic.Dictionary(); + + global::System.Collections.Generic.IDictionary Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.AdditionalProperties { get => __additionalProperties; } + + int Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Count { get => __additionalProperties.Count; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Keys { get => __additionalProperties.Keys; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Values { get => __additionalProperties.Values; } + + public global::System.Object this[global::System.String index] { get => __additionalProperties[index]; set => __additionalProperties[index] = value; } + + /// + /// + public void Add(global::System.String key, global::System.Object value) => __additionalProperties.Add( key, value); + + public void Clear() => __additionalProperties.Clear(); + + /// + public bool ContainsKey(global::System.String key) => __additionalProperties.ContainsKey( key); + + /// + public void CopyFrom(global::System.Collections.IDictionary source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public void CopyFrom(global::System.Management.Automation.PSObject source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public bool Remove(global::System.String key) => __additionalProperties.Remove( key); + + /// + /// + public bool TryGetValue(global::System.String key, out global::System.Object value) => __additionalProperties.TryGetValue( key, out value); + + /// + + public static implicit operator global::System.Collections.Generic.Dictionary(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationStatusProperties source) => source.__additionalProperties; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.json.cs new file mode 100644 index 000000000000..8e2625fc5447 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/OperationStatusProperties.json.cs @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Additional properties from RP, only when operation is successful + public partial class OperationStatusProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatusProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new OperationStatusProperties(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + /// + internal OperationStatusProperties(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, global::System.Collections.Generic.HashSet exclusions = null) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.FromJson( json, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray)this).AdditionalProperties, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.DeserializeDictionary(()=>new global::System.Collections.Generic.Dictionary()),exclusions ); + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.ToJson( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray)this).AdditionalProperties, container); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisAccessKeys.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisAccessKeys.PowerShell.cs new file mode 100644 index 000000000000..861d3ab75134 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisAccessKeys.PowerShell.cs @@ -0,0 +1,152 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Redis cache access keys. + [System.ComponentModel.TypeConverter(typeof(RedisAccessKeysTypeConverter))] + public partial class RedisAccessKeys + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisAccessKeys(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisAccessKeys(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisAccessKeys(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("PrimaryKey")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeysInternal)this).PrimaryKey = (string) content.GetValueForProperty("PrimaryKey",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeysInternal)this).PrimaryKey, global::System.Convert.ToString); + } + if (content.Contains("SecondaryKey")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeysInternal)this).SecondaryKey = (string) content.GetValueForProperty("SecondaryKey",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeysInternal)this).SecondaryKey, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisAccessKeys(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("PrimaryKey")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeysInternal)this).PrimaryKey = (string) content.GetValueForProperty("PrimaryKey",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeysInternal)this).PrimaryKey, global::System.Convert.ToString); + } + if (content.Contains("SecondaryKey")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeysInternal)this).SecondaryKey = (string) content.GetValueForProperty("SecondaryKey",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeysInternal)this).SecondaryKey, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Redis cache access keys. + [System.ComponentModel.TypeConverter(typeof(RedisAccessKeysTypeConverter))] + public partial interface IRedisAccessKeys + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisAccessKeys.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisAccessKeys.TypeConverter.cs new file mode 100644 index 000000000000..8250f7e627c4 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisAccessKeys.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisAccessKeysTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisAccessKeys.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisAccessKeys.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisAccessKeys.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisAccessKeys.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisAccessKeys.cs new file mode 100644 index 000000000000..447b53fd0af6 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisAccessKeys.cs @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Redis cache access keys. + public partial class RedisAccessKeys : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeysInternal + { + + /// Internal Acessors for PrimaryKey + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeysInternal.PrimaryKey { get => this._primaryKey; set { {_primaryKey = value;} } } + + /// Internal Acessors for SecondaryKey + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeysInternal.SecondaryKey { get => this._secondaryKey; set { {_secondaryKey = value;} } } + + /// Backing field for property. + private string _primaryKey; + + /// The current primary key that clients can use to authenticate with Redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string PrimaryKey { get => this._primaryKey; } + + /// Backing field for property. + private string _secondaryKey; + + /// + /// The current secondary key that clients can use to authenticate with Redis cache. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string SecondaryKey { get => this._secondaryKey; } + + /// Creates an new instance. + public RedisAccessKeys() + { + + } + } + /// Redis cache access keys. + public partial interface IRedisAccessKeys : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// The current primary key that clients can use to authenticate with Redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The current primary key that clients can use to authenticate with Redis cache.", + SerializedName = @"primaryKey", + PossibleTypes = new [] { typeof(string) })] + string PrimaryKey { get; } + /// + /// The current secondary key that clients can use to authenticate with Redis cache. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The current secondary key that clients can use to authenticate with Redis cache.", + SerializedName = @"secondaryKey", + PossibleTypes = new [] { typeof(string) })] + string SecondaryKey { get; } + + } + /// Redis cache access keys. + internal partial interface IRedisAccessKeysInternal + + { + /// The current primary key that clients can use to authenticate with Redis cache. + string PrimaryKey { get; set; } + /// + /// The current secondary key that clients can use to authenticate with Redis cache. + /// + string SecondaryKey { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisAccessKeys.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisAccessKeys.json.cs new file mode 100644 index 000000000000..55fcec568e2e --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisAccessKeys.json.cs @@ -0,0 +1,116 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Redis cache access keys. + public partial class RedisAccessKeys + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisAccessKeys(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisAccessKeys(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_primaryKey = If( json?.PropertyT("primaryKey"), out var __jsonPrimaryKey) ? (string)__jsonPrimaryKey : (string)PrimaryKey;} + {_secondaryKey = If( json?.PropertyT("secondaryKey"), out var __jsonSecondaryKey) ? (string)__jsonSecondaryKey : (string)SecondaryKey;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._primaryKey)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._primaryKey.ToString()) : null, "primaryKey" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._secondaryKey)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._secondaryKey.ToString()) : null, "secondaryKey" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonProperties.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonProperties.PowerShell.cs new file mode 100644 index 000000000000..177c8f1d3417 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonProperties.PowerShell.cs @@ -0,0 +1,208 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Create/Update/Get common properties of the redis cache. + [System.ComponentModel.TypeConverter(typeof(RedisCommonPropertiesTypeConverter))] + public partial class RedisCommonProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisCommonProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisCommonProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisCommonProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("RedisVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisVersion = (string) content.GetValueForProperty("RedisVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisVersion, global::System.Convert.ToString); + } + if (content.Contains("EnableNonSslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).EnableNonSslPort = (bool?) content.GetValueForProperty("EnableNonSslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).EnableNonSslPort, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ReplicasPerMaster")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerMaster = (int?) content.GetValueForProperty("ReplicasPerMaster",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerMaster, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("ReplicasPerPrimary")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerPrimary = (int?) content.GetValueForProperty("ReplicasPerPrimary",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerPrimary, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("TenantSetting")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).TenantSetting = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) content.GetValueForProperty("TenantSetting",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).TenantSetting, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesTenantSettingsTypeConverter.ConvertFrom); + } + if (content.Contains("ShardCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ShardCount = (int?) content.GetValueForProperty("ShardCount",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ShardCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("MinimumTlsVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).MinimumTlsVersion = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion?) content.GetValueForProperty("MinimumTlsVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).MinimumTlsVersion, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion.CreateFrom); + } + if (content.Contains("PublicNetworkAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).PublicNetworkAccess = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess?) content.GetValueForProperty("PublicNetworkAccess",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).PublicNetworkAccess, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess.CreateFrom); + } + if (content.Contains("RedisConfiguration")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisConfiguration = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) content.GetValueForProperty("RedisConfiguration",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisConfiguration, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesRedisConfigurationTypeConverter.ConvertFrom); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisCommonProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("RedisVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisVersion = (string) content.GetValueForProperty("RedisVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisVersion, global::System.Convert.ToString); + } + if (content.Contains("EnableNonSslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).EnableNonSslPort = (bool?) content.GetValueForProperty("EnableNonSslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).EnableNonSslPort, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ReplicasPerMaster")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerMaster = (int?) content.GetValueForProperty("ReplicasPerMaster",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerMaster, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("ReplicasPerPrimary")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerPrimary = (int?) content.GetValueForProperty("ReplicasPerPrimary",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerPrimary, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("TenantSetting")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).TenantSetting = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) content.GetValueForProperty("TenantSetting",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).TenantSetting, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesTenantSettingsTypeConverter.ConvertFrom); + } + if (content.Contains("ShardCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ShardCount = (int?) content.GetValueForProperty("ShardCount",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ShardCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("MinimumTlsVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).MinimumTlsVersion = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion?) content.GetValueForProperty("MinimumTlsVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).MinimumTlsVersion, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion.CreateFrom); + } + if (content.Contains("PublicNetworkAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).PublicNetworkAccess = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess?) content.GetValueForProperty("PublicNetworkAccess",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).PublicNetworkAccess, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess.CreateFrom); + } + if (content.Contains("RedisConfiguration")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisConfiguration = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) content.GetValueForProperty("RedisConfiguration",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisConfiguration, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesRedisConfigurationTypeConverter.ConvertFrom); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Create/Update/Get common properties of the redis cache. + [System.ComponentModel.TypeConverter(typeof(RedisCommonPropertiesTypeConverter))] + public partial interface IRedisCommonProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonProperties.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonProperties.TypeConverter.cs new file mode 100644 index 000000000000..5994656086b1 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisCommonPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisCommonProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisCommonProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisCommonProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonProperties.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonProperties.cs new file mode 100644 index 000000000000..213493f1a8c7 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonProperties.cs @@ -0,0 +1,220 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Create/Update/Get common properties of the redis cache. + public partial class RedisCommonProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonProperties, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal + { + + /// Backing field for property. + private bool? _enableNonSslPort; + + /// Specifies whether the non-ssl Redis server port (6379) is enabled. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public bool? EnableNonSslPort { get => this._enableNonSslPort; set => this._enableNonSslPort = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion? _minimumTlsVersion; + + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion? MinimumTlsVersion { get => this._minimumTlsVersion; set => this._minimumTlsVersion = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess? _publicNetworkAccess; + + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess? PublicNetworkAccess { get => this._publicNetworkAccess; set => this._publicNetworkAccess = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration _redisConfiguration; + + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration RedisConfiguration { get => (this._redisConfiguration = this._redisConfiguration ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesRedisConfiguration()); set => this._redisConfiguration = value; } + + /// Backing field for property. + private string _redisVersion; + + /// + /// Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers + /// to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string RedisVersion { get => this._redisVersion; set => this._redisVersion = value; } + + /// Backing field for property. + private int? _replicasPerMaster; + + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public int? ReplicasPerMaster { get => this._replicasPerMaster; set => this._replicasPerMaster = value; } + + /// Backing field for property. + private int? _replicasPerPrimary; + + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public int? ReplicasPerPrimary { get => this._replicasPerPrimary; set => this._replicasPerPrimary = value; } + + /// Backing field for property. + private int? _shardCount; + + /// The number of shards to be created on a Premium Cluster Cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public int? ShardCount { get => this._shardCount; set => this._shardCount = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings _tenantSetting; + + /// A dictionary of tenant settings + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings TenantSetting { get => (this._tenantSetting = this._tenantSetting ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesTenantSettings()); set => this._tenantSetting = value; } + + /// Creates an new instance. + public RedisCommonProperties() + { + + } + } + /// Create/Update/Get common properties of the redis cache. + public partial interface IRedisCommonProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// Specifies whether the non-ssl Redis server port (6379) is enabled. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Specifies whether the non-ssl Redis server port (6379) is enabled.", + SerializedName = @"enableNonSslPort", + PossibleTypes = new [] { typeof(bool) })] + bool? EnableNonSslPort { get; set; } + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2')", + SerializedName = @"minimumTlsVersion", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion? MinimumTlsVersion { get; set; } + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'", + SerializedName = @"publicNetworkAccess", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess? PublicNetworkAccess { get; set; } + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc.", + SerializedName = @"redisConfiguration", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration RedisConfiguration { get; set; } + /// + /// Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers + /// to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'.", + SerializedName = @"redisVersion", + PossibleTypes = new [] { typeof(string) })] + string RedisVersion { get; set; } + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of replicas to be created per primary.", + SerializedName = @"replicasPerMaster", + PossibleTypes = new [] { typeof(int) })] + int? ReplicasPerMaster { get; set; } + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of replicas to be created per primary.", + SerializedName = @"replicasPerPrimary", + PossibleTypes = new [] { typeof(int) })] + int? ReplicasPerPrimary { get; set; } + /// The number of shards to be created on a Premium Cluster Cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of shards to be created on a Premium Cluster Cache.", + SerializedName = @"shardCount", + PossibleTypes = new [] { typeof(int) })] + int? ShardCount { get; set; } + /// A dictionary of tenant settings + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"A dictionary of tenant settings", + SerializedName = @"tenantSettings", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings TenantSetting { get; set; } + + } + /// Create/Update/Get common properties of the redis cache. + internal partial interface IRedisCommonPropertiesInternal + + { + /// Specifies whether the non-ssl Redis server port (6379) is enabled. + bool? EnableNonSslPort { get; set; } + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion? MinimumTlsVersion { get; set; } + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess? PublicNetworkAccess { get; set; } + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration RedisConfiguration { get; set; } + /// + /// Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers + /// to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'. + /// + string RedisVersion { get; set; } + /// The number of replicas to be created per primary. + int? ReplicasPerMaster { get; set; } + /// The number of replicas to be created per primary. + int? ReplicasPerPrimary { get; set; } + /// The number of shards to be created on a Premium Cluster Cache. + int? ShardCount { get; set; } + /// A dictionary of tenant settings + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings TenantSetting { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonProperties.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonProperties.json.cs new file mode 100644 index 000000000000..e8e02d4739d8 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonProperties.json.cs @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Create/Update/Get common properties of the redis cache. + public partial class RedisCommonProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisCommonProperties(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisCommonProperties(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_redisVersion = If( json?.PropertyT("redisVersion"), out var __jsonRedisVersion) ? (string)__jsonRedisVersion : (string)RedisVersion;} + {_enableNonSslPort = If( json?.PropertyT("enableNonSslPort"), out var __jsonEnableNonSslPort) ? (bool?)__jsonEnableNonSslPort : EnableNonSslPort;} + {_replicasPerMaster = If( json?.PropertyT("replicasPerMaster"), out var __jsonReplicasPerMaster) ? (int?)__jsonReplicasPerMaster : ReplicasPerMaster;} + {_replicasPerPrimary = If( json?.PropertyT("replicasPerPrimary"), out var __jsonReplicasPerPrimary) ? (int?)__jsonReplicasPerPrimary : ReplicasPerPrimary;} + {_tenantSetting = If( json?.PropertyT("tenantSettings"), out var __jsonTenantSettings) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesTenantSettings.FromJson(__jsonTenantSettings) : TenantSetting;} + {_shardCount = If( json?.PropertyT("shardCount"), out var __jsonShardCount) ? (int?)__jsonShardCount : ShardCount;} + {_minimumTlsVersion = If( json?.PropertyT("minimumTlsVersion"), out var __jsonMinimumTlsVersion) ? (string)__jsonMinimumTlsVersion : (string)MinimumTlsVersion;} + {_publicNetworkAccess = If( json?.PropertyT("publicNetworkAccess"), out var __jsonPublicNetworkAccess) ? (string)__jsonPublicNetworkAccess : (string)PublicNetworkAccess;} + {_redisConfiguration = If( json?.PropertyT("redisConfiguration"), out var __jsonRedisConfiguration) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesRedisConfiguration.FromJson(__jsonRedisConfiguration) : RedisConfiguration;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._redisVersion)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._redisVersion.ToString()) : null, "redisVersion" ,container.Add ); + AddIf( null != this._enableNonSslPort ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonBoolean((bool)this._enableNonSslPort) : null, "enableNonSslPort" ,container.Add ); + AddIf( null != this._replicasPerMaster ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNumber((int)this._replicasPerMaster) : null, "replicasPerMaster" ,container.Add ); + AddIf( null != this._replicasPerPrimary ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNumber((int)this._replicasPerPrimary) : null, "replicasPerPrimary" ,container.Add ); + AddIf( null != this._tenantSetting ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._tenantSetting.ToJson(null,serializationMode) : null, "tenantSettings" ,container.Add ); + AddIf( null != this._shardCount ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNumber((int)this._shardCount) : null, "shardCount" ,container.Add ); + AddIf( null != (((object)this._minimumTlsVersion)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._minimumTlsVersion.ToString()) : null, "minimumTlsVersion" ,container.Add ); + AddIf( null != (((object)this._publicNetworkAccess)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._publicNetworkAccess.ToString()) : null, "publicNetworkAccess" ,container.Add ); + AddIf( null != this._redisConfiguration ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._redisConfiguration.ToJson(null,serializationMode) : null, "redisConfiguration" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.PowerShell.cs new file mode 100644 index 000000000000..251a0c121093 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.PowerShell.cs @@ -0,0 +1,285 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + [System.ComponentModel.TypeConverter(typeof(RedisCommonPropertiesRedisConfigurationTypeConverter))] + public partial class RedisCommonPropertiesRedisConfiguration + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisCommonPropertiesRedisConfiguration(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisCommonPropertiesRedisConfiguration(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json + /// string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisCommonPropertiesRedisConfiguration(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("RdbBackupEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).RdbBackupEnabled = (string) content.GetValueForProperty("RdbBackupEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).RdbBackupEnabled, global::System.Convert.ToString); + } + if (content.Contains("RdbBackupFrequency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).RdbBackupFrequency = (string) content.GetValueForProperty("RdbBackupFrequency",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).RdbBackupFrequency, global::System.Convert.ToString); + } + if (content.Contains("RdbBackupMaxSnapshotCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).RdbBackupMaxSnapshotCount = (string) content.GetValueForProperty("RdbBackupMaxSnapshotCount",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).RdbBackupMaxSnapshotCount, global::System.Convert.ToString); + } + if (content.Contains("RdbStorageConnectionString")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).RdbStorageConnectionString = (string) content.GetValueForProperty("RdbStorageConnectionString",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).RdbStorageConnectionString, global::System.Convert.ToString); + } + if (content.Contains("AofBackupEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).AofBackupEnabled = (string) content.GetValueForProperty("AofBackupEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).AofBackupEnabled, global::System.Convert.ToString); + } + if (content.Contains("AofStorageConnectionString0")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).AofStorageConnectionString0 = (string) content.GetValueForProperty("AofStorageConnectionString0",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).AofStorageConnectionString0, global::System.Convert.ToString); + } + if (content.Contains("AofStorageConnectionString1")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).AofStorageConnectionString1 = (string) content.GetValueForProperty("AofStorageConnectionString1",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).AofStorageConnectionString1, global::System.Convert.ToString); + } + if (content.Contains("MaxfragmentationmemoryReserved")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).MaxfragmentationmemoryReserved = (string) content.GetValueForProperty("MaxfragmentationmemoryReserved",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).MaxfragmentationmemoryReserved, global::System.Convert.ToString); + } + if (content.Contains("MaxmemoryPolicy")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).MaxmemoryPolicy = (string) content.GetValueForProperty("MaxmemoryPolicy",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).MaxmemoryPolicy, global::System.Convert.ToString); + } + if (content.Contains("MaxmemoryReserved")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).MaxmemoryReserved = (string) content.GetValueForProperty("MaxmemoryReserved",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).MaxmemoryReserved, global::System.Convert.ToString); + } + if (content.Contains("MaxmemoryDelta")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).MaxmemoryDelta = (string) content.GetValueForProperty("MaxmemoryDelta",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).MaxmemoryDelta, global::System.Convert.ToString); + } + if (content.Contains("Maxclient")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).Maxclient = (string) content.GetValueForProperty("Maxclient",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).Maxclient, global::System.Convert.ToString); + } + if (content.Contains("NotifyKeyspaceEvent")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).NotifyKeyspaceEvent = (string) content.GetValueForProperty("NotifyKeyspaceEvent",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).NotifyKeyspaceEvent, global::System.Convert.ToString); + } + if (content.Contains("PreferredDataArchiveAuthMethod")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).PreferredDataArchiveAuthMethod = (string) content.GetValueForProperty("PreferredDataArchiveAuthMethod",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).PreferredDataArchiveAuthMethod, global::System.Convert.ToString); + } + if (content.Contains("PreferredDataPersistenceAuthMethod")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).PreferredDataPersistenceAuthMethod = (string) content.GetValueForProperty("PreferredDataPersistenceAuthMethod",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).PreferredDataPersistenceAuthMethod, global::System.Convert.ToString); + } + if (content.Contains("ZonalConfiguration")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).ZonalConfiguration = (string) content.GetValueForProperty("ZonalConfiguration",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).ZonalConfiguration, global::System.Convert.ToString); + } + if (content.Contains("Authnotrequired")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).Authnotrequired = (string) content.GetValueForProperty("Authnotrequired",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).Authnotrequired, global::System.Convert.ToString); + } + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisCommonPropertiesRedisConfiguration(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("RdbBackupEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).RdbBackupEnabled = (string) content.GetValueForProperty("RdbBackupEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).RdbBackupEnabled, global::System.Convert.ToString); + } + if (content.Contains("RdbBackupFrequency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).RdbBackupFrequency = (string) content.GetValueForProperty("RdbBackupFrequency",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).RdbBackupFrequency, global::System.Convert.ToString); + } + if (content.Contains("RdbBackupMaxSnapshotCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).RdbBackupMaxSnapshotCount = (string) content.GetValueForProperty("RdbBackupMaxSnapshotCount",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).RdbBackupMaxSnapshotCount, global::System.Convert.ToString); + } + if (content.Contains("RdbStorageConnectionString")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).RdbStorageConnectionString = (string) content.GetValueForProperty("RdbStorageConnectionString",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).RdbStorageConnectionString, global::System.Convert.ToString); + } + if (content.Contains("AofBackupEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).AofBackupEnabled = (string) content.GetValueForProperty("AofBackupEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).AofBackupEnabled, global::System.Convert.ToString); + } + if (content.Contains("AofStorageConnectionString0")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).AofStorageConnectionString0 = (string) content.GetValueForProperty("AofStorageConnectionString0",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).AofStorageConnectionString0, global::System.Convert.ToString); + } + if (content.Contains("AofStorageConnectionString1")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).AofStorageConnectionString1 = (string) content.GetValueForProperty("AofStorageConnectionString1",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).AofStorageConnectionString1, global::System.Convert.ToString); + } + if (content.Contains("MaxfragmentationmemoryReserved")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).MaxfragmentationmemoryReserved = (string) content.GetValueForProperty("MaxfragmentationmemoryReserved",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).MaxfragmentationmemoryReserved, global::System.Convert.ToString); + } + if (content.Contains("MaxmemoryPolicy")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).MaxmemoryPolicy = (string) content.GetValueForProperty("MaxmemoryPolicy",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).MaxmemoryPolicy, global::System.Convert.ToString); + } + if (content.Contains("MaxmemoryReserved")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).MaxmemoryReserved = (string) content.GetValueForProperty("MaxmemoryReserved",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).MaxmemoryReserved, global::System.Convert.ToString); + } + if (content.Contains("MaxmemoryDelta")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).MaxmemoryDelta = (string) content.GetValueForProperty("MaxmemoryDelta",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).MaxmemoryDelta, global::System.Convert.ToString); + } + if (content.Contains("Maxclient")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).Maxclient = (string) content.GetValueForProperty("Maxclient",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).Maxclient, global::System.Convert.ToString); + } + if (content.Contains("NotifyKeyspaceEvent")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).NotifyKeyspaceEvent = (string) content.GetValueForProperty("NotifyKeyspaceEvent",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).NotifyKeyspaceEvent, global::System.Convert.ToString); + } + if (content.Contains("PreferredDataArchiveAuthMethod")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).PreferredDataArchiveAuthMethod = (string) content.GetValueForProperty("PreferredDataArchiveAuthMethod",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).PreferredDataArchiveAuthMethod, global::System.Convert.ToString); + } + if (content.Contains("PreferredDataPersistenceAuthMethod")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).PreferredDataPersistenceAuthMethod = (string) content.GetValueForProperty("PreferredDataPersistenceAuthMethod",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).PreferredDataPersistenceAuthMethod, global::System.Convert.ToString); + } + if (content.Contains("ZonalConfiguration")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).ZonalConfiguration = (string) content.GetValueForProperty("ZonalConfiguration",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).ZonalConfiguration, global::System.Convert.ToString); + } + if (content.Contains("Authnotrequired")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).Authnotrequired = (string) content.GetValueForProperty("Authnotrequired",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal)this).Authnotrequired, global::System.Convert.ToString); + } + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + [System.ComponentModel.TypeConverter(typeof(RedisCommonPropertiesRedisConfigurationTypeConverter))] + public partial interface IRedisCommonPropertiesRedisConfiguration + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.TypeConverter.cs new file mode 100644 index 000000000000..20ddc3fab1a0 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.TypeConverter.cs @@ -0,0 +1,151 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisCommonPropertiesRedisConfigurationTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise + /// false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisCommonPropertiesRedisConfiguration.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisCommonPropertiesRedisConfiguration.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisCommonPropertiesRedisConfiguration.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.cs new file mode 100644 index 000000000000..23d0f03b7b38 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.cs @@ -0,0 +1,368 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + public partial class RedisCommonPropertiesRedisConfiguration : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal + { + + /// Backing field for property. + private string _aofBackupEnabled; + + /// Specifies whether the aof backup is enabled + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string AofBackupEnabled { get => this._aofBackupEnabled; set => this._aofBackupEnabled = value; } + + /// Backing field for property. + private string _aofStorageConnectionString0; + + /// First storage account connection string + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string AofStorageConnectionString0 { get => this._aofStorageConnectionString0; set => this._aofStorageConnectionString0 = value; } + + /// Backing field for property. + private string _aofStorageConnectionString1; + + /// Second storage account connection string + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string AofStorageConnectionString1 { get => this._aofStorageConnectionString1; set => this._aofStorageConnectionString1 = value; } + + /// Backing field for property. + private string _authnotrequired; + + /// + /// Specifies whether the authentication is disabled. Setting this property is highly discouraged from security point of view. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Authnotrequired { get => this._authnotrequired; set => this._authnotrequired = value; } + + /// Backing field for property. + private string _maxclient; + + /// The max clients config + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Maxclient { get => this._maxclient; } + + /// Backing field for property. + private string _maxfragmentationmemoryReserved; + + /// Value in megabytes reserved for fragmentation per shard + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string MaxfragmentationmemoryReserved { get => this._maxfragmentationmemoryReserved; set => this._maxfragmentationmemoryReserved = value; } + + /// Backing field for property. + private string _maxmemoryDelta; + + /// Value in megabytes reserved for non-cache usage per shard e.g. failover. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string MaxmemoryDelta { get => this._maxmemoryDelta; set => this._maxmemoryDelta = value; } + + /// Backing field for property. + private string _maxmemoryPolicy; + + /// The eviction strategy used when your data won't fit within its memory limit. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string MaxmemoryPolicy { get => this._maxmemoryPolicy; set => this._maxmemoryPolicy = value; } + + /// Backing field for property. + private string _maxmemoryReserved; + + /// Value in megabytes reserved for non-cache usage per shard e.g. failover. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string MaxmemoryReserved { get => this._maxmemoryReserved; set => this._maxmemoryReserved = value; } + + /// Internal Acessors for Maxclient + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal.Maxclient { get => this._maxclient; set { {_maxclient = value;} } } + + /// Internal Acessors for PreferredDataArchiveAuthMethod + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal.PreferredDataArchiveAuthMethod { get => this._preferredDataArchiveAuthMethod; set { {_preferredDataArchiveAuthMethod = value;} } } + + /// Internal Acessors for ZonalConfiguration + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfigurationInternal.ZonalConfiguration { get => this._zonalConfiguration; set { {_zonalConfiguration = value;} } } + + /// Backing field for property. + private string _notifyKeyspaceEvent; + + /// The KeySpace Events which should be monitored. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string NotifyKeyspaceEvent { get => this._notifyKeyspaceEvent; set => this._notifyKeyspaceEvent = value; } + + /// Backing field for property. + private string _preferredDataArchiveAuthMethod; + + /// + /// Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default + /// value is SAS + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string PreferredDataArchiveAuthMethod { get => this._preferredDataArchiveAuthMethod; } + + /// Backing field for property. + private string _preferredDataPersistenceAuthMethod; + + /// + /// Preferred auth method to communicate to storage account used for data persistence, specify SAS or ManagedIdentity, default + /// value is SAS + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string PreferredDataPersistenceAuthMethod { get => this._preferredDataPersistenceAuthMethod; set => this._preferredDataPersistenceAuthMethod = value; } + + /// Backing field for property. + private string _rdbBackupEnabled; + + /// Specifies whether the rdb backup is enabled + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string RdbBackupEnabled { get => this._rdbBackupEnabled; set => this._rdbBackupEnabled = value; } + + /// Backing field for property. + private string _rdbBackupFrequency; + + /// + /// Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, 1440) + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string RdbBackupFrequency { get => this._rdbBackupFrequency; set => this._rdbBackupFrequency = value; } + + /// Backing field for property. + private string _rdbBackupMaxSnapshotCount; + + /// Specifies the maximum number of snapshots for rdb backup + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string RdbBackupMaxSnapshotCount { get => this._rdbBackupMaxSnapshotCount; set => this._rdbBackupMaxSnapshotCount = value; } + + /// Backing field for property. + private string _rdbStorageConnectionString; + + /// The storage account connection string for storing rdb file + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string RdbStorageConnectionString { get => this._rdbStorageConnectionString; set => this._rdbStorageConnectionString = value; } + + /// Backing field for property. + private string _zonalConfiguration; + + /// Zonal Configuration + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string ZonalConfiguration { get => this._zonalConfiguration; } + + /// Creates an new instance. + public RedisCommonPropertiesRedisConfiguration() + { + + } + } + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + public partial interface IRedisCommonPropertiesRedisConfiguration : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray + { + /// Specifies whether the aof backup is enabled + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Specifies whether the aof backup is enabled", + SerializedName = @"aof-backup-enabled", + PossibleTypes = new [] { typeof(string) })] + string AofBackupEnabled { get; set; } + /// First storage account connection string + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"First storage account connection string", + SerializedName = @"aof-storage-connection-string-0", + PossibleTypes = new [] { typeof(string) })] + string AofStorageConnectionString0 { get; set; } + /// Second storage account connection string + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Second storage account connection string", + SerializedName = @"aof-storage-connection-string-1", + PossibleTypes = new [] { typeof(string) })] + string AofStorageConnectionString1 { get; set; } + /// + /// Specifies whether the authentication is disabled. Setting this property is highly discouraged from security point of view. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Specifies whether the authentication is disabled. Setting this property is highly discouraged from security point of view.", + SerializedName = @"authnotrequired", + PossibleTypes = new [] { typeof(string) })] + string Authnotrequired { get; set; } + /// The max clients config + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The max clients config", + SerializedName = @"maxclients", + PossibleTypes = new [] { typeof(string) })] + string Maxclient { get; } + /// Value in megabytes reserved for fragmentation per shard + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Value in megabytes reserved for fragmentation per shard", + SerializedName = @"maxfragmentationmemory-reserved", + PossibleTypes = new [] { typeof(string) })] + string MaxfragmentationmemoryReserved { get; set; } + /// Value in megabytes reserved for non-cache usage per shard e.g. failover. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Value in megabytes reserved for non-cache usage per shard e.g. failover.", + SerializedName = @"maxmemory-delta", + PossibleTypes = new [] { typeof(string) })] + string MaxmemoryDelta { get; set; } + /// The eviction strategy used when your data won't fit within its memory limit. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The eviction strategy used when your data won't fit within its memory limit.", + SerializedName = @"maxmemory-policy", + PossibleTypes = new [] { typeof(string) })] + string MaxmemoryPolicy { get; set; } + /// Value in megabytes reserved for non-cache usage per shard e.g. failover. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Value in megabytes reserved for non-cache usage per shard e.g. failover.", + SerializedName = @"maxmemory-reserved", + PossibleTypes = new [] { typeof(string) })] + string MaxmemoryReserved { get; set; } + /// The KeySpace Events which should be monitored. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The KeySpace Events which should be monitored.", + SerializedName = @"notify-keyspace-events", + PossibleTypes = new [] { typeof(string) })] + string NotifyKeyspaceEvent { get; set; } + /// + /// Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default + /// value is SAS + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS", + SerializedName = @"preferred-data-archive-auth-method", + PossibleTypes = new [] { typeof(string) })] + string PreferredDataArchiveAuthMethod { get; } + /// + /// Preferred auth method to communicate to storage account used for data persistence, specify SAS or ManagedIdentity, default + /// value is SAS + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Preferred auth method to communicate to storage account used for data persistence, specify SAS or ManagedIdentity, default value is SAS", + SerializedName = @"preferred-data-persistence-auth-method", + PossibleTypes = new [] { typeof(string) })] + string PreferredDataPersistenceAuthMethod { get; set; } + /// Specifies whether the rdb backup is enabled + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Specifies whether the rdb backup is enabled", + SerializedName = @"rdb-backup-enabled", + PossibleTypes = new [] { typeof(string) })] + string RdbBackupEnabled { get; set; } + /// + /// Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, 1440) + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, 1440)", + SerializedName = @"rdb-backup-frequency", + PossibleTypes = new [] { typeof(string) })] + string RdbBackupFrequency { get; set; } + /// Specifies the maximum number of snapshots for rdb backup + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Specifies the maximum number of snapshots for rdb backup", + SerializedName = @"rdb-backup-max-snapshot-count", + PossibleTypes = new [] { typeof(string) })] + string RdbBackupMaxSnapshotCount { get; set; } + /// The storage account connection string for storing rdb file + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The storage account connection string for storing rdb file", + SerializedName = @"rdb-storage-connection-string", + PossibleTypes = new [] { typeof(string) })] + string RdbStorageConnectionString { get; set; } + /// Zonal Configuration + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Zonal Configuration", + SerializedName = @"zonal-configuration", + PossibleTypes = new [] { typeof(string) })] + string ZonalConfiguration { get; } + + } + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + internal partial interface IRedisCommonPropertiesRedisConfigurationInternal + + { + /// Specifies whether the aof backup is enabled + string AofBackupEnabled { get; set; } + /// First storage account connection string + string AofStorageConnectionString0 { get; set; } + /// Second storage account connection string + string AofStorageConnectionString1 { get; set; } + /// + /// Specifies whether the authentication is disabled. Setting this property is highly discouraged from security point of view. + /// + string Authnotrequired { get; set; } + /// The max clients config + string Maxclient { get; set; } + /// Value in megabytes reserved for fragmentation per shard + string MaxfragmentationmemoryReserved { get; set; } + /// Value in megabytes reserved for non-cache usage per shard e.g. failover. + string MaxmemoryDelta { get; set; } + /// The eviction strategy used when your data won't fit within its memory limit. + string MaxmemoryPolicy { get; set; } + /// Value in megabytes reserved for non-cache usage per shard e.g. failover. + string MaxmemoryReserved { get; set; } + /// The KeySpace Events which should be monitored. + string NotifyKeyspaceEvent { get; set; } + /// + /// Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default + /// value is SAS + /// + string PreferredDataArchiveAuthMethod { get; set; } + /// + /// Preferred auth method to communicate to storage account used for data persistence, specify SAS or ManagedIdentity, default + /// value is SAS + /// + string PreferredDataPersistenceAuthMethod { get; set; } + /// Specifies whether the rdb backup is enabled + string RdbBackupEnabled { get; set; } + /// + /// Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, 1440) + /// + string RdbBackupFrequency { get; set; } + /// Specifies the maximum number of snapshots for rdb backup + string RdbBackupMaxSnapshotCount { get; set; } + /// The storage account connection string for storing rdb file + string RdbStorageConnectionString { get; set; } + /// Zonal Configuration + string ZonalConfiguration { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.dictionary.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.dictionary.cs new file mode 100644 index 000000000000..2dc77c687e46 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.dictionary.cs @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + public partial class RedisCommonPropertiesRedisConfiguration : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray + { + protected global::System.Collections.Generic.Dictionary __additionalProperties = new global::System.Collections.Generic.Dictionary(); + + global::System.Collections.Generic.IDictionary Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.AdditionalProperties { get => __additionalProperties; } + + int Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Count { get => __additionalProperties.Count; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Keys { get => __additionalProperties.Keys; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Values { get => __additionalProperties.Values; } + + public global::System.Object this[global::System.String index] { get => __additionalProperties[index]; set => __additionalProperties[index] = value; } + + /// + /// + public void Add(global::System.String key, global::System.Object value) => __additionalProperties.Add( key, value); + + public void Clear() => __additionalProperties.Clear(); + + /// + public bool ContainsKey(global::System.String key) => __additionalProperties.ContainsKey( key); + + /// + public void CopyFrom(global::System.Collections.IDictionary source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { "RdbBackupEnabled","RdbBackupFrequency","RdbBackupMaxSnapshotCount","RdbStorageConnectionString","AofBackupEnabled","AofStorageConnectionString0","AofStorageConnectionString1","MaxfragmentationmemoryReserved","MaxmemoryPolicy","MaxmemoryReserved","MaxmemoryDelta","Maxclient","NotifyKeyspaceEvent","PreferredDataArchiveAuthMethod","PreferredDataPersistenceAuthMethod","ZonalConfiguration","Authnotrequired" } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public void CopyFrom(global::System.Management.Automation.PSObject source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { "RdbBackupEnabled","RdbBackupFrequency","RdbBackupMaxSnapshotCount","RdbStorageConnectionString","AofBackupEnabled","AofStorageConnectionString0","AofStorageConnectionString1","MaxfragmentationmemoryReserved","MaxmemoryPolicy","MaxmemoryReserved","MaxmemoryDelta","Maxclient","NotifyKeyspaceEvent","PreferredDataArchiveAuthMethod","PreferredDataPersistenceAuthMethod","ZonalConfiguration","Authnotrequired" } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public bool Remove(global::System.String key) => __additionalProperties.Remove( key); + + /// + /// + public bool TryGetValue(global::System.String key, out global::System.Object value) => __additionalProperties.TryGetValue( key, out value); + + /// + + public static implicit operator global::System.Collections.Generic.Dictionary(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesRedisConfiguration source) => source.__additionalProperties; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.json.cs new file mode 100644 index 000000000000..56d44ddc8ef6 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesRedisConfiguration.json.cs @@ -0,0 +1,157 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + public partial class RedisCommonPropertiesRedisConfiguration + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisCommonPropertiesRedisConfiguration(json, new global::System.Collections.Generic.HashSet(){ @"rdb-backup-enabled",@"rdb-backup-frequency",@"rdb-backup-max-snapshot-count",@"rdb-storage-connection-string",@"aof-backup-enabled",@"aof-storage-connection-string-0",@"aof-storage-connection-string-1",@"maxfragmentationmemory-reserved",@"maxmemory-policy",@"maxmemory-reserved",@"maxmemory-delta",@"maxclients",@"notify-keyspace-events",@"preferred-data-archive-auth-method",@"preferred-data-persistence-auth-method",@"zonal-configuration",@"authnotrequired" }) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + /// + internal RedisCommonPropertiesRedisConfiguration(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, global::System.Collections.Generic.HashSet exclusions = null) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.FromJson( json, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray)this).AdditionalProperties, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.DeserializeDictionary(()=>new global::System.Collections.Generic.Dictionary()),exclusions ); + {_rdbBackupEnabled = If( json?.PropertyT("rdb-backup-enabled"), out var __jsonRdbBackupEnabled) ? (string)__jsonRdbBackupEnabled : (string)RdbBackupEnabled;} + {_rdbBackupFrequency = If( json?.PropertyT("rdb-backup-frequency"), out var __jsonRdbBackupFrequency) ? (string)__jsonRdbBackupFrequency : (string)RdbBackupFrequency;} + {_rdbBackupMaxSnapshotCount = If( json?.PropertyT("rdb-backup-max-snapshot-count"), out var __jsonRdbBackupMaxSnapshotCount) ? (string)__jsonRdbBackupMaxSnapshotCount : (string)RdbBackupMaxSnapshotCount;} + {_rdbStorageConnectionString = If( json?.PropertyT("rdb-storage-connection-string"), out var __jsonRdbStorageConnectionString) ? (string)__jsonRdbStorageConnectionString : (string)RdbStorageConnectionString;} + {_aofBackupEnabled = If( json?.PropertyT("aof-backup-enabled"), out var __jsonAofBackupEnabled) ? (string)__jsonAofBackupEnabled : (string)AofBackupEnabled;} + {_aofStorageConnectionString0 = If( json?.PropertyT("aof-storage-connection-string-0"), out var __jsonAofStorageConnectionString0) ? (string)__jsonAofStorageConnectionString0 : (string)AofStorageConnectionString0;} + {_aofStorageConnectionString1 = If( json?.PropertyT("aof-storage-connection-string-1"), out var __jsonAofStorageConnectionString1) ? (string)__jsonAofStorageConnectionString1 : (string)AofStorageConnectionString1;} + {_maxfragmentationmemoryReserved = If( json?.PropertyT("maxfragmentationmemory-reserved"), out var __jsonMaxfragmentationmemoryReserved) ? (string)__jsonMaxfragmentationmemoryReserved : (string)MaxfragmentationmemoryReserved;} + {_maxmemoryPolicy = If( json?.PropertyT("maxmemory-policy"), out var __jsonMaxmemoryPolicy) ? (string)__jsonMaxmemoryPolicy : (string)MaxmemoryPolicy;} + {_maxmemoryReserved = If( json?.PropertyT("maxmemory-reserved"), out var __jsonMaxmemoryReserved) ? (string)__jsonMaxmemoryReserved : (string)MaxmemoryReserved;} + {_maxmemoryDelta = If( json?.PropertyT("maxmemory-delta"), out var __jsonMaxmemoryDelta) ? (string)__jsonMaxmemoryDelta : (string)MaxmemoryDelta;} + {_maxclient = If( json?.PropertyT("maxclients"), out var __jsonMaxclients) ? (string)__jsonMaxclients : (string)Maxclient;} + {_notifyKeyspaceEvent = If( json?.PropertyT("notify-keyspace-events"), out var __jsonNotifyKeyspaceEvents) ? (string)__jsonNotifyKeyspaceEvents : (string)NotifyKeyspaceEvent;} + {_preferredDataArchiveAuthMethod = If( json?.PropertyT("preferred-data-archive-auth-method"), out var __jsonPreferredDataArchiveAuthMethod) ? (string)__jsonPreferredDataArchiveAuthMethod : (string)PreferredDataArchiveAuthMethod;} + {_preferredDataPersistenceAuthMethod = If( json?.PropertyT("preferred-data-persistence-auth-method"), out var __jsonPreferredDataPersistenceAuthMethod) ? (string)__jsonPreferredDataPersistenceAuthMethod : (string)PreferredDataPersistenceAuthMethod;} + {_zonalConfiguration = If( json?.PropertyT("zonal-configuration"), out var __jsonZonalConfiguration) ? (string)__jsonZonalConfiguration : (string)ZonalConfiguration;} + {_authnotrequired = If( json?.PropertyT("authnotrequired"), out var __jsonAuthnotrequired) ? (string)__jsonAuthnotrequired : (string)Authnotrequired;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.ToJson( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray)this).AdditionalProperties, container); + AddIf( null != (((object)this._rdbBackupEnabled)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._rdbBackupEnabled.ToString()) : null, "rdb-backup-enabled" ,container.Add ); + AddIf( null != (((object)this._rdbBackupFrequency)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._rdbBackupFrequency.ToString()) : null, "rdb-backup-frequency" ,container.Add ); + AddIf( null != (((object)this._rdbBackupMaxSnapshotCount)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._rdbBackupMaxSnapshotCount.ToString()) : null, "rdb-backup-max-snapshot-count" ,container.Add ); + AddIf( null != (((object)this._rdbStorageConnectionString)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._rdbStorageConnectionString.ToString()) : null, "rdb-storage-connection-string" ,container.Add ); + AddIf( null != (((object)this._aofBackupEnabled)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._aofBackupEnabled.ToString()) : null, "aof-backup-enabled" ,container.Add ); + AddIf( null != (((object)this._aofStorageConnectionString0)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._aofStorageConnectionString0.ToString()) : null, "aof-storage-connection-string-0" ,container.Add ); + AddIf( null != (((object)this._aofStorageConnectionString1)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._aofStorageConnectionString1.ToString()) : null, "aof-storage-connection-string-1" ,container.Add ); + AddIf( null != (((object)this._maxfragmentationmemoryReserved)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._maxfragmentationmemoryReserved.ToString()) : null, "maxfragmentationmemory-reserved" ,container.Add ); + AddIf( null != (((object)this._maxmemoryPolicy)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._maxmemoryPolicy.ToString()) : null, "maxmemory-policy" ,container.Add ); + AddIf( null != (((object)this._maxmemoryReserved)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._maxmemoryReserved.ToString()) : null, "maxmemory-reserved" ,container.Add ); + AddIf( null != (((object)this._maxmemoryDelta)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._maxmemoryDelta.ToString()) : null, "maxmemory-delta" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._maxclient)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._maxclient.ToString()) : null, "maxclients" ,container.Add ); + } + AddIf( null != (((object)this._notifyKeyspaceEvent)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._notifyKeyspaceEvent.ToString()) : null, "notify-keyspace-events" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._preferredDataArchiveAuthMethod)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._preferredDataArchiveAuthMethod.ToString()) : null, "preferred-data-archive-auth-method" ,container.Add ); + } + AddIf( null != (((object)this._preferredDataPersistenceAuthMethod)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._preferredDataPersistenceAuthMethod.ToString()) : null, "preferred-data-persistence-auth-method" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._zonalConfiguration)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._zonalConfiguration.ToString()) : null, "zonal-configuration" ,container.Add ); + } + AddIf( null != (((object)this._authnotrequired)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._authnotrequired.ToString()) : null, "authnotrequired" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.PowerShell.cs new file mode 100644 index 000000000000..9be9273c77f8 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.PowerShell.cs @@ -0,0 +1,144 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// A dictionary of tenant settings + [System.ComponentModel.TypeConverter(typeof(RedisCommonPropertiesTenantSettingsTypeConverter))] + public partial class RedisCommonPropertiesTenantSettings + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisCommonPropertiesTenantSettings(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisCommonPropertiesTenantSettings(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisCommonPropertiesTenantSettings(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisCommonPropertiesTenantSettings(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// A dictionary of tenant settings + [System.ComponentModel.TypeConverter(typeof(RedisCommonPropertiesTenantSettingsTypeConverter))] + public partial interface IRedisCommonPropertiesTenantSettings + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.TypeConverter.cs new file mode 100644 index 000000000000..ce6317575683 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.TypeConverter.cs @@ -0,0 +1,149 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisCommonPropertiesTenantSettingsTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise + /// false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisCommonPropertiesTenantSettings.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisCommonPropertiesTenantSettings.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisCommonPropertiesTenantSettings.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.cs new file mode 100644 index 000000000000..6c26e45d3982 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.cs @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// A dictionary of tenant settings + public partial class RedisCommonPropertiesTenantSettings : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettingsInternal + { + + /// Creates an new instance. + public RedisCommonPropertiesTenantSettings() + { + + } + } + /// A dictionary of tenant settings + public partial interface IRedisCommonPropertiesTenantSettings : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray + { + + } + /// A dictionary of tenant settings + internal partial interface IRedisCommonPropertiesTenantSettingsInternal + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.dictionary.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.dictionary.cs new file mode 100644 index 000000000000..85d4ffe19673 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.dictionary.cs @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + public partial class RedisCommonPropertiesTenantSettings : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray + { + protected global::System.Collections.Generic.Dictionary __additionalProperties = new global::System.Collections.Generic.Dictionary(); + + global::System.Collections.Generic.IDictionary Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.AdditionalProperties { get => __additionalProperties; } + + int Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Count { get => __additionalProperties.Count; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Keys { get => __additionalProperties.Keys; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Values { get => __additionalProperties.Values; } + + public string this[global::System.String index] { get => __additionalProperties[index]; set => __additionalProperties[index] = value; } + + /// + /// + public void Add(global::System.String key, string value) => __additionalProperties.Add( key, value); + + public void Clear() => __additionalProperties.Clear(); + + /// + public bool ContainsKey(global::System.String key) => __additionalProperties.ContainsKey( key); + + /// + public void CopyFrom(global::System.Collections.IDictionary source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public void CopyFrom(global::System.Management.Automation.PSObject source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public bool Remove(global::System.String key) => __additionalProperties.Remove( key); + + /// + /// + public bool TryGetValue(global::System.String key, out string value) => __additionalProperties.TryGetValue( key, out value); + + /// + + public static implicit operator global::System.Collections.Generic.Dictionary(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesTenantSettings source) => source.__additionalProperties; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.json.cs new file mode 100644 index 000000000000..36605bde34c1 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCommonPropertiesTenantSettings.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// A dictionary of tenant settings + public partial class RedisCommonPropertiesTenantSettings + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisCommonPropertiesTenantSettings(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + /// + internal RedisCommonPropertiesTenantSettings(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, global::System.Collections.Generic.HashSet exclusions = null) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.FromJson( json, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray)this).AdditionalProperties, null ,exclusions ); + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.ToJson( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray)this).AdditionalProperties, container); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParameters.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParameters.PowerShell.cs new file mode 100644 index 000000000000..28df50765676 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParameters.PowerShell.cs @@ -0,0 +1,328 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Parameters supplied to the Create Redis operation. + [System.ComponentModel.TypeConverter(typeof(RedisCreateParametersTypeConverter))] + public partial class RedisCreateParameters + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParameters DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisCreateParameters(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParameters DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisCreateParameters(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParameters FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisCreateParameters(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCreatePropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Identity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Identity = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity) content.GetValueForProperty("Identity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Identity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.ManagedServiceIdentityTypeConverter.ConvertFrom); + } + if (content.Contains("Zone")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Zone = (string[]) content.GetValueForProperty("Zone",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Zone, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("Tag")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Tag = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags) content.GetValueForProperty("Tag",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Tag, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCreateParametersTagsTypeConverter.ConvertFrom); + } + if (content.Contains("Sku")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Sku = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku) content.GetValueForProperty("Sku",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Sku, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.SkuTypeConverter.ConvertFrom); + } + if (content.Contains("RedisVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).RedisVersion = (string) content.GetValueForProperty("RedisVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).RedisVersion, global::System.Convert.ToString); + } + if (content.Contains("EnableNonSslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).EnableNonSslPort = (bool?) content.GetValueForProperty("EnableNonSslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).EnableNonSslPort, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ReplicasPerMaster")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).ReplicasPerMaster = (int?) content.GetValueForProperty("ReplicasPerMaster",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).ReplicasPerMaster, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("ReplicasPerPrimary")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).ReplicasPerPrimary = (int?) content.GetValueForProperty("ReplicasPerPrimary",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).ReplicasPerPrimary, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("TenantSetting")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).TenantSetting = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) content.GetValueForProperty("TenantSetting",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).TenantSetting, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesTenantSettingsTypeConverter.ConvertFrom); + } + if (content.Contains("ShardCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).ShardCount = (int?) content.GetValueForProperty("ShardCount",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).ShardCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("MinimumTlsVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).MinimumTlsVersion = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion?) content.GetValueForProperty("MinimumTlsVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).MinimumTlsVersion, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion.CreateFrom); + } + if (content.Contains("PublicNetworkAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).PublicNetworkAccess = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess?) content.GetValueForProperty("PublicNetworkAccess",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).PublicNetworkAccess, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess.CreateFrom); + } + if (content.Contains("RedisConfiguration")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).RedisConfiguration = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) content.GetValueForProperty("RedisConfiguration",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).RedisConfiguration, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesRedisConfigurationTypeConverter.ConvertFrom); + } + if (content.Contains("SubnetId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).SubnetId = (string) content.GetValueForProperty("SubnetId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).SubnetId, global::System.Convert.ToString); + } + if (content.Contains("StaticIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).StaticIP = (string) content.GetValueForProperty("StaticIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).StaticIP, global::System.Convert.ToString); + } + if (content.Contains("SkuName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).SkuName = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) content.GetValueForProperty("SkuName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).SkuName, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName.CreateFrom); + } + if (content.Contains("SkuFamily")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).SkuFamily = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) content.GetValueForProperty("SkuFamily",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).SkuFamily, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily.CreateFrom); + } + if (content.Contains("SkuCapacity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).SkuCapacity = (int) content.GetValueForProperty("SkuCapacity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).SkuCapacity, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("IdentityPrincipalId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).IdentityPrincipalId = (string) content.GetValueForProperty("IdentityPrincipalId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).IdentityPrincipalId, global::System.Convert.ToString); + } + if (content.Contains("IdentityTenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).IdentityTenantId = (string) content.GetValueForProperty("IdentityTenantId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).IdentityTenantId, global::System.Convert.ToString); + } + if (content.Contains("IdentityType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).IdentityType = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType) content.GetValueForProperty("IdentityType",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).IdentityType, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType.CreateFrom); + } + if (content.Contains("IdentityUserAssignedIdentity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).IdentityUserAssignedIdentity = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities) content.GetValueForProperty("IdentityUserAssignedIdentity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).IdentityUserAssignedIdentity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.UserAssignedIdentitiesTypeConverter.ConvertFrom); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisCreateParameters(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCreatePropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Identity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Identity = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity) content.GetValueForProperty("Identity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Identity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.ManagedServiceIdentityTypeConverter.ConvertFrom); + } + if (content.Contains("Zone")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Zone = (string[]) content.GetValueForProperty("Zone",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Zone, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("Tag")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Tag = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags) content.GetValueForProperty("Tag",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Tag, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCreateParametersTagsTypeConverter.ConvertFrom); + } + if (content.Contains("Sku")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Sku = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku) content.GetValueForProperty("Sku",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).Sku, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.SkuTypeConverter.ConvertFrom); + } + if (content.Contains("RedisVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).RedisVersion = (string) content.GetValueForProperty("RedisVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).RedisVersion, global::System.Convert.ToString); + } + if (content.Contains("EnableNonSslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).EnableNonSslPort = (bool?) content.GetValueForProperty("EnableNonSslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).EnableNonSslPort, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ReplicasPerMaster")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).ReplicasPerMaster = (int?) content.GetValueForProperty("ReplicasPerMaster",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).ReplicasPerMaster, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("ReplicasPerPrimary")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).ReplicasPerPrimary = (int?) content.GetValueForProperty("ReplicasPerPrimary",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).ReplicasPerPrimary, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("TenantSetting")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).TenantSetting = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) content.GetValueForProperty("TenantSetting",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).TenantSetting, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesTenantSettingsTypeConverter.ConvertFrom); + } + if (content.Contains("ShardCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).ShardCount = (int?) content.GetValueForProperty("ShardCount",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).ShardCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("MinimumTlsVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).MinimumTlsVersion = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion?) content.GetValueForProperty("MinimumTlsVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).MinimumTlsVersion, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion.CreateFrom); + } + if (content.Contains("PublicNetworkAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).PublicNetworkAccess = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess?) content.GetValueForProperty("PublicNetworkAccess",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).PublicNetworkAccess, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess.CreateFrom); + } + if (content.Contains("RedisConfiguration")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).RedisConfiguration = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) content.GetValueForProperty("RedisConfiguration",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).RedisConfiguration, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesRedisConfigurationTypeConverter.ConvertFrom); + } + if (content.Contains("SubnetId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).SubnetId = (string) content.GetValueForProperty("SubnetId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).SubnetId, global::System.Convert.ToString); + } + if (content.Contains("StaticIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).StaticIP = (string) content.GetValueForProperty("StaticIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).StaticIP, global::System.Convert.ToString); + } + if (content.Contains("SkuName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).SkuName = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) content.GetValueForProperty("SkuName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).SkuName, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName.CreateFrom); + } + if (content.Contains("SkuFamily")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).SkuFamily = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) content.GetValueForProperty("SkuFamily",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).SkuFamily, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily.CreateFrom); + } + if (content.Contains("SkuCapacity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).SkuCapacity = (int) content.GetValueForProperty("SkuCapacity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).SkuCapacity, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("IdentityPrincipalId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).IdentityPrincipalId = (string) content.GetValueForProperty("IdentityPrincipalId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).IdentityPrincipalId, global::System.Convert.ToString); + } + if (content.Contains("IdentityTenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).IdentityTenantId = (string) content.GetValueForProperty("IdentityTenantId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).IdentityTenantId, global::System.Convert.ToString); + } + if (content.Contains("IdentityType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).IdentityType = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType) content.GetValueForProperty("IdentityType",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).IdentityType, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType.CreateFrom); + } + if (content.Contains("IdentityUserAssignedIdentity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).IdentityUserAssignedIdentity = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities) content.GetValueForProperty("IdentityUserAssignedIdentity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal)this).IdentityUserAssignedIdentity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.UserAssignedIdentitiesTypeConverter.ConvertFrom); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Parameters supplied to the Create Redis operation. + [System.ComponentModel.TypeConverter(typeof(RedisCreateParametersTypeConverter))] + public partial interface IRedisCreateParameters + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParameters.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParameters.TypeConverter.cs new file mode 100644 index 000000000000..3a1e1b9db6bf --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParameters.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisCreateParametersTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParameters ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParameters).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisCreateParameters.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisCreateParameters.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisCreateParameters.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParameters.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParameters.cs new file mode 100644 index 000000000000..63aac031070c --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParameters.cs @@ -0,0 +1,459 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Parameters supplied to the Create Redis operation. + public partial class RedisCreateParameters : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParameters, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal + { + + /// Specifies whether the non-ssl Redis server port (6379) is enabled. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public bool? EnableNonSslPort { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).EnableNonSslPort; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).EnableNonSslPort = value ?? default(bool); } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity _identity; + + /// The identity of the resource. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity Identity { get => (this._identity = this._identity ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.ManagedServiceIdentity()); set => this._identity = value; } + + /// + /// The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string IdentityPrincipalId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).PrincipalId; } + + /// + /// The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string IdentityTenantId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).TenantId; } + + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType? IdentityType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).Type = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType)""); } + + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities IdentityUserAssignedIdentity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).UserAssignedIdentity; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).UserAssignedIdentity = value ?? null /* model class */; } + + /// Backing field for property. + private string _location; + + /// The geo-location where the resource lives + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Location { get => this._location; set => this._location = value; } + + /// Internal Acessors for Identity + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal.Identity { get => (this._identity = this._identity ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.ManagedServiceIdentity()); set { {_identity = value;} } } + + /// Internal Acessors for IdentityPrincipalId + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal.IdentityPrincipalId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).PrincipalId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).PrincipalId = value; } + + /// Internal Acessors for IdentityTenantId + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal.IdentityTenantId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).TenantId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).TenantId = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateProperties Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCreateProperties()); set { {_property = value;} } } + + /// Internal Acessors for Sku + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersInternal.Sku { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).Sku; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).Sku = value; } + + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion? MinimumTlsVersion { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).MinimumTlsVersion; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).MinimumTlsVersion = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion)""); } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateProperties _property; + + /// Redis cache properties. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCreateProperties()); set => this._property = value; } + + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess? PublicNetworkAccess { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).PublicNetworkAccess; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).PublicNetworkAccess = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess)""); } + + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration RedisConfiguration { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).RedisConfiguration; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).RedisConfiguration = value ?? null /* model class */; } + + /// + /// Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers + /// to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string RedisVersion { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).RedisVersion; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).RedisVersion = value ?? null; } + + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public int? ReplicasPerMaster { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).ReplicasPerMaster; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).ReplicasPerMaster = value ?? default(int); } + + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public int? ReplicasPerPrimary { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).ReplicasPerPrimary; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).ReplicasPerPrimary = value ?? default(int); } + + /// The number of shards to be created on a Premium Cluster Cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public int? ShardCount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).ShardCount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).ShardCount = value ?? default(int); } + + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public int SkuCapacity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).SkuCapacity; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).SkuCapacity = value ; } + + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily SkuFamily { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).SkuFamily; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).SkuFamily = value ; } + + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName SkuName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).SkuName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).SkuName = value ; } + + /// + /// Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; + /// auto assigned by default. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string StaticIP { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).StaticIP; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).StaticIP = value ?? null; } + + /// + /// The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string SubnetId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).SubnetId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).SubnetId = value ?? null; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags _tag; + + /// Resource tags. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags Tag { get => (this._tag = this._tag ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCreateParametersTags()); set => this._tag = value; } + + /// A dictionary of tenant settings + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings TenantSetting { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).TenantSetting; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).TenantSetting = value ?? null /* model class */; } + + /// Backing field for property. + private string[] _zone; + + /// A list of availability zones denoting where the resource needs to come from. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string[] Zone { get => this._zone; set => this._zone = value; } + + /// Creates an new instance. + public RedisCreateParameters() + { + + } + } + /// Parameters supplied to the Create Redis operation. + public partial interface IRedisCreateParameters : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// Specifies whether the non-ssl Redis server port (6379) is enabled. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Specifies whether the non-ssl Redis server port (6379) is enabled.", + SerializedName = @"enableNonSslPort", + PossibleTypes = new [] { typeof(bool) })] + bool? EnableNonSslPort { get; set; } + /// + /// The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity.", + SerializedName = @"principalId", + PossibleTypes = new [] { typeof(string) })] + string IdentityPrincipalId { get; } + /// + /// The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity.", + SerializedName = @"tenantId", + PossibleTypes = new [] { typeof(string) })] + string IdentityTenantId { get; } + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).", + SerializedName = @"type", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType? IdentityType { get; set; } + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.", + SerializedName = @"userAssignedIdentities", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities IdentityUserAssignedIdentity { get; set; } + /// The geo-location where the resource lives + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The geo-location where the resource lives", + SerializedName = @"location", + PossibleTypes = new [] { typeof(string) })] + string Location { get; set; } + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2')", + SerializedName = @"minimumTlsVersion", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion? MinimumTlsVersion { get; set; } + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'", + SerializedName = @"publicNetworkAccess", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess? PublicNetworkAccess { get; set; } + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc.", + SerializedName = @"redisConfiguration", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration RedisConfiguration { get; set; } + /// + /// Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers + /// to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'.", + SerializedName = @"redisVersion", + PossibleTypes = new [] { typeof(string) })] + string RedisVersion { get; set; } + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of replicas to be created per primary.", + SerializedName = @"replicasPerMaster", + PossibleTypes = new [] { typeof(int) })] + int? ReplicasPerMaster { get; set; } + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of replicas to be created per primary.", + SerializedName = @"replicasPerPrimary", + PossibleTypes = new [] { typeof(int) })] + int? ReplicasPerPrimary { get; set; } + /// The number of shards to be created on a Premium Cluster Cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of shards to be created on a Premium Cluster Cache.", + SerializedName = @"shardCount", + PossibleTypes = new [] { typeof(int) })] + int? ShardCount { get; set; } + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4).", + SerializedName = @"capacity", + PossibleTypes = new [] { typeof(int) })] + int SkuCapacity { get; set; } + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).", + SerializedName = @"family", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily SkuFamily { get; set; } + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)", + SerializedName = @"name", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName SkuName { get; set; } + /// + /// Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; + /// auto assigned by default. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; auto assigned by default.", + SerializedName = @"staticIP", + PossibleTypes = new [] { typeof(string) })] + string StaticIP { get; set; } + /// + /// The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1", + SerializedName = @"subnetId", + PossibleTypes = new [] { typeof(string) })] + string SubnetId { get; set; } + /// Resource tags. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags Tag { get; set; } + /// A dictionary of tenant settings + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"A dictionary of tenant settings", + SerializedName = @"tenantSettings", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings TenantSetting { get; set; } + /// A list of availability zones denoting where the resource needs to come from. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"A list of availability zones denoting where the resource needs to come from.", + SerializedName = @"zones", + PossibleTypes = new [] { typeof(string) })] + string[] Zone { get; set; } + + } + /// Parameters supplied to the Create Redis operation. + internal partial interface IRedisCreateParametersInternal + + { + /// Specifies whether the non-ssl Redis server port (6379) is enabled. + bool? EnableNonSslPort { get; set; } + /// The identity of the resource. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity Identity { get; set; } + /// + /// The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + string IdentityPrincipalId { get; set; } + /// + /// The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + string IdentityTenantId { get; set; } + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType? IdentityType { get; set; } + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities IdentityUserAssignedIdentity { get; set; } + /// The geo-location where the resource lives + string Location { get; set; } + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion? MinimumTlsVersion { get; set; } + /// Redis cache properties. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateProperties Property { get; set; } + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess? PublicNetworkAccess { get; set; } + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration RedisConfiguration { get; set; } + /// + /// Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers + /// to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'. + /// + string RedisVersion { get; set; } + /// The number of replicas to be created per primary. + int? ReplicasPerMaster { get; set; } + /// The number of replicas to be created per primary. + int? ReplicasPerPrimary { get; set; } + /// The number of shards to be created on a Premium Cluster Cache. + int? ShardCount { get; set; } + /// The SKU of the Redis cache to deploy. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku Sku { get; set; } + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + int SkuCapacity { get; set; } + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily SkuFamily { get; set; } + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName SkuName { get; set; } + /// + /// Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; + /// auto assigned by default. + /// + string StaticIP { get; set; } + /// + /// The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + /// + string SubnetId { get; set; } + /// Resource tags. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags Tag { get; set; } + /// A dictionary of tenant settings + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings TenantSetting { get; set; } + /// A list of availability zones denoting where the resource needs to come from. + string[] Zone { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParameters.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParameters.json.cs new file mode 100644 index 000000000000..b57ed3d3ac03 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParameters.json.cs @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Parameters supplied to the Create Redis operation. + public partial class RedisCreateParameters + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParameters. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParameters. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParameters FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisCreateParameters(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisCreateParameters(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCreateProperties.FromJson(__jsonProperties) : Property;} + {_identity = If( json?.PropertyT("identity"), out var __jsonIdentity) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.ManagedServiceIdentity.FromJson(__jsonIdentity) : Identity;} + {_zone = If( json?.PropertyT("zones"), out var __jsonZones) ? If( __jsonZones as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(string) (__u is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString __t ? (string)(__t.ToString()) : null)) ))() : null : Zone;} + {_location = If( json?.PropertyT("location"), out var __jsonLocation) ? (string)__jsonLocation : (string)Location;} + {_tag = If( json?.PropertyT("tags"), out var __jsonTags) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCreateParametersTags.FromJson(__jsonTags) : Tag;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AddIf( null != this._identity ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._identity.ToJson(null,serializationMode) : null, "identity" ,container.Add ); + if (null != this._zone) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __x in this._zone ) + { + AddIf(null != (((object)__x)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(__x.ToString()) : null ,__w.Add); + } + container.Add("zones",__w); + } + AddIf( null != (((object)this._location)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._location.ToString()) : null, "location" ,container.Add ); + AddIf( null != this._tag ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._tag.ToJson(null,serializationMode) : null, "tags" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.PowerShell.cs new file mode 100644 index 000000000000..ad39b11c6052 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.PowerShell.cs @@ -0,0 +1,140 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Resource tags. + [System.ComponentModel.TypeConverter(typeof(RedisCreateParametersTagsTypeConverter))] + public partial class RedisCreateParametersTags + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisCreateParametersTags(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisCreateParametersTags(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisCreateParametersTags(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisCreateParametersTags(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Resource tags. + [System.ComponentModel.TypeConverter(typeof(RedisCreateParametersTagsTypeConverter))] + public partial interface IRedisCreateParametersTags + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.TypeConverter.cs new file mode 100644 index 000000000000..bc4358f80ab5 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisCreateParametersTagsTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisCreateParametersTags.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisCreateParametersTags.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisCreateParametersTags.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.cs new file mode 100644 index 000000000000..14c9668f1c7c --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.cs @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Resource tags. + public partial class RedisCreateParametersTags : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTagsInternal + { + + /// Creates an new instance. + public RedisCreateParametersTags() + { + + } + } + /// Resource tags. + public partial interface IRedisCreateParametersTags : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray + { + + } + /// Resource tags. + internal partial interface IRedisCreateParametersTagsInternal + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.dictionary.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.dictionary.cs new file mode 100644 index 000000000000..3572fcff8776 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.dictionary.cs @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + public partial class RedisCreateParametersTags : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray + { + protected global::System.Collections.Generic.Dictionary __additionalProperties = new global::System.Collections.Generic.Dictionary(); + + global::System.Collections.Generic.IDictionary Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.AdditionalProperties { get => __additionalProperties; } + + int Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Count { get => __additionalProperties.Count; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Keys { get => __additionalProperties.Keys; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Values { get => __additionalProperties.Values; } + + public string this[global::System.String index] { get => __additionalProperties[index]; set => __additionalProperties[index] = value; } + + /// + /// + public void Add(global::System.String key, string value) => __additionalProperties.Add( key, value); + + public void Clear() => __additionalProperties.Clear(); + + /// + public bool ContainsKey(global::System.String key) => __additionalProperties.ContainsKey( key); + + /// + public void CopyFrom(global::System.Collections.IDictionary source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public void CopyFrom(global::System.Management.Automation.PSObject source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public bool Remove(global::System.String key) => __additionalProperties.Remove( key); + + /// + /// + public bool TryGetValue(global::System.String key, out string value) => __additionalProperties.TryGetValue( key, out value); + + /// + + public static implicit operator global::System.Collections.Generic.Dictionary(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCreateParametersTags source) => source.__additionalProperties; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.json.cs new file mode 100644 index 000000000000..2f0becc1d95c --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateParametersTags.json.cs @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Resource tags. + public partial class RedisCreateParametersTags + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisCreateParametersTags(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + /// + internal RedisCreateParametersTags(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, global::System.Collections.Generic.HashSet exclusions = null) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.FromJson( json, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray)this).AdditionalProperties, null ,exclusions ); + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.ToJson( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray)this).AdditionalProperties, container); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateProperties.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateProperties.PowerShell.cs new file mode 100644 index 000000000000..a1341049ced9 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateProperties.PowerShell.cs @@ -0,0 +1,256 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Properties supplied to Create Redis operation. + [System.ComponentModel.TypeConverter(typeof(RedisCreatePropertiesTypeConverter))] + public partial class RedisCreateProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisCreateProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisCreateProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisCreateProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Sku")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).Sku = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku) content.GetValueForProperty("Sku",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).Sku, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.SkuTypeConverter.ConvertFrom); + } + if (content.Contains("SubnetId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SubnetId = (string) content.GetValueForProperty("SubnetId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SubnetId, global::System.Convert.ToString); + } + if (content.Contains("StaticIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).StaticIP = (string) content.GetValueForProperty("StaticIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).StaticIP, global::System.Convert.ToString); + } + if (content.Contains("RedisVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisVersion = (string) content.GetValueForProperty("RedisVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisVersion, global::System.Convert.ToString); + } + if (content.Contains("EnableNonSslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).EnableNonSslPort = (bool?) content.GetValueForProperty("EnableNonSslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).EnableNonSslPort, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ReplicasPerMaster")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerMaster = (int?) content.GetValueForProperty("ReplicasPerMaster",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerMaster, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("ReplicasPerPrimary")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerPrimary = (int?) content.GetValueForProperty("ReplicasPerPrimary",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerPrimary, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("TenantSetting")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).TenantSetting = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) content.GetValueForProperty("TenantSetting",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).TenantSetting, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesTenantSettingsTypeConverter.ConvertFrom); + } + if (content.Contains("ShardCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ShardCount = (int?) content.GetValueForProperty("ShardCount",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ShardCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("MinimumTlsVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).MinimumTlsVersion = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion?) content.GetValueForProperty("MinimumTlsVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).MinimumTlsVersion, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion.CreateFrom); + } + if (content.Contains("PublicNetworkAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).PublicNetworkAccess = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess?) content.GetValueForProperty("PublicNetworkAccess",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).PublicNetworkAccess, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess.CreateFrom); + } + if (content.Contains("RedisConfiguration")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisConfiguration = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) content.GetValueForProperty("RedisConfiguration",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisConfiguration, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesRedisConfigurationTypeConverter.ConvertFrom); + } + if (content.Contains("SkuName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuName = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) content.GetValueForProperty("SkuName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuName, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName.CreateFrom); + } + if (content.Contains("SkuFamily")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuFamily = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) content.GetValueForProperty("SkuFamily",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuFamily, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily.CreateFrom); + } + if (content.Contains("SkuCapacity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuCapacity = (int) content.GetValueForProperty("SkuCapacity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuCapacity, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisCreateProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Sku")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).Sku = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku) content.GetValueForProperty("Sku",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).Sku, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.SkuTypeConverter.ConvertFrom); + } + if (content.Contains("SubnetId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SubnetId = (string) content.GetValueForProperty("SubnetId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SubnetId, global::System.Convert.ToString); + } + if (content.Contains("StaticIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).StaticIP = (string) content.GetValueForProperty("StaticIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).StaticIP, global::System.Convert.ToString); + } + if (content.Contains("RedisVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisVersion = (string) content.GetValueForProperty("RedisVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisVersion, global::System.Convert.ToString); + } + if (content.Contains("EnableNonSslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).EnableNonSslPort = (bool?) content.GetValueForProperty("EnableNonSslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).EnableNonSslPort, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ReplicasPerMaster")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerMaster = (int?) content.GetValueForProperty("ReplicasPerMaster",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerMaster, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("ReplicasPerPrimary")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerPrimary = (int?) content.GetValueForProperty("ReplicasPerPrimary",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerPrimary, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("TenantSetting")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).TenantSetting = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) content.GetValueForProperty("TenantSetting",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).TenantSetting, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesTenantSettingsTypeConverter.ConvertFrom); + } + if (content.Contains("ShardCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ShardCount = (int?) content.GetValueForProperty("ShardCount",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ShardCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("MinimumTlsVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).MinimumTlsVersion = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion?) content.GetValueForProperty("MinimumTlsVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).MinimumTlsVersion, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion.CreateFrom); + } + if (content.Contains("PublicNetworkAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).PublicNetworkAccess = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess?) content.GetValueForProperty("PublicNetworkAccess",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).PublicNetworkAccess, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess.CreateFrom); + } + if (content.Contains("RedisConfiguration")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisConfiguration = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) content.GetValueForProperty("RedisConfiguration",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisConfiguration, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesRedisConfigurationTypeConverter.ConvertFrom); + } + if (content.Contains("SkuName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuName = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) content.GetValueForProperty("SkuName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuName, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName.CreateFrom); + } + if (content.Contains("SkuFamily")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuFamily = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) content.GetValueForProperty("SkuFamily",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuFamily, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily.CreateFrom); + } + if (content.Contains("SkuCapacity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuCapacity = (int) content.GetValueForProperty("SkuCapacity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuCapacity, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Properties supplied to Create Redis operation. + [System.ComponentModel.TypeConverter(typeof(RedisCreatePropertiesTypeConverter))] + public partial interface IRedisCreateProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateProperties.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateProperties.TypeConverter.cs new file mode 100644 index 000000000000..4f88f986921e --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisCreatePropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisCreateProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisCreateProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisCreateProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateProperties.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateProperties.cs new file mode 100644 index 000000000000..61eefca303f6 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateProperties.cs @@ -0,0 +1,212 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Properties supplied to Create Redis operation. + public partial class RedisCreateProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateProperties, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonProperties __redisCommonProperties = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonProperties(); + + /// Specifies whether the non-ssl Redis server port (6379) is enabled. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public bool? EnableNonSslPort { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).EnableNonSslPort; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).EnableNonSslPort = value ?? default(bool); } + + /// Internal Acessors for Sku + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal.Sku { get => (this._sku = this._sku ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.Sku()); set { {_sku = value;} } } + + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion? MinimumTlsVersion { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).MinimumTlsVersion; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).MinimumTlsVersion = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion)""); } + + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess? PublicNetworkAccess { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).PublicNetworkAccess; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).PublicNetworkAccess = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess)""); } + + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration RedisConfiguration { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).RedisConfiguration; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).RedisConfiguration = value ?? null /* model class */; } + + /// + /// Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers + /// to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string RedisVersion { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).RedisVersion; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).RedisVersion = value ?? null; } + + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public int? ReplicasPerMaster { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).ReplicasPerMaster; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).ReplicasPerMaster = value ?? default(int); } + + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public int? ReplicasPerPrimary { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).ReplicasPerPrimary; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).ReplicasPerPrimary = value ?? default(int); } + + /// The number of shards to be created on a Premium Cluster Cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public int? ShardCount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).ShardCount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).ShardCount = value ?? default(int); } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku _sku; + + /// The SKU of the Redis cache to deploy. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku Sku { get => (this._sku = this._sku ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.Sku()); set => this._sku = value; } + + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public int SkuCapacity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)Sku).Capacity; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)Sku).Capacity = value ; } + + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily SkuFamily { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)Sku).Family; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)Sku).Family = value ; } + + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName SkuName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)Sku).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)Sku).Name = value ; } + + /// Backing field for property. + private string _staticIP; + + /// + /// Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; + /// auto assigned by default. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string StaticIP { get => this._staticIP; set => this._staticIP = value; } + + /// Backing field for property. + private string _subnetId; + + /// + /// The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string SubnetId { get => this._subnetId; set => this._subnetId = value; } + + /// A dictionary of tenant settings + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings TenantSetting { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).TenantSetting; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).TenantSetting = value ?? null /* model class */; } + + /// Creates an new instance. + public RedisCreateProperties() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__redisCommonProperties), __redisCommonProperties); + await eventListener.AssertObjectIsValid(nameof(__redisCommonProperties), __redisCommonProperties); + } + } + /// Properties supplied to Create Redis operation. + public partial interface IRedisCreateProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonProperties + { + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4).", + SerializedName = @"capacity", + PossibleTypes = new [] { typeof(int) })] + int SkuCapacity { get; set; } + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).", + SerializedName = @"family", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily SkuFamily { get; set; } + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)", + SerializedName = @"name", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName SkuName { get; set; } + /// + /// Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; + /// auto assigned by default. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; auto assigned by default.", + SerializedName = @"staticIP", + PossibleTypes = new [] { typeof(string) })] + string StaticIP { get; set; } + /// + /// The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1", + SerializedName = @"subnetId", + PossibleTypes = new [] { typeof(string) })] + string SubnetId { get; set; } + + } + /// Properties supplied to Create Redis operation. + internal partial interface IRedisCreatePropertiesInternal : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal + { + /// The SKU of the Redis cache to deploy. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku Sku { get; set; } + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + int SkuCapacity { get; set; } + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily SkuFamily { get; set; } + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName SkuName { get; set; } + /// + /// Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; + /// auto assigned by default. + /// + string StaticIP { get; set; } + /// + /// The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + /// + string SubnetId { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateProperties.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateProperties.json.cs new file mode 100644 index 000000000000..7cf49a09fb76 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisCreateProperties.json.cs @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Properties supplied to Create Redis operation. + public partial class RedisCreateProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisCreateProperties(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisCreateProperties(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __redisCommonProperties = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonProperties(json); + {_sku = If( json?.PropertyT("sku"), out var __jsonSku) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.Sku.FromJson(__jsonSku) : Sku;} + {_subnetId = If( json?.PropertyT("subnetId"), out var __jsonSubnetId) ? (string)__jsonSubnetId : (string)SubnetId;} + {_staticIP = If( json?.PropertyT("staticIP"), out var __jsonStaticIP) ? (string)__jsonStaticIP : (string)StaticIP;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __redisCommonProperties?.ToJson(container, serializationMode); + AddIf( null != this._sku ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._sku.ToJson(null,serializationMode) : null, "sku" ,container.Add ); + AddIf( null != (((object)this._subnetId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._subnetId.ToString()) : null, "subnetId" ,container.Add ); + AddIf( null != (((object)this._staticIP)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._staticIP.ToString()) : null, "staticIP" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRule.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRule.PowerShell.cs new file mode 100644 index 000000000000..fabb1c64a57a --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRule.PowerShell.cs @@ -0,0 +1,186 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A firewall rule on a redis cache has a name, and describes a contiguous range of IP addresses permitted to connect + /// + [System.ComponentModel.TypeConverter(typeof(RedisFirewallRuleTypeConverter))] + public partial class RedisFirewallRule + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisFirewallRule(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisFirewallRule(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisFirewallRule(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRulePropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("StartIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).StartIP = (string) content.GetValueForProperty("StartIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).StartIP, global::System.Convert.ToString); + } + if (content.Contains("EndIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).EndIP = (string) content.GetValueForProperty("EndIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).EndIP, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisFirewallRule(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRulePropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("StartIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).StartIP = (string) content.GetValueForProperty("StartIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).StartIP, global::System.Convert.ToString); + } + if (content.Contains("EndIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).EndIP = (string) content.GetValueForProperty("EndIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).EndIP, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// A firewall rule on a redis cache has a name, and describes a contiguous range of IP addresses permitted to connect + [System.ComponentModel.TypeConverter(typeof(RedisFirewallRuleTypeConverter))] + public partial interface IRedisFirewallRule + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRule.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRule.TypeConverter.cs new file mode 100644 index 000000000000..0eb2f6ff7bb1 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRule.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisFirewallRuleTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisFirewallRule.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisFirewallRule.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisFirewallRule.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRule.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRule.cs new file mode 100644 index 000000000000..ce2df2486336 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRule.cs @@ -0,0 +1,119 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// A firewall rule on a redis cache has a name, and describes a contiguous range of IP addresses permitted to connect + /// + public partial class RedisFirewallRule : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.Resource(); + + /// highest IP address included in the range + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string EndIP { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRulePropertiesInternal)Property).EndIP; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRulePropertiesInternal)Property).EndIP = value ; } + + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleProperties Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRuleProperties()); set { {_property = value;} } } + + /// The name of the resource + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleProperties _property; + + /// redis cache firewall rule properties + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRuleProperties()); set => this._property = value; } + + /// lowest IP address included in the range + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string StartIP { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRulePropertiesInternal)Property).StartIP; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRulePropertiesInternal)Property).StartIP = value ; } + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public RedisFirewallRule() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// A firewall rule on a redis cache has a name, and describes a contiguous range of IP addresses permitted to connect + public partial interface IRedisFirewallRule : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource + { + /// highest IP address included in the range + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"highest IP address included in the range", + SerializedName = @"endIP", + PossibleTypes = new [] { typeof(string) })] + string EndIP { get; set; } + /// lowest IP address included in the range + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"lowest IP address included in the range", + SerializedName = @"startIP", + PossibleTypes = new [] { typeof(string) })] + string StartIP { get; set; } + + } + /// A firewall rule on a redis cache has a name, and describes a contiguous range of IP addresses permitted to connect + internal partial interface IRedisFirewallRuleInternal : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal + { + /// highest IP address included in the range + string EndIP { get; set; } + /// redis cache firewall rule properties + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleProperties Property { get; set; } + /// lowest IP address included in the range + string StartIP { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRule.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRule.json.cs new file mode 100644 index 000000000000..be48ba662772 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRule.json.cs @@ -0,0 +1,112 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// A firewall rule on a redis cache has a name, and describes a contiguous range of IP addresses permitted to connect + /// + public partial class RedisFirewallRule + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisFirewallRule(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisFirewallRule(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRuleProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleCreateParameters.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleCreateParameters.PowerShell.cs new file mode 100644 index 000000000000..90abcfcb1bdf --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleCreateParameters.PowerShell.cs @@ -0,0 +1,192 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// Parameters required for creating a firewall rule on redis cache. (Note, you can just use the FirewallRule type instead + /// now.) + /// + [System.ComponentModel.TypeConverter(typeof(RedisFirewallRuleCreateParametersTypeConverter))] + public partial class RedisFirewallRuleCreateParameters + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleCreateParameters DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisFirewallRuleCreateParameters(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleCreateParameters DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisFirewallRuleCreateParameters(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleCreateParameters FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisFirewallRuleCreateParameters(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("StartIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).StartIP = (string) content.GetValueForProperty("StartIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).StartIP, global::System.Convert.ToString); + } + if (content.Contains("EndIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).EndIP = (string) content.GetValueForProperty("EndIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).EndIP, global::System.Convert.ToString); + } + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRulePropertiesTypeConverter.ConvertFrom); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisFirewallRuleCreateParameters(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("StartIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).StartIP = (string) content.GetValueForProperty("StartIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).StartIP, global::System.Convert.ToString); + } + if (content.Contains("EndIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).EndIP = (string) content.GetValueForProperty("EndIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).EndIP, global::System.Convert.ToString); + } + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRulePropertiesTypeConverter.ConvertFrom); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Parameters required for creating a firewall rule on redis cache. (Note, you can just use the FirewallRule type instead + /// now.) + [System.ComponentModel.TypeConverter(typeof(RedisFirewallRuleCreateParametersTypeConverter))] + public partial interface IRedisFirewallRuleCreateParameters + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleCreateParameters.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleCreateParameters.TypeConverter.cs new file mode 100644 index 000000000000..0d9c4d51f8fc --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleCreateParameters.TypeConverter.cs @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisFirewallRuleCreateParametersTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleCreateParameters ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleCreateParameters).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisFirewallRuleCreateParameters.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisFirewallRuleCreateParameters.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisFirewallRuleCreateParameters.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleCreateParameters.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleCreateParameters.cs new file mode 100644 index 000000000000..4f0ad887169a --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleCreateParameters.cs @@ -0,0 +1,95 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// Parameters required for creating a firewall rule on redis cache. (Note, you can just use the FirewallRule type instead + /// now.) + /// + public partial class RedisFirewallRuleCreateParameters : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleCreateParameters, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleCreateParametersInternal, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule __redisFirewallRule = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRule(); + + /// highest IP address included in the range + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string EndIP { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)__redisFirewallRule).EndIP; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)__redisFirewallRule).EndIP = value ; } + + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__redisFirewallRule).Id; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__redisFirewallRule).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__redisFirewallRule).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__redisFirewallRule).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__redisFirewallRule).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__redisFirewallRule).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__redisFirewallRule).Type = value; } + + /// The name of the resource + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__redisFirewallRule).Name; } + + /// redis cache firewall rule properties + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleProperties Property { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)__redisFirewallRule).Property; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)__redisFirewallRule).Property = value ; } + + /// lowest IP address included in the range + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string StartIP { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)__redisFirewallRule).StartIP; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal)__redisFirewallRule).StartIP = value ; } + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__redisFirewallRule).Type; } + + /// Creates an new instance. + public RedisFirewallRuleCreateParameters() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__redisFirewallRule), __redisFirewallRule); + await eventListener.AssertObjectIsValid(nameof(__redisFirewallRule), __redisFirewallRule); + } + } + /// Parameters required for creating a firewall rule on redis cache. (Note, you can just use the FirewallRule type instead + /// now.) + public partial interface IRedisFirewallRuleCreateParameters : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule + { + + } + /// Parameters required for creating a firewall rule on redis cache. (Note, you can just use the FirewallRule type instead + /// now.) + internal partial interface IRedisFirewallRuleCreateParametersInternal : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleInternal + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleCreateParameters.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleCreateParameters.json.cs new file mode 100644 index 000000000000..704f49853840 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleCreateParameters.json.cs @@ -0,0 +1,111 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// Parameters required for creating a firewall rule on redis cache. (Note, you can just use the FirewallRule type instead + /// now.) + /// + public partial class RedisFirewallRuleCreateParameters + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleCreateParameters. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleCreateParameters. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleCreateParameters FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisFirewallRuleCreateParameters(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisFirewallRuleCreateParameters(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __redisFirewallRule = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRule(json); + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __redisFirewallRule?.ToJson(container, serializationMode); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleListResult.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleListResult.PowerShell.cs new file mode 100644 index 000000000000..84f841e699cd --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleListResult.PowerShell.cs @@ -0,0 +1,152 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// The response of list firewall rules Redis operation. + [System.ComponentModel.TypeConverter(typeof(RedisFirewallRuleListResultTypeConverter))] + public partial class RedisFirewallRuleListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisFirewallRuleListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisFirewallRuleListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisFirewallRuleListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRuleTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisFirewallRuleListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRuleTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The response of list firewall rules Redis operation. + [System.ComponentModel.TypeConverter(typeof(RedisFirewallRuleListResultTypeConverter))] + public partial interface IRedisFirewallRuleListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleListResult.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleListResult.TypeConverter.cs new file mode 100644 index 000000000000..4f3f0ccc708b --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleListResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisFirewallRuleListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisFirewallRuleListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisFirewallRuleListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisFirewallRuleListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleListResult.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleListResult.cs new file mode 100644 index 000000000000..4f84d2ac0ed6 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleListResult.cs @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The response of list firewall rules Redis operation. + public partial class RedisFirewallRuleListResult : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResult, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// Link for next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule[] _value; + + /// Results of the list firewall rules operation. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule[] Value { get => this._value; set => this._value = value; } + + /// Creates an new instance. + public RedisFirewallRuleListResult() + { + + } + } + /// The response of list firewall rules Redis operation. + public partial interface IRedisFirewallRuleListResult : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// Link for next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Link for next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// Results of the list firewall rules operation. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Results of the list firewall rules operation.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule[] Value { get; set; } + + } + /// The response of list firewall rules Redis operation. + internal partial interface IRedisFirewallRuleListResultInternal + + { + /// Link for next page of results. + string NextLink { get; set; } + /// Results of the list firewall rules operation. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleListResult.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleListResult.json.cs new file mode 100644 index 000000000000..3c22f81d8555 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleListResult.json.cs @@ -0,0 +1,121 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The response of list firewall rules Redis operation. + public partial class RedisFirewallRuleListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisFirewallRuleListResult(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisFirewallRuleListResult(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule) (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRule.FromJson(__u) )) ))() : null : Value;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleProperties.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleProperties.PowerShell.cs new file mode 100644 index 000000000000..33682d73b4ad --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleProperties.PowerShell.cs @@ -0,0 +1,152 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Specifies a range of IP addresses permitted to connect to the cache + [System.ComponentModel.TypeConverter(typeof(RedisFirewallRulePropertiesTypeConverter))] + public partial class RedisFirewallRuleProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisFirewallRuleProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisFirewallRuleProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisFirewallRuleProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("StartIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRulePropertiesInternal)this).StartIP = (string) content.GetValueForProperty("StartIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRulePropertiesInternal)this).StartIP, global::System.Convert.ToString); + } + if (content.Contains("EndIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRulePropertiesInternal)this).EndIP = (string) content.GetValueForProperty("EndIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRulePropertiesInternal)this).EndIP, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisFirewallRuleProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("StartIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRulePropertiesInternal)this).StartIP = (string) content.GetValueForProperty("StartIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRulePropertiesInternal)this).StartIP, global::System.Convert.ToString); + } + if (content.Contains("EndIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRulePropertiesInternal)this).EndIP = (string) content.GetValueForProperty("EndIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRulePropertiesInternal)this).EndIP, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Specifies a range of IP addresses permitted to connect to the cache + [System.ComponentModel.TypeConverter(typeof(RedisFirewallRulePropertiesTypeConverter))] + public partial interface IRedisFirewallRuleProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleProperties.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleProperties.TypeConverter.cs new file mode 100644 index 000000000000..8370fc9e9958 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisFirewallRulePropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisFirewallRuleProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisFirewallRuleProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisFirewallRuleProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleProperties.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleProperties.cs new file mode 100644 index 000000000000..a4d87da3e8aa --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleProperties.cs @@ -0,0 +1,68 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Specifies a range of IP addresses permitted to connect to the cache + public partial class RedisFirewallRuleProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleProperties, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRulePropertiesInternal + { + + /// Backing field for property. + private string _endIP; + + /// highest IP address included in the range + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string EndIP { get => this._endIP; set => this._endIP = value; } + + /// Backing field for property. + private string _startIP; + + /// lowest IP address included in the range + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string StartIP { get => this._startIP; set => this._startIP = value; } + + /// Creates an new instance. + public RedisFirewallRuleProperties() + { + + } + } + /// Specifies a range of IP addresses permitted to connect to the cache + public partial interface IRedisFirewallRuleProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// highest IP address included in the range + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"highest IP address included in the range", + SerializedName = @"endIP", + PossibleTypes = new [] { typeof(string) })] + string EndIP { get; set; } + /// lowest IP address included in the range + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"lowest IP address included in the range", + SerializedName = @"startIP", + PossibleTypes = new [] { typeof(string) })] + string StartIP { get; set; } + + } + /// Specifies a range of IP addresses permitted to connect to the cache + internal partial interface IRedisFirewallRulePropertiesInternal + + { + /// highest IP address included in the range + string EndIP { get; set; } + /// lowest IP address included in the range + string StartIP { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleProperties.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleProperties.json.cs new file mode 100644 index 000000000000..4f8e948a7953 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisFirewallRuleProperties.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Specifies a range of IP addresses permitted to connect to the cache + public partial class RedisFirewallRuleProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisFirewallRuleProperties(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisFirewallRuleProperties(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_startIP = If( json?.PropertyT("startIP"), out var __jsonStartIP) ? (string)__jsonStartIP : (string)StartIP;} + {_endIP = If( json?.PropertyT("endIP"), out var __jsonEndIP) ? (string)__jsonEndIP : (string)EndIP;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._startIP)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._startIP.ToString()) : null, "startIP" ,container.Add ); + AddIf( null != (((object)this._endIP)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._endIP.ToString()) : null, "endIP" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisForceRebootResponse.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisForceRebootResponse.PowerShell.cs new file mode 100644 index 000000000000..ba5768cf86dc --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisForceRebootResponse.PowerShell.cs @@ -0,0 +1,144 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Response to force reboot for Redis cache. + [System.ComponentModel.TypeConverter(typeof(RedisForceRebootResponseTypeConverter))] + public partial class RedisForceRebootResponse + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisForceRebootResponse(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisForceRebootResponse(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisForceRebootResponse(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponseInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponseInternal)this).Message, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisForceRebootResponse(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponseInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponseInternal)this).Message, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Response to force reboot for Redis cache. + [System.ComponentModel.TypeConverter(typeof(RedisForceRebootResponseTypeConverter))] + public partial interface IRedisForceRebootResponse + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisForceRebootResponse.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisForceRebootResponse.TypeConverter.cs new file mode 100644 index 000000000000..e6b8c94c70dc --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisForceRebootResponse.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisForceRebootResponseTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisForceRebootResponse.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisForceRebootResponse.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisForceRebootResponse.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisForceRebootResponse.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisForceRebootResponse.cs new file mode 100644 index 000000000000..6fba43ff2c2e --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisForceRebootResponse.cs @@ -0,0 +1,54 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Response to force reboot for Redis cache. + public partial class RedisForceRebootResponse : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponseInternal + { + + /// Backing field for property. + private string _message; + + /// Status message + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Message { get => this._message; } + + /// Internal Acessors for Message + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponseInternal.Message { get => this._message; set { {_message = value;} } } + + /// Creates an new instance. + public RedisForceRebootResponse() + { + + } + } + /// Response to force reboot for Redis cache. + public partial interface IRedisForceRebootResponse : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// Status message + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Status message", + SerializedName = @"message", + PossibleTypes = new [] { typeof(string) })] + string Message { get; } + + } + /// Response to force reboot for Redis cache. + internal partial interface IRedisForceRebootResponseInternal + + { + /// Status message + string Message { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisForceRebootResponse.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisForceRebootResponse.json.cs new file mode 100644 index 000000000000..b919e7bed0db --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisForceRebootResponse.json.cs @@ -0,0 +1,111 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Response to force reboot for Redis cache. + public partial class RedisForceRebootResponse + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisForceRebootResponse(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisForceRebootResponse(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_message = If( json?.PropertyT("message"), out var __jsonMessage) ? (string)__jsonMessage : (string)Message;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._message)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._message.ToString()) : null, "message" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisInstanceDetails.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisInstanceDetails.PowerShell.cs new file mode 100644 index 000000000000..a17d4b8b2fb9 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisInstanceDetails.PowerShell.cs @@ -0,0 +1,184 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Details of single instance of redis. + [System.ComponentModel.TypeConverter(typeof(RedisInstanceDetailsTypeConverter))] + public partial class RedisInstanceDetails + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisInstanceDetails(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisInstanceDetails(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisInstanceDetails(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("SslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).SslPort = (int?) content.GetValueForProperty("SslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).SslPort, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("NonSslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).NonSslPort = (int?) content.GetValueForProperty("NonSslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).NonSslPort, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("Zone")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).Zone = (string) content.GetValueForProperty("Zone",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).Zone, global::System.Convert.ToString); + } + if (content.Contains("ShardId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).ShardId = (int?) content.GetValueForProperty("ShardId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).ShardId, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("IsMaster")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).IsMaster = (bool?) content.GetValueForProperty("IsMaster",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).IsMaster, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("IsPrimary")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).IsPrimary = (bool?) content.GetValueForProperty("IsPrimary",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).IsPrimary, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisInstanceDetails(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("SslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).SslPort = (int?) content.GetValueForProperty("SslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).SslPort, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("NonSslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).NonSslPort = (int?) content.GetValueForProperty("NonSslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).NonSslPort, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("Zone")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).Zone = (string) content.GetValueForProperty("Zone",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).Zone, global::System.Convert.ToString); + } + if (content.Contains("ShardId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).ShardId = (int?) content.GetValueForProperty("ShardId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).ShardId, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("IsMaster")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).IsMaster = (bool?) content.GetValueForProperty("IsMaster",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).IsMaster, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("IsPrimary")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).IsPrimary = (bool?) content.GetValueForProperty("IsPrimary",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal)this).IsPrimary, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Details of single instance of redis. + [System.ComponentModel.TypeConverter(typeof(RedisInstanceDetailsTypeConverter))] + public partial interface IRedisInstanceDetails + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisInstanceDetails.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisInstanceDetails.TypeConverter.cs new file mode 100644 index 000000000000..8cf961079004 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisInstanceDetails.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisInstanceDetailsTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisInstanceDetails.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisInstanceDetails.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisInstanceDetails.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisInstanceDetails.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisInstanceDetails.cs new file mode 100644 index 000000000000..f7125fae749d --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisInstanceDetails.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Details of single instance of redis. + public partial class RedisInstanceDetails : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal + { + + /// Backing field for property. + private bool? _isMaster; + + /// Specifies whether the instance is a primary node. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public bool? IsMaster { get => this._isMaster; } + + /// Backing field for property. + private bool? _isPrimary; + + /// Specifies whether the instance is a primary node. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public bool? IsPrimary { get => this._isPrimary; } + + /// Internal Acessors for IsMaster + bool? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal.IsMaster { get => this._isMaster; set { {_isMaster = value;} } } + + /// Internal Acessors for IsPrimary + bool? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal.IsPrimary { get => this._isPrimary; set { {_isPrimary = value;} } } + + /// Internal Acessors for NonSslPort + int? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal.NonSslPort { get => this._nonSslPort; set { {_nonSslPort = value;} } } + + /// Internal Acessors for ShardId + int? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal.ShardId { get => this._shardId; set { {_shardId = value;} } } + + /// Internal Acessors for SslPort + int? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal.SslPort { get => this._sslPort; set { {_sslPort = value;} } } + + /// Internal Acessors for Zone + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetailsInternal.Zone { get => this._zone; set { {_zone = value;} } } + + /// Backing field for property. + private int? _nonSslPort; + + /// If enableNonSslPort is true, provides Redis instance Non-SSL port. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public int? NonSslPort { get => this._nonSslPort; } + + /// Backing field for property. + private int? _shardId; + + /// If clustering is enabled, the Shard ID of Redis Instance + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public int? ShardId { get => this._shardId; } + + /// Backing field for property. + private int? _sslPort; + + /// Redis instance SSL port. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public int? SslPort { get => this._sslPort; } + + /// Backing field for property. + private string _zone; + + /// + /// If the Cache uses availability zones, specifies availability zone where this instance is located. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Zone { get => this._zone; } + + /// Creates an new instance. + public RedisInstanceDetails() + { + + } + } + /// Details of single instance of redis. + public partial interface IRedisInstanceDetails : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// Specifies whether the instance is a primary node. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Specifies whether the instance is a primary node.", + SerializedName = @"isMaster", + PossibleTypes = new [] { typeof(bool) })] + bool? IsMaster { get; } + /// Specifies whether the instance is a primary node. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Specifies whether the instance is a primary node.", + SerializedName = @"isPrimary", + PossibleTypes = new [] { typeof(bool) })] + bool? IsPrimary { get; } + /// If enableNonSslPort is true, provides Redis instance Non-SSL port. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"If enableNonSslPort is true, provides Redis instance Non-SSL port.", + SerializedName = @"nonSslPort", + PossibleTypes = new [] { typeof(int) })] + int? NonSslPort { get; } + /// If clustering is enabled, the Shard ID of Redis Instance + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"If clustering is enabled, the Shard ID of Redis Instance", + SerializedName = @"shardId", + PossibleTypes = new [] { typeof(int) })] + int? ShardId { get; } + /// Redis instance SSL port. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Redis instance SSL port.", + SerializedName = @"sslPort", + PossibleTypes = new [] { typeof(int) })] + int? SslPort { get; } + /// + /// If the Cache uses availability zones, specifies availability zone where this instance is located. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"If the Cache uses availability zones, specifies availability zone where this instance is located.", + SerializedName = @"zone", + PossibleTypes = new [] { typeof(string) })] + string Zone { get; } + + } + /// Details of single instance of redis. + internal partial interface IRedisInstanceDetailsInternal + + { + /// Specifies whether the instance is a primary node. + bool? IsMaster { get; set; } + /// Specifies whether the instance is a primary node. + bool? IsPrimary { get; set; } + /// If enableNonSslPort is true, provides Redis instance Non-SSL port. + int? NonSslPort { get; set; } + /// If clustering is enabled, the Shard ID of Redis Instance + int? ShardId { get; set; } + /// Redis instance SSL port. + int? SslPort { get; set; } + /// + /// If the Cache uses availability zones, specifies availability zone where this instance is located. + /// + string Zone { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisInstanceDetails.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisInstanceDetails.json.cs new file mode 100644 index 000000000000..1909694ae392 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisInstanceDetails.json.cs @@ -0,0 +1,136 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Details of single instance of redis. + public partial class RedisInstanceDetails + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisInstanceDetails(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisInstanceDetails(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_sslPort = If( json?.PropertyT("sslPort"), out var __jsonSslPort) ? (int?)__jsonSslPort : SslPort;} + {_nonSslPort = If( json?.PropertyT("nonSslPort"), out var __jsonNonSslPort) ? (int?)__jsonNonSslPort : NonSslPort;} + {_zone = If( json?.PropertyT("zone"), out var __jsonZone) ? (string)__jsonZone : (string)Zone;} + {_shardId = If( json?.PropertyT("shardId"), out var __jsonShardId) ? (int?)__jsonShardId : ShardId;} + {_isMaster = If( json?.PropertyT("isMaster"), out var __jsonIsMaster) ? (bool?)__jsonIsMaster : IsMaster;} + {_isPrimary = If( json?.PropertyT("isPrimary"), out var __jsonIsPrimary) ? (bool?)__jsonIsPrimary : IsPrimary;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._sslPort ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNumber((int)this._sslPort) : null, "sslPort" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._nonSslPort ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNumber((int)this._nonSslPort) : null, "nonSslPort" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._zone)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._zone.ToString()) : null, "zone" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._shardId ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNumber((int)this._shardId) : null, "shardId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._isMaster ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonBoolean((bool)this._isMaster) : null, "isMaster" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._isPrimary ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonBoolean((bool)this._isPrimary) : null, "isPrimary" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServer.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServer.PowerShell.cs new file mode 100644 index 000000000000..fde0074fe965 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServer.PowerShell.cs @@ -0,0 +1,144 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Linked server Id + [System.ComponentModel.TypeConverter(typeof(RedisLinkedServerTypeConverter))] + public partial class RedisLinkedServer + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisLinkedServer(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisLinkedServer(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisLinkedServer(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerInternal)this).Id, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisLinkedServer(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerInternal)this).Id, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Linked server Id + [System.ComponentModel.TypeConverter(typeof(RedisLinkedServerTypeConverter))] + public partial interface IRedisLinkedServer + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServer.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServer.TypeConverter.cs new file mode 100644 index 000000000000..c4d93a0e0c29 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServer.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisLinkedServerTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisLinkedServer.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisLinkedServer.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisLinkedServer.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServer.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServer.cs new file mode 100644 index 000000000000..33511f427236 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServer.cs @@ -0,0 +1,54 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Linked server Id + public partial class RedisLinkedServer : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerInternal + { + + /// Backing field for property. + private string _id; + + /// Linked server Id. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Id { get => this._id; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerInternal.Id { get => this._id; set { {_id = value;} } } + + /// Creates an new instance. + public RedisLinkedServer() + { + + } + } + /// Linked server Id + public partial interface IRedisLinkedServer : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// Linked server Id. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Linked server Id.", + SerializedName = @"id", + PossibleTypes = new [] { typeof(string) })] + string Id { get; } + + } + /// Linked server Id + internal partial interface IRedisLinkedServerInternal + + { + /// Linked server Id. + string Id { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServer.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServer.json.cs new file mode 100644 index 000000000000..b18fa5a2f905 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServer.json.cs @@ -0,0 +1,111 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Linked server Id + public partial class RedisLinkedServer + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisLinkedServer(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisLinkedServer(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_id = If( json?.PropertyT("id"), out var __jsonId) ? (string)__jsonId : (string)Id;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._id)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._id.ToString()) : null, "id" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateParameters.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateParameters.PowerShell.cs new file mode 100644 index 000000000000..df033f871cdb --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateParameters.PowerShell.cs @@ -0,0 +1,188 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Parameter required for creating a linked server to redis cache. + [System.ComponentModel.TypeConverter(typeof(RedisLinkedServerCreateParametersTypeConverter))] + public partial class RedisLinkedServerCreateParameters + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParameters DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisLinkedServerCreateParameters(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParameters DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisLinkedServerCreateParameters(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParameters FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisLinkedServerCreateParameters(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerCreatePropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("LinkedRedisCacheId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).LinkedRedisCacheId = (string) content.GetValueForProperty("LinkedRedisCacheId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).LinkedRedisCacheId, global::System.Convert.ToString); + } + if (content.Contains("LinkedRedisCacheLocation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).LinkedRedisCacheLocation = (string) content.GetValueForProperty("LinkedRedisCacheLocation",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).LinkedRedisCacheLocation, global::System.Convert.ToString); + } + if (content.Contains("ServerRole")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).ServerRole = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole) content.GetValueForProperty("ServerRole",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).ServerRole, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole.CreateFrom); + } + if (content.Contains("GeoReplicatedPrimaryHostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).GeoReplicatedPrimaryHostName = (string) content.GetValueForProperty("GeoReplicatedPrimaryHostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).GeoReplicatedPrimaryHostName, global::System.Convert.ToString); + } + if (content.Contains("PrimaryHostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).PrimaryHostName = (string) content.GetValueForProperty("PrimaryHostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).PrimaryHostName, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisLinkedServerCreateParameters(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerCreatePropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("LinkedRedisCacheId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).LinkedRedisCacheId = (string) content.GetValueForProperty("LinkedRedisCacheId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).LinkedRedisCacheId, global::System.Convert.ToString); + } + if (content.Contains("LinkedRedisCacheLocation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).LinkedRedisCacheLocation = (string) content.GetValueForProperty("LinkedRedisCacheLocation",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).LinkedRedisCacheLocation, global::System.Convert.ToString); + } + if (content.Contains("ServerRole")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).ServerRole = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole) content.GetValueForProperty("ServerRole",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).ServerRole, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole.CreateFrom); + } + if (content.Contains("GeoReplicatedPrimaryHostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).GeoReplicatedPrimaryHostName = (string) content.GetValueForProperty("GeoReplicatedPrimaryHostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).GeoReplicatedPrimaryHostName, global::System.Convert.ToString); + } + if (content.Contains("PrimaryHostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).PrimaryHostName = (string) content.GetValueForProperty("PrimaryHostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal)this).PrimaryHostName, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Parameter required for creating a linked server to redis cache. + [System.ComponentModel.TypeConverter(typeof(RedisLinkedServerCreateParametersTypeConverter))] + public partial interface IRedisLinkedServerCreateParameters + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateParameters.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateParameters.TypeConverter.cs new file mode 100644 index 000000000000..58c5b792395f --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateParameters.TypeConverter.cs @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisLinkedServerCreateParametersTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParameters ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParameters).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisLinkedServerCreateParameters.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisLinkedServerCreateParameters.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisLinkedServerCreateParameters.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateParameters.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateParameters.cs new file mode 100644 index 000000000000..d554c9bb37e5 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateParameters.cs @@ -0,0 +1,140 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Parameter required for creating a linked server to redis cache. + public partial class RedisLinkedServerCreateParameters : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParameters, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal + { + + /// + /// The unchanging DNS name which will always point to current geo-primary cache among the linked redis caches for seamless + /// Geo Failover experience. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string GeoReplicatedPrimaryHostName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).GeoReplicatedPrimaryHostName; } + + /// Fully qualified resourceId of the linked redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string LinkedRedisCacheId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).LinkedRedisCacheId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).LinkedRedisCacheId = value ; } + + /// Location of the linked redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string LinkedRedisCacheLocation { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).LinkedRedisCacheLocation; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).LinkedRedisCacheLocation = value ; } + + /// Internal Acessors for GeoReplicatedPrimaryHostName + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal.GeoReplicatedPrimaryHostName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).GeoReplicatedPrimaryHostName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).GeoReplicatedPrimaryHostName = value; } + + /// Internal Acessors for PrimaryHostName + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal.PrimaryHostName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).PrimaryHostName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).PrimaryHostName = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateProperties Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParametersInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerCreateProperties()); set { {_property = value;} } } + + /// + /// The changing DNS name that resolves to the current geo-primary cache among the linked redis caches before or after the + /// Geo Failover. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string PrimaryHostName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).PrimaryHostName; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateProperties _property; + + /// Properties required to create a linked server. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerCreateProperties()); set => this._property = value; } + + /// Role of the linked server. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole ServerRole { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).ServerRole; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).ServerRole = value ; } + + /// Creates an new instance. + public RedisLinkedServerCreateParameters() + { + + } + } + /// Parameter required for creating a linked server to redis cache. + public partial interface IRedisLinkedServerCreateParameters : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// + /// The unchanging DNS name which will always point to current geo-primary cache among the linked redis caches for seamless + /// Geo Failover experience. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The unchanging DNS name which will always point to current geo-primary cache among the linked redis caches for seamless Geo Failover experience.", + SerializedName = @"geoReplicatedPrimaryHostName", + PossibleTypes = new [] { typeof(string) })] + string GeoReplicatedPrimaryHostName { get; } + /// Fully qualified resourceId of the linked redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Fully qualified resourceId of the linked redis cache.", + SerializedName = @"linkedRedisCacheId", + PossibleTypes = new [] { typeof(string) })] + string LinkedRedisCacheId { get; set; } + /// Location of the linked redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Location of the linked redis cache.", + SerializedName = @"linkedRedisCacheLocation", + PossibleTypes = new [] { typeof(string) })] + string LinkedRedisCacheLocation { get; set; } + /// + /// The changing DNS name that resolves to the current geo-primary cache among the linked redis caches before or after the + /// Geo Failover. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The changing DNS name that resolves to the current geo-primary cache among the linked redis caches before or after the Geo Failover.", + SerializedName = @"primaryHostName", + PossibleTypes = new [] { typeof(string) })] + string PrimaryHostName { get; } + /// Role of the linked server. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Role of the linked server.", + SerializedName = @"serverRole", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole ServerRole { get; set; } + + } + /// Parameter required for creating a linked server to redis cache. + internal partial interface IRedisLinkedServerCreateParametersInternal + + { + /// + /// The unchanging DNS name which will always point to current geo-primary cache among the linked redis caches for seamless + /// Geo Failover experience. + /// + string GeoReplicatedPrimaryHostName { get; set; } + /// Fully qualified resourceId of the linked redis cache. + string LinkedRedisCacheId { get; set; } + /// Location of the linked redis cache. + string LinkedRedisCacheLocation { get; set; } + /// + /// The changing DNS name that resolves to the current geo-primary cache among the linked redis caches before or after the + /// Geo Failover. + /// + string PrimaryHostName { get; set; } + /// Properties required to create a linked server. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateProperties Property { get; set; } + /// Role of the linked server. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole ServerRole { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateParameters.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateParameters.json.cs new file mode 100644 index 000000000000..a7faff78f8ea --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateParameters.json.cs @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Parameter required for creating a linked server to redis cache. + public partial class RedisLinkedServerCreateParameters + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParameters. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParameters. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParameters FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisLinkedServerCreateParameters(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisLinkedServerCreateParameters(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerCreateProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateProperties.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateProperties.PowerShell.cs new file mode 100644 index 000000000000..87cda25cb235 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateProperties.PowerShell.cs @@ -0,0 +1,180 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Create properties for a linked server + [System.ComponentModel.TypeConverter(typeof(RedisLinkedServerCreatePropertiesTypeConverter))] + public partial class RedisLinkedServerCreateProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisLinkedServerCreateProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisLinkedServerCreateProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisLinkedServerCreateProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("LinkedRedisCacheId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).LinkedRedisCacheId = (string) content.GetValueForProperty("LinkedRedisCacheId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).LinkedRedisCacheId, global::System.Convert.ToString); + } + if (content.Contains("LinkedRedisCacheLocation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).LinkedRedisCacheLocation = (string) content.GetValueForProperty("LinkedRedisCacheLocation",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).LinkedRedisCacheLocation, global::System.Convert.ToString); + } + if (content.Contains("ServerRole")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).ServerRole = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole) content.GetValueForProperty("ServerRole",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).ServerRole, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole.CreateFrom); + } + if (content.Contains("GeoReplicatedPrimaryHostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).GeoReplicatedPrimaryHostName = (string) content.GetValueForProperty("GeoReplicatedPrimaryHostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).GeoReplicatedPrimaryHostName, global::System.Convert.ToString); + } + if (content.Contains("PrimaryHostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).PrimaryHostName = (string) content.GetValueForProperty("PrimaryHostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).PrimaryHostName, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisLinkedServerCreateProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("LinkedRedisCacheId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).LinkedRedisCacheId = (string) content.GetValueForProperty("LinkedRedisCacheId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).LinkedRedisCacheId, global::System.Convert.ToString); + } + if (content.Contains("LinkedRedisCacheLocation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).LinkedRedisCacheLocation = (string) content.GetValueForProperty("LinkedRedisCacheLocation",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).LinkedRedisCacheLocation, global::System.Convert.ToString); + } + if (content.Contains("ServerRole")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).ServerRole = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole) content.GetValueForProperty("ServerRole",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).ServerRole, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole.CreateFrom); + } + if (content.Contains("GeoReplicatedPrimaryHostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).GeoReplicatedPrimaryHostName = (string) content.GetValueForProperty("GeoReplicatedPrimaryHostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).GeoReplicatedPrimaryHostName, global::System.Convert.ToString); + } + if (content.Contains("PrimaryHostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).PrimaryHostName = (string) content.GetValueForProperty("PrimaryHostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).PrimaryHostName, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Create properties for a linked server + [System.ComponentModel.TypeConverter(typeof(RedisLinkedServerCreatePropertiesTypeConverter))] + public partial interface IRedisLinkedServerCreateProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateProperties.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateProperties.TypeConverter.cs new file mode 100644 index 000000000000..fb14ac0ef1ca --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateProperties.TypeConverter.cs @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisLinkedServerCreatePropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisLinkedServerCreateProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisLinkedServerCreateProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisLinkedServerCreateProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateProperties.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateProperties.cs new file mode 100644 index 000000000000..e26d1f176405 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateProperties.cs @@ -0,0 +1,143 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Create properties for a linked server + public partial class RedisLinkedServerCreateProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateProperties, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal + { + + /// Backing field for property. + private string _geoReplicatedPrimaryHostName; + + /// + /// The unchanging DNS name which will always point to current geo-primary cache among the linked redis caches for seamless + /// Geo Failover experience. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string GeoReplicatedPrimaryHostName { get => this._geoReplicatedPrimaryHostName; } + + /// Backing field for property. + private string _linkedRedisCacheId; + + /// Fully qualified resourceId of the linked redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string LinkedRedisCacheId { get => this._linkedRedisCacheId; set => this._linkedRedisCacheId = value; } + + /// Backing field for property. + private string _linkedRedisCacheLocation; + + /// Location of the linked redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string LinkedRedisCacheLocation { get => this._linkedRedisCacheLocation; set => this._linkedRedisCacheLocation = value; } + + /// Internal Acessors for GeoReplicatedPrimaryHostName + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal.GeoReplicatedPrimaryHostName { get => this._geoReplicatedPrimaryHostName; set { {_geoReplicatedPrimaryHostName = value;} } } + + /// Internal Acessors for PrimaryHostName + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal.PrimaryHostName { get => this._primaryHostName; set { {_primaryHostName = value;} } } + + /// Backing field for property. + private string _primaryHostName; + + /// + /// The changing DNS name that resolves to the current geo-primary cache among the linked redis caches before or after the + /// Geo Failover. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string PrimaryHostName { get => this._primaryHostName; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole _serverRole; + + /// Role of the linked server. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole ServerRole { get => this._serverRole; set => this._serverRole = value; } + + /// Creates an new instance. + public RedisLinkedServerCreateProperties() + { + + } + } + /// Create properties for a linked server + public partial interface IRedisLinkedServerCreateProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// + /// The unchanging DNS name which will always point to current geo-primary cache among the linked redis caches for seamless + /// Geo Failover experience. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The unchanging DNS name which will always point to current geo-primary cache among the linked redis caches for seamless Geo Failover experience.", + SerializedName = @"geoReplicatedPrimaryHostName", + PossibleTypes = new [] { typeof(string) })] + string GeoReplicatedPrimaryHostName { get; } + /// Fully qualified resourceId of the linked redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Fully qualified resourceId of the linked redis cache.", + SerializedName = @"linkedRedisCacheId", + PossibleTypes = new [] { typeof(string) })] + string LinkedRedisCacheId { get; set; } + /// Location of the linked redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Location of the linked redis cache.", + SerializedName = @"linkedRedisCacheLocation", + PossibleTypes = new [] { typeof(string) })] + string LinkedRedisCacheLocation { get; set; } + /// + /// The changing DNS name that resolves to the current geo-primary cache among the linked redis caches before or after the + /// Geo Failover. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The changing DNS name that resolves to the current geo-primary cache among the linked redis caches before or after the Geo Failover.", + SerializedName = @"primaryHostName", + PossibleTypes = new [] { typeof(string) })] + string PrimaryHostName { get; } + /// Role of the linked server. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Role of the linked server.", + SerializedName = @"serverRole", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole ServerRole { get; set; } + + } + /// Create properties for a linked server + internal partial interface IRedisLinkedServerCreatePropertiesInternal + + { + /// + /// The unchanging DNS name which will always point to current geo-primary cache among the linked redis caches for seamless + /// Geo Failover experience. + /// + string GeoReplicatedPrimaryHostName { get; set; } + /// Fully qualified resourceId of the linked redis cache. + string LinkedRedisCacheId { get; set; } + /// Location of the linked redis cache. + string LinkedRedisCacheLocation { get; set; } + /// + /// The changing DNS name that resolves to the current geo-primary cache among the linked redis caches before or after the + /// Geo Failover. + /// + string PrimaryHostName { get; set; } + /// Role of the linked server. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole ServerRole { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateProperties.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateProperties.json.cs new file mode 100644 index 000000000000..0341ec3be829 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerCreateProperties.json.cs @@ -0,0 +1,122 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Create properties for a linked server + public partial class RedisLinkedServerCreateProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisLinkedServerCreateProperties(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisLinkedServerCreateProperties(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_linkedRedisCacheId = If( json?.PropertyT("linkedRedisCacheId"), out var __jsonLinkedRedisCacheId) ? (string)__jsonLinkedRedisCacheId : (string)LinkedRedisCacheId;} + {_linkedRedisCacheLocation = If( json?.PropertyT("linkedRedisCacheLocation"), out var __jsonLinkedRedisCacheLocation) ? (string)__jsonLinkedRedisCacheLocation : (string)LinkedRedisCacheLocation;} + {_serverRole = If( json?.PropertyT("serverRole"), out var __jsonServerRole) ? (string)__jsonServerRole : (string)ServerRole;} + {_geoReplicatedPrimaryHostName = If( json?.PropertyT("geoReplicatedPrimaryHostName"), out var __jsonGeoReplicatedPrimaryHostName) ? (string)__jsonGeoReplicatedPrimaryHostName : (string)GeoReplicatedPrimaryHostName;} + {_primaryHostName = If( json?.PropertyT("primaryHostName"), out var __jsonPrimaryHostName) ? (string)__jsonPrimaryHostName : (string)PrimaryHostName;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._linkedRedisCacheId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._linkedRedisCacheId.ToString()) : null, "linkedRedisCacheId" ,container.Add ); + AddIf( null != (((object)this._linkedRedisCacheLocation)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._linkedRedisCacheLocation.ToString()) : null, "linkedRedisCacheLocation" ,container.Add ); + AddIf( null != (((object)this._serverRole)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._serverRole.ToString()) : null, "serverRole" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._geoReplicatedPrimaryHostName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._geoReplicatedPrimaryHostName.ToString()) : null, "geoReplicatedPrimaryHostName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._primaryHostName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._primaryHostName.ToString()) : null, "primaryHostName" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerProperties.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerProperties.PowerShell.cs new file mode 100644 index 000000000000..4e14a6f848a8 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerProperties.PowerShell.cs @@ -0,0 +1,184 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Properties of a linked server to be returned in get/put response + [System.ComponentModel.TypeConverter(typeof(RedisLinkedServerPropertiesTypeConverter))] + public partial class RedisLinkedServerProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisLinkedServerProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisLinkedServerProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisLinkedServerProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("ProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerPropertiesInternal)this).ProvisioningState = (string) content.GetValueForProperty("ProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerPropertiesInternal)this).ProvisioningState, global::System.Convert.ToString); + } + if (content.Contains("LinkedRedisCacheId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).LinkedRedisCacheId = (string) content.GetValueForProperty("LinkedRedisCacheId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).LinkedRedisCacheId, global::System.Convert.ToString); + } + if (content.Contains("LinkedRedisCacheLocation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).LinkedRedisCacheLocation = (string) content.GetValueForProperty("LinkedRedisCacheLocation",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).LinkedRedisCacheLocation, global::System.Convert.ToString); + } + if (content.Contains("ServerRole")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).ServerRole = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole) content.GetValueForProperty("ServerRole",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).ServerRole, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole.CreateFrom); + } + if (content.Contains("GeoReplicatedPrimaryHostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).GeoReplicatedPrimaryHostName = (string) content.GetValueForProperty("GeoReplicatedPrimaryHostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).GeoReplicatedPrimaryHostName, global::System.Convert.ToString); + } + if (content.Contains("PrimaryHostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).PrimaryHostName = (string) content.GetValueForProperty("PrimaryHostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).PrimaryHostName, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisLinkedServerProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("ProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerPropertiesInternal)this).ProvisioningState = (string) content.GetValueForProperty("ProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerPropertiesInternal)this).ProvisioningState, global::System.Convert.ToString); + } + if (content.Contains("LinkedRedisCacheId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).LinkedRedisCacheId = (string) content.GetValueForProperty("LinkedRedisCacheId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).LinkedRedisCacheId, global::System.Convert.ToString); + } + if (content.Contains("LinkedRedisCacheLocation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).LinkedRedisCacheLocation = (string) content.GetValueForProperty("LinkedRedisCacheLocation",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).LinkedRedisCacheLocation, global::System.Convert.ToString); + } + if (content.Contains("ServerRole")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).ServerRole = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole) content.GetValueForProperty("ServerRole",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).ServerRole, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole.CreateFrom); + } + if (content.Contains("GeoReplicatedPrimaryHostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).GeoReplicatedPrimaryHostName = (string) content.GetValueForProperty("GeoReplicatedPrimaryHostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).GeoReplicatedPrimaryHostName, global::System.Convert.ToString); + } + if (content.Contains("PrimaryHostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).PrimaryHostName = (string) content.GetValueForProperty("PrimaryHostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)this).PrimaryHostName, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Properties of a linked server to be returned in get/put response + [System.ComponentModel.TypeConverter(typeof(RedisLinkedServerPropertiesTypeConverter))] + public partial interface IRedisLinkedServerProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerProperties.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerProperties.TypeConverter.cs new file mode 100644 index 000000000000..5c6ae2f22834 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisLinkedServerPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisLinkedServerProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisLinkedServerProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisLinkedServerProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerProperties.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerProperties.cs new file mode 100644 index 000000000000..e3f2887bbc6b --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerProperties.cs @@ -0,0 +1,105 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Properties of a linked server to be returned in get/put response + public partial class RedisLinkedServerProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerProperties, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerPropertiesInternal, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateProperties __redisLinkedServerCreateProperties = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerCreateProperties(); + + /// + /// The unchanging DNS name which will always point to current geo-primary cache among the linked redis caches for seamless + /// Geo Failover experience. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string GeoReplicatedPrimaryHostName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)__redisLinkedServerCreateProperties).GeoReplicatedPrimaryHostName; } + + /// Fully qualified resourceId of the linked redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string LinkedRedisCacheId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)__redisLinkedServerCreateProperties).LinkedRedisCacheId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)__redisLinkedServerCreateProperties).LinkedRedisCacheId = value ; } + + /// Location of the linked redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string LinkedRedisCacheLocation { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)__redisLinkedServerCreateProperties).LinkedRedisCacheLocation; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)__redisLinkedServerCreateProperties).LinkedRedisCacheLocation = value ; } + + /// Internal Acessors for GeoReplicatedPrimaryHostName + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal.GeoReplicatedPrimaryHostName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)__redisLinkedServerCreateProperties).GeoReplicatedPrimaryHostName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)__redisLinkedServerCreateProperties).GeoReplicatedPrimaryHostName = value; } + + /// Internal Acessors for PrimaryHostName + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal.PrimaryHostName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)__redisLinkedServerCreateProperties).PrimaryHostName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)__redisLinkedServerCreateProperties).PrimaryHostName = value; } + + /// Internal Acessors for ProvisioningState + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerPropertiesInternal.ProvisioningState { get => this._provisioningState; set { {_provisioningState = value;} } } + + /// + /// The changing DNS name that resolves to the current geo-primary cache among the linked redis caches before or after the + /// Geo Failover. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string PrimaryHostName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)__redisLinkedServerCreateProperties).PrimaryHostName; } + + /// Backing field for property. + private string _provisioningState; + + /// Terminal state of the link between primary and secondary redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string ProvisioningState { get => this._provisioningState; } + + /// Role of the linked server. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole ServerRole { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)__redisLinkedServerCreateProperties).ServerRole; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)__redisLinkedServerCreateProperties).ServerRole = value ; } + + /// Creates an new instance. + public RedisLinkedServerProperties() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__redisLinkedServerCreateProperties), __redisLinkedServerCreateProperties); + await eventListener.AssertObjectIsValid(nameof(__redisLinkedServerCreateProperties), __redisLinkedServerCreateProperties); + } + } + /// Properties of a linked server to be returned in get/put response + public partial interface IRedisLinkedServerProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateProperties + { + /// Terminal state of the link between primary and secondary redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Terminal state of the link between primary and secondary redis cache.", + SerializedName = @"provisioningState", + PossibleTypes = new [] { typeof(string) })] + string ProvisioningState { get; } + + } + /// Properties of a linked server to be returned in get/put response + internal partial interface IRedisLinkedServerPropertiesInternal : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal + { + /// Terminal state of the link between primary and secondary redis cache. + string ProvisioningState { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerProperties.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerProperties.json.cs new file mode 100644 index 000000000000..a04059d51686 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerProperties.json.cs @@ -0,0 +1,113 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Properties of a linked server to be returned in get/put response + public partial class RedisLinkedServerProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisLinkedServerProperties(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisLinkedServerProperties(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __redisLinkedServerCreateProperties = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerCreateProperties(json); + {_provisioningState = If( json?.PropertyT("provisioningState"), out var __jsonProvisioningState) ? (string)__jsonProvisioningState : (string)ProvisioningState;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __redisLinkedServerCreateProperties?.ToJson(container, serializationMode); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._provisioningState)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._provisioningState.ToString()) : null, "provisioningState" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithProperties.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithProperties.PowerShell.cs new file mode 100644 index 000000000000..d84a0240ea02 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithProperties.PowerShell.cs @@ -0,0 +1,218 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Response to put/get linked server (with properties) for Redis cache. + [System.ComponentModel.TypeConverter(typeof(RedisLinkedServerWithPropertiesTypeConverter))] + public partial class RedisLinkedServerWithProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisLinkedServerWithProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisLinkedServerWithProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisLinkedServerWithProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("LinkedRedisCacheId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).LinkedRedisCacheId = (string) content.GetValueForProperty("LinkedRedisCacheId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).LinkedRedisCacheId, global::System.Convert.ToString); + } + if (content.Contains("LinkedRedisCacheLocation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).LinkedRedisCacheLocation = (string) content.GetValueForProperty("LinkedRedisCacheLocation",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).LinkedRedisCacheLocation, global::System.Convert.ToString); + } + if (content.Contains("ServerRole")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).ServerRole = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole) content.GetValueForProperty("ServerRole",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).ServerRole, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole.CreateFrom); + } + if (content.Contains("GeoReplicatedPrimaryHostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).GeoReplicatedPrimaryHostName = (string) content.GetValueForProperty("GeoReplicatedPrimaryHostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).GeoReplicatedPrimaryHostName, global::System.Convert.ToString); + } + if (content.Contains("PrimaryHostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).PrimaryHostName = (string) content.GetValueForProperty("PrimaryHostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).PrimaryHostName, global::System.Convert.ToString); + } + if (content.Contains("ProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).ProvisioningState = (string) content.GetValueForProperty("ProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).ProvisioningState, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisLinkedServerWithProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("LinkedRedisCacheId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).LinkedRedisCacheId = (string) content.GetValueForProperty("LinkedRedisCacheId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).LinkedRedisCacheId, global::System.Convert.ToString); + } + if (content.Contains("LinkedRedisCacheLocation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).LinkedRedisCacheLocation = (string) content.GetValueForProperty("LinkedRedisCacheLocation",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).LinkedRedisCacheLocation, global::System.Convert.ToString); + } + if (content.Contains("ServerRole")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).ServerRole = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole) content.GetValueForProperty("ServerRole",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).ServerRole, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole.CreateFrom); + } + if (content.Contains("GeoReplicatedPrimaryHostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).GeoReplicatedPrimaryHostName = (string) content.GetValueForProperty("GeoReplicatedPrimaryHostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).GeoReplicatedPrimaryHostName, global::System.Convert.ToString); + } + if (content.Contains("PrimaryHostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).PrimaryHostName = (string) content.GetValueForProperty("PrimaryHostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).PrimaryHostName, global::System.Convert.ToString); + } + if (content.Contains("ProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).ProvisioningState = (string) content.GetValueForProperty("ProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal)this).ProvisioningState, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Response to put/get linked server (with properties) for Redis cache. + [System.ComponentModel.TypeConverter(typeof(RedisLinkedServerWithPropertiesTypeConverter))] + public partial interface IRedisLinkedServerWithProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithProperties.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithProperties.TypeConverter.cs new file mode 100644 index 000000000000..a7812aa2c3d5 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithProperties.TypeConverter.cs @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisLinkedServerWithPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisLinkedServerWithProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisLinkedServerWithProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisLinkedServerWithProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithProperties.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithProperties.cs new file mode 100644 index 000000000000..1d9dbf4a9bef --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithProperties.cs @@ -0,0 +1,200 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Response to put/get linked server (with properties) for Redis cache. + public partial class RedisLinkedServerWithProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.Resource(); + + /// + /// The unchanging DNS name which will always point to current geo-primary cache among the linked redis caches for seamless + /// Geo Failover experience. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string GeoReplicatedPrimaryHostName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).GeoReplicatedPrimaryHostName; } + + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id; } + + /// Fully qualified resourceId of the linked redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string LinkedRedisCacheId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).LinkedRedisCacheId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).LinkedRedisCacheId = value ?? null; } + + /// Location of the linked redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string LinkedRedisCacheLocation { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).LinkedRedisCacheLocation; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).LinkedRedisCacheLocation = value ?? null; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for GeoReplicatedPrimaryHostName + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal.GeoReplicatedPrimaryHostName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).GeoReplicatedPrimaryHostName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).GeoReplicatedPrimaryHostName = value; } + + /// Internal Acessors for PrimaryHostName + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal.PrimaryHostName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).PrimaryHostName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).PrimaryHostName = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerProperties Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerProperties()); set { {_property = value;} } } + + /// Internal Acessors for ProvisioningState + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesInternal.ProvisioningState { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerPropertiesInternal)Property).ProvisioningState; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerPropertiesInternal)Property).ProvisioningState = value; } + + /// The name of the resource + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name; } + + /// + /// The changing DNS name that resolves to the current geo-primary cache among the linked redis caches before or after the + /// Geo Failover. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string PrimaryHostName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).PrimaryHostName; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerProperties _property; + + /// Properties of the linked server. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerProperties()); set => this._property = value; } + + /// Terminal state of the link between primary and secondary redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string ProvisioningState { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerPropertiesInternal)Property).ProvisioningState; } + + /// Role of the linked server. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole? ServerRole { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).ServerRole; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreatePropertiesInternal)Property).ServerRole = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole)""); } + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public RedisLinkedServerWithProperties() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// Response to put/get linked server (with properties) for Redis cache. + public partial interface IRedisLinkedServerWithProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource + { + /// + /// The unchanging DNS name which will always point to current geo-primary cache among the linked redis caches for seamless + /// Geo Failover experience. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The unchanging DNS name which will always point to current geo-primary cache among the linked redis caches for seamless Geo Failover experience.", + SerializedName = @"geoReplicatedPrimaryHostName", + PossibleTypes = new [] { typeof(string) })] + string GeoReplicatedPrimaryHostName { get; } + /// Fully qualified resourceId of the linked redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Fully qualified resourceId of the linked redis cache.", + SerializedName = @"linkedRedisCacheId", + PossibleTypes = new [] { typeof(string) })] + string LinkedRedisCacheId { get; set; } + /// Location of the linked redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Location of the linked redis cache.", + SerializedName = @"linkedRedisCacheLocation", + PossibleTypes = new [] { typeof(string) })] + string LinkedRedisCacheLocation { get; set; } + /// + /// The changing DNS name that resolves to the current geo-primary cache among the linked redis caches before or after the + /// Geo Failover. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The changing DNS name that resolves to the current geo-primary cache among the linked redis caches before or after the Geo Failover.", + SerializedName = @"primaryHostName", + PossibleTypes = new [] { typeof(string) })] + string PrimaryHostName { get; } + /// Terminal state of the link between primary and secondary redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Terminal state of the link between primary and secondary redis cache.", + SerializedName = @"provisioningState", + PossibleTypes = new [] { typeof(string) })] + string ProvisioningState { get; } + /// Role of the linked server. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Role of the linked server.", + SerializedName = @"serverRole", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole? ServerRole { get; set; } + + } + /// Response to put/get linked server (with properties) for Redis cache. + internal partial interface IRedisLinkedServerWithPropertiesInternal : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal + { + /// + /// The unchanging DNS name which will always point to current geo-primary cache among the linked redis caches for seamless + /// Geo Failover experience. + /// + string GeoReplicatedPrimaryHostName { get; set; } + /// Fully qualified resourceId of the linked redis cache. + string LinkedRedisCacheId { get; set; } + /// Location of the linked redis cache. + string LinkedRedisCacheLocation { get; set; } + /// + /// The changing DNS name that resolves to the current geo-primary cache among the linked redis caches before or after the + /// Geo Failover. + /// + string PrimaryHostName { get; set; } + /// Properties of the linked server. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerProperties Property { get; set; } + /// Terminal state of the link between primary and secondary redis cache. + string ProvisioningState { get; set; } + /// Role of the linked server. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole? ServerRole { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithProperties.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithProperties.json.cs new file mode 100644 index 000000000000..8b3e9e61f7dd --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithProperties.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Response to put/get linked server (with properties) for Redis cache. + public partial class RedisLinkedServerWithProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisLinkedServerWithProperties(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisLinkedServerWithProperties(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithPropertiesList.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithPropertiesList.PowerShell.cs new file mode 100644 index 000000000000..2587e41ddde3 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithPropertiesList.PowerShell.cs @@ -0,0 +1,156 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// List of linked servers (with properties) of a Redis cache. + [System.ComponentModel.TypeConverter(typeof(RedisLinkedServerWithPropertiesListTypeConverter))] + public partial class RedisLinkedServerWithPropertiesList + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesList DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisLinkedServerWithPropertiesList(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesList DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisLinkedServerWithPropertiesList(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesList FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisLinkedServerWithPropertiesList(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesListInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesListInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerWithPropertiesTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesListInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesListInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisLinkedServerWithPropertiesList(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesListInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesListInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerWithPropertiesTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesListInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesListInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// List of linked servers (with properties) of a Redis cache. + [System.ComponentModel.TypeConverter(typeof(RedisLinkedServerWithPropertiesListTypeConverter))] + public partial interface IRedisLinkedServerWithPropertiesList + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithPropertiesList.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithPropertiesList.TypeConverter.cs new file mode 100644 index 000000000000..90a1ad5a6994 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithPropertiesList.TypeConverter.cs @@ -0,0 +1,149 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisLinkedServerWithPropertiesListTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise + /// false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesList ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesList).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisLinkedServerWithPropertiesList.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisLinkedServerWithPropertiesList.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisLinkedServerWithPropertiesList.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithPropertiesList.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithPropertiesList.cs new file mode 100644 index 000000000000..f258dfe9dc1b --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithPropertiesList.cs @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// List of linked servers (with properties) of a Redis cache. + public partial class RedisLinkedServerWithPropertiesList : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesList, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesListInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesListInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// Link for next set. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties[] _value; + + /// List of linked servers (with properties) of a Redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties[] Value { get => this._value; set => this._value = value; } + + /// Creates an new instance. + public RedisLinkedServerWithPropertiesList() + { + + } + } + /// List of linked servers (with properties) of a Redis cache. + public partial interface IRedisLinkedServerWithPropertiesList : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// Link for next set. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Link for next set.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// List of linked servers (with properties) of a Redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"List of linked servers (with properties) of a Redis cache.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties[] Value { get; set; } + + } + /// List of linked servers (with properties) of a Redis cache. + internal partial interface IRedisLinkedServerWithPropertiesListInternal + + { + /// Link for next set. + string NextLink { get; set; } + /// List of linked servers (with properties) of a Redis cache. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithPropertiesList.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithPropertiesList.json.cs new file mode 100644 index 000000000000..64c66aaa384d --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisLinkedServerWithPropertiesList.json.cs @@ -0,0 +1,122 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// List of linked servers (with properties) of a Redis cache. + public partial class RedisLinkedServerWithPropertiesList + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesList. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesList. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesList FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisLinkedServerWithPropertiesList(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisLinkedServerWithPropertiesList(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties) (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerWithProperties.FromJson(__u) )) ))() : null : Value;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisListResult.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisListResult.PowerShell.cs new file mode 100644 index 000000000000..e0197ba1691d --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisListResult.PowerShell.cs @@ -0,0 +1,152 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// The response of list Redis operation. + [System.ComponentModel.TypeConverter(typeof(RedisListResultTypeConverter))] + public partial class RedisListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisResourceTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisResourceTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The response of list Redis operation. + [System.ComponentModel.TypeConverter(typeof(RedisListResultTypeConverter))] + public partial interface IRedisListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisListResult.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisListResult.TypeConverter.cs new file mode 100644 index 000000000000..378b5a9d1666 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisListResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisListResult.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisListResult.cs new file mode 100644 index 000000000000..89a2993d1adb --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisListResult.cs @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The response of list Redis operation. + public partial class RedisListResult : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResult, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// Link for next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource[] _value; + + /// List of Redis cache instances. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource[] Value { get => this._value; set => this._value = value; } + + /// Creates an new instance. + public RedisListResult() + { + + } + } + /// The response of list Redis operation. + public partial interface IRedisListResult : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// Link for next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Link for next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// List of Redis cache instances. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"List of Redis cache instances.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource[] Value { get; set; } + + } + /// The response of list Redis operation. + internal partial interface IRedisListResultInternal + + { + /// Link for next page of results. + string NextLink { get; set; } + /// List of Redis cache instances. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisListResult.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisListResult.json.cs new file mode 100644 index 000000000000..3de6e221edf8 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisListResult.json.cs @@ -0,0 +1,121 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The response of list Redis operation. + public partial class RedisListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisListResult(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisListResult(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource) (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisResource.FromJson(__u) )) ))() : null : Value;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchSchedule.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchSchedule.PowerShell.cs new file mode 100644 index 000000000000..a32b7701eb28 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchSchedule.PowerShell.cs @@ -0,0 +1,184 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Response to put/get patch schedules for Redis cache. + [System.ComponentModel.TypeConverter(typeof(RedisPatchScheduleTypeConverter))] + public partial class RedisPatchSchedule + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisPatchSchedule(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisPatchSchedule(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisPatchSchedule(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntries) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ScheduleEntriesTypeConverter.ConvertFrom); + } + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("ScheduleEntry")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleInternal)this).ScheduleEntry = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry[]) content.GetValueForProperty("ScheduleEntry",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleInternal)this).ScheduleEntry, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ScheduleEntryTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisPatchSchedule(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntries) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ScheduleEntriesTypeConverter.ConvertFrom); + } + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("ScheduleEntry")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleInternal)this).ScheduleEntry = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry[]) content.GetValueForProperty("ScheduleEntry",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleInternal)this).ScheduleEntry, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ScheduleEntryTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Response to put/get patch schedules for Redis cache. + [System.ComponentModel.TypeConverter(typeof(RedisPatchScheduleTypeConverter))] + public partial interface IRedisPatchSchedule + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchSchedule.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchSchedule.TypeConverter.cs new file mode 100644 index 000000000000..836259564b17 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchSchedule.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisPatchScheduleTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisPatchSchedule.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisPatchSchedule.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisPatchSchedule.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchSchedule.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchSchedule.cs new file mode 100644 index 000000000000..b69f489f1ef0 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchSchedule.cs @@ -0,0 +1,123 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Response to put/get patch schedules for Redis cache. + public partial class RedisPatchSchedule : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleInternal, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.Resource(); + + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id; } + + /// Backing field for property. + private string _location; + + /// The geo-location where the resource lives + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Location { get => this._location; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for Location + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleInternal.Location { get => this._location; set { {_location = value;} } } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntries Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ScheduleEntries()); set { {_property = value;} } } + + /// The name of the resource + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Name; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntries _property; + + /// List of patch schedules for a Redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntries Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ScheduleEntries()); set => this._property = value; } + + /// List of patch schedules for a Redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry[] ScheduleEntry { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntriesInternal)Property).ScheduleEntry; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntriesInternal)Property).ScheduleEntry = value ; } + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public RedisPatchSchedule() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// Response to put/get patch schedules for Redis cache. + public partial interface IRedisPatchSchedule : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResource + { + /// The geo-location where the resource lives + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The geo-location where the resource lives", + SerializedName = @"location", + PossibleTypes = new [] { typeof(string) })] + string Location { get; } + /// List of patch schedules for a Redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"List of patch schedules for a Redis cache.", + SerializedName = @"scheduleEntries", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry[] ScheduleEntry { get; set; } + + } + /// Response to put/get patch schedules for Redis cache. + internal partial interface IRedisPatchScheduleInternal : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal + { + /// The geo-location where the resource lives + string Location { get; set; } + /// List of patch schedules for a Redis cache. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntries Property { get; set; } + /// List of patch schedules for a Redis cache. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry[] ScheduleEntry { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchSchedule.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchSchedule.json.cs new file mode 100644 index 000000000000..8858c7e3bdf2 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchSchedule.json.cs @@ -0,0 +1,115 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Response to put/get patch schedules for Redis cache. + public partial class RedisPatchSchedule + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisPatchSchedule(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisPatchSchedule(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ScheduleEntries.FromJson(__jsonProperties) : Property;} + {_location = If( json?.PropertyT("location"), out var __jsonLocation) ? (string)__jsonLocation : (string)Location;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._location)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._location.ToString()) : null, "location" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchScheduleListResult.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchScheduleListResult.PowerShell.cs new file mode 100644 index 000000000000..1c6e710c6c84 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchScheduleListResult.PowerShell.cs @@ -0,0 +1,152 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// The response of list patch schedules Redis operation. + [System.ComponentModel.TypeConverter(typeof(RedisPatchScheduleListResultTypeConverter))] + public partial class RedisPatchScheduleListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisPatchScheduleListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisPatchScheduleListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisPatchScheduleListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisPatchScheduleTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisPatchScheduleListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisPatchScheduleTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The response of list patch schedules Redis operation. + [System.ComponentModel.TypeConverter(typeof(RedisPatchScheduleListResultTypeConverter))] + public partial interface IRedisPatchScheduleListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchScheduleListResult.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchScheduleListResult.TypeConverter.cs new file mode 100644 index 000000000000..48f4cd288659 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchScheduleListResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisPatchScheduleListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisPatchScheduleListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisPatchScheduleListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisPatchScheduleListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchScheduleListResult.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchScheduleListResult.cs new file mode 100644 index 000000000000..9a5f2f0532fb --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchScheduleListResult.cs @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The response of list patch schedules Redis operation. + public partial class RedisPatchScheduleListResult : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResult, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// Link for next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule[] _value; + + /// Results of the list patch schedules operation. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule[] Value { get => this._value; set => this._value = value; } + + /// Creates an new instance. + public RedisPatchScheduleListResult() + { + + } + } + /// The response of list patch schedules Redis operation. + public partial interface IRedisPatchScheduleListResult : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// Link for next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Link for next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// Results of the list patch schedules operation. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Results of the list patch schedules operation.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule[] Value { get; set; } + + } + /// The response of list patch schedules Redis operation. + internal partial interface IRedisPatchScheduleListResultInternal + + { + /// Link for next page of results. + string NextLink { get; set; } + /// Results of the list patch schedules operation. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchScheduleListResult.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchScheduleListResult.json.cs new file mode 100644 index 000000000000..812fb1fe39d7 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisPatchScheduleListResult.json.cs @@ -0,0 +1,121 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The response of list patch schedules Redis operation. + public partial class RedisPatchScheduleListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisPatchScheduleListResult(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisPatchScheduleListResult(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule) (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisPatchSchedule.FromJson(__u) )) ))() : null : Value;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisProperties.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisProperties.PowerShell.cs new file mode 100644 index 000000000000..3f95bba5585f --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisProperties.PowerShell.cs @@ -0,0 +1,336 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Properties of the redis cache. + [System.ComponentModel.TypeConverter(typeof(RedisPropertiesTypeConverter))] + public partial class RedisProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("AccessKey")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).AccessKey = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys) content.GetValueForProperty("AccessKey",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).AccessKey, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisAccessKeysTypeConverter.ConvertFrom); + } + if (content.Contains("ProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).ProvisioningState = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState?) content.GetValueForProperty("ProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).ProvisioningState, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState.CreateFrom); + } + if (content.Contains("HostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).HostName = (string) content.GetValueForProperty("HostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).HostName, global::System.Convert.ToString); + } + if (content.Contains("Port")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).Port = (int?) content.GetValueForProperty("Port",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).Port, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("SslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).SslPort = (int?) content.GetValueForProperty("SslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).SslPort, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("LinkedServer")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).LinkedServer = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer[]) content.GetValueForProperty("LinkedServer",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).LinkedServer, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerTypeConverter.ConvertFrom)); + } + if (content.Contains("Instance")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).Instance = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails[]) content.GetValueForProperty("Instance",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).Instance, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisInstanceDetailsTypeConverter.ConvertFrom)); + } + if (content.Contains("PrivateEndpointConnection")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).PrivateEndpointConnection = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection[]) content.GetValueForProperty("PrivateEndpointConnection",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).PrivateEndpointConnection, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnectionTypeConverter.ConvertFrom)); + } + if (content.Contains("RedisVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisVersion = (string) content.GetValueForProperty("RedisVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisVersion, global::System.Convert.ToString); + } + if (content.Contains("EnableNonSslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).EnableNonSslPort = (bool?) content.GetValueForProperty("EnableNonSslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).EnableNonSslPort, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ReplicasPerMaster")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerMaster = (int?) content.GetValueForProperty("ReplicasPerMaster",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerMaster, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("ReplicasPerPrimary")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerPrimary = (int?) content.GetValueForProperty("ReplicasPerPrimary",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerPrimary, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("TenantSetting")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).TenantSetting = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) content.GetValueForProperty("TenantSetting",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).TenantSetting, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesTenantSettingsTypeConverter.ConvertFrom); + } + if (content.Contains("ShardCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ShardCount = (int?) content.GetValueForProperty("ShardCount",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ShardCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("MinimumTlsVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).MinimumTlsVersion = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion?) content.GetValueForProperty("MinimumTlsVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).MinimumTlsVersion, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion.CreateFrom); + } + if (content.Contains("PublicNetworkAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).PublicNetworkAccess = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess?) content.GetValueForProperty("PublicNetworkAccess",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).PublicNetworkAccess, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess.CreateFrom); + } + if (content.Contains("RedisConfiguration")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisConfiguration = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) content.GetValueForProperty("RedisConfiguration",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisConfiguration, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesRedisConfigurationTypeConverter.ConvertFrom); + } + if (content.Contains("SkuName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuName = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) content.GetValueForProperty("SkuName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuName, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName.CreateFrom); + } + if (content.Contains("SkuFamily")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuFamily = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) content.GetValueForProperty("SkuFamily",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuFamily, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily.CreateFrom); + } + if (content.Contains("SkuCapacity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuCapacity = (int) content.GetValueForProperty("SkuCapacity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuCapacity, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("Sku")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).Sku = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku) content.GetValueForProperty("Sku",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).Sku, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.SkuTypeConverter.ConvertFrom); + } + if (content.Contains("SubnetId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SubnetId = (string) content.GetValueForProperty("SubnetId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SubnetId, global::System.Convert.ToString); + } + if (content.Contains("StaticIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).StaticIP = (string) content.GetValueForProperty("StaticIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).StaticIP, global::System.Convert.ToString); + } + if (content.Contains("AccessKeyPrimaryKey")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).AccessKeyPrimaryKey = (string) content.GetValueForProperty("AccessKeyPrimaryKey",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).AccessKeyPrimaryKey, global::System.Convert.ToString); + } + if (content.Contains("AccessKeySecondaryKey")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).AccessKeySecondaryKey = (string) content.GetValueForProperty("AccessKeySecondaryKey",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).AccessKeySecondaryKey, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("AccessKey")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).AccessKey = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys) content.GetValueForProperty("AccessKey",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).AccessKey, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisAccessKeysTypeConverter.ConvertFrom); + } + if (content.Contains("ProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).ProvisioningState = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState?) content.GetValueForProperty("ProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).ProvisioningState, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState.CreateFrom); + } + if (content.Contains("HostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).HostName = (string) content.GetValueForProperty("HostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).HostName, global::System.Convert.ToString); + } + if (content.Contains("Port")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).Port = (int?) content.GetValueForProperty("Port",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).Port, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("SslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).SslPort = (int?) content.GetValueForProperty("SslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).SslPort, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("LinkedServer")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).LinkedServer = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer[]) content.GetValueForProperty("LinkedServer",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).LinkedServer, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerTypeConverter.ConvertFrom)); + } + if (content.Contains("Instance")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).Instance = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails[]) content.GetValueForProperty("Instance",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).Instance, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisInstanceDetailsTypeConverter.ConvertFrom)); + } + if (content.Contains("PrivateEndpointConnection")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).PrivateEndpointConnection = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection[]) content.GetValueForProperty("PrivateEndpointConnection",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).PrivateEndpointConnection, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnectionTypeConverter.ConvertFrom)); + } + if (content.Contains("RedisVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisVersion = (string) content.GetValueForProperty("RedisVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisVersion, global::System.Convert.ToString); + } + if (content.Contains("EnableNonSslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).EnableNonSslPort = (bool?) content.GetValueForProperty("EnableNonSslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).EnableNonSslPort, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ReplicasPerMaster")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerMaster = (int?) content.GetValueForProperty("ReplicasPerMaster",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerMaster, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("ReplicasPerPrimary")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerPrimary = (int?) content.GetValueForProperty("ReplicasPerPrimary",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerPrimary, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("TenantSetting")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).TenantSetting = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) content.GetValueForProperty("TenantSetting",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).TenantSetting, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesTenantSettingsTypeConverter.ConvertFrom); + } + if (content.Contains("ShardCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ShardCount = (int?) content.GetValueForProperty("ShardCount",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ShardCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("MinimumTlsVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).MinimumTlsVersion = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion?) content.GetValueForProperty("MinimumTlsVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).MinimumTlsVersion, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion.CreateFrom); + } + if (content.Contains("PublicNetworkAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).PublicNetworkAccess = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess?) content.GetValueForProperty("PublicNetworkAccess",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).PublicNetworkAccess, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess.CreateFrom); + } + if (content.Contains("RedisConfiguration")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisConfiguration = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) content.GetValueForProperty("RedisConfiguration",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisConfiguration, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesRedisConfigurationTypeConverter.ConvertFrom); + } + if (content.Contains("SkuName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuName = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) content.GetValueForProperty("SkuName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuName, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName.CreateFrom); + } + if (content.Contains("SkuFamily")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuFamily = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) content.GetValueForProperty("SkuFamily",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuFamily, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily.CreateFrom); + } + if (content.Contains("SkuCapacity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuCapacity = (int) content.GetValueForProperty("SkuCapacity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SkuCapacity, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("Sku")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).Sku = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku) content.GetValueForProperty("Sku",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).Sku, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.SkuTypeConverter.ConvertFrom); + } + if (content.Contains("SubnetId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SubnetId = (string) content.GetValueForProperty("SubnetId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).SubnetId, global::System.Convert.ToString); + } + if (content.Contains("StaticIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).StaticIP = (string) content.GetValueForProperty("StaticIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)this).StaticIP, global::System.Convert.ToString); + } + if (content.Contains("AccessKeyPrimaryKey")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).AccessKeyPrimaryKey = (string) content.GetValueForProperty("AccessKeyPrimaryKey",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).AccessKeyPrimaryKey, global::System.Convert.ToString); + } + if (content.Contains("AccessKeySecondaryKey")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).AccessKeySecondaryKey = (string) content.GetValueForProperty("AccessKeySecondaryKey",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)this).AccessKeySecondaryKey, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Properties of the redis cache. + [System.ComponentModel.TypeConverter(typeof(RedisPropertiesTypeConverter))] + public partial interface IRedisProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisProperties.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisProperties.TypeConverter.cs new file mode 100644 index 000000000000..37715bca6575 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisProperties.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisProperties.cs new file mode 100644 index 000000000000..4e3963f502a8 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisProperties.cs @@ -0,0 +1,328 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Properties of the redis cache. + public partial class RedisProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisProperties, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateProperties __redisCreateProperties = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCreateProperties(); + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys _accessKey; + + /// + /// The keys of the Redis cache - not set if this object is not the response to Create or Update redis cache + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys AccessKey { get => (this._accessKey = this._accessKey ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisAccessKeys()); } + + /// The current primary key that clients can use to authenticate with Redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string AccessKeyPrimaryKey { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeysInternal)AccessKey).PrimaryKey; } + + /// + /// The current secondary key that clients can use to authenticate with Redis cache. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string AccessKeySecondaryKey { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeysInternal)AccessKey).SecondaryKey; } + + /// Specifies whether the non-ssl Redis server port (6379) is enabled. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public bool? EnableNonSslPort { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCreateProperties).EnableNonSslPort; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCreateProperties).EnableNonSslPort = value ?? default(bool); } + + /// Backing field for property. + private string _hostName; + + /// Redis host name. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string HostName { get => this._hostName; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails[] _instance; + + /// List of the Redis instances associated with the cache + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails[] Instance { get => this._instance; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer[] _linkedServer; + + /// List of the linked servers associated with the cache + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer[] LinkedServer { get => this._linkedServer; } + + /// Internal Acessors for AccessKey + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal.AccessKey { get => (this._accessKey = this._accessKey ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisAccessKeys()); set { {_accessKey = value;} } } + + /// Internal Acessors for AccessKeyPrimaryKey + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal.AccessKeyPrimaryKey { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeysInternal)AccessKey).PrimaryKey; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeysInternal)AccessKey).PrimaryKey = value; } + + /// Internal Acessors for AccessKeySecondaryKey + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal.AccessKeySecondaryKey { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeysInternal)AccessKey).SecondaryKey; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeysInternal)AccessKey).SecondaryKey = value; } + + /// Internal Acessors for HostName + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal.HostName { get => this._hostName; set { {_hostName = value;} } } + + /// Internal Acessors for Instance + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails[] Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal.Instance { get => this._instance; set { {_instance = value;} } } + + /// Internal Acessors for LinkedServer + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer[] Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal.LinkedServer { get => this._linkedServer; set { {_linkedServer = value;} } } + + /// Internal Acessors for Port + int? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal.Port { get => this._port; set { {_port = value;} } } + + /// Internal Acessors for PrivateEndpointConnection + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection[] Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal.PrivateEndpointConnection { get => this._privateEndpointConnection; set { {_privateEndpointConnection = value;} } } + + /// Internal Acessors for ProvisioningState + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal.ProvisioningState { get => this._provisioningState; set { {_provisioningState = value;} } } + + /// Internal Acessors for SslPort + int? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal.SslPort { get => this._sslPort; set { {_sslPort = value;} } } + + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion? MinimumTlsVersion { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCreateProperties).MinimumTlsVersion; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCreateProperties).MinimumTlsVersion = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion)""); } + + /// Backing field for property. + private int? _port; + + /// Redis non-SSL port. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public int? Port { get => this._port; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection[] _privateEndpointConnection; + + /// List of private endpoint connection associated with the specified redis cache + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection[] PrivateEndpointConnection { get => this._privateEndpointConnection; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState? _provisioningState; + + /// Redis instance provisioning status. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState? ProvisioningState { get => this._provisioningState; } + + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess? PublicNetworkAccess { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCreateProperties).PublicNetworkAccess; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCreateProperties).PublicNetworkAccess = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess)""); } + + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration RedisConfiguration { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCreateProperties).RedisConfiguration; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCreateProperties).RedisConfiguration = value ?? null /* model class */; } + + /// + /// Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers + /// to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string RedisVersion { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCreateProperties).RedisVersion; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCreateProperties).RedisVersion = value ?? null; } + + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public int? ReplicasPerMaster { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCreateProperties).ReplicasPerMaster; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCreateProperties).ReplicasPerMaster = value ?? default(int); } + + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public int? ReplicasPerPrimary { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCreateProperties).ReplicasPerPrimary; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCreateProperties).ReplicasPerPrimary = value ?? default(int); } + + /// The number of shards to be created on a Premium Cluster Cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public int? ShardCount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCreateProperties).ShardCount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCreateProperties).ShardCount = value ?? default(int); } + + /// The SKU of the Redis cache to deploy. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku Sku { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)__redisCreateProperties).Sku; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)__redisCreateProperties).Sku = value ; } + + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public int SkuCapacity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)__redisCreateProperties).SkuCapacity; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)__redisCreateProperties).SkuCapacity = value ; } + + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily SkuFamily { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)__redisCreateProperties).SkuFamily; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)__redisCreateProperties).SkuFamily = value ; } + + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName SkuName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)__redisCreateProperties).SkuName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)__redisCreateProperties).SkuName = value ; } + + /// Backing field for property. + private int? _sslPort; + + /// Redis SSL port. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public int? SslPort { get => this._sslPort; } + + /// + /// Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; + /// auto assigned by default. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string StaticIP { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)__redisCreateProperties).StaticIP; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)__redisCreateProperties).StaticIP = value ?? null; } + + /// + /// The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string SubnetId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)__redisCreateProperties).SubnetId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)__redisCreateProperties).SubnetId = value ?? null; } + + /// A dictionary of tenant settings + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings TenantSetting { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCreateProperties).TenantSetting; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCreateProperties).TenantSetting = value ?? null /* model class */; } + + /// Creates an new instance. + public RedisProperties() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__redisCreateProperties), __redisCreateProperties); + await eventListener.AssertObjectIsValid(nameof(__redisCreateProperties), __redisCreateProperties); + } + } + /// Properties of the redis cache. + public partial interface IRedisProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateProperties + { + /// The current primary key that clients can use to authenticate with Redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The current primary key that clients can use to authenticate with Redis cache.", + SerializedName = @"primaryKey", + PossibleTypes = new [] { typeof(string) })] + string AccessKeyPrimaryKey { get; } + /// + /// The current secondary key that clients can use to authenticate with Redis cache. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The current secondary key that clients can use to authenticate with Redis cache.", + SerializedName = @"secondaryKey", + PossibleTypes = new [] { typeof(string) })] + string AccessKeySecondaryKey { get; } + /// Redis host name. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Redis host name.", + SerializedName = @"hostName", + PossibleTypes = new [] { typeof(string) })] + string HostName { get; } + /// List of the Redis instances associated with the cache + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"List of the Redis instances associated with the cache", + SerializedName = @"instances", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails[] Instance { get; } + /// List of the linked servers associated with the cache + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"List of the linked servers associated with the cache", + SerializedName = @"linkedServers", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer[] LinkedServer { get; } + /// Redis non-SSL port. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Redis non-SSL port.", + SerializedName = @"port", + PossibleTypes = new [] { typeof(int) })] + int? Port { get; } + /// List of private endpoint connection associated with the specified redis cache + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"List of private endpoint connection associated with the specified redis cache", + SerializedName = @"privateEndpointConnections", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection[] PrivateEndpointConnection { get; } + /// Redis instance provisioning status. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Redis instance provisioning status.", + SerializedName = @"provisioningState", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState? ProvisioningState { get; } + /// Redis SSL port. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Redis SSL port.", + SerializedName = @"sslPort", + PossibleTypes = new [] { typeof(int) })] + int? SslPort { get; } + + } + /// Properties of the redis cache. + internal partial interface IRedisPropertiesInternal : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal + { + /// + /// The keys of the Redis cache - not set if this object is not the response to Create or Update redis cache + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys AccessKey { get; set; } + /// The current primary key that clients can use to authenticate with Redis cache. + string AccessKeyPrimaryKey { get; set; } + /// + /// The current secondary key that clients can use to authenticate with Redis cache. + /// + string AccessKeySecondaryKey { get; set; } + /// Redis host name. + string HostName { get; set; } + /// List of the Redis instances associated with the cache + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails[] Instance { get; set; } + /// List of the linked servers associated with the cache + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer[] LinkedServer { get; set; } + /// Redis non-SSL port. + int? Port { get; set; } + /// List of private endpoint connection associated with the specified redis cache + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection[] PrivateEndpointConnection { get; set; } + /// Redis instance provisioning status. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState? ProvisioningState { get; set; } + /// Redis SSL port. + int? SslPort { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisProperties.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisProperties.json.cs new file mode 100644 index 000000000000..98e03da4032f --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisProperties.json.cs @@ -0,0 +1,172 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Properties of the redis cache. + public partial class RedisProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisProperties(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisProperties(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __redisCreateProperties = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCreateProperties(json); + {_accessKey = If( json?.PropertyT("accessKeys"), out var __jsonAccessKeys) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisAccessKeys.FromJson(__jsonAccessKeys) : AccessKey;} + {_provisioningState = If( json?.PropertyT("provisioningState"), out var __jsonProvisioningState) ? (string)__jsonProvisioningState : (string)ProvisioningState;} + {_hostName = If( json?.PropertyT("hostName"), out var __jsonHostName) ? (string)__jsonHostName : (string)HostName;} + {_port = If( json?.PropertyT("port"), out var __jsonPort) ? (int?)__jsonPort : Port;} + {_sslPort = If( json?.PropertyT("sslPort"), out var __jsonSslPort) ? (int?)__jsonSslPort : SslPort;} + {_linkedServer = If( json?.PropertyT("linkedServers"), out var __jsonLinkedServers) ? If( __jsonLinkedServers as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer) (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServer.FromJson(__u) )) ))() : null : LinkedServer;} + {_instance = If( json?.PropertyT("instances"), out var __jsonInstances) ? If( __jsonInstances as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __q) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__q, (__p)=>(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails) (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisInstanceDetails.FromJson(__p) )) ))() : null : Instance;} + {_privateEndpointConnection = If( json?.PropertyT("privateEndpointConnections"), out var __jsonPrivateEndpointConnections) ? If( __jsonPrivateEndpointConnections as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __l) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__l, (__k)=>(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection) (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnection.FromJson(__k) )) ))() : null : PrivateEndpointConnection;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __redisCreateProperties?.ToJson(container, serializationMode); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._accessKey ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._accessKey.ToJson(null,serializationMode) : null, "accessKeys" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._provisioningState)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._provisioningState.ToString()) : null, "provisioningState" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._hostName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._hostName.ToString()) : null, "hostName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._port ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNumber((int)this._port) : null, "port" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._sslPort ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNumber((int)this._sslPort) : null, "sslPort" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._linkedServer) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __x in this._linkedServer ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("linkedServers",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._instance) + { + var __r = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __s in this._instance ) + { + AddIf(__s?.ToJson(null, serializationMode) ,__r.Add); + } + container.Add("instances",__r); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._privateEndpointConnection) + { + var __m = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __n in this._privateEndpointConnection ) + { + AddIf(__n?.ToJson(null, serializationMode) ,__m.Add); + } + container.Add("privateEndpointConnections",__m); + } + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisRebootParameters.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisRebootParameters.PowerShell.cs new file mode 100644 index 000000000000..678aaa4ae4cc --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisRebootParameters.PowerShell.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Specifies which Redis node(s) to reboot. + [System.ComponentModel.TypeConverter(typeof(RedisRebootParametersTypeConverter))] + public partial class RedisRebootParameters + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisRebootParameters(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisRebootParameters(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisRebootParameters(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("RebootType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParametersInternal)this).RebootType = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType?) content.GetValueForProperty("RebootType",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParametersInternal)this).RebootType, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType.CreateFrom); + } + if (content.Contains("ShardId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParametersInternal)this).ShardId = (int?) content.GetValueForProperty("ShardId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParametersInternal)this).ShardId, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("Port")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParametersInternal)this).Port = (int[]) content.GetValueForProperty("Port",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParametersInternal)this).Port, __y => TypeConverterExtensions.SelectToArray(__y, (__w)=> (int) global::System.Convert.ChangeType(__w, typeof(int)))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisRebootParameters(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("RebootType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParametersInternal)this).RebootType = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType?) content.GetValueForProperty("RebootType",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParametersInternal)this).RebootType, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType.CreateFrom); + } + if (content.Contains("ShardId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParametersInternal)this).ShardId = (int?) content.GetValueForProperty("ShardId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParametersInternal)this).ShardId, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("Port")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParametersInternal)this).Port = (int[]) content.GetValueForProperty("Port",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParametersInternal)this).Port, __y => TypeConverterExtensions.SelectToArray(__y, (__w)=> (int) global::System.Convert.ChangeType(__w, typeof(int)))); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Specifies which Redis node(s) to reboot. + [System.ComponentModel.TypeConverter(typeof(RedisRebootParametersTypeConverter))] + public partial interface IRedisRebootParameters + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisRebootParameters.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisRebootParameters.TypeConverter.cs new file mode 100644 index 000000000000..11993c9db1ff --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisRebootParameters.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisRebootParametersTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisRebootParameters.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisRebootParameters.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisRebootParameters.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisRebootParameters.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisRebootParameters.cs new file mode 100644 index 000000000000..eb43de57ddb7 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisRebootParameters.cs @@ -0,0 +1,91 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Specifies which Redis node(s) to reboot. + public partial class RedisRebootParameters : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParametersInternal + { + + /// Backing field for property. + private int[] _port; + + /// + /// A list of redis instances to reboot, specified by per-instance SSL ports or non-SSL ports. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public int[] Port { get => this._port; set => this._port = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType? _rebootType; + + /// Which Redis node(s) to reboot. Depending on this value data loss is possible. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType? RebootType { get => this._rebootType; set => this._rebootType = value; } + + /// Backing field for property. + private int? _shardId; + + /// If clustering is enabled, the ID of the shard to be rebooted. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public int? ShardId { get => this._shardId; set => this._shardId = value; } + + /// Creates an new instance. + public RedisRebootParameters() + { + + } + } + /// Specifies which Redis node(s) to reboot. + public partial interface IRedisRebootParameters : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// + /// A list of redis instances to reboot, specified by per-instance SSL ports or non-SSL ports. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"A list of redis instances to reboot, specified by per-instance SSL ports or non-SSL ports.", + SerializedName = @"ports", + PossibleTypes = new [] { typeof(int) })] + int[] Port { get; set; } + /// Which Redis node(s) to reboot. Depending on this value data loss is possible. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Which Redis node(s) to reboot. Depending on this value data loss is possible.", + SerializedName = @"rebootType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType? RebootType { get; set; } + /// If clustering is enabled, the ID of the shard to be rebooted. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"If clustering is enabled, the ID of the shard to be rebooted.", + SerializedName = @"shardId", + PossibleTypes = new [] { typeof(int) })] + int? ShardId { get; set; } + + } + /// Specifies which Redis node(s) to reboot. + internal partial interface IRedisRebootParametersInternal + + { + /// + /// A list of redis instances to reboot, specified by per-instance SSL ports or non-SSL ports. + /// + int[] Port { get; set; } + /// Which Redis node(s) to reboot. Depending on this value data loss is possible. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType? RebootType { get; set; } + /// If clustering is enabled, the ID of the shard to be rebooted. + int? ShardId { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisRebootParameters.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisRebootParameters.json.cs new file mode 100644 index 000000000000..a48b2baf1703 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisRebootParameters.json.cs @@ -0,0 +1,120 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Specifies which Redis node(s) to reboot. + public partial class RedisRebootParameters + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisRebootParameters(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisRebootParameters(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_rebootType = If( json?.PropertyT("rebootType"), out var __jsonRebootType) ? (string)__jsonRebootType : (string)RebootType;} + {_shardId = If( json?.PropertyT("shardId"), out var __jsonShardId) ? (int?)__jsonShardId : ShardId;} + {_port = If( json?.PropertyT("ports"), out var __jsonPorts) ? If( __jsonPorts as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(int) (__u is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNumber __t ? (int)__t : default(int))) ))() : null : Port;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._rebootType)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._rebootType.ToString()) : null, "rebootType" ,container.Add ); + AddIf( null != this._shardId ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNumber((int)this._shardId) : null, "shardId" ,container.Add ); + if (null != this._port) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __x in this._port ) + { + AddIf((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNumber(__x) ,__w.Add); + } + container.Add("ports",__w); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisRegenerateKeyParameters.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisRegenerateKeyParameters.PowerShell.cs new file mode 100644 index 000000000000..8da8464c4f02 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisRegenerateKeyParameters.PowerShell.cs @@ -0,0 +1,144 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Specifies which Redis access keys to reset. + [System.ComponentModel.TypeConverter(typeof(RedisRegenerateKeyParametersTypeConverter))] + public partial class RedisRegenerateKeyParameters + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisRegenerateKeyParameters(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisRegenerateKeyParameters(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisRegenerateKeyParameters(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("KeyType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParametersInternal)this).KeyType = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType) content.GetValueForProperty("KeyType",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParametersInternal)this).KeyType, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType.CreateFrom); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisRegenerateKeyParameters(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("KeyType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParametersInternal)this).KeyType = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType) content.GetValueForProperty("KeyType",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParametersInternal)this).KeyType, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType.CreateFrom); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Specifies which Redis access keys to reset. + [System.ComponentModel.TypeConverter(typeof(RedisRegenerateKeyParametersTypeConverter))] + public partial interface IRedisRegenerateKeyParameters + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisRegenerateKeyParameters.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisRegenerateKeyParameters.TypeConverter.cs new file mode 100644 index 000000000000..15d3cd66abc9 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisRegenerateKeyParameters.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisRegenerateKeyParametersTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisRegenerateKeyParameters.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisRegenerateKeyParameters.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisRegenerateKeyParameters.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisRegenerateKeyParameters.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisRegenerateKeyParameters.cs new file mode 100644 index 000000000000..5957c470defe --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisRegenerateKeyParameters.cs @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Specifies which Redis access keys to reset. + public partial class RedisRegenerateKeyParameters : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParametersInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType _keyType; + + /// The Redis access key to regenerate. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType KeyType { get => this._keyType; set => this._keyType = value; } + + /// Creates an new instance. + public RedisRegenerateKeyParameters() + { + + } + } + /// Specifies which Redis access keys to reset. + public partial interface IRedisRegenerateKeyParameters : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// The Redis access key to regenerate. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The Redis access key to regenerate.", + SerializedName = @"keyType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType KeyType { get; set; } + + } + /// Specifies which Redis access keys to reset. + internal partial interface IRedisRegenerateKeyParametersInternal + + { + /// The Redis access key to regenerate. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType KeyType { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisRegenerateKeyParameters.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisRegenerateKeyParameters.json.cs new file mode 100644 index 000000000000..40cf7fc18770 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisRegenerateKeyParameters.json.cs @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Specifies which Redis access keys to reset. + public partial class RedisRegenerateKeyParameters + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisRegenerateKeyParameters(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisRegenerateKeyParameters(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_keyType = If( json?.PropertyT("keyType"), out var __jsonKeyType) ? (string)__jsonKeyType : (string)KeyType;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._keyType)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._keyType.ToString()) : null, "keyType" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisResource.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisResource.PowerShell.cs new file mode 100644 index 000000000000..97fbd8b9dc74 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisResource.PowerShell.cs @@ -0,0 +1,432 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// A single Redis item in List or Get Operation. + [System.ComponentModel.TypeConverter(typeof(RedisResourceTypeConverter))] + public partial class RedisResource + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisResource(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisResource(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisResource(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Identity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Identity = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity) content.GetValueForProperty("Identity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Identity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.ManagedServiceIdentityTypeConverter.ConvertFrom); + } + if (content.Contains("Zone")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Zone = (string[]) content.GetValueForProperty("Zone",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Zone, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Tag")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)this).Tag = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTags) content.GetValueForProperty("Tag",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)this).Tag, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.TrackedResourceTagsTypeConverter.ConvertFrom); + } + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("Sku")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Sku = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku) content.GetValueForProperty("Sku",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Sku, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.SkuTypeConverter.ConvertFrom); + } + if (content.Contains("ProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).ProvisioningState = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState?) content.GetValueForProperty("ProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).ProvisioningState, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState.CreateFrom); + } + if (content.Contains("RedisVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).RedisVersion = (string) content.GetValueForProperty("RedisVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).RedisVersion, global::System.Convert.ToString); + } + if (content.Contains("EnableNonSslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).EnableNonSslPort = (bool?) content.GetValueForProperty("EnableNonSslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).EnableNonSslPort, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ReplicasPerMaster")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).ReplicasPerMaster = (int?) content.GetValueForProperty("ReplicasPerMaster",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).ReplicasPerMaster, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("ReplicasPerPrimary")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).ReplicasPerPrimary = (int?) content.GetValueForProperty("ReplicasPerPrimary",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).ReplicasPerPrimary, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("TenantSetting")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).TenantSetting = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) content.GetValueForProperty("TenantSetting",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).TenantSetting, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesTenantSettingsTypeConverter.ConvertFrom); + } + if (content.Contains("ShardCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).ShardCount = (int?) content.GetValueForProperty("ShardCount",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).ShardCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("MinimumTlsVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).MinimumTlsVersion = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion?) content.GetValueForProperty("MinimumTlsVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).MinimumTlsVersion, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion.CreateFrom); + } + if (content.Contains("PublicNetworkAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).PublicNetworkAccess = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess?) content.GetValueForProperty("PublicNetworkAccess",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).PublicNetworkAccess, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess.CreateFrom); + } + if (content.Contains("RedisConfiguration")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).RedisConfiguration = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) content.GetValueForProperty("RedisConfiguration",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).RedisConfiguration, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesRedisConfigurationTypeConverter.ConvertFrom); + } + if (content.Contains("SkuName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SkuName = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) content.GetValueForProperty("SkuName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SkuName, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName.CreateFrom); + } + if (content.Contains("SkuFamily")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SkuFamily = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) content.GetValueForProperty("SkuFamily",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SkuFamily, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily.CreateFrom); + } + if (content.Contains("SkuCapacity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SkuCapacity = (int) content.GetValueForProperty("SkuCapacity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SkuCapacity, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("SubnetId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SubnetId = (string) content.GetValueForProperty("SubnetId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SubnetId, global::System.Convert.ToString); + } + if (content.Contains("StaticIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).StaticIP = (string) content.GetValueForProperty("StaticIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).StaticIP, global::System.Convert.ToString); + } + if (content.Contains("AccessKey")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).AccessKey = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys) content.GetValueForProperty("AccessKey",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).AccessKey, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisAccessKeysTypeConverter.ConvertFrom); + } + if (content.Contains("HostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).HostName = (string) content.GetValueForProperty("HostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).HostName, global::System.Convert.ToString); + } + if (content.Contains("Port")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Port = (int?) content.GetValueForProperty("Port",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Port, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("SslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SslPort = (int?) content.GetValueForProperty("SslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SslPort, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("LinkedServer")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).LinkedServer = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer[]) content.GetValueForProperty("LinkedServer",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).LinkedServer, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerTypeConverter.ConvertFrom)); + } + if (content.Contains("Instance")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Instance = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails[]) content.GetValueForProperty("Instance",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Instance, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisInstanceDetailsTypeConverter.ConvertFrom)); + } + if (content.Contains("PrivateEndpointConnection")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).PrivateEndpointConnection = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection[]) content.GetValueForProperty("PrivateEndpointConnection",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).PrivateEndpointConnection, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnectionTypeConverter.ConvertFrom)); + } + if (content.Contains("IdentityPrincipalId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).IdentityPrincipalId = (string) content.GetValueForProperty("IdentityPrincipalId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).IdentityPrincipalId, global::System.Convert.ToString); + } + if (content.Contains("IdentityTenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).IdentityTenantId = (string) content.GetValueForProperty("IdentityTenantId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).IdentityTenantId, global::System.Convert.ToString); + } + if (content.Contains("IdentityType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).IdentityType = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType) content.GetValueForProperty("IdentityType",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).IdentityType, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType.CreateFrom); + } + if (content.Contains("IdentityUserAssignedIdentity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).IdentityUserAssignedIdentity = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities) content.GetValueForProperty("IdentityUserAssignedIdentity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).IdentityUserAssignedIdentity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.UserAssignedIdentitiesTypeConverter.ConvertFrom); + } + if (content.Contains("AccessKeyPrimaryKey")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).AccessKeyPrimaryKey = (string) content.GetValueForProperty("AccessKeyPrimaryKey",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).AccessKeyPrimaryKey, global::System.Convert.ToString); + } + if (content.Contains("AccessKeySecondaryKey")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).AccessKeySecondaryKey = (string) content.GetValueForProperty("AccessKeySecondaryKey",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).AccessKeySecondaryKey, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisResource(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Identity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Identity = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity) content.GetValueForProperty("Identity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Identity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.ManagedServiceIdentityTypeConverter.ConvertFrom); + } + if (content.Contains("Zone")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Zone = (string[]) content.GetValueForProperty("Zone",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Zone, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Tag")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)this).Tag = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTags) content.GetValueForProperty("Tag",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)this).Tag, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.TrackedResourceTagsTypeConverter.ConvertFrom); + } + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("Sku")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Sku = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku) content.GetValueForProperty("Sku",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Sku, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.SkuTypeConverter.ConvertFrom); + } + if (content.Contains("ProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).ProvisioningState = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState?) content.GetValueForProperty("ProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).ProvisioningState, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState.CreateFrom); + } + if (content.Contains("RedisVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).RedisVersion = (string) content.GetValueForProperty("RedisVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).RedisVersion, global::System.Convert.ToString); + } + if (content.Contains("EnableNonSslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).EnableNonSslPort = (bool?) content.GetValueForProperty("EnableNonSslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).EnableNonSslPort, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ReplicasPerMaster")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).ReplicasPerMaster = (int?) content.GetValueForProperty("ReplicasPerMaster",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).ReplicasPerMaster, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("ReplicasPerPrimary")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).ReplicasPerPrimary = (int?) content.GetValueForProperty("ReplicasPerPrimary",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).ReplicasPerPrimary, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("TenantSetting")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).TenantSetting = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) content.GetValueForProperty("TenantSetting",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).TenantSetting, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesTenantSettingsTypeConverter.ConvertFrom); + } + if (content.Contains("ShardCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).ShardCount = (int?) content.GetValueForProperty("ShardCount",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).ShardCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("MinimumTlsVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).MinimumTlsVersion = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion?) content.GetValueForProperty("MinimumTlsVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).MinimumTlsVersion, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion.CreateFrom); + } + if (content.Contains("PublicNetworkAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).PublicNetworkAccess = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess?) content.GetValueForProperty("PublicNetworkAccess",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).PublicNetworkAccess, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess.CreateFrom); + } + if (content.Contains("RedisConfiguration")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).RedisConfiguration = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) content.GetValueForProperty("RedisConfiguration",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).RedisConfiguration, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesRedisConfigurationTypeConverter.ConvertFrom); + } + if (content.Contains("SkuName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SkuName = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) content.GetValueForProperty("SkuName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SkuName, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName.CreateFrom); + } + if (content.Contains("SkuFamily")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SkuFamily = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) content.GetValueForProperty("SkuFamily",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SkuFamily, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily.CreateFrom); + } + if (content.Contains("SkuCapacity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SkuCapacity = (int) content.GetValueForProperty("SkuCapacity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SkuCapacity, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("SubnetId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SubnetId = (string) content.GetValueForProperty("SubnetId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SubnetId, global::System.Convert.ToString); + } + if (content.Contains("StaticIP")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).StaticIP = (string) content.GetValueForProperty("StaticIP",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).StaticIP, global::System.Convert.ToString); + } + if (content.Contains("AccessKey")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).AccessKey = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys) content.GetValueForProperty("AccessKey",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).AccessKey, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisAccessKeysTypeConverter.ConvertFrom); + } + if (content.Contains("HostName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).HostName = (string) content.GetValueForProperty("HostName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).HostName, global::System.Convert.ToString); + } + if (content.Contains("Port")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Port = (int?) content.GetValueForProperty("Port",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Port, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("SslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SslPort = (int?) content.GetValueForProperty("SslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).SslPort, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("LinkedServer")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).LinkedServer = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer[]) content.GetValueForProperty("LinkedServer",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).LinkedServer, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerTypeConverter.ConvertFrom)); + } + if (content.Contains("Instance")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Instance = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails[]) content.GetValueForProperty("Instance",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).Instance, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisInstanceDetailsTypeConverter.ConvertFrom)); + } + if (content.Contains("PrivateEndpointConnection")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).PrivateEndpointConnection = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection[]) content.GetValueForProperty("PrivateEndpointConnection",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).PrivateEndpointConnection, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnectionTypeConverter.ConvertFrom)); + } + if (content.Contains("IdentityPrincipalId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).IdentityPrincipalId = (string) content.GetValueForProperty("IdentityPrincipalId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).IdentityPrincipalId, global::System.Convert.ToString); + } + if (content.Contains("IdentityTenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).IdentityTenantId = (string) content.GetValueForProperty("IdentityTenantId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).IdentityTenantId, global::System.Convert.ToString); + } + if (content.Contains("IdentityType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).IdentityType = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType) content.GetValueForProperty("IdentityType",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).IdentityType, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType.CreateFrom); + } + if (content.Contains("IdentityUserAssignedIdentity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).IdentityUserAssignedIdentity = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities) content.GetValueForProperty("IdentityUserAssignedIdentity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).IdentityUserAssignedIdentity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.UserAssignedIdentitiesTypeConverter.ConvertFrom); + } + if (content.Contains("AccessKeyPrimaryKey")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).AccessKeyPrimaryKey = (string) content.GetValueForProperty("AccessKeyPrimaryKey",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).AccessKeyPrimaryKey, global::System.Convert.ToString); + } + if (content.Contains("AccessKeySecondaryKey")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).AccessKeySecondaryKey = (string) content.GetValueForProperty("AccessKeySecondaryKey",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal)this).AccessKeySecondaryKey, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// A single Redis item in List or Get Operation. + [System.ComponentModel.TypeConverter(typeof(RedisResourceTypeConverter))] + public partial interface IRedisResource + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisResource.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisResource.TypeConverter.cs new file mode 100644 index 000000000000..0a15c207b7fa --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisResource.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisResourceTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisResource.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisResource.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisResource.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisResource.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisResource.cs new file mode 100644 index 000000000000..9f53c2d0e2e1 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisResource.cs @@ -0,0 +1,643 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// A single Redis item in List or Get Operation. + public partial class RedisResource : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResource __trackedResource = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.TrackedResource(); + + /// The current primary key that clients can use to authenticate with Redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string AccessKeyPrimaryKey { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).AccessKeyPrimaryKey; } + + /// + /// The current secondary key that clients can use to authenticate with Redis cache. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string AccessKeySecondaryKey { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).AccessKeySecondaryKey; } + + /// Specifies whether the non-ssl Redis server port (6379) is enabled. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public bool? EnableNonSslPort { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).EnableNonSslPort; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).EnableNonSslPort = value ?? default(bool); } + + /// Redis host name. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string HostName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).HostName; } + + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__trackedResource).Id; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity _identity; + + /// The identity of the resource. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity Identity { get => (this._identity = this._identity ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.ManagedServiceIdentity()); set => this._identity = value; } + + /// + /// The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string IdentityPrincipalId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).PrincipalId; } + + /// + /// The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string IdentityTenantId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).TenantId; } + + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType? IdentityType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).Type = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType)""); } + + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities IdentityUserAssignedIdentity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).UserAssignedIdentity; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).UserAssignedIdentity = value ?? null /* model class */; } + + /// List of the Redis instances associated with the cache + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails[] Instance { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).Instance; } + + /// List of the linked servers associated with the cache + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer[] LinkedServer { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).LinkedServer; } + + /// The geo-location where the resource lives + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Location { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)__trackedResource).Location; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)__trackedResource).Location = value ; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__trackedResource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__trackedResource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__trackedResource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__trackedResource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__trackedResource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__trackedResource).Type = value; } + + /// Internal Acessors for AccessKey + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal.AccessKey { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).AccessKey; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).AccessKey = value; } + + /// Internal Acessors for AccessKeyPrimaryKey + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal.AccessKeyPrimaryKey { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).AccessKeyPrimaryKey; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).AccessKeyPrimaryKey = value; } + + /// Internal Acessors for AccessKeySecondaryKey + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal.AccessKeySecondaryKey { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).AccessKeySecondaryKey; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).AccessKeySecondaryKey = value; } + + /// Internal Acessors for HostName + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal.HostName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).HostName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).HostName = value; } + + /// Internal Acessors for Identity + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal.Identity { get => (this._identity = this._identity ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.ManagedServiceIdentity()); set { {_identity = value;} } } + + /// Internal Acessors for IdentityPrincipalId + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal.IdentityPrincipalId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).PrincipalId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).PrincipalId = value; } + + /// Internal Acessors for IdentityTenantId + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal.IdentityTenantId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).TenantId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).TenantId = value; } + + /// Internal Acessors for Instance + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails[] Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal.Instance { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).Instance; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).Instance = value; } + + /// Internal Acessors for LinkedServer + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer[] Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal.LinkedServer { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).LinkedServer; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).LinkedServer = value; } + + /// Internal Acessors for Port + int? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal.Port { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).Port; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).Port = value; } + + /// Internal Acessors for PrivateEndpointConnection + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection[] Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal.PrivateEndpointConnection { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).PrivateEndpointConnection; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).PrivateEndpointConnection = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisProperties Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisProperties()); set { {_property = value;} } } + + /// Internal Acessors for ProvisioningState + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal.ProvisioningState { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).ProvisioningState; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).ProvisioningState = value; } + + /// Internal Acessors for Sku + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal.Sku { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).Sku; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).Sku = value; } + + /// Internal Acessors for SslPort + int? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResourceInternal.SslPort { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).SslPort; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).SslPort = value; } + + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion? MinimumTlsVersion { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).MinimumTlsVersion; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).MinimumTlsVersion = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion)""); } + + /// The name of the resource + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__trackedResource).Name; } + + /// Redis non-SSL port. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public int? Port { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).Port; } + + /// List of private endpoint connection associated with the specified redis cache + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection[] PrivateEndpointConnection { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).PrivateEndpointConnection; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisProperties _property; + + /// Redis cache properties. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisProperties()); set => this._property = value; } + + /// Redis instance provisioning status. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState? ProvisioningState { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).ProvisioningState; } + + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess? PublicNetworkAccess { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).PublicNetworkAccess; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).PublicNetworkAccess = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess)""); } + + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration RedisConfiguration { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).RedisConfiguration; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).RedisConfiguration = value ?? null /* model class */; } + + /// + /// Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers + /// to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string RedisVersion { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).RedisVersion; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).RedisVersion = value ?? null; } + + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public int? ReplicasPerMaster { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).ReplicasPerMaster; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).ReplicasPerMaster = value ?? default(int); } + + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public int? ReplicasPerPrimary { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).ReplicasPerPrimary; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).ReplicasPerPrimary = value ?? default(int); } + + /// The number of shards to be created on a Premium Cluster Cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public int? ShardCount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).ShardCount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).ShardCount = value ?? default(int); } + + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public int SkuCapacity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).SkuCapacity; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).SkuCapacity = value ; } + + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily SkuFamily { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).SkuFamily; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).SkuFamily = value ; } + + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName SkuName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).SkuName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).SkuName = value ; } + + /// Redis SSL port. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public int? SslPort { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPropertiesInternal)Property).SslPort; } + + /// + /// Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; + /// auto assigned by default. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string StaticIP { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).StaticIP; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).StaticIP = value ?? null; } + + /// + /// The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string SubnetId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).SubnetId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreatePropertiesInternal)Property).SubnetId = value ?? null; } + + /// Resource tags. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceTags Tag { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)__trackedResource).Tag; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal)__trackedResource).Tag = value ?? null /* model class */; } + + /// A dictionary of tenant settings + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings TenantSetting { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).TenantSetting; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).TenantSetting = value ?? null /* model class */; } + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IResourceInternal)__trackedResource).Type; } + + /// Backing field for property. + private string[] _zone; + + /// A list of availability zones denoting where the resource needs to come from. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string[] Zone { get => this._zone; set => this._zone = value; } + + /// Creates an new instance. + public RedisResource() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__trackedResource), __trackedResource); + await eventListener.AssertObjectIsValid(nameof(__trackedResource), __trackedResource); + } + } + /// A single Redis item in List or Get Operation. + public partial interface IRedisResource : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResource + { + /// The current primary key that clients can use to authenticate with Redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The current primary key that clients can use to authenticate with Redis cache.", + SerializedName = @"primaryKey", + PossibleTypes = new [] { typeof(string) })] + string AccessKeyPrimaryKey { get; } + /// + /// The current secondary key that clients can use to authenticate with Redis cache. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The current secondary key that clients can use to authenticate with Redis cache.", + SerializedName = @"secondaryKey", + PossibleTypes = new [] { typeof(string) })] + string AccessKeySecondaryKey { get; } + /// Specifies whether the non-ssl Redis server port (6379) is enabled. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Specifies whether the non-ssl Redis server port (6379) is enabled.", + SerializedName = @"enableNonSslPort", + PossibleTypes = new [] { typeof(bool) })] + bool? EnableNonSslPort { get; set; } + /// Redis host name. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Redis host name.", + SerializedName = @"hostName", + PossibleTypes = new [] { typeof(string) })] + string HostName { get; } + /// + /// The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity.", + SerializedName = @"principalId", + PossibleTypes = new [] { typeof(string) })] + string IdentityPrincipalId { get; } + /// + /// The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity.", + SerializedName = @"tenantId", + PossibleTypes = new [] { typeof(string) })] + string IdentityTenantId { get; } + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).", + SerializedName = @"type", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType? IdentityType { get; set; } + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.", + SerializedName = @"userAssignedIdentities", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities IdentityUserAssignedIdentity { get; set; } + /// List of the Redis instances associated with the cache + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"List of the Redis instances associated with the cache", + SerializedName = @"instances", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails[] Instance { get; } + /// List of the linked servers associated with the cache + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"List of the linked servers associated with the cache", + SerializedName = @"linkedServers", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer[] LinkedServer { get; } + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2')", + SerializedName = @"minimumTlsVersion", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion? MinimumTlsVersion { get; set; } + /// Redis non-SSL port. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Redis non-SSL port.", + SerializedName = @"port", + PossibleTypes = new [] { typeof(int) })] + int? Port { get; } + /// List of private endpoint connection associated with the specified redis cache + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"List of private endpoint connection associated with the specified redis cache", + SerializedName = @"privateEndpointConnections", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection[] PrivateEndpointConnection { get; } + /// Redis instance provisioning status. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Redis instance provisioning status.", + SerializedName = @"provisioningState", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState? ProvisioningState { get; } + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'", + SerializedName = @"publicNetworkAccess", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess? PublicNetworkAccess { get; set; } + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc.", + SerializedName = @"redisConfiguration", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration RedisConfiguration { get; set; } + /// + /// Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers + /// to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'.", + SerializedName = @"redisVersion", + PossibleTypes = new [] { typeof(string) })] + string RedisVersion { get; set; } + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of replicas to be created per primary.", + SerializedName = @"replicasPerMaster", + PossibleTypes = new [] { typeof(int) })] + int? ReplicasPerMaster { get; set; } + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of replicas to be created per primary.", + SerializedName = @"replicasPerPrimary", + PossibleTypes = new [] { typeof(int) })] + int? ReplicasPerPrimary { get; set; } + /// The number of shards to be created on a Premium Cluster Cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of shards to be created on a Premium Cluster Cache.", + SerializedName = @"shardCount", + PossibleTypes = new [] { typeof(int) })] + int? ShardCount { get; set; } + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4).", + SerializedName = @"capacity", + PossibleTypes = new [] { typeof(int) })] + int SkuCapacity { get; set; } + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).", + SerializedName = @"family", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily SkuFamily { get; set; } + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)", + SerializedName = @"name", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName SkuName { get; set; } + /// Redis SSL port. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Redis SSL port.", + SerializedName = @"sslPort", + PossibleTypes = new [] { typeof(int) })] + int? SslPort { get; } + /// + /// Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; + /// auto assigned by default. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; auto assigned by default.", + SerializedName = @"staticIP", + PossibleTypes = new [] { typeof(string) })] + string StaticIP { get; set; } + /// + /// The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1", + SerializedName = @"subnetId", + PossibleTypes = new [] { typeof(string) })] + string SubnetId { get; set; } + /// A dictionary of tenant settings + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"A dictionary of tenant settings", + SerializedName = @"tenantSettings", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings TenantSetting { get; set; } + /// A list of availability zones denoting where the resource needs to come from. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"A list of availability zones denoting where the resource needs to come from.", + SerializedName = @"zones", + PossibleTypes = new [] { typeof(string) })] + string[] Zone { get; set; } + + } + /// A single Redis item in List or Get Operation. + internal partial interface IRedisResourceInternal : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ITrackedResourceInternal + { + /// + /// The keys of the Redis cache - not set if this object is not the response to Create or Update redis cache + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys AccessKey { get; set; } + /// The current primary key that clients can use to authenticate with Redis cache. + string AccessKeyPrimaryKey { get; set; } + /// + /// The current secondary key that clients can use to authenticate with Redis cache. + /// + string AccessKeySecondaryKey { get; set; } + /// Specifies whether the non-ssl Redis server port (6379) is enabled. + bool? EnableNonSslPort { get; set; } + /// Redis host name. + string HostName { get; set; } + /// The identity of the resource. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity Identity { get; set; } + /// + /// The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + string IdentityPrincipalId { get; set; } + /// + /// The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + string IdentityTenantId { get; set; } + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType? IdentityType { get; set; } + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities IdentityUserAssignedIdentity { get; set; } + /// List of the Redis instances associated with the cache + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisInstanceDetails[] Instance { get; set; } + /// List of the linked servers associated with the cache + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServer[] LinkedServer { get; set; } + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion? MinimumTlsVersion { get; set; } + /// Redis non-SSL port. + int? Port { get; set; } + /// List of private endpoint connection associated with the specified redis cache + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection[] PrivateEndpointConnection { get; set; } + /// Redis cache properties. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisProperties Property { get; set; } + /// Redis instance provisioning status. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState? ProvisioningState { get; set; } + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess? PublicNetworkAccess { get; set; } + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration RedisConfiguration { get; set; } + /// + /// Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers + /// to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'. + /// + string RedisVersion { get; set; } + /// The number of replicas to be created per primary. + int? ReplicasPerMaster { get; set; } + /// The number of replicas to be created per primary. + int? ReplicasPerPrimary { get; set; } + /// The number of shards to be created on a Premium Cluster Cache. + int? ShardCount { get; set; } + /// The SKU of the Redis cache to deploy. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku Sku { get; set; } + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + int SkuCapacity { get; set; } + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily SkuFamily { get; set; } + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName SkuName { get; set; } + /// Redis SSL port. + int? SslPort { get; set; } + /// + /// Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; + /// auto assigned by default. + /// + string StaticIP { get; set; } + /// + /// The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + /// + string SubnetId { get; set; } + /// A dictionary of tenant settings + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings TenantSetting { get; set; } + /// A list of availability zones denoting where the resource needs to come from. + string[] Zone { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisResource.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisResource.json.cs new file mode 100644 index 000000000000..755f7459e7fb --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisResource.json.cs @@ -0,0 +1,122 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// A single Redis item in List or Get Operation. + public partial class RedisResource + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisResource(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisResource(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __trackedResource = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.TrackedResource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisProperties.FromJson(__jsonProperties) : Property;} + {_identity = If( json?.PropertyT("identity"), out var __jsonIdentity) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.ManagedServiceIdentity.FromJson(__jsonIdentity) : Identity;} + {_zone = If( json?.PropertyT("zones"), out var __jsonZones) ? If( __jsonZones as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(string) (__u is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString __t ? (string)(__t.ToString()) : null)) ))() : null : Zone;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __trackedResource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AddIf( null != this._identity ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._identity.ToJson(null,serializationMode) : null, "identity" ,container.Add ); + if (null != this._zone) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __x in this._zone ) + { + AddIf(null != (((object)__x)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(__x.ToString()) : null ,__w.Add); + } + container.Add("zones",__w); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParameters.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParameters.PowerShell.cs new file mode 100644 index 000000000000..ae44426136c2 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParameters.PowerShell.cs @@ -0,0 +1,296 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Parameters supplied to the Update Redis operation. + [System.ComponentModel.TypeConverter(typeof(RedisUpdateParametersTypeConverter))] + public partial class RedisUpdateParameters + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParameters DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisUpdateParameters(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParameters DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisUpdateParameters(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParameters FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisUpdateParameters(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisUpdatePropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Identity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).Identity = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity) content.GetValueForProperty("Identity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).Identity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.ManagedServiceIdentityTypeConverter.ConvertFrom); + } + if (content.Contains("Tag")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).Tag = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags) content.GetValueForProperty("Tag",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).Tag, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisUpdateParametersTagsTypeConverter.ConvertFrom); + } + if (content.Contains("Sku")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).Sku = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku) content.GetValueForProperty("Sku",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).Sku, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.SkuTypeConverter.ConvertFrom); + } + if (content.Contains("RedisVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).RedisVersion = (string) content.GetValueForProperty("RedisVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).RedisVersion, global::System.Convert.ToString); + } + if (content.Contains("EnableNonSslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).EnableNonSslPort = (bool?) content.GetValueForProperty("EnableNonSslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).EnableNonSslPort, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ReplicasPerMaster")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).ReplicasPerMaster = (int?) content.GetValueForProperty("ReplicasPerMaster",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).ReplicasPerMaster, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("ReplicasPerPrimary")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).ReplicasPerPrimary = (int?) content.GetValueForProperty("ReplicasPerPrimary",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).ReplicasPerPrimary, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("TenantSetting")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).TenantSetting = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) content.GetValueForProperty("TenantSetting",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).TenantSetting, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesTenantSettingsTypeConverter.ConvertFrom); + } + if (content.Contains("ShardCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).ShardCount = (int?) content.GetValueForProperty("ShardCount",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).ShardCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("MinimumTlsVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).MinimumTlsVersion = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion?) content.GetValueForProperty("MinimumTlsVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).MinimumTlsVersion, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion.CreateFrom); + } + if (content.Contains("PublicNetworkAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).PublicNetworkAccess = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess?) content.GetValueForProperty("PublicNetworkAccess",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).PublicNetworkAccess, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess.CreateFrom); + } + if (content.Contains("RedisConfiguration")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).RedisConfiguration = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) content.GetValueForProperty("RedisConfiguration",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).RedisConfiguration, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesRedisConfigurationTypeConverter.ConvertFrom); + } + if (content.Contains("SkuName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).SkuName = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) content.GetValueForProperty("SkuName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).SkuName, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName.CreateFrom); + } + if (content.Contains("SkuFamily")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).SkuFamily = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) content.GetValueForProperty("SkuFamily",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).SkuFamily, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily.CreateFrom); + } + if (content.Contains("SkuCapacity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).SkuCapacity = (int) content.GetValueForProperty("SkuCapacity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).SkuCapacity, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("IdentityPrincipalId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).IdentityPrincipalId = (string) content.GetValueForProperty("IdentityPrincipalId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).IdentityPrincipalId, global::System.Convert.ToString); + } + if (content.Contains("IdentityTenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).IdentityTenantId = (string) content.GetValueForProperty("IdentityTenantId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).IdentityTenantId, global::System.Convert.ToString); + } + if (content.Contains("IdentityType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).IdentityType = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType) content.GetValueForProperty("IdentityType",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).IdentityType, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType.CreateFrom); + } + if (content.Contains("IdentityUserAssignedIdentity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).IdentityUserAssignedIdentity = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities) content.GetValueForProperty("IdentityUserAssignedIdentity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).IdentityUserAssignedIdentity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.UserAssignedIdentitiesTypeConverter.ConvertFrom); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisUpdateParameters(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisUpdatePropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Identity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).Identity = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity) content.GetValueForProperty("Identity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).Identity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.ManagedServiceIdentityTypeConverter.ConvertFrom); + } + if (content.Contains("Tag")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).Tag = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags) content.GetValueForProperty("Tag",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).Tag, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisUpdateParametersTagsTypeConverter.ConvertFrom); + } + if (content.Contains("Sku")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).Sku = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku) content.GetValueForProperty("Sku",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).Sku, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.SkuTypeConverter.ConvertFrom); + } + if (content.Contains("RedisVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).RedisVersion = (string) content.GetValueForProperty("RedisVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).RedisVersion, global::System.Convert.ToString); + } + if (content.Contains("EnableNonSslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).EnableNonSslPort = (bool?) content.GetValueForProperty("EnableNonSslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).EnableNonSslPort, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ReplicasPerMaster")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).ReplicasPerMaster = (int?) content.GetValueForProperty("ReplicasPerMaster",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).ReplicasPerMaster, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("ReplicasPerPrimary")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).ReplicasPerPrimary = (int?) content.GetValueForProperty("ReplicasPerPrimary",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).ReplicasPerPrimary, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("TenantSetting")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).TenantSetting = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) content.GetValueForProperty("TenantSetting",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).TenantSetting, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesTenantSettingsTypeConverter.ConvertFrom); + } + if (content.Contains("ShardCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).ShardCount = (int?) content.GetValueForProperty("ShardCount",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).ShardCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("MinimumTlsVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).MinimumTlsVersion = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion?) content.GetValueForProperty("MinimumTlsVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).MinimumTlsVersion, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion.CreateFrom); + } + if (content.Contains("PublicNetworkAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).PublicNetworkAccess = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess?) content.GetValueForProperty("PublicNetworkAccess",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).PublicNetworkAccess, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess.CreateFrom); + } + if (content.Contains("RedisConfiguration")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).RedisConfiguration = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) content.GetValueForProperty("RedisConfiguration",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).RedisConfiguration, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesRedisConfigurationTypeConverter.ConvertFrom); + } + if (content.Contains("SkuName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).SkuName = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) content.GetValueForProperty("SkuName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).SkuName, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName.CreateFrom); + } + if (content.Contains("SkuFamily")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).SkuFamily = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) content.GetValueForProperty("SkuFamily",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).SkuFamily, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily.CreateFrom); + } + if (content.Contains("SkuCapacity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).SkuCapacity = (int) content.GetValueForProperty("SkuCapacity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).SkuCapacity, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("IdentityPrincipalId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).IdentityPrincipalId = (string) content.GetValueForProperty("IdentityPrincipalId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).IdentityPrincipalId, global::System.Convert.ToString); + } + if (content.Contains("IdentityTenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).IdentityTenantId = (string) content.GetValueForProperty("IdentityTenantId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).IdentityTenantId, global::System.Convert.ToString); + } + if (content.Contains("IdentityType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).IdentityType = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType) content.GetValueForProperty("IdentityType",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).IdentityType, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType.CreateFrom); + } + if (content.Contains("IdentityUserAssignedIdentity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).IdentityUserAssignedIdentity = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities) content.GetValueForProperty("IdentityUserAssignedIdentity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal)this).IdentityUserAssignedIdentity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.UserAssignedIdentitiesTypeConverter.ConvertFrom); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Parameters supplied to the Update Redis operation. + [System.ComponentModel.TypeConverter(typeof(RedisUpdateParametersTypeConverter))] + public partial interface IRedisUpdateParameters + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParameters.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParameters.TypeConverter.cs new file mode 100644 index 000000000000..577d30e6b976 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParameters.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisUpdateParametersTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParameters ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParameters).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisUpdateParameters.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisUpdateParameters.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisUpdateParameters.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParameters.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParameters.cs new file mode 100644 index 000000000000..0a4cd1bfa587 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParameters.cs @@ -0,0 +1,382 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Parameters supplied to the Update Redis operation. + public partial class RedisUpdateParameters : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParameters, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal + { + + /// Specifies whether the non-ssl Redis server port (6379) is enabled. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public bool? EnableNonSslPort { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).EnableNonSslPort; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).EnableNonSslPort = value ?? default(bool); } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity _identity; + + /// The identity of the resource. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity Identity { get => (this._identity = this._identity ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.ManagedServiceIdentity()); set => this._identity = value; } + + /// + /// The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string IdentityPrincipalId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).PrincipalId; } + + /// + /// The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string IdentityTenantId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).TenantId; } + + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType? IdentityType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).Type = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType)""); } + + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities IdentityUserAssignedIdentity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).UserAssignedIdentity; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).UserAssignedIdentity = value ?? null /* model class */; } + + /// Internal Acessors for Identity + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal.Identity { get => (this._identity = this._identity ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.ManagedServiceIdentity()); set { {_identity = value;} } } + + /// Internal Acessors for IdentityPrincipalId + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal.IdentityPrincipalId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).PrincipalId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).PrincipalId = value; } + + /// Internal Acessors for IdentityTenantId + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal.IdentityTenantId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).TenantId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)Identity).TenantId = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateProperties Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisUpdateProperties()); set { {_property = value;} } } + + /// Internal Acessors for Sku + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersInternal.Sku { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)Property).Sku; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)Property).Sku = value; } + + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion? MinimumTlsVersion { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).MinimumTlsVersion; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).MinimumTlsVersion = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion)""); } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateProperties _property; + + /// Redis cache properties. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisUpdateProperties()); set => this._property = value; } + + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess? PublicNetworkAccess { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).PublicNetworkAccess; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).PublicNetworkAccess = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess)""); } + + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration RedisConfiguration { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).RedisConfiguration; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).RedisConfiguration = value ?? null /* model class */; } + + /// + /// Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers + /// to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string RedisVersion { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).RedisVersion; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).RedisVersion = value ?? null; } + + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public int? ReplicasPerMaster { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).ReplicasPerMaster; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).ReplicasPerMaster = value ?? default(int); } + + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public int? ReplicasPerPrimary { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).ReplicasPerPrimary; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).ReplicasPerPrimary = value ?? default(int); } + + /// The number of shards to be created on a Premium Cluster Cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public int? ShardCount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).ShardCount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).ShardCount = value ?? default(int); } + + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public int? SkuCapacity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)Property).SkuCapacity; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)Property).SkuCapacity = value ?? default(int); } + + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily? SkuFamily { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)Property).SkuFamily; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)Property).SkuFamily = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily)""); } + + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName? SkuName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)Property).SkuName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)Property).SkuName = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName)""); } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags _tag; + + /// Resource tags. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags Tag { get => (this._tag = this._tag ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisUpdateParametersTags()); set => this._tag = value; } + + /// A dictionary of tenant settings + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings TenantSetting { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).TenantSetting; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)Property).TenantSetting = value ?? null /* model class */; } + + /// Creates an new instance. + public RedisUpdateParameters() + { + + } + } + /// Parameters supplied to the Update Redis operation. + public partial interface IRedisUpdateParameters : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// Specifies whether the non-ssl Redis server port (6379) is enabled. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Specifies whether the non-ssl Redis server port (6379) is enabled.", + SerializedName = @"enableNonSslPort", + PossibleTypes = new [] { typeof(bool) })] + bool? EnableNonSslPort { get; set; } + /// + /// The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity.", + SerializedName = @"principalId", + PossibleTypes = new [] { typeof(string) })] + string IdentityPrincipalId { get; } + /// + /// The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity.", + SerializedName = @"tenantId", + PossibleTypes = new [] { typeof(string) })] + string IdentityTenantId { get; } + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).", + SerializedName = @"type", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType? IdentityType { get; set; } + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.", + SerializedName = @"userAssignedIdentities", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities IdentityUserAssignedIdentity { get; set; } + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2')", + SerializedName = @"minimumTlsVersion", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion? MinimumTlsVersion { get; set; } + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'", + SerializedName = @"publicNetworkAccess", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess? PublicNetworkAccess { get; set; } + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc.", + SerializedName = @"redisConfiguration", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration RedisConfiguration { get; set; } + /// + /// Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers + /// to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'.", + SerializedName = @"redisVersion", + PossibleTypes = new [] { typeof(string) })] + string RedisVersion { get; set; } + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of replicas to be created per primary.", + SerializedName = @"replicasPerMaster", + PossibleTypes = new [] { typeof(int) })] + int? ReplicasPerMaster { get; set; } + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of replicas to be created per primary.", + SerializedName = @"replicasPerPrimary", + PossibleTypes = new [] { typeof(int) })] + int? ReplicasPerPrimary { get; set; } + /// The number of shards to be created on a Premium Cluster Cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of shards to be created on a Premium Cluster Cache.", + SerializedName = @"shardCount", + PossibleTypes = new [] { typeof(int) })] + int? ShardCount { get; set; } + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4).", + SerializedName = @"capacity", + PossibleTypes = new [] { typeof(int) })] + int? SkuCapacity { get; set; } + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).", + SerializedName = @"family", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily? SkuFamily { get; set; } + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)", + SerializedName = @"name", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName? SkuName { get; set; } + /// Resource tags. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags Tag { get; set; } + /// A dictionary of tenant settings + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"A dictionary of tenant settings", + SerializedName = @"tenantSettings", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings TenantSetting { get; set; } + + } + /// Parameters supplied to the Update Redis operation. + internal partial interface IRedisUpdateParametersInternal + + { + /// Specifies whether the non-ssl Redis server port (6379) is enabled. + bool? EnableNonSslPort { get; set; } + /// The identity of the resource. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity Identity { get; set; } + /// + /// The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + string IdentityPrincipalId { get; set; } + /// + /// The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + string IdentityTenantId { get; set; } + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType? IdentityType { get; set; } + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities IdentityUserAssignedIdentity { get; set; } + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion? MinimumTlsVersion { get; set; } + /// Redis cache properties. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateProperties Property { get; set; } + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess? PublicNetworkAccess { get; set; } + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration RedisConfiguration { get; set; } + /// + /// Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers + /// to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'. + /// + string RedisVersion { get; set; } + /// The number of replicas to be created per primary. + int? ReplicasPerMaster { get; set; } + /// The number of replicas to be created per primary. + int? ReplicasPerPrimary { get; set; } + /// The number of shards to be created on a Premium Cluster Cache. + int? ShardCount { get; set; } + /// The SKU of the Redis cache to deploy. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku Sku { get; set; } + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + int? SkuCapacity { get; set; } + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily? SkuFamily { get; set; } + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName? SkuName { get; set; } + /// Resource tags. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags Tag { get; set; } + /// A dictionary of tenant settings + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings TenantSetting { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParameters.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParameters.json.cs new file mode 100644 index 000000000000..a2c4e602bbad --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParameters.json.cs @@ -0,0 +1,112 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Parameters supplied to the Update Redis operation. + public partial class RedisUpdateParameters + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParameters. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParameters. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParameters FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisUpdateParameters(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisUpdateParameters(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisUpdateProperties.FromJson(__jsonProperties) : Property;} + {_identity = If( json?.PropertyT("identity"), out var __jsonIdentity) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.ManagedServiceIdentity.FromJson(__jsonIdentity) : Identity;} + {_tag = If( json?.PropertyT("tags"), out var __jsonTags) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisUpdateParametersTags.FromJson(__jsonTags) : Tag;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AddIf( null != this._identity ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._identity.ToJson(null,serializationMode) : null, "identity" ,container.Add ); + AddIf( null != this._tag ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._tag.ToJson(null,serializationMode) : null, "tags" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.PowerShell.cs new file mode 100644 index 000000000000..3cdbe266a2a1 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.PowerShell.cs @@ -0,0 +1,140 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Resource tags. + [System.ComponentModel.TypeConverter(typeof(RedisUpdateParametersTagsTypeConverter))] + public partial class RedisUpdateParametersTags + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisUpdateParametersTags(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisUpdateParametersTags(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisUpdateParametersTags(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisUpdateParametersTags(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Resource tags. + [System.ComponentModel.TypeConverter(typeof(RedisUpdateParametersTagsTypeConverter))] + public partial interface IRedisUpdateParametersTags + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.TypeConverter.cs new file mode 100644 index 000000000000..5e96324f4a2e --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisUpdateParametersTagsTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisUpdateParametersTags.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisUpdateParametersTags.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisUpdateParametersTags.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.cs new file mode 100644 index 000000000000..9e1fdc364b13 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.cs @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Resource tags. + public partial class RedisUpdateParametersTags : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTagsInternal + { + + /// Creates an new instance. + public RedisUpdateParametersTags() + { + + } + } + /// Resource tags. + public partial interface IRedisUpdateParametersTags : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray + { + + } + /// Resource tags. + internal partial interface IRedisUpdateParametersTagsInternal + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.dictionary.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.dictionary.cs new file mode 100644 index 000000000000..776acec2e84d --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.dictionary.cs @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + public partial class RedisUpdateParametersTags : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray + { + protected global::System.Collections.Generic.Dictionary __additionalProperties = new global::System.Collections.Generic.Dictionary(); + + global::System.Collections.Generic.IDictionary Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.AdditionalProperties { get => __additionalProperties; } + + int Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Count { get => __additionalProperties.Count; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Keys { get => __additionalProperties.Keys; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Values { get => __additionalProperties.Values; } + + public string this[global::System.String index] { get => __additionalProperties[index]; set => __additionalProperties[index] = value; } + + /// + /// + public void Add(global::System.String key, string value) => __additionalProperties.Add( key, value); + + public void Clear() => __additionalProperties.Clear(); + + /// + public bool ContainsKey(global::System.String key) => __additionalProperties.ContainsKey( key); + + /// + public void CopyFrom(global::System.Collections.IDictionary source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public void CopyFrom(global::System.Management.Automation.PSObject source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public bool Remove(global::System.String key) => __additionalProperties.Remove( key); + + /// + /// + public bool TryGetValue(global::System.String key, out string value) => __additionalProperties.TryGetValue( key, out value); + + /// + + public static implicit operator global::System.Collections.Generic.Dictionary(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisUpdateParametersTags source) => source.__additionalProperties; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.json.cs new file mode 100644 index 000000000000..73aecfb22e4e --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateParametersTags.json.cs @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Resource tags. + public partial class RedisUpdateParametersTags + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisUpdateParametersTags(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + /// + internal RedisUpdateParametersTags(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, global::System.Collections.Generic.HashSet exclusions = null) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.FromJson( json, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray)this).AdditionalProperties, null ,exclusions ); + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.ToJson( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray)this).AdditionalProperties, container); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateProperties.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateProperties.PowerShell.cs new file mode 100644 index 000000000000..083da692ae5f --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateProperties.PowerShell.cs @@ -0,0 +1,240 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Patchable properties of the redis cache. + [System.ComponentModel.TypeConverter(typeof(RedisUpdatePropertiesTypeConverter))] + public partial class RedisUpdateProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisUpdateProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisUpdateProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisUpdateProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Sku")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)this).Sku = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku) content.GetValueForProperty("Sku",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)this).Sku, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.SkuTypeConverter.ConvertFrom); + } + if (content.Contains("RedisVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisVersion = (string) content.GetValueForProperty("RedisVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisVersion, global::System.Convert.ToString); + } + if (content.Contains("EnableNonSslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).EnableNonSslPort = (bool?) content.GetValueForProperty("EnableNonSslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).EnableNonSslPort, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ReplicasPerMaster")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerMaster = (int?) content.GetValueForProperty("ReplicasPerMaster",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerMaster, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("ReplicasPerPrimary")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerPrimary = (int?) content.GetValueForProperty("ReplicasPerPrimary",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerPrimary, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("TenantSetting")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).TenantSetting = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) content.GetValueForProperty("TenantSetting",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).TenantSetting, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesTenantSettingsTypeConverter.ConvertFrom); + } + if (content.Contains("ShardCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ShardCount = (int?) content.GetValueForProperty("ShardCount",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ShardCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("MinimumTlsVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).MinimumTlsVersion = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion?) content.GetValueForProperty("MinimumTlsVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).MinimumTlsVersion, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion.CreateFrom); + } + if (content.Contains("PublicNetworkAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).PublicNetworkAccess = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess?) content.GetValueForProperty("PublicNetworkAccess",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).PublicNetworkAccess, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess.CreateFrom); + } + if (content.Contains("RedisConfiguration")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisConfiguration = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) content.GetValueForProperty("RedisConfiguration",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisConfiguration, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesRedisConfigurationTypeConverter.ConvertFrom); + } + if (content.Contains("SkuName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)this).SkuName = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) content.GetValueForProperty("SkuName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)this).SkuName, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName.CreateFrom); + } + if (content.Contains("SkuFamily")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)this).SkuFamily = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) content.GetValueForProperty("SkuFamily",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)this).SkuFamily, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily.CreateFrom); + } + if (content.Contains("SkuCapacity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)this).SkuCapacity = (int) content.GetValueForProperty("SkuCapacity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)this).SkuCapacity, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisUpdateProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Sku")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)this).Sku = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku) content.GetValueForProperty("Sku",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)this).Sku, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.SkuTypeConverter.ConvertFrom); + } + if (content.Contains("RedisVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisVersion = (string) content.GetValueForProperty("RedisVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisVersion, global::System.Convert.ToString); + } + if (content.Contains("EnableNonSslPort")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).EnableNonSslPort = (bool?) content.GetValueForProperty("EnableNonSslPort",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).EnableNonSslPort, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ReplicasPerMaster")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerMaster = (int?) content.GetValueForProperty("ReplicasPerMaster",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerMaster, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("ReplicasPerPrimary")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerPrimary = (int?) content.GetValueForProperty("ReplicasPerPrimary",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ReplicasPerPrimary, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("TenantSetting")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).TenantSetting = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) content.GetValueForProperty("TenantSetting",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).TenantSetting, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesTenantSettingsTypeConverter.ConvertFrom); + } + if (content.Contains("ShardCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ShardCount = (int?) content.GetValueForProperty("ShardCount",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).ShardCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("MinimumTlsVersion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).MinimumTlsVersion = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion?) content.GetValueForProperty("MinimumTlsVersion",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).MinimumTlsVersion, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion.CreateFrom); + } + if (content.Contains("PublicNetworkAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).PublicNetworkAccess = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess?) content.GetValueForProperty("PublicNetworkAccess",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).PublicNetworkAccess, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess.CreateFrom); + } + if (content.Contains("RedisConfiguration")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisConfiguration = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) content.GetValueForProperty("RedisConfiguration",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)this).RedisConfiguration, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonPropertiesRedisConfigurationTypeConverter.ConvertFrom); + } + if (content.Contains("SkuName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)this).SkuName = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) content.GetValueForProperty("SkuName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)this).SkuName, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName.CreateFrom); + } + if (content.Contains("SkuFamily")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)this).SkuFamily = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) content.GetValueForProperty("SkuFamily",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)this).SkuFamily, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily.CreateFrom); + } + if (content.Contains("SkuCapacity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)this).SkuCapacity = (int) content.GetValueForProperty("SkuCapacity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal)this).SkuCapacity, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Patchable properties of the redis cache. + [System.ComponentModel.TypeConverter(typeof(RedisUpdatePropertiesTypeConverter))] + public partial interface IRedisUpdateProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateProperties.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateProperties.TypeConverter.cs new file mode 100644 index 000000000000..d2a8073bfbc8 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisUpdatePropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisUpdateProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisUpdateProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisUpdateProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateProperties.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateProperties.cs new file mode 100644 index 000000000000..ef9f7c5d66c6 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateProperties.cs @@ -0,0 +1,163 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Patchable properties of the redis cache. + public partial class RedisUpdateProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateProperties, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonProperties __redisCommonProperties = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonProperties(); + + /// Specifies whether the non-ssl Redis server port (6379) is enabled. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public bool? EnableNonSslPort { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).EnableNonSslPort; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).EnableNonSslPort = value ?? default(bool); } + + /// Internal Acessors for Sku + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdatePropertiesInternal.Sku { get => (this._sku = this._sku ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.Sku()); set { {_sku = value;} } } + + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion? MinimumTlsVersion { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).MinimumTlsVersion; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).MinimumTlsVersion = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion)""); } + + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess? PublicNetworkAccess { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).PublicNetworkAccess; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).PublicNetworkAccess = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess)""); } + + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration RedisConfiguration { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).RedisConfiguration; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).RedisConfiguration = value ?? null /* model class */; } + + /// + /// Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers + /// to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public string RedisVersion { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).RedisVersion; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).RedisVersion = value ?? null; } + + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public int? ReplicasPerMaster { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).ReplicasPerMaster; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).ReplicasPerMaster = value ?? default(int); } + + /// The number of replicas to be created per primary. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public int? ReplicasPerPrimary { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).ReplicasPerPrimary; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).ReplicasPerPrimary = value ?? default(int); } + + /// The number of shards to be created on a Premium Cluster Cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public int? ShardCount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).ShardCount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).ShardCount = value ?? default(int); } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku _sku; + + /// The SKU of the Redis cache to deploy. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku Sku { get => (this._sku = this._sku ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.Sku()); set => this._sku = value; } + + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public int? SkuCapacity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)Sku).Capacity; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)Sku).Capacity = value ?? default(int); } + + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily? SkuFamily { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)Sku).Family; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)Sku).Family = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily)""); } + + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName? SkuName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)Sku).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)Sku).Name = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName)""); } + + /// A dictionary of tenant settings + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inherited)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings TenantSetting { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).TenantSetting; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal)__redisCommonProperties).TenantSetting = value ?? null /* model class */; } + + /// Creates an new instance. + public RedisUpdateProperties() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__redisCommonProperties), __redisCommonProperties); + await eventListener.AssertObjectIsValid(nameof(__redisCommonProperties), __redisCommonProperties); + } + } + /// Patchable properties of the redis cache. + public partial interface IRedisUpdateProperties : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonProperties + { + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4).", + SerializedName = @"capacity", + PossibleTypes = new [] { typeof(int) })] + int? SkuCapacity { get; set; } + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).", + SerializedName = @"family", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily? SkuFamily { get; set; } + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)", + SerializedName = @"name", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName? SkuName { get; set; } + + } + /// Patchable properties of the redis cache. + internal partial interface IRedisUpdatePropertiesInternal : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesInternal + { + /// The SKU of the Redis cache to deploy. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku Sku { get; set; } + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + int? SkuCapacity { get; set; } + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily? SkuFamily { get; set; } + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName? SkuName { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateProperties.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateProperties.json.cs new file mode 100644 index 000000000000..4497e38ee398 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/RedisUpdateProperties.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Patchable properties of the redis cache. + public partial class RedisUpdateProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisUpdateProperties(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisUpdateProperties(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __redisCommonProperties = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCommonProperties(json); + {_sku = If( json?.PropertyT("sku"), out var __jsonSku) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.Sku.FromJson(__jsonSku) : Sku;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __redisCommonProperties?.ToJson(container, serializationMode); + AddIf( null != this._sku ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._sku.ToJson(null,serializationMode) : null, "sku" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntries.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntries.PowerShell.cs new file mode 100644 index 000000000000..177a060e210f --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntries.PowerShell.cs @@ -0,0 +1,144 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// List of patch schedules for a Redis cache. + [System.ComponentModel.TypeConverter(typeof(ScheduleEntriesTypeConverter))] + public partial class ScheduleEntries + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntries DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ScheduleEntries(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntries DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ScheduleEntries(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntries FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ScheduleEntries(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("ScheduleEntry")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntriesInternal)this).ScheduleEntry = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry[]) content.GetValueForProperty("ScheduleEntry",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntriesInternal)this).ScheduleEntry, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ScheduleEntryTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ScheduleEntries(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("ScheduleEntry")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntriesInternal)this).ScheduleEntry = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry[]) content.GetValueForProperty("ScheduleEntry",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntriesInternal)this).ScheduleEntry, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ScheduleEntryTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// List of patch schedules for a Redis cache. + [System.ComponentModel.TypeConverter(typeof(ScheduleEntriesTypeConverter))] + public partial interface IScheduleEntries + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntries.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntries.TypeConverter.cs new file mode 100644 index 000000000000..7cf0beba8f1b --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntries.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ScheduleEntriesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntries ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntries).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ScheduleEntries.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ScheduleEntries.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ScheduleEntries.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntries.cs b/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntries.cs new file mode 100644 index 000000000000..473986c3a1f3 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntries.cs @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// List of patch schedules for a Redis cache. + public partial class ScheduleEntries : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntries, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntriesInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry[] _scheduleEntry; + + /// List of patch schedules for a Redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry[] ScheduleEntry { get => this._scheduleEntry; set => this._scheduleEntry = value; } + + /// Creates an new instance. + public ScheduleEntries() + { + + } + } + /// List of patch schedules for a Redis cache. + public partial interface IScheduleEntries : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// List of patch schedules for a Redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"List of patch schedules for a Redis cache.", + SerializedName = @"scheduleEntries", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry[] ScheduleEntry { get; set; } + + } + /// List of patch schedules for a Redis cache. + internal partial interface IScheduleEntriesInternal + + { + /// List of patch schedules for a Redis cache. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry[] ScheduleEntry { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntries.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntries.json.cs new file mode 100644 index 000000000000..af7dc461f548 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntries.json.cs @@ -0,0 +1,116 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// List of patch schedules for a Redis cache. + public partial class ScheduleEntries + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntries. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntries. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntries FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new ScheduleEntries(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal ScheduleEntries(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_scheduleEntry = If( json?.PropertyT("scheduleEntries"), out var __jsonScheduleEntries) ? If( __jsonScheduleEntries as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry) (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ScheduleEntry.FromJson(__u) )) ))() : null : ScheduleEntry;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (null != this._scheduleEntry) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __x in this._scheduleEntry ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("scheduleEntries",__w); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntry.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntry.PowerShell.cs new file mode 100644 index 000000000000..8ed02c84ae39 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntry.PowerShell.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Patch schedule entry for a Premium Redis Cache. + [System.ComponentModel.TypeConverter(typeof(ScheduleEntryTypeConverter))] + public partial class ScheduleEntry + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ScheduleEntry(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ScheduleEntry(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ScheduleEntry(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("DayOfWeek")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntryInternal)this).DayOfWeek = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek) content.GetValueForProperty("DayOfWeek",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntryInternal)this).DayOfWeek, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek.CreateFrom); + } + if (content.Contains("StartHourUtc")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntryInternal)this).StartHourUtc = (int) content.GetValueForProperty("StartHourUtc",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntryInternal)this).StartHourUtc, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("MaintenanceWindow")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntryInternal)this).MaintenanceWindow = (global::System.TimeSpan?) content.GetValueForProperty("MaintenanceWindow",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntryInternal)this).MaintenanceWindow, (v) => v is global::System.TimeSpan _v ? _v : global::System.Xml.XmlConvert.ToTimeSpan( v.ToString() )); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ScheduleEntry(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("DayOfWeek")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntryInternal)this).DayOfWeek = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek) content.GetValueForProperty("DayOfWeek",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntryInternal)this).DayOfWeek, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek.CreateFrom); + } + if (content.Contains("StartHourUtc")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntryInternal)this).StartHourUtc = (int) content.GetValueForProperty("StartHourUtc",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntryInternal)this).StartHourUtc, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("MaintenanceWindow")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntryInternal)this).MaintenanceWindow = (global::System.TimeSpan?) content.GetValueForProperty("MaintenanceWindow",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntryInternal)this).MaintenanceWindow, (v) => v is global::System.TimeSpan _v ? _v : global::System.Xml.XmlConvert.ToTimeSpan( v.ToString() )); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Patch schedule entry for a Premium Redis Cache. + [System.ComponentModel.TypeConverter(typeof(ScheduleEntryTypeConverter))] + public partial interface IScheduleEntry + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntry.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntry.TypeConverter.cs new file mode 100644 index 000000000000..de52634ed926 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntry.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ScheduleEntryTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ScheduleEntry.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ScheduleEntry.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ScheduleEntry.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntry.cs b/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntry.cs new file mode 100644 index 000000000000..3ee8d164d173 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntry.cs @@ -0,0 +1,85 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Patch schedule entry for a Premium Redis Cache. + public partial class ScheduleEntry : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntryInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek _dayOfWeek; + + /// Day of the week when a cache can be patched. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek DayOfWeek { get => this._dayOfWeek; set => this._dayOfWeek = value; } + + /// Backing field for property. + private global::System.TimeSpan? _maintenanceWindow; + + /// ISO8601 timespan specifying how much time cache patching can take. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public global::System.TimeSpan? MaintenanceWindow { get => this._maintenanceWindow; set => this._maintenanceWindow = value; } + + /// Backing field for property. + private int _startHourUtc; + + /// Start hour after which cache patching can start. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public int StartHourUtc { get => this._startHourUtc; set => this._startHourUtc = value; } + + /// Creates an new instance. + public ScheduleEntry() + { + + } + } + /// Patch schedule entry for a Premium Redis Cache. + public partial interface IScheduleEntry : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// Day of the week when a cache can be patched. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Day of the week when a cache can be patched.", + SerializedName = @"dayOfWeek", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek DayOfWeek { get; set; } + /// ISO8601 timespan specifying how much time cache patching can take. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"ISO8601 timespan specifying how much time cache patching can take. ", + SerializedName = @"maintenanceWindow", + PossibleTypes = new [] { typeof(global::System.TimeSpan) })] + global::System.TimeSpan? MaintenanceWindow { get; set; } + /// Start hour after which cache patching can start. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Start hour after which cache patching can start.", + SerializedName = @"startHourUtc", + PossibleTypes = new [] { typeof(int) })] + int StartHourUtc { get; set; } + + } + /// Patch schedule entry for a Premium Redis Cache. + internal partial interface IScheduleEntryInternal + + { + /// Day of the week when a cache can be patched. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek DayOfWeek { get; set; } + /// ISO8601 timespan specifying how much time cache patching can take. + global::System.TimeSpan? MaintenanceWindow { get; set; } + /// Start hour after which cache patching can start. + int StartHourUtc { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntry.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntry.json.cs new file mode 100644 index 000000000000..8a2c7c46f5b1 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/ScheduleEntry.json.cs @@ -0,0 +1,112 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Patch schedule entry for a Premium Redis Cache. + public partial class ScheduleEntry + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new ScheduleEntry(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal ScheduleEntry(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_dayOfWeek = If( json?.PropertyT("dayOfWeek"), out var __jsonDayOfWeek) ? (string)__jsonDayOfWeek : (string)DayOfWeek;} + {_startHourUtc = If( json?.PropertyT("startHourUtc"), out var __jsonStartHourUtc) ? (int)__jsonStartHourUtc : StartHourUtc;} + {_maintenanceWindow = If( json?.PropertyT("maintenanceWindow"), out var __jsonMaintenanceWindow) ? global::System.Xml.XmlConvert.ToTimeSpan( __jsonMaintenanceWindow ) : MaintenanceWindow;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._dayOfWeek)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._dayOfWeek.ToString()) : null, "dayOfWeek" ,container.Add ); + AddIf( (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNumber(this._startHourUtc), "startHourUtc" ,container.Add ); + AddIf( (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode)(null != this._maintenanceWindow ? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(global::System.Xml.XmlConvert.ToString((global::System.TimeSpan)this._maintenanceWindow)): null), "maintenanceWindow" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/Sku.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/Sku.PowerShell.cs new file mode 100644 index 000000000000..24029ea4e87b --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/Sku.PowerShell.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// SKU parameters supplied to the create Redis operation. + [System.ComponentModel.TypeConverter(typeof(SkuTypeConverter))] + public partial class Sku + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Sku(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Sku(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Sku(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)this).Name = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)this).Name, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName.CreateFrom); + } + if (content.Contains("Family")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)this).Family = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) content.GetValueForProperty("Family",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)this).Family, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily.CreateFrom); + } + if (content.Contains("Capacity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)this).Capacity = (int) content.GetValueForProperty("Capacity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)this).Capacity, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Sku(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)this).Name = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)this).Name, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName.CreateFrom); + } + if (content.Contains("Family")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)this).Family = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) content.GetValueForProperty("Family",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)this).Family, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily.CreateFrom); + } + if (content.Contains("Capacity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)this).Capacity = (int) content.GetValueForProperty("Capacity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal)this).Capacity, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// SKU parameters supplied to the create Redis operation. + [System.ComponentModel.TypeConverter(typeof(SkuTypeConverter))] + public partial interface ISku + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/Sku.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/Sku.TypeConverter.cs new file mode 100644 index 000000000000..fabcfe1277e0 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/Sku.TypeConverter.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class SkuTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Sku.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Sku.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Sku.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/Sku.cs b/swaggerci/redis/generated/api/Models/Api20220601/Sku.cs new file mode 100644 index 000000000000..9051cc7b0b49 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/Sku.cs @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// SKU parameters supplied to the create Redis operation. + public partial class Sku : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISkuInternal + { + + /// Backing field for property. + private int _capacity; + + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public int Capacity { get => this._capacity; set => this._capacity = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily _family; + + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily Family { get => this._family; set => this._family = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName _name; + + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName Name { get => this._name; set => this._name = value; } + + /// Creates an new instance. + public Sku() + { + + } + } + /// SKU parameters supplied to the create Redis operation. + public partial interface ISku : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4).", + SerializedName = @"capacity", + PossibleTypes = new [] { typeof(int) })] + int Capacity { get; set; } + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).", + SerializedName = @"family", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily Family { get; set; } + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)", + SerializedName = @"name", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName Name { get; set; } + + } + /// SKU parameters supplied to the create Redis operation. + internal partial interface ISkuInternal + + { + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + int Capacity { get; set; } + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily Family { get; set; } + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName Name { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/Sku.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/Sku.json.cs new file mode 100644 index 000000000000..306aa105eb02 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/Sku.json.cs @@ -0,0 +1,112 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// SKU parameters supplied to the create Redis operation. + public partial class Sku + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ISku FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new Sku(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal Sku(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_name = If( json?.PropertyT("name"), out var __jsonName) ? (string)__jsonName : (string)Name;} + {_family = If( json?.PropertyT("family"), out var __jsonFamily) ? (string)__jsonFamily : (string)Family;} + {_capacity = If( json?.PropertyT("capacity"), out var __jsonCapacity) ? (int)__jsonCapacity : Capacity;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._name)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._name.ToString()) : null, "name" ,container.Add ); + AddIf( null != (((object)this._family)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._family.ToString()) : null, "family" ,container.Add ); + AddIf( (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNumber(this._capacity), "capacity" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotification.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotification.PowerShell.cs new file mode 100644 index 000000000000..d3b550355dcc --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotification.PowerShell.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Properties of upgrade notification. + [System.ComponentModel.TypeConverter(typeof(UpgradeNotificationTypeConverter))] + public partial class UpgradeNotification + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new UpgradeNotification(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new UpgradeNotification(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal UpgradeNotification(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Timestamp")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationInternal)this).Timestamp = (global::System.DateTime?) content.GetValueForProperty("Timestamp",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationInternal)this).Timestamp, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("UpsellNotification")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationInternal)this).UpsellNotification = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationUpsellNotification) content.GetValueForProperty("UpsellNotification",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationInternal)this).UpsellNotification, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.UpgradeNotificationUpsellNotificationTypeConverter.ConvertFrom); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal UpgradeNotification(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Timestamp")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationInternal)this).Timestamp = (global::System.DateTime?) content.GetValueForProperty("Timestamp",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationInternal)this).Timestamp, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("UpsellNotification")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationInternal)this).UpsellNotification = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationUpsellNotification) content.GetValueForProperty("UpsellNotification",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationInternal)this).UpsellNotification, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.UpgradeNotificationUpsellNotificationTypeConverter.ConvertFrom); + } + AfterDeserializePSObject(content); + } + } + /// Properties of upgrade notification. + [System.ComponentModel.TypeConverter(typeof(UpgradeNotificationTypeConverter))] + public partial interface IUpgradeNotification + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotification.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotification.TypeConverter.cs new file mode 100644 index 000000000000..a8f6e211b190 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotification.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class UpgradeNotificationTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return UpgradeNotification.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return UpgradeNotification.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return UpgradeNotification.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotification.cs b/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotification.cs new file mode 100644 index 000000000000..57f7d5d9a81c --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotification.cs @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Properties of upgrade notification. + public partial class UpgradeNotification : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationInternal + { + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationInternal.Name { get => this._name; set { {_name = value;} } } + + /// Internal Acessors for Timestamp + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationInternal.Timestamp { get => this._timestamp; set { {_timestamp = value;} } } + + /// Internal Acessors for UpsellNotification + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationUpsellNotification Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationInternal.UpsellNotification { get => (this._upsellNotification = this._upsellNotification ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.UpgradeNotificationUpsellNotification()); set { {_upsellNotification = value;} } } + + /// Backing field for property. + private string _name; + + /// Name of upgrade notification. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Name { get => this._name; } + + /// Backing field for property. + private global::System.DateTime? _timestamp; + + /// Timestamp when upgrade notification occurred. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public global::System.DateTime? Timestamp { get => this._timestamp; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationUpsellNotification _upsellNotification; + + /// Details about this upgrade notification + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationUpsellNotification UpsellNotification { get => (this._upsellNotification = this._upsellNotification ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.UpgradeNotificationUpsellNotification()); } + + /// Creates an new instance. + public UpgradeNotification() + { + + } + } + /// Properties of upgrade notification. + public partial interface IUpgradeNotification : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// Name of upgrade notification. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Name of upgrade notification.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + string Name { get; } + /// Timestamp when upgrade notification occurred. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Timestamp when upgrade notification occurred.", + SerializedName = @"timestamp", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? Timestamp { get; } + /// Details about this upgrade notification + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Details about this upgrade notification", + SerializedName = @"upsellNotification", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationUpsellNotification) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationUpsellNotification UpsellNotification { get; } + + } + /// Properties of upgrade notification. + internal partial interface IUpgradeNotificationInternal + + { + /// Name of upgrade notification. + string Name { get; set; } + /// Timestamp when upgrade notification occurred. + global::System.DateTime? Timestamp { get; set; } + /// Details about this upgrade notification + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationUpsellNotification UpsellNotification { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotification.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotification.json.cs new file mode 100644 index 000000000000..40828c700a6e --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotification.json.cs @@ -0,0 +1,121 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Properties of upgrade notification. + public partial class UpgradeNotification + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new UpgradeNotification(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._name)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._name.ToString()) : null, "name" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._timestamp ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._timestamp?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "timestamp" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._upsellNotification ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._upsellNotification.ToJson(null,serializationMode) : null, "upsellNotification" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal UpgradeNotification(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_name = If( json?.PropertyT("name"), out var __jsonName) ? (string)__jsonName : (string)Name;} + {_timestamp = If( json?.PropertyT("timestamp"), out var __jsonTimestamp) ? global::System.DateTime.TryParse((string)__jsonTimestamp, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonTimestampValue) ? __jsonTimestampValue : Timestamp : Timestamp;} + {_upsellNotification = If( json?.PropertyT("upsellNotification"), out var __jsonUpsellNotification) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.UpgradeNotificationUpsellNotification.FromJson(__jsonUpsellNotification) : UpsellNotification;} + AfterFromJson(json); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.PowerShell.cs new file mode 100644 index 000000000000..669f66b3f2e5 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.PowerShell.cs @@ -0,0 +1,145 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Details about this upgrade notification + [System.ComponentModel.TypeConverter(typeof(UpgradeNotificationUpsellNotificationTypeConverter))] + public partial class UpgradeNotificationUpsellNotification + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationUpsellNotification DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new UpgradeNotificationUpsellNotification(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationUpsellNotification DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new UpgradeNotificationUpsellNotification(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json + /// string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationUpsellNotification FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal UpgradeNotificationUpsellNotification(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal UpgradeNotificationUpsellNotification(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializePSObject(content); + } + } + /// Details about this upgrade notification + [System.ComponentModel.TypeConverter(typeof(UpgradeNotificationUpsellNotificationTypeConverter))] + public partial interface IUpgradeNotificationUpsellNotification + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.TypeConverter.cs new file mode 100644 index 000000000000..549e57715d85 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.TypeConverter.cs @@ -0,0 +1,150 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class UpgradeNotificationUpsellNotificationTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise + /// false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationUpsellNotification ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationUpsellNotification).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return UpgradeNotificationUpsellNotification.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return UpgradeNotificationUpsellNotification.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return UpgradeNotificationUpsellNotification.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.cs b/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.cs new file mode 100644 index 000000000000..3d903cf38235 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.cs @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Details about this upgrade notification + public partial class UpgradeNotificationUpsellNotification : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationUpsellNotification, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationUpsellNotificationInternal + { + + /// Creates an new instance. + public UpgradeNotificationUpsellNotification() + { + + } + } + /// Details about this upgrade notification + public partial interface IUpgradeNotificationUpsellNotification : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray + { + + } + /// Details about this upgrade notification + internal partial interface IUpgradeNotificationUpsellNotificationInternal + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.dictionary.cs b/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.dictionary.cs new file mode 100644 index 000000000000..79874caf9041 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.dictionary.cs @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + public partial class UpgradeNotificationUpsellNotification : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray + { + protected global::System.Collections.Generic.Dictionary __additionalProperties = new global::System.Collections.Generic.Dictionary(); + + global::System.Collections.Generic.IDictionary Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.AdditionalProperties { get => __additionalProperties; } + + int Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Count { get => __additionalProperties.Count; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Keys { get => __additionalProperties.Keys; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Values { get => __additionalProperties.Values; } + + public string this[global::System.String index] { get => __additionalProperties[index]; set => __additionalProperties[index] = value; } + + /// + /// + public void Add(global::System.String key, string value) => __additionalProperties.Add( key, value); + + public void Clear() => __additionalProperties.Clear(); + + /// + public bool ContainsKey(global::System.String key) => __additionalProperties.ContainsKey( key); + + /// + public void CopyFrom(global::System.Collections.IDictionary source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public void CopyFrom(global::System.Management.Automation.PSObject source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public bool Remove(global::System.String key) => __additionalProperties.Remove( key); + + /// + /// + public bool TryGetValue(global::System.String key, out string value) => __additionalProperties.TryGetValue( key, out value); + + /// + + public static implicit operator global::System.Collections.Generic.Dictionary(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.UpgradeNotificationUpsellNotification source) => source.__additionalProperties; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.json.cs b/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.json.cs new file mode 100644 index 000000000000..fe07bf565077 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api20220601/UpgradeNotificationUpsellNotification.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Details about this upgrade notification + public partial class UpgradeNotificationUpsellNotification + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationUpsellNotification. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationUpsellNotification. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotificationUpsellNotification FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new UpgradeNotificationUpsellNotification(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.ToJson( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray)this).AdditionalProperties, container); + AfterToJson(ref container); + return container; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + /// + internal UpgradeNotificationUpsellNotification(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, global::System.Collections.Generic.HashSet exclusions = null) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.FromJson( json, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray)this).AdditionalProperties, null ,exclusions ); + AfterFromJson(json); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api30/ErrorDetailAutoGenerated.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api30/ErrorDetailAutoGenerated.PowerShell.cs new file mode 100644 index 000000000000..e3cad169bec7 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api30/ErrorDetailAutoGenerated.PowerShell.cs @@ -0,0 +1,176 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// The error detail. + [System.ComponentModel.TypeConverter(typeof(ErrorDetailAutoGeneratedTypeConverter))] + public partial class ErrorDetailAutoGenerated + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ErrorDetailAutoGenerated(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ErrorDetailAutoGenerated(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ErrorDetailAutoGenerated(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).Target, global::System.Convert.ToString); + } + if (content.Contains("Detail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).Detail = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated[]) content.GetValueForProperty("Detail",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).Detail, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.ErrorDetailAutoGeneratedTypeConverter.ConvertFrom)); + } + if (content.Contains("AdditionalInfo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).AdditionalInfo = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[]) content.GetValueForProperty("AdditionalInfo",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).AdditionalInfo, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorAdditionalInfoTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ErrorDetailAutoGenerated(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).Target, global::System.Convert.ToString); + } + if (content.Contains("Detail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).Detail = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated[]) content.GetValueForProperty("Detail",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).Detail, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.ErrorDetailAutoGeneratedTypeConverter.ConvertFrom)); + } + if (content.Contains("AdditionalInfo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).AdditionalInfo = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[]) content.GetValueForProperty("AdditionalInfo",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)this).AdditionalInfo, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorAdditionalInfoTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The error detail. + [System.ComponentModel.TypeConverter(typeof(ErrorDetailAutoGeneratedTypeConverter))] + public partial interface IErrorDetailAutoGenerated + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api30/ErrorDetailAutoGenerated.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api30/ErrorDetailAutoGenerated.TypeConverter.cs new file mode 100644 index 000000000000..32b9ed923ccf --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api30/ErrorDetailAutoGenerated.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ErrorDetailAutoGeneratedTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ErrorDetailAutoGenerated.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ErrorDetailAutoGenerated.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ErrorDetailAutoGenerated.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api30/ErrorDetailAutoGenerated.cs b/swaggerci/redis/generated/api/Models/Api30/ErrorDetailAutoGenerated.cs new file mode 100644 index 000000000000..578d64895c52 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api30/ErrorDetailAutoGenerated.cs @@ -0,0 +1,134 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The error detail. + public partial class ErrorDetailAutoGenerated : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] _additionalInfo; + + /// The error additional info. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] AdditionalInfo { get => this._additionalInfo; } + + /// Backing field for property. + private string _code; + + /// The error code. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Code { get => this._code; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated[] _detail; + + /// The error details. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated[] Detail { get => this._detail; } + + /// Backing field for property. + private string _message; + + /// The error message. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Message { get => this._message; } + + /// Internal Acessors for AdditionalInfo + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal.AdditionalInfo { get => this._additionalInfo; set { {_additionalInfo = value;} } } + + /// Internal Acessors for Code + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal.Code { get => this._code; set { {_code = value;} } } + + /// Internal Acessors for Detail + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated[] Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal.Detail { get => this._detail; set { {_detail = value;} } } + + /// Internal Acessors for Message + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal.Message { get => this._message; set { {_message = value;} } } + + /// Internal Acessors for Target + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal.Target { get => this._target; set { {_target = value;} } } + + /// Backing field for property. + private string _target; + + /// The error target. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Target { get => this._target; } + + /// Creates an new instance. + public ErrorDetailAutoGenerated() + { + + } + } + /// The error detail. + public partial interface IErrorDetailAutoGenerated : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// The error additional info. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error additional info.", + SerializedName = @"additionalInfo", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] AdditionalInfo { get; } + /// The error code. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error code.", + SerializedName = @"code", + PossibleTypes = new [] { typeof(string) })] + string Code { get; } + /// The error details. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error details.", + SerializedName = @"details", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated[] Detail { get; } + /// The error message. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error message.", + SerializedName = @"message", + PossibleTypes = new [] { typeof(string) })] + string Message { get; } + /// The error target. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error target.", + SerializedName = @"target", + PossibleTypes = new [] { typeof(string) })] + string Target { get; } + + } + /// The error detail. + internal partial interface IErrorDetailAutoGeneratedInternal + + { + /// The error additional info. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] AdditionalInfo { get; set; } + /// The error code. + string Code { get; set; } + /// The error details. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated[] Detail { get; set; } + /// The error message. + string Message { get; set; } + /// The error target. + string Target { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api30/ErrorDetailAutoGenerated.json.cs b/swaggerci/redis/generated/api/Models/Api30/ErrorDetailAutoGenerated.json.cs new file mode 100644 index 000000000000..ea34f2e4df28 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api30/ErrorDetailAutoGenerated.json.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The error detail. + public partial class ErrorDetailAutoGenerated + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal ErrorDetailAutoGenerated(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_code = If( json?.PropertyT("code"), out var __jsonCode) ? (string)__jsonCode : (string)Code;} + {_message = If( json?.PropertyT("message"), out var __jsonMessage) ? (string)__jsonMessage : (string)Message;} + {_target = If( json?.PropertyT("target"), out var __jsonTarget) ? (string)__jsonTarget : (string)Target;} + {_detail = If( json?.PropertyT("details"), out var __jsonDetails) ? If( __jsonDetails as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated) (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.ErrorDetailAutoGenerated.FromJson(__u) )) ))() : null : Detail;} + {_additionalInfo = If( json?.PropertyT("additionalInfo"), out var __jsonAdditionalInfo) ? If( __jsonAdditionalInfo as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __q) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__q, (__p)=>(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo) (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorAdditionalInfo.FromJson(__p) )) ))() : null : AdditionalInfo;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new ErrorDetailAutoGenerated(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._code)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._code.ToString()) : null, "code" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._message)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._message.ToString()) : null, "message" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._target)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._target.ToString()) : null, "target" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._detail) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __x in this._detail ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("details",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._additionalInfo) + { + var __r = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __s in this._additionalInfo ) + { + AddIf(__s?.ToJson(null, serializationMode) ,__r.Add); + } + container.Add("additionalInfo",__r); + } + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api30/OperationStatusResult.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api30/OperationStatusResult.PowerShell.cs new file mode 100644 index 000000000000..95f56579400d --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api30/OperationStatusResult.PowerShell.cs @@ -0,0 +1,240 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// The current status of an async operation. + [System.ComponentModel.TypeConverter(typeof(OperationStatusResultTypeConverter))] + public partial class OperationStatusResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new OperationStatusResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new OperationStatusResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal OperationStatusResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Error")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Error = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated) content.GetValueForProperty("Error",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Error, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.ErrorDetailAutoGeneratedTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("PercentComplete")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).PercentComplete = (float?) content.GetValueForProperty("PercentComplete",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).PercentComplete, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("StartTime")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).StartTime = (global::System.DateTime?) content.GetValueForProperty("StartTime",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).StartTime, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EndTime")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).EndTime = (global::System.DateTime?) content.GetValueForProperty("EndTime",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).EndTime, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Operation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Operation = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult[]) content.GetValueForProperty("Operation",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Operation, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.OperationStatusResultTypeConverter.ConvertFrom)); + } + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Target, global::System.Convert.ToString); + } + if (content.Contains("Detail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Detail = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated[]) content.GetValueForProperty("Detail",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Detail, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.ErrorDetailAutoGeneratedTypeConverter.ConvertFrom)); + } + if (content.Contains("AdditionalInfo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).AdditionalInfo = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[]) content.GetValueForProperty("AdditionalInfo",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).AdditionalInfo, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorAdditionalInfoTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal OperationStatusResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Error")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Error = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated) content.GetValueForProperty("Error",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Error, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.ErrorDetailAutoGeneratedTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("PercentComplete")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).PercentComplete = (float?) content.GetValueForProperty("PercentComplete",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).PercentComplete, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("StartTime")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).StartTime = (global::System.DateTime?) content.GetValueForProperty("StartTime",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).StartTime, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EndTime")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).EndTime = (global::System.DateTime?) content.GetValueForProperty("EndTime",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).EndTime, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Operation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Operation = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult[]) content.GetValueForProperty("Operation",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Operation, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.OperationStatusResultTypeConverter.ConvertFrom)); + } + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Target, global::System.Convert.ToString); + } + if (content.Contains("Detail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Detail = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated[]) content.GetValueForProperty("Detail",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).Detail, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.ErrorDetailAutoGeneratedTypeConverter.ConvertFrom)); + } + if (content.Contains("AdditionalInfo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).AdditionalInfo = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[]) content.GetValueForProperty("AdditionalInfo",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal)this).AdditionalInfo, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorAdditionalInfoTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The current status of an async operation. + [System.ComponentModel.TypeConverter(typeof(OperationStatusResultTypeConverter))] + public partial interface IOperationStatusResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api30/OperationStatusResult.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api30/OperationStatusResult.TypeConverter.cs new file mode 100644 index 000000000000..1524cf3bccda --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api30/OperationStatusResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class OperationStatusResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return OperationStatusResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return OperationStatusResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return OperationStatusResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api30/OperationStatusResult.cs b/swaggerci/redis/generated/api/Models/Api30/OperationStatusResult.cs new file mode 100644 index 000000000000..1bf7a9de2a44 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api30/OperationStatusResult.cs @@ -0,0 +1,250 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The current status of an async operation. + public partial class OperationStatusResult : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal + { + + /// The error additional info. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] AdditionalInfo { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)Error).AdditionalInfo; } + + /// The error code. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string Code { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)Error).Code; } + + /// The error details. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated[] Detail { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)Error).Detail; } + + /// Backing field for property. + private global::System.DateTime? _endTime; + + /// The end time of the operation. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public global::System.DateTime? EndTime { get => this._endTime; set => this._endTime = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated _error; + + /// If present, details of the operation error. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated Error { get => (this._error = this._error ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.ErrorDetailAutoGenerated()); set => this._error = value; } + + /// Backing field for property. + private string _id; + + /// Fully qualified ID for the async operation. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Id { get => this._id; set => this._id = value; } + + /// The error message. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string Message { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)Error).Message; } + + /// Internal Acessors for AdditionalInfo + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal.AdditionalInfo { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)Error).AdditionalInfo; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)Error).AdditionalInfo = value; } + + /// Internal Acessors for Code + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal.Code { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)Error).Code; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)Error).Code = value; } + + /// Internal Acessors for Detail + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated[] Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal.Detail { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)Error).Detail; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)Error).Detail = value; } + + /// Internal Acessors for Error + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal.Error { get => (this._error = this._error ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.ErrorDetailAutoGenerated()); set { {_error = value;} } } + + /// Internal Acessors for Message + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal.Message { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)Error).Message; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)Error).Message = value; } + + /// Internal Acessors for Target + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResultInternal.Target { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)Error).Target; set => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)Error).Target = value; } + + /// Backing field for property. + private string _name; + + /// Name of the async operation. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Name { get => this._name; set => this._name = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult[] _operation; + + /// The operations list. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult[] Operation { get => this._operation; set => this._operation = value; } + + /// Backing field for property. + private float? _percentComplete; + + /// Percent of the operation that is complete. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public float? PercentComplete { get => this._percentComplete; set => this._percentComplete = value; } + + /// Backing field for property. + private global::System.DateTime? _startTime; + + /// The start time of the operation. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public global::System.DateTime? StartTime { get => this._startTime; set => this._startTime = value; } + + /// Backing field for property. + private string _status; + + /// Operation status. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Status { get => this._status; set => this._status = value; } + + /// The error target. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Inlined)] + public string Target { get => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGeneratedInternal)Error).Target; } + + /// Creates an new instance. + public OperationStatusResult() + { + + } + } + /// The current status of an async operation. + public partial interface IOperationStatusResult : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// The error additional info. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error additional info.", + SerializedName = @"additionalInfo", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] AdditionalInfo { get; } + /// The error code. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error code.", + SerializedName = @"code", + PossibleTypes = new [] { typeof(string) })] + string Code { get; } + /// The error details. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error details.", + SerializedName = @"details", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated[] Detail { get; } + /// The end time of the operation. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The end time of the operation.", + SerializedName = @"endTime", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? EndTime { get; set; } + /// Fully qualified ID for the async operation. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Fully qualified ID for the async operation.", + SerializedName = @"id", + PossibleTypes = new [] { typeof(string) })] + string Id { get; set; } + /// The error message. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error message.", + SerializedName = @"message", + PossibleTypes = new [] { typeof(string) })] + string Message { get; } + /// Name of the async operation. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Name of the async operation.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + string Name { get; set; } + /// The operations list. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The operations list.", + SerializedName = @"operations", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult[] Operation { get; set; } + /// Percent of the operation that is complete. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Percent of the operation that is complete.", + SerializedName = @"percentComplete", + PossibleTypes = new [] { typeof(float) })] + float? PercentComplete { get; set; } + /// The start time of the operation. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The start time of the operation.", + SerializedName = @"startTime", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? StartTime { get; set; } + /// Operation status. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Operation status.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(string) })] + string Status { get; set; } + /// The error target. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The error target.", + SerializedName = @"target", + PossibleTypes = new [] { typeof(string) })] + string Target { get; } + + } + /// The current status of an async operation. + internal partial interface IOperationStatusResultInternal + + { + /// The error additional info. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorAdditionalInfo[] AdditionalInfo { get; set; } + /// The error code. + string Code { get; set; } + /// The error details. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated[] Detail { get; set; } + /// The end time of the operation. + global::System.DateTime? EndTime { get; set; } + /// If present, details of the operation error. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IErrorDetailAutoGenerated Error { get; set; } + /// Fully qualified ID for the async operation. + string Id { get; set; } + /// The error message. + string Message { get; set; } + /// Name of the async operation. + string Name { get; set; } + /// The operations list. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult[] Operation { get; set; } + /// Percent of the operation that is complete. + float? PercentComplete { get; set; } + /// The start time of the operation. + global::System.DateTime? StartTime { get; set; } + /// Operation status. + string Status { get; set; } + /// The error target. + string Target { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api30/OperationStatusResult.json.cs b/swaggerci/redis/generated/api/Models/Api30/OperationStatusResult.json.cs new file mode 100644 index 000000000000..f709217af3a7 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api30/OperationStatusResult.json.cs @@ -0,0 +1,130 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// The current status of an async operation. + public partial class OperationStatusResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new OperationStatusResult(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal OperationStatusResult(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_error = If( json?.PropertyT("error"), out var __jsonError) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.ErrorDetailAutoGenerated.FromJson(__jsonError) : Error;} + {_id = If( json?.PropertyT("id"), out var __jsonId) ? (string)__jsonId : (string)Id;} + {_name = If( json?.PropertyT("name"), out var __jsonName) ? (string)__jsonName : (string)Name;} + {_status = If( json?.PropertyT("status"), out var __jsonStatus) ? (string)__jsonStatus : (string)Status;} + {_percentComplete = If( json?.PropertyT("percentComplete"), out var __jsonPercentComplete) ? (float?)__jsonPercentComplete : PercentComplete;} + {_startTime = If( json?.PropertyT("startTime"), out var __jsonStartTime) ? global::System.DateTime.TryParse((string)__jsonStartTime, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonStartTimeValue) ? __jsonStartTimeValue : StartTime : StartTime;} + {_endTime = If( json?.PropertyT("endTime"), out var __jsonEndTime) ? global::System.DateTime.TryParse((string)__jsonEndTime, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonEndTimeValue) ? __jsonEndTimeValue : EndTime : EndTime;} + {_operation = If( json?.PropertyT("operations"), out var __jsonOperations) ? If( __jsonOperations as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.IOperationStatusResult) (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api30.OperationStatusResult.FromJson(__u) )) ))() : null : Operation;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != this._error ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._error.ToJson(null,serializationMode) : null, "error" ,container.Add ); + AddIf( null != (((object)this._id)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._id.ToString()) : null, "id" ,container.Add ); + AddIf( null != (((object)this._name)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._name.ToString()) : null, "name" ,container.Add ); + AddIf( null != (((object)this._status)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._status.ToString()) : null, "status" ,container.Add ); + AddIf( null != this._percentComplete ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNumber((float)this._percentComplete) : null, "percentComplete" ,container.Add ); + AddIf( null != this._startTime ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._startTime?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "startTime" ,container.Add ); + AddIf( null != this._endTime ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._endTime?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "endTime" ,container.Add ); + if (null != this._operation) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.XNodeArray(); + foreach( var __x in this._operation ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("operations",__w); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api40/ManagedServiceIdentity.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api40/ManagedServiceIdentity.PowerShell.cs new file mode 100644 index 000000000000..4c5b218d556f --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api40/ManagedServiceIdentity.PowerShell.cs @@ -0,0 +1,168 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// Managed service identity (system assigned and/or user assigned identities) + [System.ComponentModel.TypeConverter(typeof(ManagedServiceIdentityTypeConverter))] + public partial class ManagedServiceIdentity + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ManagedServiceIdentity(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ManagedServiceIdentity(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ManagedServiceIdentity(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("PrincipalId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)this).PrincipalId = (string) content.GetValueForProperty("PrincipalId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)this).PrincipalId, global::System.Convert.ToString); + } + if (content.Contains("TenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)this).TenantId = (string) content.GetValueForProperty("TenantId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)this).TenantId, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)this).Type = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)this).Type, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType.CreateFrom); + } + if (content.Contains("UserAssignedIdentity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)this).UserAssignedIdentity = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities) content.GetValueForProperty("UserAssignedIdentity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)this).UserAssignedIdentity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.UserAssignedIdentitiesTypeConverter.ConvertFrom); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ManagedServiceIdentity(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("PrincipalId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)this).PrincipalId = (string) content.GetValueForProperty("PrincipalId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)this).PrincipalId, global::System.Convert.ToString); + } + if (content.Contains("TenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)this).TenantId = (string) content.GetValueForProperty("TenantId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)this).TenantId, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)this).Type = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)this).Type, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType.CreateFrom); + } + if (content.Contains("UserAssignedIdentity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)this).UserAssignedIdentity = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities) content.GetValueForProperty("UserAssignedIdentity",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal)this).UserAssignedIdentity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.UserAssignedIdentitiesTypeConverter.ConvertFrom); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Managed service identity (system assigned and/or user assigned identities) + [System.ComponentModel.TypeConverter(typeof(ManagedServiceIdentityTypeConverter))] + public partial interface IManagedServiceIdentity + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api40/ManagedServiceIdentity.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api40/ManagedServiceIdentity.TypeConverter.cs new file mode 100644 index 000000000000..6da436aa8313 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api40/ManagedServiceIdentity.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ManagedServiceIdentityTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ManagedServiceIdentity.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ManagedServiceIdentity.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ManagedServiceIdentity.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api40/ManagedServiceIdentity.cs b/swaggerci/redis/generated/api/Models/Api40/ManagedServiceIdentity.cs new file mode 100644 index 000000000000..7c87300c5a8d --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api40/ManagedServiceIdentity.cs @@ -0,0 +1,138 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Managed service identity (system assigned and/or user assigned identities) + public partial class ManagedServiceIdentity : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal + { + + /// Internal Acessors for PrincipalId + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal.PrincipalId { get => this._principalId; set { {_principalId = value;} } } + + /// Internal Acessors for TenantId + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentityInternal.TenantId { get => this._tenantId; set { {_tenantId = value;} } } + + /// Backing field for property. + private string _principalId; + + /// + /// The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string PrincipalId { get => this._principalId; } + + /// Backing field for property. + private string _tenantId; + + /// + /// The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string TenantId { get => this._tenantId; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType _type; + + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType Type { get => this._type; set => this._type = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities _userAssignedIdentity; + + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities UserAssignedIdentity { get => (this._userAssignedIdentity = this._userAssignedIdentity ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.UserAssignedIdentities()); set => this._userAssignedIdentity = value; } + + /// Creates an new instance. + public ManagedServiceIdentity() + { + + } + } + /// Managed service identity (system assigned and/or user assigned identities) + public partial interface IManagedServiceIdentity : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// + /// The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity.", + SerializedName = @"principalId", + PossibleTypes = new [] { typeof(string) })] + string PrincipalId { get; } + /// + /// The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity.", + SerializedName = @"tenantId", + PossibleTypes = new [] { typeof(string) })] + string TenantId { get; } + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).", + SerializedName = @"type", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType Type { get; set; } + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.", + SerializedName = @"userAssignedIdentities", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities UserAssignedIdentity { get; set; } + + } + /// Managed service identity (system assigned and/or user assigned identities) + internal partial interface IManagedServiceIdentityInternal + + { + /// + /// The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + string PrincipalId { get; set; } + /// + /// The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + string TenantId { get; set; } + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType Type { get; set; } + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + /// + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities UserAssignedIdentity { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api40/ManagedServiceIdentity.json.cs b/swaggerci/redis/generated/api/Models/Api40/ManagedServiceIdentity.json.cs new file mode 100644 index 000000000000..1d11b4e4b5e6 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api40/ManagedServiceIdentity.json.cs @@ -0,0 +1,120 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// Managed service identity (system assigned and/or user assigned identities) + public partial class ManagedServiceIdentity + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IManagedServiceIdentity FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new ManagedServiceIdentity(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal ManagedServiceIdentity(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_principalId = If( json?.PropertyT("principalId"), out var __jsonPrincipalId) ? (string)__jsonPrincipalId : (string)PrincipalId;} + {_tenantId = If( json?.PropertyT("tenantId"), out var __jsonTenantId) ? (string)__jsonTenantId : (string)TenantId;} + {_type = If( json?.PropertyT("type"), out var __jsonType) ? (string)__jsonType : (string)Type;} + {_userAssignedIdentity = If( json?.PropertyT("userAssignedIdentities"), out var __jsonUserAssignedIdentities) ? Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.UserAssignedIdentities.FromJson(__jsonUserAssignedIdentities) : UserAssignedIdentity;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._principalId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._principalId.ToString()) : null, "principalId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._tenantId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._tenantId.ToString()) : null, "tenantId" ,container.Add ); + } + AddIf( null != (((object)this._type)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._type.ToString()) : null, "type" ,container.Add ); + AddIf( null != this._userAssignedIdentity ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) this._userAssignedIdentity.ToJson(null,serializationMode) : null, "userAssignedIdentities" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.PowerShell.cs new file mode 100644 index 000000000000..9ffbcb8f6970 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.PowerShell.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + /// + [System.ComponentModel.TypeConverter(typeof(UserAssignedIdentitiesTypeConverter))] + public partial class UserAssignedIdentities + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new UserAssignedIdentities(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new UserAssignedIdentities(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal UserAssignedIdentities(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal UserAssignedIdentities(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializePSObject(content); + } + } + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + [System.ComponentModel.TypeConverter(typeof(UserAssignedIdentitiesTypeConverter))] + public partial interface IUserAssignedIdentities + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.TypeConverter.cs new file mode 100644 index 000000000000..ce04dc9e5a9a --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class UserAssignedIdentitiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return UserAssignedIdentities.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return UserAssignedIdentities.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return UserAssignedIdentities.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.cs b/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.cs new file mode 100644 index 000000000000..545d486bbc19 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.cs @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + /// + public partial class UserAssignedIdentities : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentitiesInternal + { + + /// Creates an new instance. + public UserAssignedIdentities() + { + + } + } + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + public partial interface IUserAssignedIdentities : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray + { + + } + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + internal partial interface IUserAssignedIdentitiesInternal + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.dictionary.cs b/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.dictionary.cs new file mode 100644 index 000000000000..cbcb54213c45 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.dictionary.cs @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + public partial class UserAssignedIdentities : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray + { + protected global::System.Collections.Generic.Dictionary __additionalProperties = new global::System.Collections.Generic.Dictionary(); + + global::System.Collections.Generic.IDictionary Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.AdditionalProperties { get => __additionalProperties; } + + int Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Count { get => __additionalProperties.Count; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Keys { get => __additionalProperties.Keys; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray.Values { get => __additionalProperties.Values; } + + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentity this[global::System.String index] { get => __additionalProperties[index]; set => __additionalProperties[index] = value; } + + /// + /// + public void Add(global::System.String key, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentity value) => __additionalProperties.Add( key, value); + + public void Clear() => __additionalProperties.Clear(); + + /// + public bool ContainsKey(global::System.String key) => __additionalProperties.ContainsKey( key); + + /// + public void CopyFrom(global::System.Collections.IDictionary source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public void CopyFrom(global::System.Management.Automation.PSObject source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public bool Remove(global::System.String key) => __additionalProperties.Remove( key); + + /// + /// + public bool TryGetValue(global::System.String key, out Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentity value) => __additionalProperties.TryGetValue( key, out value); + + /// + + public static implicit operator global::System.Collections.Generic.Dictionary(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.UserAssignedIdentities source) => source.__additionalProperties; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.json.cs b/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.json.cs new file mode 100644 index 000000000000..9f6a5c752d2f --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentities.json.cs @@ -0,0 +1,113 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + /// + public partial class UserAssignedIdentities + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new UserAssignedIdentities(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.ToJson( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray)this).AdditionalProperties, container); + AfterToJson(ref container); + return container; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + /// + internal UserAssignedIdentities(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, global::System.Collections.Generic.HashSet exclusions = null) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.FromJson( json, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IAssociativeArray)this).AdditionalProperties, (j) => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.UserAssignedIdentity.FromJson(j) ,exclusions ); + AfterFromJson(json); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentity.PowerShell.cs b/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentity.PowerShell.cs new file mode 100644 index 000000000000..21dd6f4ebaa2 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentity.PowerShell.cs @@ -0,0 +1,152 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// User assigned identity properties + [System.ComponentModel.TypeConverter(typeof(UserAssignedIdentityTypeConverter))] + public partial class UserAssignedIdentity + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentity DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new UserAssignedIdentity(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentity DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new UserAssignedIdentity(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentity FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal UserAssignedIdentity(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("PrincipalId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentityInternal)this).PrincipalId = (string) content.GetValueForProperty("PrincipalId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentityInternal)this).PrincipalId, global::System.Convert.ToString); + } + if (content.Contains("ClientId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentityInternal)this).ClientId = (string) content.GetValueForProperty("ClientId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentityInternal)this).ClientId, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal UserAssignedIdentity(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("PrincipalId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentityInternal)this).PrincipalId = (string) content.GetValueForProperty("PrincipalId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentityInternal)this).PrincipalId, global::System.Convert.ToString); + } + if (content.Contains("ClientId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentityInternal)this).ClientId = (string) content.GetValueForProperty("ClientId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentityInternal)this).ClientId, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + } + /// User assigned identity properties + [System.ComponentModel.TypeConverter(typeof(UserAssignedIdentityTypeConverter))] + public partial interface IUserAssignedIdentity + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentity.TypeConverter.cs b/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentity.TypeConverter.cs new file mode 100644 index 000000000000..904ad884770c --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentity.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class UserAssignedIdentityTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentity ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentity).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return UserAssignedIdentity.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return UserAssignedIdentity.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return UserAssignedIdentity.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentity.cs b/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentity.cs new file mode 100644 index 000000000000..79fcb25e47f2 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentity.cs @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// User assigned identity properties + public partial class UserAssignedIdentity : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentity, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentityInternal + { + + /// Backing field for property. + private string _clientId; + + /// The client ID of the assigned identity. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string ClientId { get => this._clientId; } + + /// Internal Acessors for ClientId + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentityInternal.ClientId { get => this._clientId; set { {_clientId = value;} } } + + /// Internal Acessors for PrincipalId + string Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentityInternal.PrincipalId { get => this._principalId; set { {_principalId = value;} } } + + /// Backing field for property. + private string _principalId; + + /// The principal ID of the assigned identity. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string PrincipalId { get => this._principalId; } + + /// Creates an new instance. + public UserAssignedIdentity() + { + + } + } + /// User assigned identity properties + public partial interface IUserAssignedIdentity : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// The client ID of the assigned identity. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The client ID of the assigned identity.", + SerializedName = @"clientId", + PossibleTypes = new [] { typeof(string) })] + string ClientId { get; } + /// The principal ID of the assigned identity. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The principal ID of the assigned identity.", + SerializedName = @"principalId", + PossibleTypes = new [] { typeof(string) })] + string PrincipalId { get; } + + } + /// User assigned identity properties + internal partial interface IUserAssignedIdentityInternal + + { + /// The client ID of the assigned identity. + string ClientId { get; set; } + /// The principal ID of the assigned identity. + string PrincipalId { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentity.json.cs b/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentity.json.cs new file mode 100644 index 000000000000..075bfeb4ca48 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/Api40/UserAssignedIdentity.json.cs @@ -0,0 +1,116 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// User assigned identity properties + public partial class UserAssignedIdentity + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentity. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentity. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentity FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new UserAssignedIdentity(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._principalId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._principalId.ToString()) : null, "principalId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._clientId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._clientId.ToString()) : null, "clientId" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal UserAssignedIdentity(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_principalId = If( json?.PropertyT("principalId"), out var __jsonPrincipalId) ? (string)__jsonPrincipalId : (string)PrincipalId;} + {_clientId = If( json?.PropertyT("clientId"), out var __jsonClientId) ? (string)__jsonClientId : (string)ClientId;} + AfterFromJson(json); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/RedisIdentity.PowerShell.cs b/swaggerci/redis/generated/api/Models/RedisIdentity.PowerShell.cs new file mode 100644 index 000000000000..ce3b090eb3b1 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/RedisIdentity.PowerShell.cs @@ -0,0 +1,222 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + [System.ComponentModel.TypeConverter(typeof(RedisIdentityTypeConverter))] + public partial class RedisIdentity + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RedisIdentity(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RedisIdentity(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RedisIdentity(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("SubscriptionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).SubscriptionId = (string) content.GetValueForProperty("SubscriptionId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).SubscriptionId, global::System.Convert.ToString); + } + if (content.Contains("ResourceGroupName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).ResourceGroupName = (string) content.GetValueForProperty("ResourceGroupName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).ResourceGroupName, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("CacheName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).CacheName = (string) content.GetValueForProperty("CacheName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).CacheName, global::System.Convert.ToString); + } + if (content.Contains("RuleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).RuleName = (string) content.GetValueForProperty("RuleName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).RuleName, global::System.Convert.ToString); + } + if (content.Contains("Default")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).Default = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DefaultName?) content.GetValueForProperty("Default",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).Default, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DefaultName.CreateFrom); + } + if (content.Contains("LinkedServerName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).LinkedServerName = (string) content.GetValueForProperty("LinkedServerName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).LinkedServerName, global::System.Convert.ToString); + } + if (content.Contains("PrivateEndpointConnectionName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).PrivateEndpointConnectionName = (string) content.GetValueForProperty("PrivateEndpointConnectionName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).PrivateEndpointConnectionName, global::System.Convert.ToString); + } + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("OperationId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).OperationId = (string) content.GetValueForProperty("OperationId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).OperationId, global::System.Convert.ToString); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).Id, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RedisIdentity(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("SubscriptionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).SubscriptionId = (string) content.GetValueForProperty("SubscriptionId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).SubscriptionId, global::System.Convert.ToString); + } + if (content.Contains("ResourceGroupName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).ResourceGroupName = (string) content.GetValueForProperty("ResourceGroupName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).ResourceGroupName, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("CacheName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).CacheName = (string) content.GetValueForProperty("CacheName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).CacheName, global::System.Convert.ToString); + } + if (content.Contains("RuleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).RuleName = (string) content.GetValueForProperty("RuleName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).RuleName, global::System.Convert.ToString); + } + if (content.Contains("Default")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).Default = (Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DefaultName?) content.GetValueForProperty("Default",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).Default, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DefaultName.CreateFrom); + } + if (content.Contains("LinkedServerName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).LinkedServerName = (string) content.GetValueForProperty("LinkedServerName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).LinkedServerName, global::System.Convert.ToString); + } + if (content.Contains("PrivateEndpointConnectionName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).PrivateEndpointConnectionName = (string) content.GetValueForProperty("PrivateEndpointConnectionName",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).PrivateEndpointConnectionName, global::System.Convert.ToString); + } + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("OperationId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).OperationId = (string) content.GetValueForProperty("OperationId",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).OperationId, global::System.Convert.ToString); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal)this).Id, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + [System.ComponentModel.TypeConverter(typeof(RedisIdentityTypeConverter))] + public partial interface IRedisIdentity + + { + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/RedisIdentity.TypeConverter.cs b/swaggerci/redis/generated/api/Models/RedisIdentity.TypeConverter.cs new file mode 100644 index 000000000000..6ed459fb399e --- /dev/null +++ b/swaggerci/redis/generated/api/Models/RedisIdentity.TypeConverter.cs @@ -0,0 +1,157 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RedisIdentityTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + // we allow string conversion too. + if (type == typeof(global::System.String)) + { + return true; + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + // support direct string to id type conversion. + if (type == typeof(global::System.String)) + { + return new RedisIdentity { Id = sourceValue }; + } + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RedisIdentity.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RedisIdentity.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RedisIdentity.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/RedisIdentity.cs b/swaggerci/redis/generated/api/Models/RedisIdentity.cs new file mode 100644 index 000000000000..dbb1ab90a070 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/RedisIdentity.cs @@ -0,0 +1,227 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + public partial class RedisIdentity : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentityInternal + { + + /// Backing field for property. + private string _cacheName; + + /// The name of the Redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string CacheName { get => this._cacheName; set => this._cacheName = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DefaultName? _default; + + /// Default string modeled as parameter for auto generation to work correctly. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DefaultName? Default { get => this._default; set => this._default = value; } + + /// Backing field for property. + private string _id; + + /// Resource identity path + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Id { get => this._id; set => this._id = value; } + + /// Backing field for property. + private string _linkedServerName; + + /// The name of the linked server that is being added to the Redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string LinkedServerName { get => this._linkedServerName; set => this._linkedServerName = value; } + + /// Backing field for property. + private string _location; + + /// The location at which operation was triggered + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Location { get => this._location; set => this._location = value; } + + /// Backing field for property. + private string _name; + + /// The name of the Redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string Name { get => this._name; set => this._name = value; } + + /// Backing field for property. + private string _operationId; + + /// The ID of asynchronous operation + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string OperationId { get => this._operationId; set => this._operationId = value; } + + /// Backing field for property. + private string _privateEndpointConnectionName; + + /// The name of the private endpoint connection associated with the Azure resource + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string PrivateEndpointConnectionName { get => this._privateEndpointConnectionName; set => this._privateEndpointConnectionName = value; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _ruleName; + + /// The name of the firewall rule. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string RuleName { get => this._ruleName; set => this._ruleName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Origin(Microsoft.Azure.PowerShell.Cmdlets.Redis.PropertyOrigin.Owned)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Creates an new instance. + public RedisIdentity() + { + + } + } + public partial interface IRedisIdentity : + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable + { + /// The name of the Redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"cacheName", + PossibleTypes = new [] { typeof(string) })] + string CacheName { get; set; } + /// Default string modeled as parameter for auto generation to work correctly. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Default string modeled as parameter for auto generation to work correctly.", + SerializedName = @"default", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DefaultName) })] + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DefaultName? Default { get; set; } + /// Resource identity path + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource identity path", + SerializedName = @"id", + PossibleTypes = new [] { typeof(string) })] + string Id { get; set; } + /// The name of the linked server that is being added to the Redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the linked server that is being added to the Redis cache.", + SerializedName = @"linkedServerName", + PossibleTypes = new [] { typeof(string) })] + string LinkedServerName { get; set; } + /// The location at which operation was triggered + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The location at which operation was triggered", + SerializedName = @"location", + PossibleTypes = new [] { typeof(string) })] + string Location { get; set; } + /// The name of the Redis cache. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + string Name { get; set; } + /// The ID of asynchronous operation + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The ID of asynchronous operation", + SerializedName = @"operationId", + PossibleTypes = new [] { typeof(string) })] + string OperationId { get; set; } + /// The name of the private endpoint connection associated with the Azure resource + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the private endpoint connection associated with the Azure resource", + SerializedName = @"privateEndpointConnectionName", + PossibleTypes = new [] { typeof(string) })] + string PrivateEndpointConnectionName { get; set; } + /// The name of the resource group. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + string ResourceGroupName { get; set; } + /// The name of the firewall rule. + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the firewall rule.", + SerializedName = @"ruleName", + PossibleTypes = new [] { typeof(string) })] + string RuleName { get; set; } + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + string SubscriptionId { get; set; } + + } + internal partial interface IRedisIdentityInternal + + { + /// The name of the Redis cache. + string CacheName { get; set; } + /// Default string modeled as parameter for auto generation to work correctly. + Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DefaultName? Default { get; set; } + /// Resource identity path + string Id { get; set; } + /// The name of the linked server that is being added to the Redis cache. + string LinkedServerName { get; set; } + /// The location at which operation was triggered + string Location { get; set; } + /// The name of the Redis cache. + string Name { get; set; } + /// The ID of asynchronous operation + string OperationId { get; set; } + /// The name of the private endpoint connection associated with the Azure resource + string PrivateEndpointConnectionName { get; set; } + /// The name of the resource group. + string ResourceGroupName { get; set; } + /// The name of the firewall rule. + string RuleName { get; set; } + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + string SubscriptionId { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Models/RedisIdentity.json.cs b/swaggerci/redis/generated/api/Models/RedisIdentity.json.cs new file mode 100644 index 000000000000..d99c8d789ed9 --- /dev/null +++ b/swaggerci/redis/generated/api/Models/RedisIdentity.json.cs @@ -0,0 +1,125 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + public partial class RedisIdentity + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity. + /// + /// a to deserialize from. + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity. + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new RedisIdentity(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject instance to deserialize from. + internal RedisIdentity(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_subscriptionId = If( json?.PropertyT("subscriptionId"), out var __jsonSubscriptionId) ? (string)__jsonSubscriptionId : (string)SubscriptionId;} + {_resourceGroupName = If( json?.PropertyT("resourceGroupName"), out var __jsonResourceGroupName) ? (string)__jsonResourceGroupName : (string)ResourceGroupName;} + {_name = If( json?.PropertyT("name"), out var __jsonName) ? (string)__jsonName : (string)Name;} + {_cacheName = If( json?.PropertyT("cacheName"), out var __jsonCacheName) ? (string)__jsonCacheName : (string)CacheName;} + {_ruleName = If( json?.PropertyT("ruleName"), out var __jsonRuleName) ? (string)__jsonRuleName : (string)RuleName;} + {_default = If( json?.PropertyT("default"), out var __jsonDefault) ? (string)__jsonDefault : (string)Default;} + {_linkedServerName = If( json?.PropertyT("linkedServerName"), out var __jsonLinkedServerName) ? (string)__jsonLinkedServerName : (string)LinkedServerName;} + {_privateEndpointConnectionName = If( json?.PropertyT("privateEndpointConnectionName"), out var __jsonPrivateEndpointConnectionName) ? (string)__jsonPrivateEndpointConnectionName : (string)PrivateEndpointConnectionName;} + {_location = If( json?.PropertyT("location"), out var __jsonLocation) ? (string)__jsonLocation : (string)Location;} + {_operationId = If( json?.PropertyT("operationId"), out var __jsonOperationId) ? (string)__jsonOperationId : (string)OperationId;} + {_id = If( json?.PropertyT("id"), out var __jsonId) ? (string)__jsonId : (string)Id;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._subscriptionId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._subscriptionId.ToString()) : null, "subscriptionId" ,container.Add ); + AddIf( null != (((object)this._resourceGroupName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._resourceGroupName.ToString()) : null, "resourceGroupName" ,container.Add ); + AddIf( null != (((object)this._name)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._name.ToString()) : null, "name" ,container.Add ); + AddIf( null != (((object)this._cacheName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._cacheName.ToString()) : null, "cacheName" ,container.Add ); + AddIf( null != (((object)this._ruleName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._ruleName.ToString()) : null, "ruleName" ,container.Add ); + AddIf( null != (((object)this._default)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._default.ToString()) : null, "default" ,container.Add ); + AddIf( null != (((object)this._linkedServerName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._linkedServerName.ToString()) : null, "linkedServerName" ,container.Add ); + AddIf( null != (((object)this._privateEndpointConnectionName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._privateEndpointConnectionName.ToString()) : null, "privateEndpointConnectionName" ,container.Add ); + AddIf( null != (((object)this._location)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._location.ToString()) : null, "location" ,container.Add ); + AddIf( null != (((object)this._operationId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._operationId.ToString()) : null, "operationId" ,container.Add ); + AddIf( null != (((object)this._id)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonString(this._id.ToString()) : null, "id" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/RedisManagementClient.cs b/swaggerci/redis/generated/api/RedisManagementClient.cs new file mode 100644 index 000000000000..94e11b94df0c --- /dev/null +++ b/swaggerci/redis/generated/api/RedisManagementClient.cs @@ -0,0 +1,6505 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + /// + /// Low-level API implementation for the RedisManagementClient service. + /// REST API for Azure Redis Cache Service. + /// + public partial class RedisManagementClient + { + + /// For checking the ongoing status of an operation + /// The location at which operation was triggered + /// The ID of asynchronous operation + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task AsyncOperationStatusGet(string location, string operationId, string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.Cache/locations/" + + global::System.Uri.EscapeDataString(location) + + "/asyncOperations/" + + global::System.Uri.EscapeDataString(operationId) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.AsyncOperationStatusGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// For checking the ongoing status of an operation + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task AsyncOperationStatusGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.Cache/locations/(?[^/]+)/asyncOperations/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.Cache/locations/{location}/asyncOperations/{operationId}'"); + } + + // replace URI parameters with values from identity + var location = _match.Groups["location"].Value; + var operationId = _match.Groups["operationId"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.Cache/locations/" + + location + + "/asyncOperations/" + + operationId + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.AsyncOperationStatusGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task AsyncOperationStatusGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationStatus.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The location at which operation was triggered + /// The ID of asynchronous operation + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task AsyncOperationStatusGet_Validate(string location, string operationId, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(location),location); + await eventListener.AssertNotNull(nameof(operationId),operationId); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + } + } + + /// Create or update a redis cache firewall rule + /// The name of the resource group. + /// The name of the Redis cache. + /// The name of the firewall rule. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Parameters supplied to the create or update redis firewall rule operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 201 (Created). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task FirewallRulesCreateOrUpdate(string resourceGroupName, string cacheName, string ruleName, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onCreated, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(cacheName) + + "/firewallRules/" + + global::System.Uri.EscapeDataString(ruleName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.FirewallRulesCreateOrUpdate_Call(request,onOk,onCreated,onDefault,eventListener,sender); + } + } + + /// Create or update a redis cache firewall rule + /// + /// Parameters supplied to the create or update redis firewall rule operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 201 (Created). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task FirewallRulesCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onCreated, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/firewallRules/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName}'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var cacheName = _match.Groups["cacheName"].Value; + var ruleName = _match.Groups["ruleName"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + cacheName + + "/firewallRules/" + + ruleName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.FirewallRulesCreateOrUpdate_Call(request,onOk,onCreated,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 201 (Created). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task FirewallRulesCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onCreated, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRule.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + case global::System.Net.HttpStatusCode.Created: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onCreated(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRule.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// The name of the firewall rule. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Parameters supplied to the create or update redis firewall rule operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task FirewallRulesCreateOrUpdate_Validate(string resourceGroupName, string cacheName, string ruleName, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule body, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(cacheName),cacheName); + await eventListener.AssertNotNull(nameof(ruleName),ruleName); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// Deletes a single firewall rule in a specified redis cache. + /// The name of the resource group. + /// The name of the Redis cache. + /// The name of the firewall rule. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task FirewallRulesDelete(string resourceGroupName, string cacheName, string ruleName, string subscriptionId, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(cacheName) + + "/firewallRules/" + + global::System.Uri.EscapeDataString(ruleName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.FirewallRulesDelete_Call(request,onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Deletes a single firewall rule in a specified redis cache. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task FirewallRulesDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/firewallRules/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName}'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var cacheName = _match.Groups["cacheName"].Value; + var ruleName = _match.Groups["ruleName"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + cacheName + + "/firewallRules/" + + ruleName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.FirewallRulesDelete_Call(request,onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task FirewallRulesDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response); + break; + } + case global::System.Net.HttpStatusCode.NoContent: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onNoContent(_response); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// The name of the firewall rule. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task FirewallRulesDelete_Validate(string resourceGroupName, string cacheName, string ruleName, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(cacheName),cacheName); + await eventListener.AssertNotNull(nameof(ruleName),ruleName); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + } + } + + /// Gets a single firewall rule in a specified redis cache. + /// The name of the resource group. + /// The name of the Redis cache. + /// The name of the firewall rule. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task FirewallRulesGet(string resourceGroupName, string cacheName, string ruleName, string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(cacheName) + + "/firewallRules/" + + global::System.Uri.EscapeDataString(ruleName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.FirewallRulesGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Gets a single firewall rule in a specified redis cache. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task FirewallRulesGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/firewallRules/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName}'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var cacheName = _match.Groups["cacheName"].Value; + var ruleName = _match.Groups["ruleName"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + cacheName + + "/firewallRules/" + + ruleName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.FirewallRulesGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task FirewallRulesGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRule.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// The name of the firewall rule. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task FirewallRulesGet_Validate(string resourceGroupName, string cacheName, string ruleName, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(cacheName),cacheName); + await eventListener.AssertNotNull(nameof(ruleName),ruleName); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + } + } + + /// Gets all firewall rules in the specified redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// The name of the resource group. + /// The name of the Redis cache. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task FirewallRulesList(string subscriptionId, string resourceGroupName, string cacheName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(cacheName) + + "/firewallRules" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.FirewallRulesList_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Gets all firewall rules in the specified redis cache. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task FirewallRulesListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/firewallRules$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var cacheName = _match.Groups["cacheName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + cacheName + + "/firewallRules" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.FirewallRulesList_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task FirewallRulesList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRuleListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// The name of the resource group. + /// The name of the Redis cache. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task FirewallRulesList_Validate(string subscriptionId, string resourceGroupName, string cacheName, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(cacheName),cacheName); + } + } + + /// Adds a linked server to the Redis cache (requires Premium SKU). + /// The name of the resource group. + /// The name of the Redis cache. + /// The name of the linked server that is being added to the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Parameters supplied to the Create Linked server operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LinkedServerCreate(string resourceGroupName, string name, string linkedServerName, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParameters body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(name) + + "/linkedServers/" + + global::System.Uri.EscapeDataString(linkedServerName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LinkedServerCreate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Adds a linked server to the Redis cache (requires Premium SKU). + /// + /// Parameters supplied to the Create Linked server operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LinkedServerCreateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParameters body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/linkedServers/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName}'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var name = _match.Groups["name"].Value; + var linkedServerName = _match.Groups["linkedServerName"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + name + + "/linkedServers/" + + linkedServerName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LinkedServerCreate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LinkedServerCreate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: default + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + + // get the delay before polling. (default to 30 seconds if not present) + int delay = (int)(_response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling, $"Delaying {delay} seconds before polling.", _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // start the delay timer (we'll await later...) + var waiting = global::System.Threading.Tasks.Task.Delay(delay * 1000, eventListener.Token ); + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + await waiting; + + // check for cancellation + if( eventListener.Token.IsCancellationRequested ) { return; } + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + if (!string.IsNullOrWhiteSpace(_originalUri)) + { + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerWithProperties.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// The name of the linked server that is being added to the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Parameters supplied to the Create Linked server operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LinkedServerCreate_Validate(string resourceGroupName, string name, string linkedServerName, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParameters body, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(name),name); + await eventListener.AssertNotNull(nameof(linkedServerName),linkedServerName); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// Deletes the linked server from a redis cache (requires Premium SKU). + /// The name of the resource group. + /// The name of the redis cache. + /// The name of the linked server that is being added to the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LinkedServerDelete(string resourceGroupName, string name, string linkedServerName, string subscriptionId, global::System.Func onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(name) + + "/linkedServers/" + + global::System.Uri.EscapeDataString(linkedServerName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LinkedServerDelete_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Deletes the linked server from a redis cache (requires Premium SKU). + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LinkedServerDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/linkedServers/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName}'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var name = _match.Groups["name"].Value; + var linkedServerName = _match.Groups["linkedServerName"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + name + + "/linkedServers/" + + linkedServerName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LinkedServerDelete_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LinkedServerDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: default + var _finalUri = _response.GetFirstHeader(@"Location"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + + // get the delay before polling. (default to 30 seconds if not present) + int delay = (int)(_response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling, $"Delaying {delay} seconds before polling.", _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // start the delay timer (we'll await later...) + var waiting = global::System.Threading.Tasks.Task.Delay(delay * 1000, eventListener.Token ); + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + await waiting; + + // check for cancellation + if( eventListener.Token.IsCancellationRequested ) { return; } + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + if (!string.IsNullOrWhiteSpace(_finalUri)) + { + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The name of the resource group. + /// The name of the redis cache. + /// The name of the linked server that is being added to the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LinkedServerDelete_Validate(string resourceGroupName, string name, string linkedServerName, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(name),name); + await eventListener.AssertNotNull(nameof(linkedServerName),linkedServerName); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + } + } + + /// + /// Gets the detailed information about a linked server of a redis cache (requires Premium SKU). + /// + /// The name of the resource group. + /// The name of the redis cache. + /// The name of the linked server. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LinkedServerGet(string resourceGroupName, string name, string linkedServerName, string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(name) + + "/linkedServers/" + + global::System.Uri.EscapeDataString(linkedServerName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LinkedServerGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets the detailed information about a linked server of a redis cache (requires Premium SKU). + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LinkedServerGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/linkedServers/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName}'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var name = _match.Groups["name"].Value; + var linkedServerName = _match.Groups["linkedServerName"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + name + + "/linkedServers/" + + linkedServerName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LinkedServerGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LinkedServerGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerWithProperties.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The name of the resource group. + /// The name of the redis cache. + /// The name of the linked server. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LinkedServerGet_Validate(string resourceGroupName, string name, string linkedServerName, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(name),name); + await eventListener.AssertNotNull(nameof(linkedServerName),linkedServerName); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + } + } + + /// + /// Gets the list of linked servers associated with this redis cache (requires Premium SKU). + /// + /// The name of the resource group. + /// The name of the redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LinkedServerList(string resourceGroupName, string name, string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(name) + + "/linkedServers" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LinkedServerList_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets the list of linked servers associated with this redis cache (requires Premium SKU). + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task LinkedServerListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/linkedServers$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var name = _match.Groups["name"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + name + + "/linkedServers" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.LinkedServerList_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LinkedServerList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerWithPropertiesList.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The name of the resource group. + /// The name of the redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task LinkedServerList_Validate(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(name),name); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + } + } + + /// Lists all of the available REST API operations of the Microsoft.Cache provider. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task OperationsList(global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Cache/operations" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.OperationsList_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Lists all of the available REST API operations of the Microsoft.Cache provider. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task OperationsListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Cache/operations$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Cache/operations'"); + } + + // replace URI parameters with values from identity + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Cache/operations" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.OperationsList_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task OperationsList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.OperationListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task OperationsList_Validate(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + + } + } + + /// Create or replace the patching schedule for Redis cache. + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Parameters to set the patching schedule for Redis cache. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 201 (Created). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PatchSchedulesCreateOrUpdate(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onCreated, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var @default = @"default"; + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(name) + + "/patchSchedules/" + + global::System.Uri.EscapeDataString(@default) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PatchSchedulesCreateOrUpdate_Call(request,onOk,onCreated,onDefault,eventListener,sender); + } + } + + /// Create or replace the patching schedule for Redis cache. + /// + /// Parameters to set the patching schedule for Redis cache. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 201 (Created). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PatchSchedulesCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onCreated, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/patchSchedules/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/{default}'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var name = _match.Groups["name"].Value; + var @default = _match.Groups["default"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + name + + "/patchSchedules/" + + @default + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PatchSchedulesCreateOrUpdate_Call(request,onOk,onCreated,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 201 (Created). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PatchSchedulesCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onCreated, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisPatchSchedule.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + case global::System.Net.HttpStatusCode.Created: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onCreated(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisPatchSchedule.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Parameters to set the patching schedule for Redis cache. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PatchSchedulesCreateOrUpdate_Validate(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule body, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(name),name); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// Deletes the patching schedule of a redis cache. + /// The name of the resource group. + /// The name of the redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PatchSchedulesDelete(string resourceGroupName, string name, string subscriptionId, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var @default = @"default"; + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(name) + + "/patchSchedules/" + + global::System.Uri.EscapeDataString(@default) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PatchSchedulesDelete_Call(request,onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Deletes the patching schedule of a redis cache. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PatchSchedulesDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/patchSchedules/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/{default}'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var name = _match.Groups["name"].Value; + var @default = _match.Groups["default"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + name + + "/patchSchedules/" + + @default + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PatchSchedulesDelete_Call(request,onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PatchSchedulesDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response); + break; + } + case global::System.Net.HttpStatusCode.NoContent: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onNoContent(_response); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The name of the resource group. + /// The name of the redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PatchSchedulesDelete_Validate(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(name),name); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + } + } + + /// Gets the patching schedule of a redis cache. + /// The name of the resource group. + /// The name of the redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PatchSchedulesGet(string resourceGroupName, string name, string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var @default = @"default"; + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(name) + + "/patchSchedules/" + + global::System.Uri.EscapeDataString(@default) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PatchSchedulesGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Gets the patching schedule of a redis cache. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PatchSchedulesGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/patchSchedules/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/{default}'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var name = _match.Groups["name"].Value; + var @default = _match.Groups["default"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + name + + "/patchSchedules/" + + @default + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PatchSchedulesGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PatchSchedulesGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisPatchSchedule.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The name of the resource group. + /// The name of the redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PatchSchedulesGet_Validate(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(name),name); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + } + } + + /// Gets all patch schedules in the specified redis cache (there is only one). + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// The name of the resource group. + /// The name of the Redis cache. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PatchSchedulesListByRedisResource(string subscriptionId, string resourceGroupName, string cacheName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(cacheName) + + "/patchSchedules" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PatchSchedulesListByRedisResource_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Gets all patch schedules in the specified redis cache (there is only one). + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PatchSchedulesListByRedisResourceViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/patchSchedules$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/patchSchedules'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var cacheName = _match.Groups["cacheName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + cacheName + + "/patchSchedules" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PatchSchedulesListByRedisResource_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PatchSchedulesListByRedisResource_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisPatchScheduleListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you + /// will get validation events back. + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// The name of the resource group. + /// The name of the Redis cache. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PatchSchedulesListByRedisResource_Validate(string subscriptionId, string resourceGroupName, string cacheName, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(cacheName),cacheName); + } + } + + /// + /// Deletes the specified private endpoint connection associated with the redis cache. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// The name of the private endpoint connection associated with the Azure resource + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PrivateEndpointConnectionsDelete(string resourceGroupName, string cacheName, string subscriptionId, string privateEndpointConnectionName, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(cacheName) + + "/privateEndpointConnections/" + + global::System.Uri.EscapeDataString(privateEndpointConnectionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PrivateEndpointConnectionsDelete_Call(request,onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// + /// Deletes the specified private endpoint connection associated with the redis cache. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PrivateEndpointConnectionsDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/privateEndpointConnections/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/privateEndpointConnections/{privateEndpointConnectionName}'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var cacheName = _match.Groups["cacheName"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + var privateEndpointConnectionName = _match.Groups["privateEndpointConnectionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + cacheName + + "/privateEndpointConnections/" + + privateEndpointConnectionName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PrivateEndpointConnectionsDelete_Call(request,onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PrivateEndpointConnectionsDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response); + break; + } + case global::System.Net.HttpStatusCode.NoContent: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onNoContent(_response); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you + /// will get validation events back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// The name of the private endpoint connection associated with the Azure resource + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PrivateEndpointConnectionsDelete_Validate(string resourceGroupName, string cacheName, string subscriptionId, string privateEndpointConnectionName, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(cacheName),cacheName); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(privateEndpointConnectionName),privateEndpointConnectionName); + } + } + + /// Gets the specified private endpoint connection associated with the redis cache. + /// The name of the resource group. + /// The name of the Redis cache. + /// The name of the private endpoint connection associated with the Azure resource + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PrivateEndpointConnectionsGet(string resourceGroupName, string cacheName, string privateEndpointConnectionName, string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(cacheName) + + "/privateEndpointConnections/" + + global::System.Uri.EscapeDataString(privateEndpointConnectionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PrivateEndpointConnectionsGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Gets the specified private endpoint connection associated with the redis cache. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PrivateEndpointConnectionsGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/privateEndpointConnections/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/privateEndpointConnections/{privateEndpointConnectionName}'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var cacheName = _match.Groups["cacheName"].Value; + var privateEndpointConnectionName = _match.Groups["privateEndpointConnectionName"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + cacheName + + "/privateEndpointConnections/" + + privateEndpointConnectionName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PrivateEndpointConnectionsGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PrivateEndpointConnectionsGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnection.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// The name of the private endpoint connection associated with the Azure resource + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PrivateEndpointConnectionsGet_Validate(string resourceGroupName, string cacheName, string privateEndpointConnectionName, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(cacheName),cacheName); + await eventListener.AssertNotNull(nameof(privateEndpointConnectionName),privateEndpointConnectionName); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + } + } + + /// List all the private endpoint connections associated with the redis cache. + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PrivateEndpointConnectionsList(string resourceGroupName, string cacheName, string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(cacheName) + + "/privateEndpointConnections" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PrivateEndpointConnectionsList_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// List all the private endpoint connections associated with the redis cache. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PrivateEndpointConnectionsListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/privateEndpointConnections$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/privateEndpointConnections'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var cacheName = _match.Groups["cacheName"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + cacheName + + "/privateEndpointConnections" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PrivateEndpointConnectionsList_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PrivateEndpointConnectionsList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnectionListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PrivateEndpointConnectionsList_Validate(string resourceGroupName, string cacheName, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(cacheName),cacheName); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + } + } + + /// + /// Update the state of specified private endpoint connection associated with the redis cache. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// The name of the private endpoint connection associated with the Azure resource + /// The private endpoint connection properties. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PrivateEndpointConnectionsPut(string resourceGroupName, string cacheName, string subscriptionId, string privateEndpointConnectionName, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(cacheName) + + "/privateEndpointConnections/" + + global::System.Uri.EscapeDataString(privateEndpointConnectionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PrivateEndpointConnectionsPut_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Update the state of specified private endpoint connection associated with the redis cache. + /// + /// + /// The private endpoint connection properties. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PrivateEndpointConnectionsPutViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/privateEndpointConnections/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/privateEndpointConnections/{privateEndpointConnectionName}'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var cacheName = _match.Groups["cacheName"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + var privateEndpointConnectionName = _match.Groups["privateEndpointConnectionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + cacheName + + "/privateEndpointConnections/" + + privateEndpointConnectionName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PrivateEndpointConnectionsPut_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PrivateEndpointConnectionsPut_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: default + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + + // get the delay before polling. (default to 30 seconds if not present) + int delay = (int)(_response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling, $"Delaying {delay} seconds before polling.", _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // start the delay timer (we'll await later...) + var waiting = global::System.Threading.Tasks.Task.Delay(delay * 1000, eventListener.Token ); + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + await waiting; + + // check for cancellation + if( eventListener.Token.IsCancellationRequested ) { return; } + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + if (!string.IsNullOrWhiteSpace(_originalUri)) + { + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateEndpointConnection.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// The name of the private endpoint connection associated with the Azure resource + /// The private endpoint connection properties. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PrivateEndpointConnectionsPut_Validate(string resourceGroupName, string cacheName, string subscriptionId, string privateEndpointConnectionName, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection body, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(cacheName),cacheName); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(privateEndpointConnectionName),privateEndpointConnectionName); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// Gets the private link resources that need to be created for a redis cache. + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PrivateLinkResourcesListByRedisCache(string resourceGroupName, string cacheName, string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(cacheName) + + "/privateLinkResources" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PrivateLinkResourcesListByRedisCache_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Gets the private link resources that need to be created for a redis cache. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PrivateLinkResourcesListByRedisCacheViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/privateLinkResources$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/privateLinkResources'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var cacheName = _match.Groups["cacheName"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + cacheName + + "/privateLinkResources" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PrivateLinkResourcesListByRedisCache_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PrivateLinkResourcesListByRedisCache_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.PrivateLinkResourceListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but + /// you will get validation events back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PrivateLinkResourcesListByRedisCache_Validate(string resourceGroupName, string cacheName, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(cacheName),cacheName); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + } + } + + /// Checks that the redis cache name is valid and is not already in use. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Parameters supplied to the CheckNameAvailability Redis operation. The only supported resource type + /// is 'Microsoft.Cache/redis' + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisCheckNameAvailability(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters body, global::System.Func onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.Cache/CheckNameAvailability" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisCheckNameAvailability_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Checks that the redis cache name is valid and is not already in use. + /// + /// Parameters supplied to the CheckNameAvailability Redis operation. The only supported resource type + /// is 'Microsoft.Cache/redis' + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisCheckNameAvailabilityViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters body, global::System.Func onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.Cache/CheckNameAvailability$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.Cache/CheckNameAvailability'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.Cache/CheckNameAvailability" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisCheckNameAvailability_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisCheckNameAvailability_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Parameters supplied to the CheckNameAvailability Redis operation. The only supported resource type + /// is 'Microsoft.Cache/redis' + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisCheckNameAvailability_Validate(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters body, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// Create or replace (overwrite/recreate, with potential downtime) an existing Redis cache. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Parameters supplied to the Create Redis operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisCreate(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParameters body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(name) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisCreate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Create or replace (overwrite/recreate, with potential downtime) an existing Redis cache. + /// + /// + /// Parameters supplied to the Create Redis operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisCreateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParameters body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var name = _match.Groups["name"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + name + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisCreate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisCreate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: default + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + + // get the delay before polling. (default to 30 seconds if not present) + int delay = (int)(_response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling, $"Delaying {delay} seconds before polling.", _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // start the delay timer (we'll await later...) + var waiting = global::System.Threading.Tasks.Task.Delay(delay * 1000, eventListener.Token ); + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + await waiting; + + // check for cancellation + if( eventListener.Token.IsCancellationRequested ) { return; } + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + if (!string.IsNullOrWhiteSpace(_originalUri)) + { + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisResource.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation events + /// back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Parameters supplied to the Create Redis operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisCreate_Validate(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParameters body, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(name),name); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// Deletes a Redis cache. + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisDelete(string resourceGroupName, string name, string subscriptionId, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(name) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisDelete_Call(request,onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Deletes a Redis cache. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisDeleteViaIdentity(global::System.String viaIdentity, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var name = _match.Groups["name"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + name + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisDelete_Call(request,onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisDelete_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: default + var _finalUri = _response.GetFirstHeader(@"Location"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + + // get the delay before polling. (default to 30 seconds if not present) + int delay = (int)(_response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling, $"Delaying {delay} seconds before polling.", _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // start the delay timer (we'll await later...) + var waiting = global::System.Threading.Tasks.Task.Delay(delay * 1000, eventListener.Token ); + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + await waiting; + + // check for cancellation + if( eventListener.Token.IsCancellationRequested ) { return; } + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + if (!string.IsNullOrWhiteSpace(_finalUri)) + { + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response); + break; + } + case global::System.Net.HttpStatusCode.NoContent: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onNoContent(_response); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation events + /// back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisDelete_Validate(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(name),name); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + } + } + + /// Export data from the redis cache to blobs in a container. + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Parameters for Redis export operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisExportData(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters body, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(name) + + "/export" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisExportData_Call(request,onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Export data from the redis cache to blobs in a container. + /// + /// Parameters for Redis export operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisExportDataViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters body, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/export$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/export'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var name = _match.Groups["name"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + name + + "/export" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisExportData_Call(request,onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisExportData_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: default + var _finalUri = _response.GetFirstHeader(@"Location"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + + // get the delay before polling. (default to 30 seconds if not present) + int delay = (int)(_response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling, $"Delaying {delay} seconds before polling.", _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // start the delay timer (we'll await later...) + var waiting = global::System.Threading.Tasks.Task.Delay(delay * 1000, eventListener.Token ); + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + await waiting; + + // check for cancellation + if( eventListener.Token.IsCancellationRequested ) { return; } + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + if (!string.IsNullOrWhiteSpace(_finalUri)) + { + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response); + break; + } + case global::System.Net.HttpStatusCode.NoContent: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onNoContent(_response); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Parameters for Redis export operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisExportData_Validate(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters body, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(name),name); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// Reboot specified Redis node(s). This operation requires write permission to the cache resource. There can be potential + /// data loss. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Specifies which Redis node(s) to reboot. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisForceReboot(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(name) + + "/forceReboot" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisForceReboot_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Reboot specified Redis node(s). This operation requires write permission to the cache resource. There can be potential + /// data loss. + /// + /// + /// Specifies which Redis node(s) to reboot. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisForceRebootViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/forceReboot$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/forceReboot'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var name = _match.Groups["name"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + name + + "/forceReboot" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisForceReboot_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisForceReboot_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisForceRebootResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Specifies which Redis node(s) to reboot. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisForceReboot_Validate(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters body, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(name),name); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// Gets a Redis cache (resource description). + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisGet(string resourceGroupName, string name, string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(name) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Gets a Redis cache (resource description). + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var name = _match.Groups["name"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + name + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisResource.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation events + /// back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisGet_Validate(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(name),name); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + } + } + + /// Import data into Redis cache. + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Parameters for Redis import operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisImportData(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters body, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(name) + + "/import" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisImportData_Call(request,onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Import data into Redis cache. + /// + /// Parameters for Redis import operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisImportDataViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters body, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/import$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/import'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var name = _match.Groups["name"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + name + + "/import" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisImportData_Call(request,onOk,onNoContent,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 204 (NoContent). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisImportData_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func onOk, global::System.Func onNoContent, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: default + var _finalUri = _response.GetFirstHeader(@"Location"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + + // get the delay before polling. (default to 30 seconds if not present) + int delay = (int)(_response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling, $"Delaying {delay} seconds before polling.", _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // start the delay timer (we'll await later...) + var waiting = global::System.Threading.Tasks.Task.Delay(delay * 1000, eventListener.Token ); + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + await waiting; + + // check for cancellation + if( eventListener.Token.IsCancellationRequested ) { return; } + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + if (!string.IsNullOrWhiteSpace(_finalUri)) + { + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response); + break; + } + case global::System.Net.HttpStatusCode.NoContent: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onNoContent(_response); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Parameters for Redis import operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisImportData_Validate(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters body, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(name),name); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// Lists all Redis caches in a resource group. + /// The name of the resource group. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisListByResourceGroup(string resourceGroupName, string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisListByResourceGroup_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Lists all Redis caches in a resource group. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisListByResourceGroupViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisListByResourceGroup_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisListByResourceGroup_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The name of the resource group. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisListByResourceGroup_Validate(string resourceGroupName, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + } + } + + /// Gets all Redis caches in the specified subscription. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisListBySubscription(string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.Cache/redis" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisListBySubscription_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Gets all Redis caches in the specified subscription. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisListBySubscriptionViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.Cache/redis$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.Cache/redis'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.Cache/redis" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisListBySubscription_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisListBySubscription_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisListBySubscription_Validate(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + } + } + + /// + /// Retrieve a Redis cache's access keys. This operation requires write permission to the cache resource. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisListKeys(string resourceGroupName, string name, string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(name) + + "/listKeys" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisListKeys_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Retrieve a Redis cache's access keys. This operation requires write permission to the cache resource. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisListKeysViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/listKeys$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/listKeys'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var name = _match.Groups["name"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + name + + "/listKeys" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisListKeys_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisListKeys_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisAccessKeys.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisListKeys_Validate(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(name),name); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + } + } + + /// Gets any upgrade notifications for a Redis cache. + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// how many minutes in past to look for upgrade notifications + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisListUpgradeNotifications(string resourceGroupName, string name, string subscriptionId, double history, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(name) + + "/listUpgradeNotifications" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + "history=" + global::System.Uri.EscapeDataString(history.ToString()) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisListUpgradeNotifications_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Gets any upgrade notifications for a Redis cache. + /// + /// how many minutes in past to look for upgrade notifications + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisListUpgradeNotificationsViaIdentity(global::System.String viaIdentity, double history, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/listUpgradeNotifications$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/listUpgradeNotifications'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var name = _match.Groups["name"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + name + + "/listUpgradeNotifications" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + "history=" + global::System.Uri.EscapeDataString(history.ToString()) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisListUpgradeNotifications_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisListUpgradeNotifications_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.NotificationListResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// how many minutes in past to look for upgrade notifications + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisListUpgradeNotifications_Validate(string resourceGroupName, string name, string subscriptionId, double history, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(name),name); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + } + } + + /// + /// Regenerate Redis cache's access keys. This operation requires write permission to the cache resource. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Specifies which key to regenerate. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisRegenerateKey(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(name) + + "/regenerateKey" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisRegenerateKey_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Regenerate Redis cache's access keys. This operation requires write permission to the cache resource. + /// + /// + /// Specifies which key to regenerate. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisRegenerateKeyViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)/regenerateKey$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/regenerateKey'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var name = _match.Groups["name"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + name + + "/regenerateKey" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisRegenerateKey_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisRegenerateKey_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisAccessKeys.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Specifies which key to regenerate. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisRegenerateKey_Validate(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters body, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(name),name); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// Update an existing Redis cache. + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Parameters supplied to the Update Redis operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisUpdate(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParameters body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/resourceGroups/" + + global::System.Uri.EscapeDataString(resourceGroupName) + + "/providers/Microsoft.Cache/redis/" + + global::System.Uri.EscapeDataString(name) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisUpdate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Update an existing Redis cache. + /// + /// Parameters supplied to the Update Redis operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task RedisUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParameters body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + var apiVersion = @"2022-06-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/resourceGroups/(?[^/]+)/providers/Microsoft.Cache/redis/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}'"); + } + + // replace URI parameters with values from identity + var resourceGroupName = _match.Groups["resourceGroupName"].Value; + var name = _match.Groups["name"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/resourceGroups/" + + resourceGroupName + + "/providers/Microsoft.Cache/redis/" + + name + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.RedisUpdate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: default + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + + // get the delay before polling. (default to 30 seconds if not present) + int delay = (int)(_response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling, $"Delaying {delay} seconds before polling.", _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // start the delay timer (we'll await later...) + var waiting = global::System.Threading.Tasks.Task.Delay(delay * 1000, eventListener.Token ); + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + await waiting; + + // check for cancellation + if( eventListener.Token.IsCancellationRequested ) { return; } + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + if (!string.IsNullOrWhiteSpace(_originalUri)) + { + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisResource.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation events + /// back. + /// + /// The name of the resource group. + /// The name of the Redis cache. + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The + /// subscription ID forms part of the URI for every service call. + /// Parameters supplied to the Update Redis operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task RedisUpdate_Validate(string resourceGroupName, string name, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParameters body, Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(resourceGroupName),resourceGroupName); + await eventListener.AssertNotNull(nameof(name),name); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/DayOfWeek.Completer.cs b/swaggerci/redis/generated/api/Support/DayOfWeek.Completer.cs new file mode 100644 index 000000000000..99846df50724 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/DayOfWeek.Completer.cs @@ -0,0 +1,67 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// Day of the week when a cache can be patched. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeekTypeConverter))] + public partial struct DayOfWeek : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Monday".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Monday'", "Monday", global::System.Management.Automation.CompletionResultType.ParameterValue, "Monday"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Tuesday".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Tuesday'", "Tuesday", global::System.Management.Automation.CompletionResultType.ParameterValue, "Tuesday"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Wednesday".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Wednesday'", "Wednesday", global::System.Management.Automation.CompletionResultType.ParameterValue, "Wednesday"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Thursday".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Thursday'", "Thursday", global::System.Management.Automation.CompletionResultType.ParameterValue, "Thursday"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Friday".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Friday'", "Friday", global::System.Management.Automation.CompletionResultType.ParameterValue, "Friday"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Saturday".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Saturday'", "Saturday", global::System.Management.Automation.CompletionResultType.ParameterValue, "Saturday"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Sunday".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Sunday'", "Sunday", global::System.Management.Automation.CompletionResultType.ParameterValue, "Sunday"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Everyday".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Everyday'", "Everyday", global::System.Management.Automation.CompletionResultType.ParameterValue, "Everyday"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Weekend".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Weekend'", "Weekend", global::System.Management.Automation.CompletionResultType.ParameterValue, "Weekend"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/DayOfWeek.TypeConverter.cs b/swaggerci/redis/generated/api/Support/DayOfWeek.TypeConverter.cs new file mode 100644 index 000000000000..753068aa6116 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/DayOfWeek.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// Day of the week when a cache can be patched. + public partial class DayOfWeekTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => DayOfWeek.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/DayOfWeek.cs b/swaggerci/redis/generated/api/Support/DayOfWeek.cs new file mode 100644 index 000000000000..b0712016f66b --- /dev/null +++ b/swaggerci/redis/generated/api/Support/DayOfWeek.cs @@ -0,0 +1,112 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// Day of the week when a cache can be patched. + public partial struct DayOfWeek : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek Everyday = @"Everyday"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek Friday = @"Friday"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek Monday = @"Monday"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek Saturday = @"Saturday"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek Sunday = @"Sunday"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek Thursday = @"Thursday"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek Tuesday = @"Tuesday"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek Wednesday = @"Wednesday"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek Weekend = @"Weekend"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to DayOfWeek + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new DayOfWeek(global::System.Convert.ToString(value)); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private DayOfWeek(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Compares values of enum type DayOfWeek + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type DayOfWeek (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is DayOfWeek && Equals((DayOfWeek)obj); + } + + /// Returns hashCode for enum DayOfWeek + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for DayOfWeek + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to DayOfWeek + /// the value to convert to an instance of . + + public static implicit operator DayOfWeek(string value) + { + return new DayOfWeek(value); + } + + /// Implicit operator to convert DayOfWeek to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek e) + { + return e._value; + } + + /// Overriding != operator for enum DayOfWeek + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum DayOfWeek + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DayOfWeek e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/DefaultName.Completer.cs b/swaggerci/redis/generated/api/Support/DefaultName.Completer.cs new file mode 100644 index 000000000000..3002c807dd62 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/DefaultName.Completer.cs @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// Argument completer implementation for DefaultName. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DefaultNameTypeConverter))] + public partial struct DefaultName : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "default".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'default'", "default", global::System.Management.Automation.CompletionResultType.ParameterValue, "default"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/DefaultName.TypeConverter.cs b/swaggerci/redis/generated/api/Support/DefaultName.TypeConverter.cs new file mode 100644 index 000000000000..c9b72843d3e1 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/DefaultName.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// TypeConverter implementation for DefaultName. + public partial class DefaultNameTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => DefaultName.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/DefaultName.cs b/swaggerci/redis/generated/api/Support/DefaultName.cs new file mode 100644 index 000000000000..5355afef5e83 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/DefaultName.cs @@ -0,0 +1,95 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + public partial struct DefaultName : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DefaultName Default = @"default"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to DefaultName + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new DefaultName(global::System.Convert.ToString(value)); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private DefaultName(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Compares values of enum type DefaultName + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DefaultName e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type DefaultName (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is DefaultName && Equals((DefaultName)obj); + } + + /// Returns hashCode for enum DefaultName + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for DefaultName + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to DefaultName + /// the value to convert to an instance of . + + public static implicit operator DefaultName(string value) + { + return new DefaultName(value); + } + + /// Implicit operator to convert DefaultName to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DefaultName e) + { + return e._value; + } + + /// Overriding != operator for enum DefaultName + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DefaultName e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DefaultName e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum DefaultName + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DefaultName e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.DefaultName e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/ManagedServiceIdentityType.Completer.cs b/swaggerci/redis/generated/api/Support/ManagedServiceIdentityType.Completer.cs new file mode 100644 index 000000000000..505e3f5ec5d6 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/ManagedServiceIdentityType.Completer.cs @@ -0,0 +1,49 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityTypeTypeConverter))] + public partial struct ManagedServiceIdentityType : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "None".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'None'", "None", global::System.Management.Automation.CompletionResultType.ParameterValue, "None"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "SystemAssigned".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'SystemAssigned'", "SystemAssigned", global::System.Management.Automation.CompletionResultType.ParameterValue, "SystemAssigned"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "UserAssigned".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'UserAssigned'", "UserAssigned", global::System.Management.Automation.CompletionResultType.ParameterValue, "UserAssigned"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "SystemAssigned, UserAssigned".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'SystemAssigned, UserAssigned'", "SystemAssigned, UserAssigned", global::System.Management.Automation.CompletionResultType.ParameterValue, "SystemAssigned, UserAssigned"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/ManagedServiceIdentityType.TypeConverter.cs b/swaggerci/redis/generated/api/Support/ManagedServiceIdentityType.TypeConverter.cs new file mode 100644 index 000000000000..8b9fbc7596c3 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/ManagedServiceIdentityType.TypeConverter.cs @@ -0,0 +1,61 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + public partial class ManagedServiceIdentityTypeTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ManagedServiceIdentityType.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/ManagedServiceIdentityType.cs b/swaggerci/redis/generated/api/Support/ManagedServiceIdentityType.cs new file mode 100644 index 000000000000..71077b5b61f5 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/ManagedServiceIdentityType.cs @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + public partial struct ManagedServiceIdentityType : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType None = @"None"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType SystemAssigned = @"SystemAssigned"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType SystemAssignedUserAssigned = @"SystemAssigned, UserAssigned"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType UserAssigned = @"UserAssigned"; + + /// + /// the value for an instance of the Enum. + /// + private string _value { get; set; } + + /// Conversion from arbitrary object to ManagedServiceIdentityType + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new ManagedServiceIdentityType(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type ManagedServiceIdentityType + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type ManagedServiceIdentityType (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is ManagedServiceIdentityType && Equals((ManagedServiceIdentityType)obj); + } + + /// Returns hashCode for enum ManagedServiceIdentityType + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private ManagedServiceIdentityType(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for ManagedServiceIdentityType + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to ManagedServiceIdentityType + /// the value to convert to an instance of . + + public static implicit operator ManagedServiceIdentityType(string value) + { + return new ManagedServiceIdentityType(value); + } + + /// Implicit operator to convert ManagedServiceIdentityType to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType e) + { + return e._value; + } + + /// Overriding != operator for enum ManagedServiceIdentityType + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum ManagedServiceIdentityType + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/PrivateEndpointConnectionProvisioningState.Completer.cs b/swaggerci/redis/generated/api/Support/PrivateEndpointConnectionProvisioningState.Completer.cs new file mode 100644 index 000000000000..8614b2944e70 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/PrivateEndpointConnectionProvisioningState.Completer.cs @@ -0,0 +1,47 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// The current provisioning state. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningStateTypeConverter))] + public partial struct PrivateEndpointConnectionProvisioningState : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Succeeded".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Succeeded'", "Succeeded", global::System.Management.Automation.CompletionResultType.ParameterValue, "Succeeded"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Creating".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Creating'", "Creating", global::System.Management.Automation.CompletionResultType.ParameterValue, "Creating"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Deleting".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Deleting'", "Deleting", global::System.Management.Automation.CompletionResultType.ParameterValue, "Deleting"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Failed".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Failed'", "Failed", global::System.Management.Automation.CompletionResultType.ParameterValue, "Failed"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/PrivateEndpointConnectionProvisioningState.TypeConverter.cs b/swaggerci/redis/generated/api/Support/PrivateEndpointConnectionProvisioningState.TypeConverter.cs new file mode 100644 index 000000000000..dc3ffe5119fc --- /dev/null +++ b/swaggerci/redis/generated/api/Support/PrivateEndpointConnectionProvisioningState.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// The current provisioning state. + public partial class PrivateEndpointConnectionProvisioningStateTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => PrivateEndpointConnectionProvisioningState.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/PrivateEndpointConnectionProvisioningState.cs b/swaggerci/redis/generated/api/Support/PrivateEndpointConnectionProvisioningState.cs new file mode 100644 index 000000000000..96250f9a5e72 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/PrivateEndpointConnectionProvisioningState.cs @@ -0,0 +1,112 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// The current provisioning state. + public partial struct PrivateEndpointConnectionProvisioningState : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState Creating = @"Creating"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState Deleting = @"Deleting"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState Failed = @"Failed"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState Succeeded = @"Succeeded"; + + /// + /// the value for an instance of the Enum. + /// + private string _value { get; set; } + + /// Conversion from arbitrary object to PrivateEndpointConnectionProvisioningState + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new PrivateEndpointConnectionProvisioningState(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type PrivateEndpointConnectionProvisioningState + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState e) + { + return _value.Equals(e._value); + } + + /// + /// Compares values of enum type PrivateEndpointConnectionProvisioningState (override for Object) + /// + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is PrivateEndpointConnectionProvisioningState && Equals((PrivateEndpointConnectionProvisioningState)obj); + } + + /// Returns hashCode for enum PrivateEndpointConnectionProvisioningState + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// + /// Creates an instance of the Enum class. + /// + /// the value to create an instance for. + private PrivateEndpointConnectionProvisioningState(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for PrivateEndpointConnectionProvisioningState + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// + /// Implicit operator to convert string to PrivateEndpointConnectionProvisioningState + /// + /// the value to convert to an instance of . + + public static implicit operator PrivateEndpointConnectionProvisioningState(string value) + { + return new PrivateEndpointConnectionProvisioningState(value); + } + + /// + /// Implicit operator to convert PrivateEndpointConnectionProvisioningState to string + /// + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState e) + { + return e._value; + } + + /// Overriding != operator for enum PrivateEndpointConnectionProvisioningState + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum PrivateEndpointConnectionProvisioningState + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointConnectionProvisioningState e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/PrivateEndpointServiceConnectionStatus.Completer.cs b/swaggerci/redis/generated/api/Support/PrivateEndpointServiceConnectionStatus.Completer.cs new file mode 100644 index 000000000000..59288b1fcf72 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/PrivateEndpointServiceConnectionStatus.Completer.cs @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// The private endpoint connection status. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatusTypeConverter))] + public partial struct PrivateEndpointServiceConnectionStatus : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Pending".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Pending'", "Pending", global::System.Management.Automation.CompletionResultType.ParameterValue, "Pending"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Approved".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Approved'", "Approved", global::System.Management.Automation.CompletionResultType.ParameterValue, "Approved"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Rejected".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Rejected'", "Rejected", global::System.Management.Automation.CompletionResultType.ParameterValue, "Rejected"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/PrivateEndpointServiceConnectionStatus.TypeConverter.cs b/swaggerci/redis/generated/api/Support/PrivateEndpointServiceConnectionStatus.TypeConverter.cs new file mode 100644 index 000000000000..a1955ed696f1 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/PrivateEndpointServiceConnectionStatus.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// The private endpoint connection status. + public partial class PrivateEndpointServiceConnectionStatusTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => PrivateEndpointServiceConnectionStatus.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/PrivateEndpointServiceConnectionStatus.cs b/swaggerci/redis/generated/api/Support/PrivateEndpointServiceConnectionStatus.cs new file mode 100644 index 000000000000..c53976ec807c --- /dev/null +++ b/swaggerci/redis/generated/api/Support/PrivateEndpointServiceConnectionStatus.cs @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// The private endpoint connection status. + public partial struct PrivateEndpointServiceConnectionStatus : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus Approved = @"Approved"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus Pending = @"Pending"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus Rejected = @"Rejected"; + + /// + /// the value for an instance of the Enum. + /// + private string _value { get; set; } + + /// Conversion from arbitrary object to PrivateEndpointServiceConnectionStatus + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new PrivateEndpointServiceConnectionStatus(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type PrivateEndpointServiceConnectionStatus + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus e) + { + return _value.Equals(e._value); + } + + /// + /// Compares values of enum type PrivateEndpointServiceConnectionStatus (override for Object) + /// + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is PrivateEndpointServiceConnectionStatus && Equals((PrivateEndpointServiceConnectionStatus)obj); + } + + /// Returns hashCode for enum PrivateEndpointServiceConnectionStatus + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// + /// Creates an instance of the Enum class. + /// + /// the value to create an instance for. + private PrivateEndpointServiceConnectionStatus(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for PrivateEndpointServiceConnectionStatus + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to PrivateEndpointServiceConnectionStatus + /// the value to convert to an instance of . + + public static implicit operator PrivateEndpointServiceConnectionStatus(string value) + { + return new PrivateEndpointServiceConnectionStatus(value); + } + + /// Implicit operator to convert PrivateEndpointServiceConnectionStatus to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus e) + { + return e._value; + } + + /// Overriding != operator for enum PrivateEndpointServiceConnectionStatus + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum PrivateEndpointServiceConnectionStatus + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PrivateEndpointServiceConnectionStatus e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/ProvisioningState.Completer.cs b/swaggerci/redis/generated/api/Support/ProvisioningState.Completer.cs new file mode 100644 index 000000000000..51d8968f830c --- /dev/null +++ b/swaggerci/redis/generated/api/Support/ProvisioningState.Completer.cs @@ -0,0 +1,79 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// Redis instance provisioning status. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningStateTypeConverter))] + public partial struct ProvisioningState : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Creating".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Creating'", "Creating", global::System.Management.Automation.CompletionResultType.ParameterValue, "Creating"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Deleting".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Deleting'", "Deleting", global::System.Management.Automation.CompletionResultType.ParameterValue, "Deleting"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Disabled".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Disabled'", "Disabled", global::System.Management.Automation.CompletionResultType.ParameterValue, "Disabled"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Failed".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Failed'", "Failed", global::System.Management.Automation.CompletionResultType.ParameterValue, "Failed"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Linking".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Linking'", "Linking", global::System.Management.Automation.CompletionResultType.ParameterValue, "Linking"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Provisioning".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Provisioning'", "Provisioning", global::System.Management.Automation.CompletionResultType.ParameterValue, "Provisioning"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "RecoveringScaleFailure".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'RecoveringScaleFailure'", "RecoveringScaleFailure", global::System.Management.Automation.CompletionResultType.ParameterValue, "RecoveringScaleFailure"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Scaling".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Scaling'", "Scaling", global::System.Management.Automation.CompletionResultType.ParameterValue, "Scaling"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Succeeded".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Succeeded'", "Succeeded", global::System.Management.Automation.CompletionResultType.ParameterValue, "Succeeded"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Unlinking".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Unlinking'", "Unlinking", global::System.Management.Automation.CompletionResultType.ParameterValue, "Unlinking"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Unprovisioning".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Unprovisioning'", "Unprovisioning", global::System.Management.Automation.CompletionResultType.ParameterValue, "Unprovisioning"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Updating".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Updating'", "Updating", global::System.Management.Automation.CompletionResultType.ParameterValue, "Updating"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/ProvisioningState.TypeConverter.cs b/swaggerci/redis/generated/api/Support/ProvisioningState.TypeConverter.cs new file mode 100644 index 000000000000..bf467cda0b19 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/ProvisioningState.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// Redis instance provisioning status. + public partial class ProvisioningStateTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ProvisioningState.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/ProvisioningState.cs b/swaggerci/redis/generated/api/Support/ProvisioningState.cs new file mode 100644 index 000000000000..c059477d19bc --- /dev/null +++ b/swaggerci/redis/generated/api/Support/ProvisioningState.cs @@ -0,0 +1,118 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// Redis instance provisioning status. + public partial struct ProvisioningState : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState Creating = @"Creating"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState Deleting = @"Deleting"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState Disabled = @"Disabled"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState Failed = @"Failed"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState Linking = @"Linking"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState Provisioning = @"Provisioning"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState RecoveringScaleFailure = @"RecoveringScaleFailure"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState Scaling = @"Scaling"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState Succeeded = @"Succeeded"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState Unlinking = @"Unlinking"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState Unprovisioning = @"Unprovisioning"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState Updating = @"Updating"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to ProvisioningState + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new ProvisioningState(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type ProvisioningState + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type ProvisioningState (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is ProvisioningState && Equals((ProvisioningState)obj); + } + + /// Returns hashCode for enum ProvisioningState + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private ProvisioningState(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for ProvisioningState + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to ProvisioningState + /// the value to convert to an instance of . + + public static implicit operator ProvisioningState(string value) + { + return new ProvisioningState(value); + } + + /// Implicit operator to convert ProvisioningState to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState e) + { + return e._value; + } + + /// Overriding != operator for enum ProvisioningState + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum ProvisioningState + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ProvisioningState e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/PublicNetworkAccess.Completer.cs b/swaggerci/redis/generated/api/Support/PublicNetworkAccess.Completer.cs new file mode 100644 index 000000000000..483b898a16b0 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/PublicNetworkAccess.Completer.cs @@ -0,0 +1,42 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccessTypeConverter))] + public partial struct PublicNetworkAccess : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Enabled".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Enabled'", "Enabled", global::System.Management.Automation.CompletionResultType.ParameterValue, "Enabled"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Disabled".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Disabled'", "Disabled", global::System.Management.Automation.CompletionResultType.ParameterValue, "Disabled"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/PublicNetworkAccess.TypeConverter.cs b/swaggerci/redis/generated/api/Support/PublicNetworkAccess.TypeConverter.cs new file mode 100644 index 000000000000..062a817534ba --- /dev/null +++ b/swaggerci/redis/generated/api/Support/PublicNetworkAccess.TypeConverter.cs @@ -0,0 +1,62 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + public partial class PublicNetworkAccessTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => PublicNetworkAccess.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/PublicNetworkAccess.cs b/swaggerci/redis/generated/api/Support/PublicNetworkAccess.cs new file mode 100644 index 000000000000..f67aadeb28e5 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/PublicNetworkAccess.cs @@ -0,0 +1,101 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + public partial struct PublicNetworkAccess : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess Disabled = @"Disabled"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess Enabled = @"Enabled"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to PublicNetworkAccess + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new PublicNetworkAccess(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type PublicNetworkAccess + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type PublicNetworkAccess (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is PublicNetworkAccess && Equals((PublicNetworkAccess)obj); + } + + /// Returns hashCode for enum PublicNetworkAccess + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private PublicNetworkAccess(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for PublicNetworkAccess + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to PublicNetworkAccess + /// the value to convert to an instance of . + + public static implicit operator PublicNetworkAccess(string value) + { + return new PublicNetworkAccess(value); + } + + /// Implicit operator to convert PublicNetworkAccess to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess e) + { + return e._value; + } + + /// Overriding != operator for enum PublicNetworkAccess + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum PublicNetworkAccess + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/RebootType.Completer.cs b/swaggerci/redis/generated/api/Support/RebootType.Completer.cs new file mode 100644 index 000000000000..ae7186311090 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/RebootType.Completer.cs @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// Which Redis node(s) to reboot. Depending on this value data loss is possible. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootTypeTypeConverter))] + public partial struct RebootType : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "PrimaryNode".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'PrimaryNode'", "PrimaryNode", global::System.Management.Automation.CompletionResultType.ParameterValue, "PrimaryNode"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "SecondaryNode".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'SecondaryNode'", "SecondaryNode", global::System.Management.Automation.CompletionResultType.ParameterValue, "SecondaryNode"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "AllNodes".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'AllNodes'", "AllNodes", global::System.Management.Automation.CompletionResultType.ParameterValue, "AllNodes"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/RebootType.TypeConverter.cs b/swaggerci/redis/generated/api/Support/RebootType.TypeConverter.cs new file mode 100644 index 000000000000..74122ccc7b8a --- /dev/null +++ b/swaggerci/redis/generated/api/Support/RebootType.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// Which Redis node(s) to reboot. Depending on this value data loss is possible. + public partial class RebootTypeTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => RebootType.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/RebootType.cs b/swaggerci/redis/generated/api/Support/RebootType.cs new file mode 100644 index 000000000000..50bb9edd3932 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/RebootType.cs @@ -0,0 +1,100 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// Which Redis node(s) to reboot. Depending on this value data loss is possible. + public partial struct RebootType : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType AllNodes = @"AllNodes"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType PrimaryNode = @"PrimaryNode"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType SecondaryNode = @"SecondaryNode"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to RebootType + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new RebootType(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type RebootType + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type RebootType (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is RebootType && Equals((RebootType)obj); + } + + /// Returns hashCode for enum RebootType + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private RebootType(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for RebootType + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to RebootType + /// the value to convert to an instance of . + + public static implicit operator RebootType(string value) + { + return new RebootType(value); + } + + /// Implicit operator to convert RebootType to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType e) + { + return e._value; + } + + /// Overriding != operator for enum RebootType + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum RebootType + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/RedisKeyType.Completer.cs b/swaggerci/redis/generated/api/Support/RedisKeyType.Completer.cs new file mode 100644 index 000000000000..7f8e6a87b894 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/RedisKeyType.Completer.cs @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// The Redis access key to regenerate. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyTypeTypeConverter))] + public partial struct RedisKeyType : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Primary".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Primary'", "Primary", global::System.Management.Automation.CompletionResultType.ParameterValue, "Primary"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Secondary".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Secondary'", "Secondary", global::System.Management.Automation.CompletionResultType.ParameterValue, "Secondary"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/RedisKeyType.TypeConverter.cs b/swaggerci/redis/generated/api/Support/RedisKeyType.TypeConverter.cs new file mode 100644 index 000000000000..0c11ea6c48dd --- /dev/null +++ b/swaggerci/redis/generated/api/Support/RedisKeyType.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// The Redis access key to regenerate. + public partial class RedisKeyTypeTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => RedisKeyType.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/RedisKeyType.cs b/swaggerci/redis/generated/api/Support/RedisKeyType.cs new file mode 100644 index 000000000000..6ed31dbf73c9 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/RedisKeyType.cs @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// The Redis access key to regenerate. + public partial struct RedisKeyType : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType Primary = @"Primary"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType Secondary = @"Secondary"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to RedisKeyType + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new RedisKeyType(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type RedisKeyType + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type RedisKeyType (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is RedisKeyType && Equals((RedisKeyType)obj); + } + + /// Returns hashCode for enum RedisKeyType + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private RedisKeyType(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for RedisKeyType + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to RedisKeyType + /// the value to convert to an instance of . + + public static implicit operator RedisKeyType(string value) + { + return new RedisKeyType(value); + } + + /// Implicit operator to convert RedisKeyType to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType e) + { + return e._value; + } + + /// Overriding != operator for enum RedisKeyType + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum RedisKeyType + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/ReplicationRole.Completer.cs b/swaggerci/redis/generated/api/Support/ReplicationRole.Completer.cs new file mode 100644 index 000000000000..66f2744127ba --- /dev/null +++ b/swaggerci/redis/generated/api/Support/ReplicationRole.Completer.cs @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// Role of the linked server. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRoleTypeConverter))] + public partial struct ReplicationRole : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Primary".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Primary'", "Primary", global::System.Management.Automation.CompletionResultType.ParameterValue, "Primary"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Secondary".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Secondary'", "Secondary", global::System.Management.Automation.CompletionResultType.ParameterValue, "Secondary"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/ReplicationRole.TypeConverter.cs b/swaggerci/redis/generated/api/Support/ReplicationRole.TypeConverter.cs new file mode 100644 index 000000000000..88df3019a68d --- /dev/null +++ b/swaggerci/redis/generated/api/Support/ReplicationRole.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// Role of the linked server. + public partial class ReplicationRoleTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ReplicationRole.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/ReplicationRole.cs b/swaggerci/redis/generated/api/Support/ReplicationRole.cs new file mode 100644 index 000000000000..97b03fe0346c --- /dev/null +++ b/swaggerci/redis/generated/api/Support/ReplicationRole.cs @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// Role of the linked server. + public partial struct ReplicationRole : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole Primary = @"Primary"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole Secondary = @"Secondary"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to ReplicationRole + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new ReplicationRole(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type ReplicationRole + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type ReplicationRole (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is ReplicationRole && Equals((ReplicationRole)obj); + } + + /// Returns hashCode for enum ReplicationRole + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private ReplicationRole(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for ReplicationRole + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to ReplicationRole + /// the value to convert to an instance of . + + public static implicit operator ReplicationRole(string value) + { + return new ReplicationRole(value); + } + + /// Implicit operator to convert ReplicationRole to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole e) + { + return e._value; + } + + /// Overriding != operator for enum ReplicationRole + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum ReplicationRole + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/SkuFamily.Completer.cs b/swaggerci/redis/generated/api/Support/SkuFamily.Completer.cs new file mode 100644 index 000000000000..f428a09017c2 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/SkuFamily.Completer.cs @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamilyTypeConverter))] + public partial struct SkuFamily : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "C".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'C'", "C", global::System.Management.Automation.CompletionResultType.ParameterValue, "C"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "P".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'P'", "P", global::System.Management.Automation.CompletionResultType.ParameterValue, "P"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/SkuFamily.TypeConverter.cs b/swaggerci/redis/generated/api/Support/SkuFamily.TypeConverter.cs new file mode 100644 index 000000000000..beb0fa3f95e7 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/SkuFamily.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + public partial class SkuFamilyTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => SkuFamily.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/SkuFamily.cs b/swaggerci/redis/generated/api/Support/SkuFamily.cs new file mode 100644 index 000000000000..696794bf7114 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/SkuFamily.cs @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + public partial struct SkuFamily : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily C = @"C"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily P = @"P"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to SkuFamily + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new SkuFamily(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type SkuFamily + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type SkuFamily (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is SkuFamily && Equals((SkuFamily)obj); + } + + /// Returns hashCode for enum SkuFamily + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private SkuFamily(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for SkuFamily + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to SkuFamily + /// the value to convert to an instance of . + + public static implicit operator SkuFamily(string value) + { + return new SkuFamily(value); + } + + /// Implicit operator to convert SkuFamily to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily e) + { + return e._value; + } + + /// Overriding != operator for enum SkuFamily + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum SkuFamily + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/SkuName.Completer.cs b/swaggerci/redis/generated/api/Support/SkuName.Completer.cs new file mode 100644 index 000000000000..377c40c92a7d --- /dev/null +++ b/swaggerci/redis/generated/api/Support/SkuName.Completer.cs @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuNameTypeConverter))] + public partial struct SkuName : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Basic".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Basic'", "Basic", global::System.Management.Automation.CompletionResultType.ParameterValue, "Basic"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Standard".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Standard'", "Standard", global::System.Management.Automation.CompletionResultType.ParameterValue, "Standard"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Premium".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Premium'", "Premium", global::System.Management.Automation.CompletionResultType.ParameterValue, "Premium"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/SkuName.TypeConverter.cs b/swaggerci/redis/generated/api/Support/SkuName.TypeConverter.cs new file mode 100644 index 000000000000..d0ccd58bd9b4 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/SkuName.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + public partial class SkuNameTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => SkuName.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/SkuName.cs b/swaggerci/redis/generated/api/Support/SkuName.cs new file mode 100644 index 000000000000..135b2962538a --- /dev/null +++ b/swaggerci/redis/generated/api/Support/SkuName.cs @@ -0,0 +1,100 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + public partial struct SkuName : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName Basic = @"Basic"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName Premium = @"Premium"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName Standard = @"Standard"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to SkuName + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new SkuName(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type SkuName + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type SkuName (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is SkuName && Equals((SkuName)obj); + } + + /// Returns hashCode for enum SkuName + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private SkuName(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for SkuName + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to SkuName + /// the value to convert to an instance of . + + public static implicit operator SkuName(string value) + { + return new SkuName(value); + } + + /// Implicit operator to convert SkuName to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName e) + { + return e._value; + } + + /// Overriding != operator for enum SkuName + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum SkuName + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/TlsVersion.Completer.cs b/swaggerci/redis/generated/api/Support/TlsVersion.Completer.cs new file mode 100644 index 000000000000..86be5b39c2ba --- /dev/null +++ b/swaggerci/redis/generated/api/Support/TlsVersion.Completer.cs @@ -0,0 +1,45 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersionTypeConverter))] + public partial struct TlsVersion : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "1.0".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'1.0'", "1.0", global::System.Management.Automation.CompletionResultType.ParameterValue, "1.0"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "1.1".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'1.1'", "1.1", global::System.Management.Automation.CompletionResultType.ParameterValue, "1.1"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "1.2".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'1.2'", "1.2", global::System.Management.Automation.CompletionResultType.ParameterValue, "1.2"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/TlsVersion.TypeConverter.cs b/swaggerci/redis/generated/api/Support/TlsVersion.TypeConverter.cs new file mode 100644 index 000000000000..98d34c7a9c50 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/TlsVersion.TypeConverter.cs @@ -0,0 +1,61 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + public partial class TlsVersionTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => TlsVersion.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/api/Support/TlsVersion.cs b/swaggerci/redis/generated/api/Support/TlsVersion.cs new file mode 100644 index 000000000000..99393d08dea5 --- /dev/null +++ b/swaggerci/redis/generated/api/Support/TlsVersion.cs @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Support +{ + + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + public partial struct TlsVersion : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion One0 = @"1.0"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion One1 = @"1.1"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion One2 = @"1.2"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to TlsVersion + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new TlsVersion(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type TlsVersion + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type TlsVersion (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is TlsVersion && Equals((TlsVersion)obj); + } + + /// Returns hashCode for enum TlsVersion + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private TlsVersion(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for TlsVersion + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to TlsVersion + /// the value to convert to an instance of . + + public static implicit operator TlsVersion(string value) + { + return new TlsVersion(value); + } + + /// Implicit operator to convert TlsVersion to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion e) + { + return e._value; + } + + /// Overriding != operator for enum TlsVersion + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum TlsVersion + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion e1, Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/ExportAzRedisData_Export.cs b/swaggerci/redis/generated/cmdlets/ExportAzRedisData_Export.cs new file mode 100644 index 000000000000..8ebfae9071df --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/ExportAzRedisData_Export.cs @@ -0,0 +1,525 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Export data from the redis cache to blobs in a container. + /// + /// [OpenAPI] ExportData=>POST:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/export" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Export, @"AzRedisData_Export", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Export data from the redis cache to blobs in a container.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class ExportAzRedisData_Export : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters _parameter; + + /// Parameters for Redis export operation. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Parameters for Redis export operation.", ValueFromPipeline = true)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Parameters for Redis export operation.", + SerializedName = @"parameters", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters Parameter { get => this._parameter; set => this._parameter = value; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of ExportAzRedisData_Export + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets.ExportAzRedisData_Export Clone() + { + var clone = new ExportAzRedisData_Export(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.SubscriptionId = this.SubscriptionId; + clone.Parameter = this.Parameter; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public ExportAzRedisData_Export() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisExportData' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisExportData(ResourceGroupName, Name, SubscriptionId, Parameter, onOk, onNoContent, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,SubscriptionId=SubscriptionId,body=Parameter}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/ExportAzRedisData_ExportExpanded.cs b/swaggerci/redis/generated/cmdlets/ExportAzRedisData_ExportExpanded.cs new file mode 100644 index 000000000000..4b4a513878f0 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/ExportAzRedisData_ExportExpanded.cs @@ -0,0 +1,562 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Export data from the redis cache to blobs in a container. + /// + /// [OpenAPI] ExportData=>POST:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/export" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Export, @"AzRedisData_ExportExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Export data from the redis cache to blobs in a container.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class ExportAzRedisData_ExportExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Parameters for Redis export operation. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ExportRdbParameters(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// Container name to export to. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Container name to export to.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Container name to export to.", + SerializedName = @"container", + PossibleTypes = new [] { typeof(string) })] + public string Container { get => _parametersBody.Container ?? null; set => _parametersBody.Container = value; } + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// File format. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "File format.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"File format.", + SerializedName = @"format", + PossibleTypes = new [] { typeof(string) })] + public string Format { get => _parametersBody.Format ?? null; set => _parametersBody.Format = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// + /// Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default + /// value is SAS + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS", + SerializedName = @"preferred-data-archive-auth-method", + PossibleTypes = new [] { typeof(string) })] + public string PreferredDataArchiveAuthMethod { get => _parametersBody.PreferredDataArchiveAuthMethod ?? null; set => _parametersBody.PreferredDataArchiveAuthMethod = value; } + + /// Prefix to use for exported files. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Prefix to use for exported files.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Prefix to use for exported files.", + SerializedName = @"prefix", + PossibleTypes = new [] { typeof(string) })] + public string Prefix { get => _parametersBody.Prefix ?? null; set => _parametersBody.Prefix = value; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of ExportAzRedisData_ExportExpanded + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets.ExportAzRedisData_ExportExpanded Clone() + { + var clone = new ExportAzRedisData_ExportExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._parametersBody = this._parametersBody; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.SubscriptionId = this.SubscriptionId; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public ExportAzRedisData_ExportExpanded() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisExportData' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisExportData(ResourceGroupName, Name, SubscriptionId, _parametersBody, onOk, onNoContent, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,SubscriptionId=SubscriptionId,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/ExportAzRedisData_ExportViaIdentity.cs b/swaggerci/redis/generated/cmdlets/ExportAzRedisData_ExportViaIdentity.cs new file mode 100644 index 000000000000..574a55cf3482 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/ExportAzRedisData_ExportViaIdentity.cs @@ -0,0 +1,501 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Export data from the redis cache to blobs in a container. + /// + /// [OpenAPI] ExportData=>POST:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/export" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Export, @"AzRedisData_ExportViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Export data from the redis cache to blobs in a container.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class ExportAzRedisData_ExportViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters _parameter; + + /// Parameters for Redis export operation. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Parameters for Redis export operation.", ValueFromPipeline = true)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Parameters for Redis export operation.", + SerializedName = @"parameters", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters Parameter { get => this._parameter; set => this._parameter = value; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of ExportAzRedisData_ExportViaIdentity + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets.ExportAzRedisData_ExportViaIdentity Clone() + { + var clone = new ExportAzRedisData_ExportViaIdentity(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.Parameter = this.Parameter; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public ExportAzRedisData_ExportViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisExportData' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.RedisExportDataViaIdentity(InputObject.Id, Parameter, onOk, onNoContent, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.Name) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.Name"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.RedisExportData(InputObject.ResourceGroupName ?? null, InputObject.Name ?? null, InputObject.SubscriptionId ?? null, Parameter, onOk, onNoContent, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/ExportAzRedisData_ExportViaIdentityExpanded.cs b/swaggerci/redis/generated/cmdlets/ExportAzRedisData_ExportViaIdentityExpanded.cs new file mode 100644 index 000000000000..2ecce337e0f0 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/ExportAzRedisData_ExportViaIdentityExpanded.cs @@ -0,0 +1,538 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Export data from the redis cache to blobs in a container. + /// + /// [OpenAPI] ExportData=>POST:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/export" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Export, @"AzRedisData_ExportViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Export data from the redis cache to blobs in a container.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class ExportAzRedisData_ExportViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Parameters for Redis export operation. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IExportRdbParameters _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ExportRdbParameters(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// Container name to export to. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Container name to export to.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Container name to export to.", + SerializedName = @"container", + PossibleTypes = new [] { typeof(string) })] + public string Container { get => _parametersBody.Container ?? null; set => _parametersBody.Container = value; } + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// File format. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "File format.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"File format.", + SerializedName = @"format", + PossibleTypes = new [] { typeof(string) })] + public string Format { get => _parametersBody.Format ?? null; set => _parametersBody.Format = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// + /// Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default + /// value is SAS + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS", + SerializedName = @"preferred-data-archive-auth-method", + PossibleTypes = new [] { typeof(string) })] + public string PreferredDataArchiveAuthMethod { get => _parametersBody.PreferredDataArchiveAuthMethod ?? null; set => _parametersBody.PreferredDataArchiveAuthMethod = value; } + + /// Prefix to use for exported files. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Prefix to use for exported files.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Prefix to use for exported files.", + SerializedName = @"prefix", + PossibleTypes = new [] { typeof(string) })] + public string Prefix { get => _parametersBody.Prefix ?? null; set => _parametersBody.Prefix = value; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of ExportAzRedisData_ExportViaIdentityExpanded + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets.ExportAzRedisData_ExportViaIdentityExpanded Clone() + { + var clone = new ExportAzRedisData_ExportViaIdentityExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._parametersBody = this._parametersBody; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public ExportAzRedisData_ExportViaIdentityExpanded() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisExportData' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.RedisExportDataViaIdentity(InputObject.Id, _parametersBody, onOk, onNoContent, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.Name) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.Name"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.RedisExportData(InputObject.ResourceGroupName ?? null, InputObject.Name ?? null, InputObject.SubscriptionId ?? null, _parametersBody, onOk, onNoContent, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedisAsyncOperationStatus_Get.cs b/swaggerci/redis/generated/cmdlets/GetAzRedisAsyncOperationStatus_Get.cs new file mode 100644 index 000000000000..2cfaa33560a9 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedisAsyncOperationStatus_Get.cs @@ -0,0 +1,406 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// For checking the ongoing status of an operation + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.Cache/locations/{location}/asyncOperations/{operationId}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedisAsyncOperationStatus_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"For checking the ongoing status of an operation")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedisAsyncOperationStatus_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _location; + + /// The location at which operation was triggered + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The location at which operation was triggered")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The location at which operation was triggered", + SerializedName = @"location", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Location { get => this._location; set => this._location = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _operationId; + + /// The ID of asynchronous operation + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of asynchronous operation")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID of asynchronous operation", + SerializedName = @"operationId", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string OperationId { get => this._operationId; set => this._operationId = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzRedisAsyncOperationStatus_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.AsyncOperationStatusGet(Location, OperationId, SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Location=Location,OperationId=OperationId,SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Location=Location, OperationId=OperationId, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Location=Location, OperationId=OperationId, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedisAsyncOperationStatus_GetViaIdentity.cs b/swaggerci/redis/generated/cmdlets/GetAzRedisAsyncOperationStatus_GetViaIdentity.cs new file mode 100644 index 000000000000..4f2522f65070 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedisAsyncOperationStatus_GetViaIdentity.cs @@ -0,0 +1,382 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// For checking the ongoing status of an operation + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.Cache/locations/{location}/asyncOperations/{operationId}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedisAsyncOperationStatus_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"For checking the ongoing status of an operation")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedisAsyncOperationStatus_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzRedisAsyncOperationStatus_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.AsyncOperationStatusGetViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.Location) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.Location"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.OperationId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.OperationId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.AsyncOperationStatusGet(InputObject.Location ?? null, InputObject.OperationId ?? null, InputObject.SubscriptionId ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationStatus + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedisFirewallRule_Get.cs b/swaggerci/redis/generated/cmdlets/GetAzRedisFirewallRule_Get.cs new file mode 100644 index 000000000000..e75d99819595 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedisFirewallRule_Get.cs @@ -0,0 +1,420 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Gets a single firewall rule in a specified redis cache. + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedisFirewallRule_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Gets a single firewall rule in a specified redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedisFirewallRule_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Backing field for property. + private string _cacheName; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"cacheName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string CacheName { get => this._cacheName; set => this._cacheName = value; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _ruleName; + + /// The name of the firewall rule. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the firewall rule.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the firewall rule.", + SerializedName = @"ruleName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string RuleName { get => this._ruleName; set => this._ruleName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzRedisFirewallRule_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.FirewallRulesGet(ResourceGroupName, CacheName, RuleName, SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,CacheName=CacheName,RuleName=RuleName,SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, CacheName=CacheName, RuleName=RuleName, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, CacheName=CacheName, RuleName=RuleName, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedisFirewallRule_GetViaIdentity.cs b/swaggerci/redis/generated/cmdlets/GetAzRedisFirewallRule_GetViaIdentity.cs new file mode 100644 index 000000000000..61e61ffb77ee --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedisFirewallRule_GetViaIdentity.cs @@ -0,0 +1,386 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Gets a single firewall rule in a specified redis cache. + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedisFirewallRule_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Gets a single firewall rule in a specified redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedisFirewallRule_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzRedisFirewallRule_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.FirewallRulesGetViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.CacheName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.CacheName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.RuleName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.RuleName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.FirewallRulesGet(InputObject.ResourceGroupName ?? null, InputObject.CacheName ?? null, InputObject.RuleName ?? null, InputObject.SubscriptionId ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedisFirewallRule_List.cs b/swaggerci/redis/generated/cmdlets/GetAzRedisFirewallRule_List.cs new file mode 100644 index 000000000000..078b1fc96028 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedisFirewallRule_List.cs @@ -0,0 +1,428 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Gets all firewall rules in the specified redis cache. + /// + /// [OpenAPI] List=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedisFirewallRule_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Gets all firewall rules in the specified redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedisFirewallRule_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Backing field for property. + private string _cacheName; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"cacheName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string CacheName { get => this._cacheName; set => this._cacheName = value; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzRedisFirewallRule_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.FirewallRulesList(SubscriptionId, ResourceGroupName, CacheName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,CacheName=CacheName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, ResourceGroupName=ResourceGroupName, CacheName=CacheName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, ResourceGroupName=ResourceGroupName, CacheName=CacheName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRuleListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.FirewallRulesList_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedisKey_List.cs b/swaggerci/redis/generated/cmdlets/GetAzRedisKey_List.cs new file mode 100644 index 000000000000..ee40bff90278 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedisKey_List.cs @@ -0,0 +1,411 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// + /// Retrieve a Redis cache's access keys. This operation requires write permission to the cache resource. + /// + /// + /// [OpenAPI] ListKeys=>POST:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/listKeys" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedisKey_List", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Retrieve a Redis cache's access keys. This operation requires write permission to the cache resource.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedisKey_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzRedisKey_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisListKeys' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisListKeys(ResourceGroupName, Name, SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedisLinkedServer_Get.cs b/swaggerci/redis/generated/cmdlets/GetAzRedisLinkedServer_Get.cs new file mode 100644 index 000000000000..fb8292caa326 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedisLinkedServer_Get.cs @@ -0,0 +1,422 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// + /// Gets the detailed information about a linked server of a redis cache (requires Premium SKU). + /// + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedisLinkedServer_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Gets the detailed information about a linked server of a redis cache (requires Premium SKU).")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedisLinkedServer_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _linkedServerName; + + /// The name of the linked server. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the linked server.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the linked server.", + SerializedName = @"linkedServerName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string LinkedServerName { get => this._linkedServerName; set => this._linkedServerName = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzRedisLinkedServer_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LinkedServerGet(ResourceGroupName, Name, LinkedServerName, SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,LinkedServerName=LinkedServerName,SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, LinkedServerName=LinkedServerName, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, LinkedServerName=LinkedServerName, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedisLinkedServer_GetViaIdentity.cs b/swaggerci/redis/generated/cmdlets/GetAzRedisLinkedServer_GetViaIdentity.cs new file mode 100644 index 000000000000..2cf936ba576f --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedisLinkedServer_GetViaIdentity.cs @@ -0,0 +1,388 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// + /// Gets the detailed information about a linked server of a redis cache (requires Premium SKU). + /// + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedisLinkedServer_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Gets the detailed information about a linked server of a redis cache (requires Premium SKU).")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedisLinkedServer_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzRedisLinkedServer_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.LinkedServerGetViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.Name) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.Name"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.LinkedServerName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.LinkedServerName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.LinkedServerGet(InputObject.ResourceGroupName ?? null, InputObject.Name ?? null, InputObject.LinkedServerName ?? null, InputObject.SubscriptionId ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedisLinkedServer_List.cs b/swaggerci/redis/generated/cmdlets/GetAzRedisLinkedServer_List.cs new file mode 100644 index 000000000000..44bb268e3bb0 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedisLinkedServer_List.cs @@ -0,0 +1,430 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// + /// Gets the list of linked servers associated with this redis cache (requires Premium SKU). + /// + /// + /// [OpenAPI] List=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedisLinkedServer_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Gets the list of linked servers associated with this redis cache (requires Premium SKU).")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedisLinkedServer_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesList + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzRedisLinkedServer_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LinkedServerList(ResourceGroupName, Name, SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithPropertiesList + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LinkedServerList_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedisOperation_List.cs b/swaggerci/redis/generated/cmdlets/GetAzRedisOperation_List.cs new file mode 100644 index 000000000000..7c256aa6cae2 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedisOperation_List.cs @@ -0,0 +1,377 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Lists all of the available REST API operations of the Microsoft.Cache provider. + /// + /// [OpenAPI] List=>GET:"/providers/Microsoft.Cache/operations" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedisOperation_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Lists all of the available REST API operations of the Microsoft.Cache provider.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedisOperation_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzRedisOperation_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.OperationsList(onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperationListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.OperationsList_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedisPatchSchedule_Get.cs b/swaggerci/redis/generated/cmdlets/GetAzRedisPatchSchedule_Get.cs new file mode 100644 index 000000000000..eb330560c7be --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedisPatchSchedule_Get.cs @@ -0,0 +1,406 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Gets the patching schedule of a redis cache. + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/{default}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedisPatchSchedule_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Gets the patching schedule of a redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedisPatchSchedule_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzRedisPatchSchedule_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.PatchSchedulesGet(ResourceGroupName, Name, SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedisPatchSchedule_GetViaIdentity.cs b/swaggerci/redis/generated/cmdlets/GetAzRedisPatchSchedule_GetViaIdentity.cs new file mode 100644 index 000000000000..aff674469b46 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedisPatchSchedule_GetViaIdentity.cs @@ -0,0 +1,382 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Gets the patching schedule of a redis cache. + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/{default}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedisPatchSchedule_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Gets the patching schedule of a redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedisPatchSchedule_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzRedisPatchSchedule_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.PatchSchedulesGetViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.Name) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.Name"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.PatchSchedulesGet(InputObject.ResourceGroupName ?? null, InputObject.Name ?? null, InputObject.SubscriptionId ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedisPatchSchedule_List.cs b/swaggerci/redis/generated/cmdlets/GetAzRedisPatchSchedule_List.cs new file mode 100644 index 000000000000..9becc2d530a4 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedisPatchSchedule_List.cs @@ -0,0 +1,428 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Gets all patch schedules in the specified redis cache (there is only one). + /// + /// [OpenAPI] ListByRedisResource=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/patchSchedules" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedisPatchSchedule_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Gets all patch schedules in the specified redis cache (there is only one).")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedisPatchSchedule_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Backing field for property. + private string _cacheName; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"cacheName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string CacheName { get => this._cacheName; set => this._cacheName = value; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzRedisPatchSchedule_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.PatchSchedulesListByRedisResource(SubscriptionId, ResourceGroupName, CacheName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,CacheName=CacheName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, ResourceGroupName=ResourceGroupName, CacheName=CacheName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, ResourceGroupName=ResourceGroupName, CacheName=CacheName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchScheduleListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.PatchSchedulesListByRedisResource_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedisPrivateEndpointConnection_Get.cs b/swaggerci/redis/generated/cmdlets/GetAzRedisPrivateEndpointConnection_Get.cs new file mode 100644 index 000000000000..1277f79ce88d --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedisPrivateEndpointConnection_Get.cs @@ -0,0 +1,421 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Gets the specified private endpoint connection associated with the redis cache. + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/privateEndpointConnections/{privateEndpointConnectionName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedisPrivateEndpointConnection_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Gets the specified private endpoint connection associated with the redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedisPrivateEndpointConnection_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Backing field for property. + private string _cacheName; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"cacheName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string CacheName { get => this._cacheName; set => this._cacheName = value; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the private endpoint connection associated with the Azure resource + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the private endpoint connection associated with the Azure resource")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the private endpoint connection associated with the Azure resource", + SerializedName = @"privateEndpointConnectionName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("PrivateEndpointConnectionName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzRedisPrivateEndpointConnection_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.PrivateEndpointConnectionsGet(ResourceGroupName, CacheName, Name, SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,CacheName=CacheName,Name=Name,SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, CacheName=CacheName, Name=Name, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, CacheName=CacheName, Name=Name, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedisPrivateEndpointConnection_GetViaIdentity.cs b/swaggerci/redis/generated/cmdlets/GetAzRedisPrivateEndpointConnection_GetViaIdentity.cs new file mode 100644 index 000000000000..2f0bac4663a7 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedisPrivateEndpointConnection_GetViaIdentity.cs @@ -0,0 +1,386 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Gets the specified private endpoint connection associated with the redis cache. + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/privateEndpointConnections/{privateEndpointConnectionName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedisPrivateEndpointConnection_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Gets the specified private endpoint connection associated with the redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedisPrivateEndpointConnection_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzRedisPrivateEndpointConnection_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.PrivateEndpointConnectionsGetViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.CacheName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.CacheName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.PrivateEndpointConnectionName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.PrivateEndpointConnectionName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.PrivateEndpointConnectionsGet(InputObject.ResourceGroupName ?? null, InputObject.CacheName ?? null, InputObject.PrivateEndpointConnectionName ?? null, InputObject.SubscriptionId ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedisPrivateEndpointConnection_List.cs b/swaggerci/redis/generated/cmdlets/GetAzRedisPrivateEndpointConnection_List.cs new file mode 100644 index 000000000000..a25f8d652389 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedisPrivateEndpointConnection_List.cs @@ -0,0 +1,407 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// List all the private endpoint connections associated with the redis cache. + /// + /// [OpenAPI] List=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/privateEndpointConnections" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedisPrivateEndpointConnection_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnection))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"List all the private endpoint connections associated with the redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedisPrivateEndpointConnection_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Backing field for property. + private string _cacheName; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"cacheName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string CacheName { get => this._cacheName; set => this._cacheName = value; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzRedisPrivateEndpointConnection_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.PrivateEndpointConnectionsList(ResourceGroupName, CacheName, SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,CacheName=CacheName,SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, CacheName=CacheName, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, CacheName=CacheName, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateEndpointConnectionListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / + WriteObject((await response).Value, true); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedisPrivateLinkResource_List.cs b/swaggerci/redis/generated/cmdlets/GetAzRedisPrivateLinkResource_List.cs new file mode 100644 index 000000000000..51d2deb806e4 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedisPrivateLinkResource_List.cs @@ -0,0 +1,407 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Gets the private link resources that need to be created for a redis cache. + /// + /// [OpenAPI] ListByRedisCache=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/privateLinkResources" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedisPrivateLinkResource_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResource))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Gets the private link resources that need to be created for a redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedisPrivateLinkResource_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Backing field for property. + private string _cacheName; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"cacheName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string CacheName { get => this._cacheName; set => this._cacheName = value; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzRedisPrivateLinkResource_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.PrivateLinkResourcesListByRedisCache(ResourceGroupName, CacheName, SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,CacheName=CacheName,SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, CacheName=CacheName, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, CacheName=CacheName, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api10.IPrivateLinkResourceListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / + WriteObject((await response).Value, true); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedisUpgradeNotification_List.cs b/swaggerci/redis/generated/cmdlets/GetAzRedisUpgradeNotification_List.cs new file mode 100644 index 000000000000..e9b34e628368 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedisUpgradeNotification_List.cs @@ -0,0 +1,442 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Gets any upgrade notifications for a Redis cache. + /// + /// [OpenAPI] ListUpgradeNotifications=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/listUpgradeNotifications" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedisUpgradeNotification_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IUpgradeNotification))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Gets any upgrade notifications for a Redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedisUpgradeNotification_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private double _history; + + /// how many minutes in past to look for upgrade notifications + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "how many minutes in past to look for upgrade notifications")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"how many minutes in past to look for upgrade notifications", + SerializedName = @"history", + PossibleTypes = new [] { typeof(double) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Query)] + public double History { get => this._history; set => this._history = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponse + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzRedisUpgradeNotification_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisListUpgradeNotifications(ResourceGroupName, Name, SubscriptionId, History, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,SubscriptionId=SubscriptionId,History=History}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, History=History }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, History=History }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.INotificationListResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisListUpgradeNotifications_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedis_Get.cs b/swaggerci/redis/generated/cmdlets/GetAzRedis_Get.cs new file mode 100644 index 000000000000..7880538f5aba --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedis_Get.cs @@ -0,0 +1,404 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Gets a Redis cache (resource description). + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedis_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Gets a Redis cache (resource description).")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedis_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Intializes a new instance of the cmdlet class. + public GetAzRedis_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisGet(ResourceGroupName, Name, SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedis_GetViaIdentity.cs b/swaggerci/redis/generated/cmdlets/GetAzRedis_GetViaIdentity.cs new file mode 100644 index 000000000000..f2921dec213d --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedis_GetViaIdentity.cs @@ -0,0 +1,382 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Gets a Redis cache (resource description). + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedis_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Gets a Redis cache (resource description).")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedis_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzRedis_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.RedisGetViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.Name) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.Name"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.RedisGet(InputObject.ResourceGroupName ?? null, InputObject.Name ?? null, InputObject.SubscriptionId ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedis_List.cs b/swaggerci/redis/generated/cmdlets/GetAzRedis_List.cs new file mode 100644 index 000000000000..423630845f52 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedis_List.cs @@ -0,0 +1,412 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Lists all Redis caches in a resource group. + /// + /// [OpenAPI] ListByResourceGroup=>GET:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedis_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Lists all Redis caches in a resource group.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedis_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Intializes a new instance of the cmdlet class. + public GetAzRedis_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisListByResourceGroup(ResourceGroupName, SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisListByResourceGroup_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/GetAzRedis_List1.cs b/swaggerci/redis/generated/cmdlets/GetAzRedis_List1.cs new file mode 100644 index 000000000000..069a24d6500e --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/GetAzRedis_List1.cs @@ -0,0 +1,398 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Gets all Redis caches in the specified subscription. + /// + /// [OpenAPI] ListBySubscription=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.Cache/redis" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzRedis_List1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Gets all Redis caches in the specified subscription.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class GetAzRedis_List1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Intializes a new instance of the cmdlet class. + public GetAzRedis_List1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisListBySubscription(SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisListBySubscription_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/ImportAzRedisData_Import.cs b/swaggerci/redis/generated/cmdlets/ImportAzRedisData_Import.cs new file mode 100644 index 000000000000..e0c14b3025e2 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/ImportAzRedisData_Import.cs @@ -0,0 +1,525 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Import data into Redis cache. + /// + /// [OpenAPI] ImportData=>POST:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/import" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Import, @"AzRedisData_Import", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Import data into Redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class ImportAzRedisData_Import : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters _parameter; + + /// Parameters for Redis import operation. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Parameters for Redis import operation.", ValueFromPipeline = true)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Parameters for Redis import operation.", + SerializedName = @"parameters", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters Parameter { get => this._parameter; set => this._parameter = value; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of ImportAzRedisData_Import + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets.ImportAzRedisData_Import Clone() + { + var clone = new ImportAzRedisData_Import(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.SubscriptionId = this.SubscriptionId; + clone.Parameter = this.Parameter; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public ImportAzRedisData_Import() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisImportData' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisImportData(ResourceGroupName, Name, SubscriptionId, Parameter, onOk, onNoContent, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,SubscriptionId=SubscriptionId,body=Parameter}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/ImportAzRedisData_ImportExpanded.cs b/swaggerci/redis/generated/cmdlets/ImportAzRedisData_ImportExpanded.cs new file mode 100644 index 000000000000..a788d41223ee --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/ImportAzRedisData_ImportExpanded.cs @@ -0,0 +1,552 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Import data into Redis cache. + /// + /// [OpenAPI] ImportData=>POST:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/import" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Import, @"AzRedisData_ImportExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Import data into Redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class ImportAzRedisData_ImportExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Parameters for Redis import operation. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ImportRdbParameters(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// files to import. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "files to import.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"files to import.", + SerializedName = @"files", + PossibleTypes = new [] { typeof(string) })] + public string[] File { get => _parametersBody.File ?? null /* arrayOf */; set => _parametersBody.File = value; } + + /// File format. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "File format.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"File format.", + SerializedName = @"format", + PossibleTypes = new [] { typeof(string) })] + public string Format { get => _parametersBody.Format ?? null; set => _parametersBody.Format = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// + /// Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default + /// value is SAS + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS", + SerializedName = @"preferred-data-archive-auth-method", + PossibleTypes = new [] { typeof(string) })] + public string PreferredDataArchiveAuthMethod { get => _parametersBody.PreferredDataArchiveAuthMethod ?? null; set => _parametersBody.PreferredDataArchiveAuthMethod = value; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of ImportAzRedisData_ImportExpanded + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets.ImportAzRedisData_ImportExpanded Clone() + { + var clone = new ImportAzRedisData_ImportExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._parametersBody = this._parametersBody; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.SubscriptionId = this.SubscriptionId; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public ImportAzRedisData_ImportExpanded() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisImportData' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisImportData(ResourceGroupName, Name, SubscriptionId, _parametersBody, onOk, onNoContent, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,SubscriptionId=SubscriptionId,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/ImportAzRedisData_ImportViaIdentity.cs b/swaggerci/redis/generated/cmdlets/ImportAzRedisData_ImportViaIdentity.cs new file mode 100644 index 000000000000..ae36cd904ca3 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/ImportAzRedisData_ImportViaIdentity.cs @@ -0,0 +1,501 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Import data into Redis cache. + /// + /// [OpenAPI] ImportData=>POST:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/import" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Import, @"AzRedisData_ImportViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Import data into Redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class ImportAzRedisData_ImportViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters _parameter; + + /// Parameters for Redis import operation. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Parameters for Redis import operation.", ValueFromPipeline = true)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Parameters for Redis import operation.", + SerializedName = @"parameters", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters Parameter { get => this._parameter; set => this._parameter = value; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of ImportAzRedisData_ImportViaIdentity + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets.ImportAzRedisData_ImportViaIdentity Clone() + { + var clone = new ImportAzRedisData_ImportViaIdentity(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.Parameter = this.Parameter; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public ImportAzRedisData_ImportViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisImportData' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.RedisImportDataViaIdentity(InputObject.Id, Parameter, onOk, onNoContent, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.Name) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.Name"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.RedisImportData(InputObject.ResourceGroupName ?? null, InputObject.Name ?? null, InputObject.SubscriptionId ?? null, Parameter, onOk, onNoContent, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/ImportAzRedisData_ImportViaIdentityExpanded.cs b/swaggerci/redis/generated/cmdlets/ImportAzRedisData_ImportViaIdentityExpanded.cs new file mode 100644 index 000000000000..5b19b646ff44 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/ImportAzRedisData_ImportViaIdentityExpanded.cs @@ -0,0 +1,528 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Import data into Redis cache. + /// + /// [OpenAPI] ImportData=>POST:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/import" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Import, @"AzRedisData_ImportViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Import data into Redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class ImportAzRedisData_ImportViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Parameters for Redis import operation. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IImportRdbParameters _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ImportRdbParameters(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// files to import. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "files to import.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"files to import.", + SerializedName = @"files", + PossibleTypes = new [] { typeof(string) })] + public string[] File { get => _parametersBody.File ?? null /* arrayOf */; set => _parametersBody.File = value; } + + /// File format. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "File format.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"File format.", + SerializedName = @"format", + PossibleTypes = new [] { typeof(string) })] + public string Format { get => _parametersBody.Format ?? null; set => _parametersBody.Format = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// + /// Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default + /// value is SAS + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Preferred auth method to communicate to storage account used for data archive, specify SAS or ManagedIdentity, default value is SAS", + SerializedName = @"preferred-data-archive-auth-method", + PossibleTypes = new [] { typeof(string) })] + public string PreferredDataArchiveAuthMethod { get => _parametersBody.PreferredDataArchiveAuthMethod ?? null; set => _parametersBody.PreferredDataArchiveAuthMethod = value; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of ImportAzRedisData_ImportViaIdentityExpanded + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets.ImportAzRedisData_ImportViaIdentityExpanded Clone() + { + var clone = new ImportAzRedisData_ImportViaIdentityExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._parametersBody = this._parametersBody; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public ImportAzRedisData_ImportViaIdentityExpanded() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisImportData' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.RedisImportDataViaIdentity(InputObject.Id, _parametersBody, onOk, onNoContent, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.Name) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.Name"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.RedisImportData(InputObject.ResourceGroupName ?? null, InputObject.Name ?? null, InputObject.SubscriptionId ?? null, _parametersBody, onOk, onNoContent, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/NewAzRedisFirewallRule_CreateExpanded.cs b/swaggerci/redis/generated/cmdlets/NewAzRedisFirewallRule_CreateExpanded.cs new file mode 100644 index 000000000000..a405de2a4e13 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/NewAzRedisFirewallRule_CreateExpanded.cs @@ -0,0 +1,483 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Create or update a redis cache firewall rule + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzRedisFirewallRule_CreateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Create or update a redis cache firewall rule")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class NewAzRedisFirewallRule_CreateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// + /// A firewall rule on a redis cache has a name, and describes a contiguous range of IP addresses permitted to connect + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisFirewallRule(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Backing field for property. + private string _cacheName; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"cacheName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string CacheName { get => this._cacheName; set => this._cacheName = value; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// highest IP address included in the range + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "highest IP address included in the range")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"highest IP address included in the range", + SerializedName = @"endIP", + PossibleTypes = new [] { typeof(string) })] + public string EndIP { get => _parametersBody.EndIP ?? null; set => _parametersBody.EndIP = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _ruleName; + + /// The name of the firewall rule. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the firewall rule.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the firewall rule.", + SerializedName = @"ruleName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string RuleName { get => this._ruleName; set => this._ruleName = value; } + + /// lowest IP address included in the range + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "lowest IP address included in the range")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"lowest IP address included in the range", + SerializedName = @"startIP", + PossibleTypes = new [] { typeof(string) })] + public string StartIP { get => _parametersBody.StartIP ?? null; set => _parametersBody.StartIP = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnCreated will be called before the regular onCreated has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule + /// from the remote call + /// /// Determines if the rest of the onCreated method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnCreated(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public NewAzRedisFirewallRule_CreateExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'FirewallRulesCreateOrUpdate' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.FirewallRulesCreateOrUpdate(ResourceGroupName, CacheName, RuleName, SubscriptionId, _parametersBody, onOk, onCreated, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,CacheName=CacheName,RuleName=RuleName,SubscriptionId=SubscriptionId,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// a delegate that is called when the remote service returns 201 (Created). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onCreated(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnCreated(responseMessage, response, ref _returnNow); + // if overrideOnCreated has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onCreated - response for 201 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule + WriteObject((await response)); + } + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, CacheName=CacheName, RuleName=RuleName, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, CacheName=CacheName, RuleName=RuleName, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisFirewallRule + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/NewAzRedisKey_Regenerate.cs b/swaggerci/redis/generated/cmdlets/NewAzRedisKey_Regenerate.cs new file mode 100644 index 000000000000..b88a7f12cb55 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/NewAzRedisKey_Regenerate.cs @@ -0,0 +1,421 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// + /// Regenerate Redis cache's access keys. This operation requires write permission to the cache resource. + /// + /// + /// [OpenAPI] RegenerateKey=>POST:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/regenerateKey" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzRedisKey_Regenerate", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Regenerate Redis cache's access keys. This operation requires write permission to the cache resource.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class NewAzRedisKey_Regenerate : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters _parameter; + + /// Specifies which Redis access keys to reset. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Specifies which Redis access keys to reset.", ValueFromPipeline = true)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Specifies which Redis access keys to reset.", + SerializedName = @"parameters", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters Parameter { get => this._parameter; set => this._parameter = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public NewAzRedisKey_Regenerate() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisRegenerateKey' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisRegenerateKey(ResourceGroupName, Name, SubscriptionId, Parameter, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,SubscriptionId=SubscriptionId,body=Parameter}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/NewAzRedisKey_RegenerateExpanded.cs b/swaggerci/redis/generated/cmdlets/NewAzRedisKey_RegenerateExpanded.cs new file mode 100644 index 000000000000..3a5f2a8aeeb6 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/NewAzRedisKey_RegenerateExpanded.cs @@ -0,0 +1,423 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// + /// Regenerate Redis cache's access keys. This operation requires write permission to the cache resource. + /// + /// + /// [OpenAPI] RegenerateKey=>POST:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/regenerateKey" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzRedisKey_RegenerateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Regenerate Redis cache's access keys. This operation requires write permission to the cache resource.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class NewAzRedisKey_RegenerateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Specifies which Redis access keys to reset. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisRegenerateKeyParameters(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// The Redis access key to regenerate. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The Redis access key to regenerate.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The Redis access key to regenerate.", + SerializedName = @"keyType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType KeyType { get => _parametersBody.KeyType; set => _parametersBody.KeyType = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public NewAzRedisKey_RegenerateExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisRegenerateKey' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisRegenerateKey(ResourceGroupName, Name, SubscriptionId, _parametersBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,SubscriptionId=SubscriptionId,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/NewAzRedisKey_RegenerateViaIdentity.cs b/swaggerci/redis/generated/cmdlets/NewAzRedisKey_RegenerateViaIdentity.cs new file mode 100644 index 000000000000..4ebcfa9b6454 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/NewAzRedisKey_RegenerateViaIdentity.cs @@ -0,0 +1,400 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// + /// Regenerate Redis cache's access keys. This operation requires write permission to the cache resource. + /// + /// + /// [OpenAPI] RegenerateKey=>POST:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/regenerateKey" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzRedisKey_RegenerateViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Regenerate Redis cache's access keys. This operation requires write permission to the cache resource.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class NewAzRedisKey_RegenerateViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters _parameter; + + /// Specifies which Redis access keys to reset. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Specifies which Redis access keys to reset.", ValueFromPipeline = true)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Specifies which Redis access keys to reset.", + SerializedName = @"parameters", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters Parameter { get => this._parameter; set => this._parameter = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public NewAzRedisKey_RegenerateViaIdentity() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisRegenerateKey' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.RedisRegenerateKeyViaIdentity(InputObject.Id, Parameter, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.Name) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.Name"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.RedisRegenerateKey(InputObject.ResourceGroupName ?? null, InputObject.Name ?? null, InputObject.SubscriptionId ?? null, Parameter, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/NewAzRedisKey_RegenerateViaIdentityExpanded.cs b/swaggerci/redis/generated/cmdlets/NewAzRedisKey_RegenerateViaIdentityExpanded.cs new file mode 100644 index 000000000000..c63f06811d6c --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/NewAzRedisKey_RegenerateViaIdentityExpanded.cs @@ -0,0 +1,402 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// + /// Regenerate Redis cache's access keys. This operation requires write permission to the cache resource. + /// + /// + /// [OpenAPI] RegenerateKey=>POST:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/regenerateKey" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzRedisKey_RegenerateViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Regenerate Redis cache's access keys. This operation requires write permission to the cache resource.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class NewAzRedisKey_RegenerateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Specifies which Redis access keys to reset. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRegenerateKeyParameters _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisRegenerateKeyParameters(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// The Redis access key to regenerate. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The Redis access key to regenerate.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The Redis access key to regenerate.", + SerializedName = @"keyType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RedisKeyType KeyType { get => _parametersBody.KeyType; set => _parametersBody.KeyType = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public NewAzRedisKey_RegenerateViaIdentityExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisRegenerateKey' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.RedisRegenerateKeyViaIdentity(InputObject.Id, _parametersBody, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.Name) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.Name"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.RedisRegenerateKey(InputObject.ResourceGroupName ?? null, InputObject.Name ?? null, InputObject.SubscriptionId ?? null, _parametersBody, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisAccessKeys + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/NewAzRedisLinkedServer_CreateExpanded.cs b/swaggerci/redis/generated/cmdlets/NewAzRedisLinkedServer_CreateExpanded.cs new file mode 100644 index 000000000000..0767312f7e10 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/NewAzRedisLinkedServer_CreateExpanded.cs @@ -0,0 +1,525 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Adds a linked server to the Redis cache (requires Premium SKU). + /// + /// [OpenAPI] Create=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzRedisLinkedServer_CreateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Adds a linked server to the Redis cache (requires Premium SKU).")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class NewAzRedisLinkedServer_CreateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Parameter required for creating a linked server to redis cache. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerCreateParameters _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisLinkedServerCreateParameters(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Fully qualified resourceId of the linked redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Fully qualified resourceId of the linked redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Fully qualified resourceId of the linked redis cache.", + SerializedName = @"linkedRedisCacheId", + PossibleTypes = new [] { typeof(string) })] + public string LinkedRedisCacheId { get => _parametersBody.LinkedRedisCacheId ?? null; set => _parametersBody.LinkedRedisCacheId = value; } + + /// Location of the linked redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Location of the linked redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Location of the linked redis cache.", + SerializedName = @"linkedRedisCacheLocation", + PossibleTypes = new [] { typeof(string) })] + public string LinkedRedisCacheLocation { get => _parametersBody.LinkedRedisCacheLocation ?? null; set => _parametersBody.LinkedRedisCacheLocation = value; } + + /// Backing field for property. + private string _linkedServerName; + + /// The name of the linked server that is being added to the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the linked server that is being added to the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the linked server that is being added to the Redis cache.", + SerializedName = @"linkedServerName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string LinkedServerName { get => this._linkedServerName; set => this._linkedServerName = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Role of the linked server. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Role of the linked server.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Role of the linked server.", + SerializedName = @"serverRole", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ReplicationRole ServerRole { get => _parametersBody.ServerRole; set => _parametersBody.ServerRole = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzRedisLinkedServer_CreateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets.NewAzRedisLinkedServer_CreateExpanded Clone() + { + var clone = new NewAzRedisLinkedServer_CreateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._parametersBody = this._parametersBody; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.LinkedServerName = this.LinkedServerName; + clone.SubscriptionId = this.SubscriptionId; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public NewAzRedisLinkedServer_CreateExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'LinkedServerCreate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LinkedServerCreate(ResourceGroupName, Name, LinkedServerName, SubscriptionId, _parametersBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,LinkedServerName=LinkedServerName,SubscriptionId=SubscriptionId,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, LinkedServerName=LinkedServerName, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, LinkedServerName=LinkedServerName, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisLinkedServerWithProperties + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/NewAzRedisPatchSchedule_CreateExpanded.cs b/swaggerci/redis/generated/cmdlets/NewAzRedisPatchSchedule_CreateExpanded.cs new file mode 100644 index 000000000000..147a05ef8ba3 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/NewAzRedisPatchSchedule_CreateExpanded.cs @@ -0,0 +1,457 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Create or replace the patching schedule for Redis cache. + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/{default}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzRedisPatchSchedule_CreateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Create or replace the patching schedule for Redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class NewAzRedisPatchSchedule_CreateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Response to put/get patch schedules for Redis cache. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisPatchSchedule(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// List of patch schedules for a Redis cache. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "List of patch schedules for a Redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"List of patch schedules for a Redis cache.", + SerializedName = @"scheduleEntries", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IScheduleEntry[] ScheduleEntry { get => _parametersBody.ScheduleEntry ?? null /* arrayOf */; set => _parametersBody.ScheduleEntry = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnCreated will be called before the regular onCreated has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule + /// from the remote call + /// /// Determines if the rest of the onCreated method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnCreated(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public NewAzRedisPatchSchedule_CreateExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'PatchSchedulesCreateOrUpdate' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.PatchSchedulesCreateOrUpdate(ResourceGroupName, Name, SubscriptionId, _parametersBody, onOk, onCreated, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,SubscriptionId=SubscriptionId,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// a delegate that is called when the remote service returns 201 (Created). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onCreated(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnCreated(responseMessage, response, ref _returnNow); + // if overrideOnCreated has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onCreated - response for 201 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule + WriteObject((await response)); + } + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisPatchSchedule + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/NewAzRedis_CreateExpanded.cs b/swaggerci/redis/generated/cmdlets/NewAzRedis_CreateExpanded.cs new file mode 100644 index 000000000000..74a089ed747a --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/NewAzRedis_CreateExpanded.cs @@ -0,0 +1,721 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// + /// Create or replace (overwrite/recreate, with potential downtime) an existing Redis cache. + /// + /// + /// [OpenAPI] Create=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzRedis_CreateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Create or replace (overwrite/recreate, with potential downtime) an existing Redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class NewAzRedis_CreateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Parameters supplied to the Create Redis operation. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParameters _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisCreateParameters(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Specifies whether the non-ssl Redis server port (6379) is enabled. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Specifies whether the non-ssl Redis server port (6379) is enabled.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Specifies whether the non-ssl Redis server port (6379) is enabled.", + SerializedName = @"enableNonSslPort", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter EnableNonSslPort { get => _parametersBody.EnableNonSslPort ?? default(global::System.Management.Automation.SwitchParameter); set => _parametersBody.EnableNonSslPort = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).", + SerializedName = @"type", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType IdentityType { get => _parametersBody.IdentityType ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType)""); set => _parametersBody.IdentityType = value; } + + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.", + SerializedName = @"userAssignedIdentities", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities IdentityUserAssignedIdentity { get => _parametersBody.IdentityUserAssignedIdentity ?? null /* object */; set => _parametersBody.IdentityUserAssignedIdentity = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// The geo-location where the resource lives + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The geo-location where the resource lives")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The geo-location where the resource lives", + SerializedName = @"location", + PossibleTypes = new [] { typeof(string) })] + public string Location { get => _parametersBody.Location ?? null; set => _parametersBody.Location = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2')")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2')", + SerializedName = @"minimumTlsVersion", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion MinimumTlsVersion { get => _parametersBody.MinimumTlsVersion ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion)""); set => _parametersBody.MinimumTlsVersion = value; } + + /// Backing field for property. + private string _name; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'", + SerializedName = @"publicNetworkAccess", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess PublicNetworkAccess { get => _parametersBody.PublicNetworkAccess ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess)""); set => _parametersBody.PublicNetworkAccess = value; } + + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc.", + SerializedName = @"redisConfiguration", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration RedisConfiguration { get => _parametersBody.RedisConfiguration ?? null /* object */; set => _parametersBody.RedisConfiguration = value; } + + /// + /// Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers + /// to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'.", + SerializedName = @"redisVersion", + PossibleTypes = new [] { typeof(string) })] + public string RedisVersion { get => _parametersBody.RedisVersion ?? null; set => _parametersBody.RedisVersion = value; } + + /// The number of replicas to be created per primary. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The number of replicas to be created per primary.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of replicas to be created per primary.", + SerializedName = @"replicasPerMaster", + PossibleTypes = new [] { typeof(int) })] + public int ReplicasPerMaster { get => _parametersBody.ReplicasPerMaster ?? default(int); set => _parametersBody.ReplicasPerMaster = value; } + + /// The number of replicas to be created per primary. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The number of replicas to be created per primary.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of replicas to be created per primary.", + SerializedName = @"replicasPerPrimary", + PossibleTypes = new [] { typeof(int) })] + public int ReplicasPerPrimary { get => _parametersBody.ReplicasPerPrimary ?? default(int); set => _parametersBody.ReplicasPerPrimary = value; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// The number of shards to be created on a Premium Cluster Cache. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The number of shards to be created on a Premium Cluster Cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of shards to be created on a Premium Cluster Cache.", + SerializedName = @"shardCount", + PossibleTypes = new [] { typeof(int) })] + public int ShardCount { get => _parametersBody.ShardCount ?? default(int); set => _parametersBody.ShardCount = value; } + + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4).")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4).", + SerializedName = @"capacity", + PossibleTypes = new [] { typeof(int) })] + public int SkuCapacity { get => _parametersBody.SkuCapacity; set => _parametersBody.SkuCapacity = value; } + + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).", + SerializedName = @"family", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily SkuFamily { get => _parametersBody.SkuFamily; set => _parametersBody.SkuFamily = value; } + + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)", + SerializedName = @"name", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName SkuName { get => _parametersBody.SkuName; set => _parametersBody.SkuName = value; } + + /// + /// Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; + /// auto assigned by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; auto assigned by default.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; auto assigned by default.", + SerializedName = @"staticIP", + PossibleTypes = new [] { typeof(string) })] + public string StaticIP { get => _parametersBody.StaticIP ?? null; set => _parametersBody.StaticIP = value; } + + /// + /// The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1", + SerializedName = @"subnetId", + PossibleTypes = new [] { typeof(string) })] + public string SubnetId { get => _parametersBody.SubnetId ?? null; set => _parametersBody.SubnetId = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags. + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCreateParametersTags Tag { get => _parametersBody.Tag ?? null /* object */; set => _parametersBody.Tag = value; } + + /// A dictionary of tenant settings + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "A dictionary of tenant settings")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"A dictionary of tenant settings", + SerializedName = @"tenantSettings", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings TenantSetting { get => _parametersBody.TenantSetting ?? null /* object */; set => _parametersBody.TenantSetting = value; } + + /// A list of availability zones denoting where the resource needs to come from. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "A list of availability zones denoting where the resource needs to come from.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"A list of availability zones denoting where the resource needs to come from.", + SerializedName = @"zones", + PossibleTypes = new [] { typeof(string) })] + public string[] Zone { get => _parametersBody.Zone ?? null /* arrayOf */; set => _parametersBody.Zone = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzRedis_CreateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets.NewAzRedis_CreateExpanded Clone() + { + var clone = new NewAzRedis_CreateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._parametersBody = this._parametersBody; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.SubscriptionId = this.SubscriptionId; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public NewAzRedis_CreateExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisCreate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisCreate(ResourceGroupName, Name, SubscriptionId, _parametersBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,SubscriptionId=SubscriptionId,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/RemoveAzRedisFirewallRule_Delete.cs b/swaggerci/redis/generated/cmdlets/RemoveAzRedisFirewallRule_Delete.cs new file mode 100644 index 000000000000..d248d7416add --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/RemoveAzRedisFirewallRule_Delete.cs @@ -0,0 +1,459 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Deletes a single firewall rule in a specified redis cache. + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzRedisFirewallRule_Delete", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Deletes a single firewall rule in a specified redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class RemoveAzRedisFirewallRule_Delete : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Backing field for property. + private string _cacheName; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"cacheName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string CacheName { get => this._cacheName; set => this._cacheName = value; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _ruleName; + + /// The name of the firewall rule. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the firewall rule.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the firewall rule.", + SerializedName = @"ruleName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string RuleName { get => this._ruleName; set => this._ruleName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'FirewallRulesDelete' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.FirewallRulesDelete(ResourceGroupName, CacheName, RuleName, SubscriptionId, onOk, onNoContent, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,CacheName=CacheName,RuleName=RuleName,SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RemoveAzRedisFirewallRule_Delete() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, CacheName=CacheName, RuleName=RuleName, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, CacheName=CacheName, RuleName=RuleName, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/RemoveAzRedisFirewallRule_DeleteViaIdentity.cs b/swaggerci/redis/generated/cmdlets/RemoveAzRedisFirewallRule_DeleteViaIdentity.cs new file mode 100644 index 000000000000..8d9592c5ce3e --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/RemoveAzRedisFirewallRule_DeleteViaIdentity.cs @@ -0,0 +1,428 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Deletes a single firewall rule in a specified redis cache. + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzRedisFirewallRule_DeleteViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Deletes a single firewall rule in a specified redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class RemoveAzRedisFirewallRule_DeleteViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'FirewallRulesDelete' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.FirewallRulesDeleteViaIdentity(InputObject.Id, onOk, onNoContent, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.CacheName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.CacheName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.RuleName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.RuleName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.FirewallRulesDelete(InputObject.ResourceGroupName ?? null, InputObject.CacheName ?? null, InputObject.RuleName ?? null, InputObject.SubscriptionId ?? null, onOk, onNoContent, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RemoveAzRedisFirewallRule_DeleteViaIdentity() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/RemoveAzRedisLinkedServer_Delete.cs b/swaggerci/redis/generated/cmdlets/RemoveAzRedisLinkedServer_Delete.cs new file mode 100644 index 000000000000..eeb96e59e2c8 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/RemoveAzRedisLinkedServer_Delete.cs @@ -0,0 +1,492 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Deletes the linked server from a redis cache (requires Premium SKU). + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzRedisLinkedServer_Delete", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Deletes the linked server from a redis cache (requires Premium SKU).")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class RemoveAzRedisLinkedServer_Delete : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _linkedServerName; + + /// The name of the linked server that is being added to the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the linked server that is being added to the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the linked server that is being added to the Redis cache.", + SerializedName = @"linkedServerName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string LinkedServerName { get => this._linkedServerName; set => this._linkedServerName = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of RemoveAzRedisLinkedServer_Delete + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets.RemoveAzRedisLinkedServer_Delete Clone() + { + var clone = new RemoveAzRedisLinkedServer_Delete(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.LinkedServerName = this.LinkedServerName; + clone.SubscriptionId = this.SubscriptionId; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'LinkedServerDelete' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.LinkedServerDelete(ResourceGroupName, Name, LinkedServerName, SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,LinkedServerName=LinkedServerName,SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RemoveAzRedisLinkedServer_Delete() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, LinkedServerName=LinkedServerName, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, LinkedServerName=LinkedServerName, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/RemoveAzRedisLinkedServer_DeleteViaIdentity.cs b/swaggerci/redis/generated/cmdlets/RemoveAzRedisLinkedServer_DeleteViaIdentity.cs new file mode 100644 index 000000000000..ee14382a2357 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/RemoveAzRedisLinkedServer_DeleteViaIdentity.cs @@ -0,0 +1,457 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Deletes the linked server from a redis cache (requires Premium SKU). + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzRedisLinkedServer_DeleteViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Deletes the linked server from a redis cache (requires Premium SKU).")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class RemoveAzRedisLinkedServer_DeleteViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of RemoveAzRedisLinkedServer_DeleteViaIdentity + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets.RemoveAzRedisLinkedServer_DeleteViaIdentity Clone() + { + var clone = new RemoveAzRedisLinkedServer_DeleteViaIdentity(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'LinkedServerDelete' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.LinkedServerDeleteViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.Name) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.Name"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.LinkedServerName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.LinkedServerName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.LinkedServerDelete(InputObject.ResourceGroupName ?? null, InputObject.Name ?? null, InputObject.LinkedServerName ?? null, InputObject.SubscriptionId ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RemoveAzRedisLinkedServer_DeleteViaIdentity() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/RemoveAzRedisPatchSchedule_Delete.cs b/swaggerci/redis/generated/cmdlets/RemoveAzRedisPatchSchedule_Delete.cs new file mode 100644 index 000000000000..ab6c9a2cbca9 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/RemoveAzRedisPatchSchedule_Delete.cs @@ -0,0 +1,445 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Deletes the patching schedule of a redis cache. + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/{default}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzRedisPatchSchedule_Delete", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Deletes the patching schedule of a redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class RemoveAzRedisPatchSchedule_Delete : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'PatchSchedulesDelete' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.PatchSchedulesDelete(ResourceGroupName, Name, SubscriptionId, onOk, onNoContent, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RemoveAzRedisPatchSchedule_Delete() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/RemoveAzRedisPatchSchedule_DeleteViaIdentity.cs b/swaggerci/redis/generated/cmdlets/RemoveAzRedisPatchSchedule_DeleteViaIdentity.cs new file mode 100644 index 000000000000..78bb38e12aea --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/RemoveAzRedisPatchSchedule_DeleteViaIdentity.cs @@ -0,0 +1,424 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Deletes the patching schedule of a redis cache. + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/{default}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzRedisPatchSchedule_DeleteViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Deletes the patching schedule of a redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class RemoveAzRedisPatchSchedule_DeleteViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'PatchSchedulesDelete' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.PatchSchedulesDeleteViaIdentity(InputObject.Id, onOk, onNoContent, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.Name) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.Name"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.PatchSchedulesDelete(InputObject.ResourceGroupName ?? null, InputObject.Name ?? null, InputObject.SubscriptionId ?? null, onOk, onNoContent, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RemoveAzRedisPatchSchedule_DeleteViaIdentity() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/RemoveAzRedisPrivateEndpointConnection_Delete.cs b/swaggerci/redis/generated/cmdlets/RemoveAzRedisPrivateEndpointConnection_Delete.cs new file mode 100644 index 000000000000..5a70d597edaf --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/RemoveAzRedisPrivateEndpointConnection_Delete.cs @@ -0,0 +1,462 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// + /// Deletes the specified private endpoint connection associated with the redis cache. + /// + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/privateEndpointConnections/{privateEndpointConnectionName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzRedisPrivateEndpointConnection_Delete", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Deletes the specified private endpoint connection associated with the redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class RemoveAzRedisPrivateEndpointConnection_Delete : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Backing field for property. + private string _cacheName; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"cacheName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string CacheName { get => this._cacheName; set => this._cacheName = value; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the private endpoint connection associated with the Azure resource + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the private endpoint connection associated with the Azure resource")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the private endpoint connection associated with the Azure resource", + SerializedName = @"privateEndpointConnectionName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("PrivateEndpointConnectionName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'PrivateEndpointConnectionsDelete' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.PrivateEndpointConnectionsDelete(ResourceGroupName, CacheName, SubscriptionId, Name, onOk, onNoContent, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,CacheName=CacheName,SubscriptionId=SubscriptionId,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RemoveAzRedisPrivateEndpointConnection_Delete() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, CacheName=CacheName, SubscriptionId=SubscriptionId, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, CacheName=CacheName, SubscriptionId=SubscriptionId, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/RemoveAzRedisPrivateEndpointConnection_DeleteViaIdentity.cs b/swaggerci/redis/generated/cmdlets/RemoveAzRedisPrivateEndpointConnection_DeleteViaIdentity.cs new file mode 100644 index 000000000000..75ba03bb8b9f --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/RemoveAzRedisPrivateEndpointConnection_DeleteViaIdentity.cs @@ -0,0 +1,430 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// + /// Deletes the specified private endpoint connection associated with the redis cache. + /// + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/privateEndpointConnections/{privateEndpointConnectionName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzRedisPrivateEndpointConnection_DeleteViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Deletes the specified private endpoint connection associated with the redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class RemoveAzRedisPrivateEndpointConnection_DeleteViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'PrivateEndpointConnectionsDelete' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.PrivateEndpointConnectionsDeleteViaIdentity(InputObject.Id, onOk, onNoContent, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.CacheName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.CacheName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.PrivateEndpointConnectionName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.PrivateEndpointConnectionName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.PrivateEndpointConnectionsDelete(InputObject.ResourceGroupName ?? null, InputObject.CacheName ?? null, InputObject.SubscriptionId ?? null, InputObject.PrivateEndpointConnectionName ?? null, onOk, onNoContent, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RemoveAzRedisPrivateEndpointConnection_DeleteViaIdentity() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/RemoveAzRedis_Delete.cs b/swaggerci/redis/generated/cmdlets/RemoveAzRedis_Delete.cs new file mode 100644 index 000000000000..827458b74c19 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/RemoveAzRedis_Delete.cs @@ -0,0 +1,511 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Deletes a Redis cache. + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzRedis_Delete", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Deletes a Redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class RemoveAzRedis_Delete : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of RemoveAzRedis_Delete + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets.RemoveAzRedis_Delete Clone() + { + var clone = new RemoveAzRedis_Delete(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.SubscriptionId = this.SubscriptionId; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisDelete' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisDelete(ResourceGroupName, Name, SubscriptionId, onOk, onNoContent, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RemoveAzRedis_Delete() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/RemoveAzRedis_DeleteViaIdentity.cs b/swaggerci/redis/generated/cmdlets/RemoveAzRedis_DeleteViaIdentity.cs new file mode 100644 index 000000000000..b1940933ab4b --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/RemoveAzRedis_DeleteViaIdentity.cs @@ -0,0 +1,487 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Deletes a Redis cache. + /// + /// [OpenAPI] Delete=>DELETE:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzRedis_DeleteViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Deletes a Redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class RemoveAzRedis_DeleteViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnNoContent will be called before the regular onNoContent has been processed, allowing customization of + /// what happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onNoContent method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnNoContent(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of RemoveAzRedis_DeleteViaIdentity + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets.RemoveAzRedis_DeleteViaIdentity Clone() + { + var clone = new RemoveAzRedis_DeleteViaIdentity(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisDelete' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.RedisDeleteViaIdentity(InputObject.Id, onOk, onNoContent, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.Name) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.Name"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.RedisDelete(InputObject.ResourceGroupName ?? null, InputObject.Name ?? null, InputObject.SubscriptionId ?? null, onOk, onNoContent, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RemoveAzRedis_DeleteViaIdentity() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 204 (NoContent). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onNoContent(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnNoContent(responseMessage, ref _returnNow); + // if overrideOnNoContent has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onNoContent - response for 204 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/RestartAzRedis_ForceReboot.cs b/swaggerci/redis/generated/cmdlets/RestartAzRedis_ForceReboot.cs new file mode 100644 index 000000000000..7846c55ba3cf --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/RestartAzRedis_ForceReboot.cs @@ -0,0 +1,422 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// + /// Reboot specified Redis node(s). This operation requires write permission to the cache resource. There can be potential + /// data loss. + /// + /// + /// [OpenAPI] ForceReboot=>POST:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/forceReboot" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsLifecycle.Restart, @"AzRedis_ForceReboot", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(string))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Reboot specified Redis node(s). This operation requires write permission to the cache resource. There can be potential data loss.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class RestartAzRedis_ForceReboot : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters _parameter; + + /// Specifies which Redis node(s) to reboot. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Specifies which Redis node(s) to reboot.", ValueFromPipeline = true)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Specifies which Redis node(s) to reboot.", + SerializedName = @"parameters", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters Parameter { get => this._parameter; set => this._parameter = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisForceReboot' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisForceReboot(ResourceGroupName, Name, SubscriptionId, Parameter, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,SubscriptionId=SubscriptionId,body=Parameter}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RestartAzRedis_ForceReboot() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse + WriteObject((await response).Message); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/RestartAzRedis_ForceRebootExpanded.cs b/swaggerci/redis/generated/cmdlets/RestartAzRedis_ForceRebootExpanded.cs new file mode 100644 index 000000000000..94d789b2b887 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/RestartAzRedis_ForceRebootExpanded.cs @@ -0,0 +1,449 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// + /// Reboot specified Redis node(s). This operation requires write permission to the cache resource. There can be potential + /// data loss. + /// + /// + /// [OpenAPI] ForceReboot=>POST:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/forceReboot" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsLifecycle.Restart, @"AzRedis_ForceRebootExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(string))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Reboot specified Redis node(s). This operation requires write permission to the cache resource. There can be potential data loss.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class RestartAzRedis_ForceRebootExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Specifies which Redis node(s) to reboot. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisRebootParameters(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// + /// A list of redis instances to reboot, specified by per-instance SSL ports or non-SSL ports. + /// + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "A list of redis instances to reboot, specified by per-instance SSL ports or non-SSL ports.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"A list of redis instances to reboot, specified by per-instance SSL ports or non-SSL ports.", + SerializedName = @"ports", + PossibleTypes = new [] { typeof(int) })] + public int[] Port { get => _parametersBody.Port ?? null /* arrayOf */; set => _parametersBody.Port = value; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Which Redis node(s) to reboot. Depending on this value data loss is possible. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Which Redis node(s) to reboot. Depending on this value data loss is possible.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Which Redis node(s) to reboot. Depending on this value data loss is possible.", + SerializedName = @"rebootType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType RebootType { get => _parametersBody.RebootType ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType)""); set => _parametersBody.RebootType = value; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// If clustering is enabled, the ID of the shard to be rebooted. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "If clustering is enabled, the ID of the shard to be rebooted.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"If clustering is enabled, the ID of the shard to be rebooted.", + SerializedName = @"shardId", + PossibleTypes = new [] { typeof(int) })] + public int ShardId { get => _parametersBody.ShardId ?? default(int); set => _parametersBody.ShardId = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisForceReboot' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisForceReboot(ResourceGroupName, Name, SubscriptionId, _parametersBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,SubscriptionId=SubscriptionId,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RestartAzRedis_ForceRebootExpanded() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse + WriteObject((await response).Message); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/RestartAzRedis_ForceRebootViaIdentity.cs b/swaggerci/redis/generated/cmdlets/RestartAzRedis_ForceRebootViaIdentity.cs new file mode 100644 index 000000000000..da3609246a7d --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/RestartAzRedis_ForceRebootViaIdentity.cs @@ -0,0 +1,401 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// + /// Reboot specified Redis node(s). This operation requires write permission to the cache resource. There can be potential + /// data loss. + /// + /// + /// [OpenAPI] ForceReboot=>POST:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/forceReboot" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsLifecycle.Restart, @"AzRedis_ForceRebootViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(string))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Reboot specified Redis node(s). This operation requires write permission to the cache resource. There can be potential data loss.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class RestartAzRedis_ForceRebootViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters _parameter; + + /// Specifies which Redis node(s) to reboot. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Specifies which Redis node(s) to reboot.", ValueFromPipeline = true)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Specifies which Redis node(s) to reboot.", + SerializedName = @"parameters", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters Parameter { get => this._parameter; set => this._parameter = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisForceReboot' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.RedisForceRebootViaIdentity(InputObject.Id, Parameter, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.Name) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.Name"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.RedisForceReboot(InputObject.ResourceGroupName ?? null, InputObject.Name ?? null, InputObject.SubscriptionId ?? null, Parameter, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RestartAzRedis_ForceRebootViaIdentity() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse + WriteObject((await response).Message); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/RestartAzRedis_ForceRebootViaIdentityExpanded.cs b/swaggerci/redis/generated/cmdlets/RestartAzRedis_ForceRebootViaIdentityExpanded.cs new file mode 100644 index 000000000000..0e4d916df0b6 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/RestartAzRedis_ForceRebootViaIdentityExpanded.cs @@ -0,0 +1,428 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// + /// Reboot specified Redis node(s). This operation requires write permission to the cache resource. There can be potential + /// data loss. + /// + /// + /// [OpenAPI] ForceReboot=>POST:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/forceReboot" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsLifecycle.Restart, @"AzRedis_ForceRebootViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(string))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Reboot specified Redis node(s). This operation requires write permission to the cache resource. There can be potential data loss.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class RestartAzRedis_ForceRebootViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Specifies which Redis node(s) to reboot. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisRebootParameters _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisRebootParameters(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// + /// A list of redis instances to reboot, specified by per-instance SSL ports or non-SSL ports. + /// + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "A list of redis instances to reboot, specified by per-instance SSL ports or non-SSL ports.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"A list of redis instances to reboot, specified by per-instance SSL ports or non-SSL ports.", + SerializedName = @"ports", + PossibleTypes = new [] { typeof(int) })] + public int[] Port { get => _parametersBody.Port ?? null /* arrayOf */; set => _parametersBody.Port = value; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Which Redis node(s) to reboot. Depending on this value data loss is possible. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Which Redis node(s) to reboot. Depending on this value data loss is possible.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Which Redis node(s) to reboot. Depending on this value data loss is possible.", + SerializedName = @"rebootType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType RebootType { get => _parametersBody.RebootType ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.RebootType)""); set => _parametersBody.RebootType = value; } + + /// If clustering is enabled, the ID of the shard to be rebooted. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "If clustering is enabled, the ID of the shard to be rebooted.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"If clustering is enabled, the ID of the shard to be rebooted.", + SerializedName = @"shardId", + PossibleTypes = new [] { typeof(int) })] + public int ShardId { get => _parametersBody.ShardId ?? default(int); set => _parametersBody.ShardId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisForceReboot' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.RedisForceRebootViaIdentity(InputObject.Id, _parametersBody, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.Name) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.Name"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.RedisForceReboot(InputObject.ResourceGroupName ?? null, InputObject.Name ?? null, InputObject.SubscriptionId ?? null, _parametersBody, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RestartAzRedis_ForceRebootViaIdentityExpanded() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisForceRebootResponse + WriteObject((await response).Message); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/TestAzRedisNameAvailability_Check.cs b/swaggerci/redis/generated/cmdlets/TestAzRedisNameAvailability_Check.cs new file mode 100644 index 000000000000..a6a44fe613e9 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/TestAzRedisNameAvailability_Check.cs @@ -0,0 +1,396 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Checks that the redis cache name is valid and is not already in use. + /// + /// [OpenAPI] CheckNameAvailability=>POST:"/subscriptions/{subscriptionId}/providers/Microsoft.Cache/CheckNameAvailability" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsDiagnostic.Test, @"AzRedisNameAvailability_Check", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Checks that the redis cache name is valid and is not already in use.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class TestAzRedisNameAvailability_Check : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters _parameter; + + /// Parameters body to pass for resource name availability check. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Parameters body to pass for resource name availability check.", ValueFromPipeline = true)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Parameters body to pass for resource name availability check.", + SerializedName = @"parameters", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters Parameter { get => this._parameter; set => this._parameter = value; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisCheckNameAvailability' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisCheckNameAvailability(SubscriptionId, Parameter, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,body=Parameter}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public TestAzRedisNameAvailability_Check() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/TestAzRedisNameAvailability_CheckExpanded.cs b/swaggerci/redis/generated/cmdlets/TestAzRedisNameAvailability_CheckExpanded.cs new file mode 100644 index 000000000000..41f7a2719af1 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/TestAzRedisNameAvailability_CheckExpanded.cs @@ -0,0 +1,410 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Checks that the redis cache name is valid and is not already in use. + /// + /// [OpenAPI] CheckNameAvailability=>POST:"/subscriptions/{subscriptionId}/providers/Microsoft.Cache/CheckNameAvailability" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsDiagnostic.Test, @"AzRedisNameAvailability_CheckExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Checks that the redis cache name is valid and is not already in use.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class TestAzRedisNameAvailability_CheckExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Parameters body to pass for resource name availability check. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.CheckNameAvailabilityParameters(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Resource name. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Resource name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Resource name.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string Name { get => _parametersBody.Name ?? null; set => _parametersBody.Name = value; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// Resource type. The only legal value of this property for checking redis cache name availability is 'Microsoft.Cache/redis'. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Resource type. The only legal value of this property for checking redis cache name availability is 'Microsoft.Cache/redis'.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Resource type. The only legal value of this property for checking redis cache name availability is 'Microsoft.Cache/redis'.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + public string Type { get => _parametersBody.Type ?? null; set => _parametersBody.Type = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisCheckNameAvailability' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisCheckNameAvailability(SubscriptionId, _parametersBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public TestAzRedisNameAvailability_CheckExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/TestAzRedisNameAvailability_CheckViaIdentity.cs b/swaggerci/redis/generated/cmdlets/TestAzRedisNameAvailability_CheckViaIdentity.cs new file mode 100644 index 000000000000..1b19c9283d2a --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/TestAzRedisNameAvailability_CheckViaIdentity.cs @@ -0,0 +1,395 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Checks that the redis cache name is valid and is not already in use. + /// + /// [OpenAPI] CheckNameAvailability=>POST:"/subscriptions/{subscriptionId}/providers/Microsoft.Cache/CheckNameAvailability" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsDiagnostic.Test, @"AzRedisNameAvailability_CheckViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Checks that the redis cache name is valid and is not already in use.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class TestAzRedisNameAvailability_CheckViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters _parameter; + + /// Parameters body to pass for resource name availability check. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Parameters body to pass for resource name availability check.", ValueFromPipeline = true)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Parameters body to pass for resource name availability check.", + SerializedName = @"parameters", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters Parameter { get => this._parameter; set => this._parameter = value; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisCheckNameAvailability' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.RedisCheckNameAvailabilityViaIdentity(InputObject.Id, Parameter, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.RedisCheckNameAvailability(InputObject.SubscriptionId ?? null, Parameter, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public TestAzRedisNameAvailability_CheckViaIdentity() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/TestAzRedisNameAvailability_CheckViaIdentityExpanded.cs b/swaggerci/redis/generated/cmdlets/TestAzRedisNameAvailability_CheckViaIdentityExpanded.cs new file mode 100644 index 000000000000..32eaf375d5de --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/TestAzRedisNameAvailability_CheckViaIdentityExpanded.cs @@ -0,0 +1,409 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Checks that the redis cache name is valid and is not already in use. + /// + /// [OpenAPI] CheckNameAvailability=>POST:"/subscriptions/{subscriptionId}/providers/Microsoft.Cache/CheckNameAvailability" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsDiagnostic.Test, @"AzRedisNameAvailability_CheckViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(bool))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Checks that the redis cache name is valid and is not already in use.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class TestAzRedisNameAvailability_CheckViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Parameters body to pass for resource name availability check. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.ICheckNameAvailabilityParameters _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.CheckNameAvailabilityParameters(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Resource name. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Resource name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Resource name.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + public string Name { get => _parametersBody.Name ?? null; set => _parametersBody.Name = value; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// Resource type. The only legal value of this property for checking redis cache name availability is 'Microsoft.Cache/redis'. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Resource type. The only legal value of this property for checking redis cache name availability is 'Microsoft.Cache/redis'.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Resource type. The only legal value of this property for checking redis cache name availability is 'Microsoft.Cache/redis'.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + public string Type { get => _parametersBody.Type ?? null; set => _parametersBody.Type = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisCheckNameAvailability' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.RedisCheckNameAvailabilityViaIdentity(InputObject.Id, _parametersBody, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.RedisCheckNameAvailability(InputObject.SubscriptionId ?? null, _parametersBody, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public TestAzRedisNameAvailability_CheckViaIdentityExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/UpdateAzRedis_UpdateExpanded.cs b/swaggerci/redis/generated/cmdlets/UpdateAzRedis_UpdateExpanded.cs new file mode 100644 index 000000000000..a801d2f7f269 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/UpdateAzRedis_UpdateExpanded.cs @@ -0,0 +1,669 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Update an existing Redis cache. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzRedis_UpdateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Update an existing Redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class UpdateAzRedis_UpdateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Parameters supplied to the Update Redis operation. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParameters _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisUpdateParameters(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Specifies whether the non-ssl Redis server port (6379) is enabled. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Specifies whether the non-ssl Redis server port (6379) is enabled.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Specifies whether the non-ssl Redis server port (6379) is enabled.", + SerializedName = @"enableNonSslPort", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter EnableNonSslPort { get => _parametersBody.EnableNonSslPort ?? default(global::System.Management.Automation.SwitchParameter); set => _parametersBody.EnableNonSslPort = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).", + SerializedName = @"type", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType IdentityType { get => _parametersBody.IdentityType ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType)""); set => _parametersBody.IdentityType = value; } + + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.", + SerializedName = @"userAssignedIdentities", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities IdentityUserAssignedIdentity { get => _parametersBody.IdentityUserAssignedIdentity ?? null /* object */; set => _parametersBody.IdentityUserAssignedIdentity = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2')")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2')", + SerializedName = @"minimumTlsVersion", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion MinimumTlsVersion { get => _parametersBody.MinimumTlsVersion ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion)""); set => _parametersBody.MinimumTlsVersion = value; } + + /// Backing field for property. + private string _name; + + /// The name of the Redis cache. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Redis cache.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the Redis cache.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'", + SerializedName = @"publicNetworkAccess", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess PublicNetworkAccess { get => _parametersBody.PublicNetworkAccess ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess)""); set => _parametersBody.PublicNetworkAccess = value; } + + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc.", + SerializedName = @"redisConfiguration", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration RedisConfiguration { get => _parametersBody.RedisConfiguration ?? null /* object */; set => _parametersBody.RedisConfiguration = value; } + + /// + /// Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers + /// to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'.", + SerializedName = @"redisVersion", + PossibleTypes = new [] { typeof(string) })] + public string RedisVersion { get => _parametersBody.RedisVersion ?? null; set => _parametersBody.RedisVersion = value; } + + /// The number of replicas to be created per primary. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The number of replicas to be created per primary.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of replicas to be created per primary.", + SerializedName = @"replicasPerMaster", + PossibleTypes = new [] { typeof(int) })] + public int ReplicasPerMaster { get => _parametersBody.ReplicasPerMaster ?? default(int); set => _parametersBody.ReplicasPerMaster = value; } + + /// The number of replicas to be created per primary. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The number of replicas to be created per primary.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of replicas to be created per primary.", + SerializedName = @"replicasPerPrimary", + PossibleTypes = new [] { typeof(int) })] + public int ReplicasPerPrimary { get => _parametersBody.ReplicasPerPrimary ?? default(int); set => _parametersBody.ReplicasPerPrimary = value; } + + /// Backing field for property. + private string _resourceGroupName; + + /// The name of the resource group. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of the resource group.", + SerializedName = @"resourceGroupName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; } + + /// The number of shards to be created on a Premium Cluster Cache. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The number of shards to be created on a Premium Cluster Cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of shards to be created on a Premium Cluster Cache.", + SerializedName = @"shardCount", + PossibleTypes = new [] { typeof(int) })] + public int ShardCount { get => _parametersBody.ShardCount ?? default(int); set => _parametersBody.ShardCount = value; } + + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4).")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4).", + SerializedName = @"capacity", + PossibleTypes = new [] { typeof(int) })] + public int SkuCapacity { get => _parametersBody.SkuCapacity ?? default(int); set => _parametersBody.SkuCapacity = value; } + + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).", + SerializedName = @"family", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily SkuFamily { get => _parametersBody.SkuFamily ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily)""); set => _parametersBody.SkuFamily = value; } + + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)", + SerializedName = @"name", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName SkuName { get => _parametersBody.SkuName ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName)""); set => _parametersBody.SkuName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part + /// of the URI for every service call. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.")] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Resource tags. + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags Tag { get => _parametersBody.Tag ?? null /* object */; set => _parametersBody.Tag = value; } + + /// A dictionary of tenant settings + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "A dictionary of tenant settings")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"A dictionary of tenant settings", + SerializedName = @"tenantSettings", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings TenantSetting { get => _parametersBody.TenantSetting ?? null /* object */; set => _parametersBody.TenantSetting = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzRedis_UpdateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets.UpdateAzRedis_UpdateExpanded Clone() + { + var clone = new UpdateAzRedis_UpdateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._parametersBody = this._parametersBody; + clone.ResourceGroupName = this.ResourceGroupName; + clone.Name = this.Name; + clone.SubscriptionId = this.SubscriptionId; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.RedisUpdate(ResourceGroupName, Name, SubscriptionId, _parametersBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName,Name=Name,SubscriptionId=SubscriptionId,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public UpdateAzRedis_UpdateExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { ResourceGroupName=ResourceGroupName, Name=Name, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/cmdlets/UpdateAzRedis_UpdateViaIdentityExpanded.cs b/swaggerci/redis/generated/cmdlets/UpdateAzRedis_UpdateViaIdentityExpanded.cs new file mode 100644 index 000000000000..940dcaa3f716 --- /dev/null +++ b/swaggerci/redis/generated/cmdlets/UpdateAzRedis_UpdateViaIdentityExpanded.cs @@ -0,0 +1,645 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + using System; + + /// Update an existing Redis cache. + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzRedis_UpdateViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Description(@"Update an existing Redis cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Generated] + public partial class UpdateAzRedis_UpdateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Parameters supplied to the Update Redis operation. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParameters _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.RedisUpdateParameters(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Redis.RedisManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Specifies whether the non-ssl Redis server port (6379) is enabled. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Specifies whether the non-ssl Redis server port (6379) is enabled.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Specifies whether the non-ssl Redis server port (6379) is enabled.", + SerializedName = @"enableNonSslPort", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter EnableNonSslPort { get => _parametersBody.EnableNonSslPort ?? default(global::System.Management.Automation.SwitchParameter); set => _parametersBody.EnableNonSslPort = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).", + SerializedName = @"type", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType IdentityType { get => _parametersBody.IdentityType ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.ManagedServiceIdentityType)""); set => _parametersBody.IdentityType = value; } + + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM + /// resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + /// The dictionary values can be empty objects ({}) in requests. + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.", + SerializedName = @"userAssignedIdentities", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api40.IUserAssignedIdentities IdentityUserAssignedIdentity { get => _parametersBody.IdentityUserAssignedIdentity ?? null /* object */; set => _parametersBody.IdentityUserAssignedIdentity = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.IRedisIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2')")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2')", + SerializedName = @"minimumTlsVersion", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion MinimumTlsVersion { get => _parametersBody.MinimumTlsVersion ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.TlsVersion)""); set => _parametersBody.MinimumTlsVersion = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' + /// or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'", + SerializedName = @"publicNetworkAccess", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess PublicNetworkAccess { get => _parametersBody.PublicNetworkAccess ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.PublicNetworkAccess)""); set => _parametersBody.PublicNetworkAccess = value; } + + /// + /// All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + /// etc. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc.", + SerializedName = @"redisConfiguration", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesRedisConfiguration RedisConfiguration { get => _parametersBody.RedisConfiguration ?? null /* object */; set => _parametersBody.RedisConfiguration = value; } + + /// + /// Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers + /// to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'.", + SerializedName = @"redisVersion", + PossibleTypes = new [] { typeof(string) })] + public string RedisVersion { get => _parametersBody.RedisVersion ?? null; set => _parametersBody.RedisVersion = value; } + + /// The number of replicas to be created per primary. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The number of replicas to be created per primary.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of replicas to be created per primary.", + SerializedName = @"replicasPerMaster", + PossibleTypes = new [] { typeof(int) })] + public int ReplicasPerMaster { get => _parametersBody.ReplicasPerMaster ?? default(int); set => _parametersBody.ReplicasPerMaster = value; } + + /// The number of replicas to be created per primary. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The number of replicas to be created per primary.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of replicas to be created per primary.", + SerializedName = @"replicasPerPrimary", + PossibleTypes = new [] { typeof(int) })] + public int ReplicasPerPrimary { get => _parametersBody.ReplicasPerPrimary ?? default(int); set => _parametersBody.ReplicasPerPrimary = value; } + + /// The number of shards to be created on a Premium Cluster Cache. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The number of shards to be created on a Premium Cluster Cache.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The number of shards to be created on a Premium Cluster Cache.", + SerializedName = @"shardCount", + PossibleTypes = new [] { typeof(int) })] + public int ShardCount { get => _parametersBody.ShardCount ?? default(int); set => _parametersBody.ShardCount = value; } + + /// + /// The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) + /// family (1, 2, 3, 4). + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4).")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4).", + SerializedName = @"capacity", + PossibleTypes = new [] { typeof(int) })] + public int SkuCapacity { get => _parametersBody.SkuCapacity ?? default(int); set => _parametersBody.SkuCapacity = value; } + + /// The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).", + SerializedName = @"family", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily SkuFamily { get => _parametersBody.SkuFamily ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuFamily)""); set => _parametersBody.SkuFamily = value; } + + /// The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)", + SerializedName = @"name", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName))] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName SkuName { get => _parametersBody.SkuName ?? ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Support.SkuName)""); set => _parametersBody.SkuName = value; } + + /// Resource tags. + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Resource tags.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource tags.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisUpdateParametersTags Tag { get => _parametersBody.Tag ?? null /* object */; set => _parametersBody.Tag = value; } + + /// A dictionary of tenant settings + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "A dictionary of tenant settings")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Redis.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Redis.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"A dictionary of tenant settings", + SerializedName = @"tenantSettings", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings) })] + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisCommonPropertiesTenantSettings TenantSetting { get => _parametersBody.TenantSetting ?? null /* object */; set => _parametersBody.TenantSetting = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzRedis_UpdateViaIdentityExpanded + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Cmdlets.UpdateAzRedis_UpdateViaIdentityExpanded Clone() + { + var clone = new UpdateAzRedis_UpdateViaIdentityExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._parametersBody = this._parametersBody; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'RedisUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Redis.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.RedisUpdateViaIdentity(InputObject.Id, _parametersBody, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.ResourceGroupName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ResourceGroupName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.Name) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.Name"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.RedisUpdate(InputObject.ResourceGroupName ?? null, InputObject.Name ?? null, InputObject.SubscriptionId ?? null, _parametersBody, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public UpdateAzRedis_UpdateViaIdentityExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IRedisResource + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Accounts.format.ps1xml b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Accounts.format.ps1xml new file mode 100644 index 000000000000..ae0c12dd4efa --- /dev/null +++ b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Accounts.format.ps1xml @@ -0,0 +1,496 @@ + + + + + AzureErrorRecords + + Microsoft.Azure.Commands.Profile.Errors.AzureErrorRecord + Microsoft.Azure.Commands.Profile.Errors.AzureExceptionRecord + Microsoft.Azure.Commands.Profile.Errors.AzureRestExceptionRecord + + + + + + Microsoft.Azure.Commands.Profile.Errors.AzureRestExceptionRecord + + AzureErrorRecords + + + $_.InvocationInfo.HistoryId + + + + + + + + ErrorCategory + + + ErrorDetail + + + + "{" + $_.InvocationInfo.MyCommand + "}" + + + + $_.InvocationInfo.Line + + + + $_.InvocationInfo.PositionMessage + + + + $_.InvocationInfo.BoundParameters + + + + $_.InvocationInfo.UnboundParameters + + + + $_.InvocationInfo.HistoryId + + + + + + + AzureErrorRecords + $_.GetType() -eq [Microsoft.Azure.Commands.Profile.Errors.AzureRestExceptionRecord] + + + + + RequestId + + + Message + + + ServerMessage + + + ServerResponse + + + RequestMessage + + + + "{" + $_.InvocationInfo.MyCommand + "}" + + + + $_.InvocationInfo.Line + + + + $_.InvocationInfo.PositionMessage + + + StackTrace + + + + $_.InvocationInfo.HistoryId + + + + + + + AzureErrorRecords + $_.GetType() -eq [Microsoft.Azure.Commands.Profile.Errors.AzureExceptionRecord] + + + + + Message + + + StackTrace + + + + $_.Exception.GetType() + + + + "{" + $_.InvocationInfo.MyCommand + "}" + + + + $_.InvocationInfo.Line + + + + $_.InvocationInfo.PositionMessage + + + + $_.InvocationInfo.HistoryId + + + + + + + + Microsoft.Azure.Commands.Profile.CommonModule.PSAzureServiceProfile + + Microsoft.Azure.Commands.Profile.CommonModule.PSAzureServiceProfile + + + + + Left + + + + Left + + + + + + + + Left + Name + + + Left + Description + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAccessToken + + Microsoft.Azure.Commands.Profile.Models.PSAccessToken + + + + + + + Token + + + ExpiresOn + + + Type + + + TenantId + + + UserId + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscriptionPolicy + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscriptionPolicy + + + + + Left + + + + Left + + + + Left + + + + + + + + Left + locationPlacementId + + + Left + QuotaId + + + Left + SpendingLimit + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureRmAccount + + Microsoft.Azure.Commands.Profile.Models.PSAzureRmAccount + + + + + + + Id + + + Type + + + Tenants + + + Credential + + + TenantMap + + + CertificateThumbprint + + + + $_.ExtendedProperties.GetEnumerator() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Accounts.generated.format.ps1xml b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Accounts.generated.format.ps1xml new file mode 100644 index 000000000000..a81dae94b4db --- /dev/null +++ b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Accounts.generated.format.ps1xml @@ -0,0 +1,468 @@ + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureEnvironment + + Microsoft.Azure.Commands.Profile.Models.PSAzureEnvironment + + + + + Left + + + + Left + + + + Left + + + + Left + + + + + + + + Left + Name + + + Left + ResourceManagerUrl + + + Left + ActiveDirectoryAuthority + + + Left + Type + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscription + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscription + + + + + Left + + + + Left + + + + Left + + + + Left + + + + + + + + Left + Name + + + Left + Id + + + Left + TenantId + + + Left + State + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureProfile + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureProfile + + + + + Left + + + + Left + + + + Left + + + + Left + + + + + + + + Left + $_.Context.Account.ToString() + + + Left + $_.Context.Subscription.Name + + + Left + $_.Context.Tenant.ToString() + + + Left + $_.Context.Environment.ToString() + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + 40 + Left + + + + Left + + + + Left + + + + Left + + + + Left + + + + + + + + Left + Name + + + Left + Account + + + Left + $_.Subscription.Name + + + Left + Environment + + + Left + $_.Tenant.ToString() + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureTenant + + Microsoft.Azure.Commands.Profile.Models.PSAzureTenant + + + + + Left + + + + Left + + + + Left + + + + Left + + + + + + + + Left + Id + + + Left + $_.Name + + + Left + $_.TenantCategory + + + Left + $_.Domains + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Accounts.types.ps1xml b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Accounts.types.ps1xml new file mode 100644 index 000000000000..e3b670a7daff --- /dev/null +++ b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Accounts.types.ps1xml @@ -0,0 +1,303 @@ + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureProfile + + + PSStandardMembers + + + SerializationDepth + 10 + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + PSStandardMembers + + + SerializationDepth + 10 + + + + + + + Microsoft.Azure.Commands.Common.Authentication.Core.AuthenticationStoreTokenCache + + + PSStandardMembers + + + SerializationMethod + SpecificProperties + + + PropertySerializationSet + + CacheData + + + + + + + + Microsoft.Azure.Commands.Common.Authentication.Core.ProtectedFileTokenCache + + + PSStandardMembers + + + SerializationMethod + SpecificProperties + + + PropertySerializationSet + + CacheData + + + + + + + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + PSStandardMembers + + + SerializationDepth + 10 + + + + + + Microsoft.Azure.Commands.Profile.Models.AzureContextConverter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Az.Accounts.nuspec b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Az.Accounts.nuspec new file mode 100644 index 000000000000..f664d888f3b8 --- /dev/null +++ b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Az.Accounts.nuspec @@ -0,0 +1,20 @@ + + + + Az.Accounts + 2.7.5 + Microsoft Corporation + Microsoft Corporation + true + https://aka.ms/azps-license + https://github.com/Azure/azure-powershell + Microsoft Azure PowerShell - Accounts credential management cmdlets for Azure Resource Manager in Windows PowerShell and PowerShell Core. + +For more information on account credential management, please visit the following: https://docs.microsoft.com/powershell/azure/authenticate-azureps + * Added 'SshCredentialFactory' to support get ssh credential of vm from msal. +* Fixed the bug of cmdlet fails when -DefaultProfile is set to service principal login context. [#16617] +* Fixed the issue that authorization does not work in Dogfood environment + Microsoft Corporation. All rights reserved. + Azure ResourceManager ARM Accounts Authentication Environment Subscription PSModule PSIncludes_Cmdlet PSCmdlet_Disable-AzDataCollection PSCmdlet_Disable-AzContextAutosave PSCmdlet_Enable-AzDataCollection PSCmdlet_Enable-AzContextAutosave PSCmdlet_Remove-AzEnvironment PSCmdlet_Get-AzEnvironment PSCmdlet_Set-AzEnvironment PSCmdlet_Add-AzEnvironment PSCmdlet_Get-AzSubscription PSCmdlet_Connect-AzAccount PSCmdlet_Get-AzContext PSCmdlet_Set-AzContext PSCmdlet_Import-AzContext PSCmdlet_Save-AzContext PSCmdlet_Get-AzTenant PSCmdlet_Send-Feedback PSCmdlet_Resolve-AzError PSCmdlet_Select-AzContext PSCmdlet_Rename-AzContext PSCmdlet_Remove-AzContext PSCmdlet_Clear-AzContext PSCmdlet_Disconnect-AzAccount PSCmdlet_Get-AzContextAutosaveSetting PSCmdlet_Set-AzDefault PSCmdlet_Get-AzDefault PSCmdlet_Clear-AzDefault PSCmdlet_Register-AzModule PSCmdlet_Enable-AzureRmAlias PSCmdlet_Disable-AzureRmAlias PSCmdlet_Uninstall-AzureRm PSCmdlet_Invoke-AzRestMethod PSCmdlet_Get-AzAccessToken PSCmdlet_Open-AzSurveyLink PSCommand_Disable-AzDataCollection PSCommand_Disable-AzContextAutosave PSCommand_Enable-AzDataCollection PSCommand_Enable-AzContextAutosave PSCommand_Remove-AzEnvironment PSCommand_Get-AzEnvironment PSCommand_Set-AzEnvironment PSCommand_Add-AzEnvironment PSCommand_Get-AzSubscription PSCommand_Connect-AzAccount PSCommand_Get-AzContext PSCommand_Set-AzContext PSCommand_Import-AzContext PSCommand_Save-AzContext PSCommand_Get-AzTenant PSCommand_Send-Feedback PSCommand_Resolve-AzError PSCommand_Select-AzContext PSCommand_Rename-AzContext PSCommand_Remove-AzContext PSCommand_Clear-AzContext PSCommand_Disconnect-AzAccount PSCommand_Get-AzContextAutosaveSetting PSCommand_Set-AzDefault PSCommand_Get-AzDefault PSCommand_Clear-AzDefault PSCommand_Register-AzModule PSCommand_Enable-AzureRmAlias PSCommand_Disable-AzureRmAlias PSCommand_Uninstall-AzureRm PSCommand_Invoke-AzRestMethod PSCommand_Get-AzAccessToken PSCommand_Open-AzSurveyLink PSCommand_Add-AzAccount PSCommand_Login-AzAccount PSCommand_Remove-AzAccount PSCommand_Logout-AzAccount PSCommand_Select-AzSubscription PSCommand_Resolve-Error PSCommand_Save-AzProfile PSCommand_Get-AzDomain PSCommand_Invoke-AzRest + + \ No newline at end of file diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Az.Accounts.psd1 b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Az.Accounts.psd1 new file mode 100644 index 000000000000..5597a247fce7 --- /dev/null +++ b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Az.Accounts.psd1 @@ -0,0 +1,387 @@ +# +# Module manifest for module 'Az.Accounts' +# +# Generated by: Microsoft Corporation +# +# Generated on: 3/31/2022 +# + +@{ + +# Script module or binary module file associated with this manifest. +RootModule = 'Az.Accounts.psm1' + +# Version number of this module. +ModuleVersion = '2.7.5' + +# Supported PSEditions +CompatiblePSEditions = 'Core', 'Desktop' + +# ID used to uniquely identify this module +GUID = '17a2feff-488b-47f9-8729-e2cec094624c' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = 'Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - Accounts credential management cmdlets for Azure Resource Manager in Windows PowerShell and PowerShell Core. + +For more information on account credential management, please visit the following: https://docs.microsoft.com/powershell/azure/authenticate-azureps' + +# Minimum version of the PowerShell engine required by this module +PowerShellVersion = '5.1' + +# Name of the PowerShell host required by this module +# PowerShellHostName = '' + +# Minimum version of the PowerShell host required by this module +# PowerShellHostVersion = '' + +# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +DotNetFrameworkVersion = '4.7.2' + +# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +# ClrVersion = '' + +# Processor architecture (None, X86, Amd64) required by this module +# ProcessorArchitecture = '' + +# Modules that must be imported into the global environment prior to importing this module +# RequiredModules = @() + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = 'Microsoft.Azure.PowerShell.Authentication.Abstractions.dll', + 'Microsoft.Azure.PowerShell.Authentication.dll', + 'Microsoft.Azure.PowerShell.Authenticators.dll', + 'Microsoft.Azure.PowerShell.Authentication.ResourceManager.dll', + 'Microsoft.Azure.PowerShell.Clients.Authorization.dll', + 'Microsoft.Azure.PowerShell.Clients.Compute.dll', + 'Microsoft.Azure.PowerShell.Clients.Graph.Rbac.dll', + 'Microsoft.Azure.PowerShell.Clients.Monitor.dll', + 'Microsoft.Azure.PowerShell.Clients.Network.dll', + 'Microsoft.Azure.PowerShell.Clients.PolicyInsights.dll', + 'Microsoft.Azure.PowerShell.Clients.ResourceManager.dll', + 'Microsoft.Azure.PowerShell.Common.dll', + 'Microsoft.Azure.PowerShell.Storage.dll', + 'Microsoft.Azure.PowerShell.Clients.Storage.Management.dll', + 'Microsoft.Azure.PowerShell.Clients.KeyVault.dll', + 'Microsoft.Azure.PowerShell.Clients.Websites.dll', + 'Hyak.Common.dll', 'Microsoft.ApplicationInsights.dll', + 'Microsoft.Azure.Common.dll', 'Microsoft.Rest.ClientRuntime.dll', + 'Microsoft.Rest.ClientRuntime.Azure.dll', + 'Microsoft.WindowsAzure.Storage.dll', + 'Microsoft.WindowsAzure.Storage.DataMovement.dll', + 'Microsoft.Azure.PowerShell.Clients.Aks.dll', + 'Microsoft.Azure.PowerShell.Strategies.dll', + 'Microsoft.Azure.PowerShell.Common.Share.dll' + +# Script files (.ps1) that are run in the caller's environment prior to importing this module. +# ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +# TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = 'Accounts.format.ps1xml', 'Accounts.generated.format.ps1xml' + +# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess +NestedModules = @() + +# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. +FunctionsToExport = @() + +# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. +CmdletsToExport = 'Disable-AzDataCollection', 'Disable-AzContextAutosave', + 'Enable-AzDataCollection', 'Enable-AzContextAutosave', + 'Remove-AzEnvironment', 'Get-AzEnvironment', 'Set-AzEnvironment', + 'Add-AzEnvironment', 'Get-AzSubscription', 'Connect-AzAccount', + 'Get-AzContext', 'Set-AzContext', 'Import-AzContext', 'Save-AzContext', + 'Get-AzTenant', 'Send-Feedback', 'Resolve-AzError', 'Select-AzContext', + 'Rename-AzContext', 'Remove-AzContext', 'Clear-AzContext', + 'Disconnect-AzAccount', 'Get-AzContextAutosaveSetting', + 'Set-AzDefault', 'Get-AzDefault', 'Clear-AzDefault', + 'Register-AzModule', 'Enable-AzureRmAlias', 'Disable-AzureRmAlias', + 'Uninstall-AzureRm', 'Invoke-AzRestMethod', 'Get-AzAccessToken', + 'Open-AzSurveyLink' + +# Variables to export from this module +# VariablesToExport = @() + +# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. +AliasesToExport = 'Add-AzAccount', 'Login-AzAccount', 'Remove-AzAccount', + 'Logout-AzAccount', 'Select-AzSubscription', 'Resolve-Error', + 'Save-AzProfile', 'Get-AzDomain', 'Invoke-AzRest' + +# DSC resources to export from this module +# DscResourcesToExport = @() + +# List of all modules packaged with this module +# ModuleList = @() + +# List of all files packaged with this module +# FileList = @() + +# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. +PrivateData = @{ + + PSData = @{ + + # Tags applied to this module. These help with module discovery in online galleries. + Tags = 'Azure','ResourceManager','ARM','Accounts','Authentication','Environment','Subscription' + + # A URL to the license for this module. + LicenseUri = 'https://aka.ms/azps-license' + + # A URL to the main website for this project. + ProjectUri = 'https://github.com/Azure/azure-powershell' + + # A URL to an icon representing this module. + # IconUri = '' + + # ReleaseNotes of this module + ReleaseNotes = '* Added ''SshCredentialFactory'' to support get ssh credential of vm from msal. +* Fixed the bug of cmdlet fails when -DefaultProfile is set to service principal login context. [#16617] +* Fixed the issue that authorization does not work in Dogfood environment' + + # Prerelease string of this module + # Prerelease = '' + + # Flag to indicate whether the module requires explicit user acceptance for install/update/save + # RequireLicenseAcceptance = $false + + # External dependent modules of this module + # ExternalModuleDependencies = @() + + } # End of PSData hashtable + + } # End of PrivateData hashtable + +# HelpInfo URI of this module +# HelpInfoURI = '' + +# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. +# DefaultCommandPrefix = '' + +} + + +# SIG # Begin signature block +# MIInoQYJKoZIhvcNAQcCoIInkjCCJ44CAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBfih7Yjug0H4t7 +# yWl+P37e8ytBZAxLWrUP62/jyADYPKCCDYEwggX/MIID56ADAgECAhMzAAACUosz +# qviV8znbAAAAAAJSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjEwOTAyMTgzMjU5WhcNMjIwOTAxMTgzMjU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDQ5M+Ps/X7BNuv5B/0I6uoDwj0NJOo1KrVQqO7ggRXccklyTrWL4xMShjIou2I +# sbYnF67wXzVAq5Om4oe+LfzSDOzjcb6ms00gBo0OQaqwQ1BijyJ7NvDf80I1fW9O +# L76Kt0Wpc2zrGhzcHdb7upPrvxvSNNUvxK3sgw7YTt31410vpEp8yfBEl/hd8ZzA +# v47DCgJ5j1zm295s1RVZHNp6MoiQFVOECm4AwK2l28i+YER1JO4IplTH44uvzX9o +# RnJHaMvWzZEpozPy4jNO2DDqbcNs4zh7AWMhE1PWFVA+CHI/En5nASvCvLmuR/t8 +# q4bc8XR8QIZJQSp+2U6m2ldNAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUNZJaEUGL2Guwt7ZOAu4efEYXedEw +# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1 +# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDY3NTk3MB8GA1UdIwQYMBaAFEhu +# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu +# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w +# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx +# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAFkk3 +# uSxkTEBh1NtAl7BivIEsAWdgX1qZ+EdZMYbQKasY6IhSLXRMxF1B3OKdR9K/kccp +# kvNcGl8D7YyYS4mhCUMBR+VLrg3f8PUj38A9V5aiY2/Jok7WZFOAmjPRNNGnyeg7 +# l0lTiThFqE+2aOs6+heegqAdelGgNJKRHLWRuhGKuLIw5lkgx9Ky+QvZrn/Ddi8u +# TIgWKp+MGG8xY6PBvvjgt9jQShlnPrZ3UY8Bvwy6rynhXBaV0V0TTL0gEx7eh/K1 +# o8Miaru6s/7FyqOLeUS4vTHh9TgBL5DtxCYurXbSBVtL1Fj44+Od/6cmC9mmvrti +# yG709Y3Rd3YdJj2f3GJq7Y7KdWq0QYhatKhBeg4fxjhg0yut2g6aM1mxjNPrE48z +# 6HWCNGu9gMK5ZudldRw4a45Z06Aoktof0CqOyTErvq0YjoE4Xpa0+87T/PVUXNqf +# 7Y+qSU7+9LtLQuMYR4w3cSPjuNusvLf9gBnch5RqM7kaDtYWDgLyB42EfsxeMqwK +# WwA+TVi0HrWRqfSx2olbE56hJcEkMjOSKz3sRuupFCX3UroyYf52L+2iVTrda8XW +# esPG62Mnn3T8AuLfzeJFuAbfOSERx7IFZO92UPoXE1uEjL5skl1yTZB3MubgOA4F +# 8KoRNhviFAEST+nG8c8uIsbZeb08SeYQMqjVEmkwggd6MIIFYqADAgECAgphDpDS +# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 +# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla +# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT +# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB +# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG +# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S +# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz +# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7 +# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u +# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33 +# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl +# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP +# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB +# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF +# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM +# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ +# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud +# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO +# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0 +# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB +# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw +# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA +# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY +# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj +# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd +# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ +# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf +# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ +# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j +# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B +# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96 +# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7 +# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I +# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIZdjCCGXICAQEwgZUwfjELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z +# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAlKLM6r4lfM52wAAAAACUjAN +# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor +# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgXA6GKgxI +# VhLOuEe05JK0ofRRaS3Iixk8S4yAEDyheGcwQgYKKwYBBAGCNwIBDDE0MDKgFIAS +# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN +# BgkqhkiG9w0BAQEFAASCAQCk7+MONSYp7vxlpfSvtfVGPGdZ5LuxWlb4eimh/TgO +# qAAMDghpYUB8mFe46dAf/OoVHrcxhCfAof+aWlMkEqZTwIZ6p0XsXZ72jDLDFLgf +# WJNQ605jndPQx7/b3tDvqqI1sCHz4CvYnqiQn4/JpHjiE4321HRDFjhWv1lhTpMx +# Xaifyrvwc1OwLcSqMrEPSShevbYOH54J0MG+qI+t+AQ9D/WQdL/5HBJZ8PDZ2n9b +# I4FxGwm0aeTSnAiV602r8db+jebwv/5ypKfkok4IzN9qdQY1y3jXdP9MfEK2nCod +# Mbuby8eakQsarqZJovnvBOsZANYE8UafuSbYMQtJaEtnoYIXADCCFvwGCisGAQQB +# gjcDAwExghbsMIIW6AYJKoZIhvcNAQcCoIIW2TCCFtUCAQMxDzANBglghkgBZQME +# AgEFADCCAVEGCyqGSIb3DQEJEAEEoIIBQASCATwwggE4AgEBBgorBgEEAYRZCgMB +# MDEwDQYJYIZIAWUDBAIBBQAEIPieBDiQ8jeOJOjc2VK1Wl36ph7izu7GPD9rSN/j +# BxeOAgZiFm2JbrQYEzIwMjIwMzMxMTAyMDU2LjYzNlowBIACAfSggdCkgc0wgcox +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1p +# Y3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlvbnMxJjAkBgNVBAsTHVRoYWxlcyBUU1Mg +# RVNOOjEyQkMtRTNBRS03NEVCMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt +# cCBTZXJ2aWNloIIRVzCCBwwwggT0oAMCAQICEzMAAAGhAYVVmblUXYoAAQAAAaEw +# DQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0 +# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh +# dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcN +# MjExMjAyMTkwNTI0WhcNMjMwMjI4MTkwNTI0WjCByjELMAkGA1UEBhMCVVMxEzAR +# BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p +# Y3Jvc29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2Eg +# T3BlcmF0aW9uczEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046MTJCQy1FM0FFLTc0 +# RUIxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggIiMA0G +# CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDayTxe5WukkrYxxVuHLYW9BEWCD9kk +# jnnHsOKwGddIPbZlLY+l5ovLDNf+BEMQKAZQI3DX91l1yCDuP9X7tOPC48ZRGXA/ +# bf9ql0FK5438gIl7cV528XeEOFwc/A+UbIUfW296Omg8Z62xaQv3jrG4U/priArF +# /er1UA1HNuIGUyqjlygiSPwK2NnFApi1JD+Uef5c47kh7pW1Kj7RnchpFeY9MekP +# QRia7cEaUYU4sqCiJVdDJpefLvPT9EdthlQx75ldx+AwZf2a9T7uQRSBh8tpxPdI +# DDkKiWMwjKTrAY09A3I/jidqPuc8PvX+sqxqyZEN2h4GA0Edjmk64nkIukAK18K5 +# nALDLO9SMTxpAwQIHRDtZeTClvAPCEoy1vtPD7f+eqHqStuu+XCkfRjXEpX9+h9f +# rsB0/BgD5CBf3ELLAa8TefMfHZWEJRTPNrbXMKizSrUSkVv/3HP/ZsJpwaz5My2R +# byc3Ah9bT76eBJkyfT5FN9v/KQ0HnxhRMs6HHhTmNx+LztYci+vHf0D3QH1eCjZW +# ZRjp1mOyxpPU2mDMG6gelvJse1JzRADo7YIok/J3Ccbm8MbBbm85iogFltFHecHF +# EFwrsDGBFnNYHMhcbarQNA+gY2e2l9fAkX3MjI7Uklkoz74/P6KIqe5jcd9FPCbb +# SbYH9OLsteeYOQIDAQABo4IBNjCCATIwHQYDVR0OBBYEFBa/IDLbY475VQyKiZSw +# 47l0/cypMB8GA1UdIwQYMBaAFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMF8GA1UdHwRY +# MFYwVKBSoFCGTmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01p +# Y3Jvc29mdCUyMFRpbWUtU3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNybDBsBggrBgEF +# BQcBAQRgMF4wXAYIKwYBBQUHMAKGUGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w +# a2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAo +# MSkuY3J0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZI +# hvcNAQELBQADggIBACDDIxElfXlG5YKcKrLPSS+f3JWZprwKEiASvivaHTBRlXtA +# s+TkadcsEei+9w5vmF5tCUzTH4c0nCI7bZxnsL+S6XsiOs3Z1V4WX+IwoXUJ4zLv +# s0+mT4vjGDtYfKQ/bsmJKar2c99m/fHv1Wm2CTcyaePvi86Jh3UyLjdRILWbtzs4 +# oImFMwwKbzHdPopxrBhgi+C1YZshosWLlgzyuxjUl+qNg1m52MJmf11loI7D9HJo +# aQzd+rf928Y8rvULmg2h/G50o+D0UJ1Fa/cJJaHfB3sfKw9X6GrtXYGjmM3+g+Ah +# aVsfupKXNtOFu5tnLKvAH5OIjEDYV1YKmlXuBuhbYassygPFMmNgG2Ank3drEcDc +# ZhCXXqpRszNo1F6Gu5JCpQZXbOJM9Ue5PlJKtmImAYIGsw+pnHy/r5ggSYOp4g5Z +# 1oU9GhVCM3V0T9adee6OUXBk1rE4dZc/UsPlj0qoiljL+lN1A5gkmmz7k5tIObVG +# B7dJdz8J0FwXRE5qYu1AdvauVbZwGQkL1x8aK/svjEQW0NUyJ29znDHiXl5vLoRT +# jjFpshUBi2+IY+mNqbLmj24j5eT+bjDlE3HmNtLPpLcMDYqZ1H+6U6YmaiNmac2j +# RXDAaeEE/uoDMt2dArfJP7M+MDv3zzNNTINeuNEtDVgm9zwfgIUCXnDZuVtiMIIH +# cTCCBVmgAwIBAgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0BAQsFADCB +# iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl +# ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMp +# TWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEw +# OTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UE +# CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z +# b2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQ +# Q0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOThpkzntHIh +# C3miy9ckeb0O1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xPx2b3lVNx +# WuJ+Slr+uDZnhUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ3MFEyHFc +# UTE3oAo4bo3t1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOtgFt+jBAc +# nVL+tuhiJdxqD89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYtcI4xyDUo +# veO0hyTD4MmPfrVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXAhjBcTyzi +# YrLNueKNiOSWrAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9 +# fvzZnkXftnIv231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdH +# GO2n6Jl8P0zbr17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7X +# KHYC4jMYctenIPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiE +# R9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/ +# eKtFtvUeh17aj54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkrBgEEAYI3 +# FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAd +# BgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEE +# AYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29t +# L3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMI +# MBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMB +# Af8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1Ud +# HwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3By +# b2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQRO +# MEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2Vy +# dHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEBCwUAA4IC +# AQCdVX38Kq3hLB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnXwnE2P9pk +# bHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gng +# ugnue99qb74py27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jfZfakVqr3 +# lbYoVSfQJL1AoL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHC +# gRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6 +# MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEU +# BHG/ZPkkvnNtyo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6OEuabvsh +# VGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+ +# fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrp +# NPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784cETRkPHI +# qzqKOghif9lwY1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCAs4wggI3AgEBMIH4 +# oYHQpIHNMIHKMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G +# A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSUw +# IwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMSYwJAYDVQQLEx1U +# aGFsZXMgVFNTIEVTTjoxMkJDLUUzQUUtNzRFQjElMCMGA1UEAxMcTWljcm9zb2Z0 +# IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIaAxUAG3F2jO4LEMVLwgKG +# XdYMN4FBgOCggYMwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAN +# BgkqhkiG9w0BAQUFAAIFAOXvuD8wIhgPMjAyMjAzMzExMzE4NTVaGA8yMDIyMDQw +# MTEzMTg1NVowdzA9BgorBgEEAYRZCgQBMS8wLTAKAgUA5e+4PwIBADAKAgEAAgIP +# IwIB/zAHAgEAAgIRnzAKAgUA5fEJvwIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgor +# BgEEAYRZCgMCoAowCAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUA +# A4GBANc53MLryLt1FD+jkakQydkemUps4QiN8HJxJ36VPuc2XRhvcn0Fhp1Pi8Hk +# gg08sFJoJ2vT/9g5J39zdjQpnbNGMkfmEi+qT6hbGq0ta5rnt1wDG2pVMuMn7N2Q +# 8CytKi6ZynWVbiCNuQtxsuwdgM7bRwcf510Wwp7iQUeNjJZzMYIEDTCCBAkCAQEw +# gZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT +# B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UE +# AxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAGhAYVVmblUXYoA +# AQAAAaEwDQYJYIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0B +# CRABBDAvBgkqhkiG9w0BCQQxIgQg7aLPwq2FhUC9oleuUeRc4uk9d+4UFLvls0ps +# 5tQU14wwgfoGCyqGSIb3DQEJEAIvMYHqMIHnMIHkMIG9BCDrCFTxOoGCaCCCjoRy +# Be1JSQrMJeCCTyErziiJ347QhDCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1w +# IFBDQSAyMDEwAhMzAAABoQGFVZm5VF2KAAEAAAGhMCIEIOKn52EgS+EFhqx/FxY8 +# xYD6qqUYqtVZ3iZ47g3sjJRaMA0GCSqGSIb3DQEBCwUABIICACJi4QGIi9yhn8uf +# NlWbdGQNP0UkTWxJRMnAe4eQUYbcHoOxPxguwy7r8VfTZOdKBxfy7/LKo5XGmAo2 +# hmZSsLHjtT0zzkZti2AFeCRmZ8DMVaGfR9sWBr0OwlRS3HMDigpWyI5jP/tD529k +# jh0/BYwKg2TGRk6ZmdFWXuQf0lVb/LytEUyFbziq4hoxhKc4IQ3oCcOm1xaVZzbe +# SgzPg3j4QfHAucYgfxJoIUP1lKTRclmUc2ERYmHchaUxeYIdiDHx5lpEdNsh0acm +# LgV307ncxLeN1Ih2E6By+Dknm8OppqVYOSvcjcjqHY+fU7ci/FuvyUVDQv6xe2ZS +# K6qCMCrPWtoOlE3ms+LE5kHVQ1JOs0v7mVVP8xfO+fkArk3RuUl/1gaGxi5Ljheg +# l+51jV5PMM4Vha9KoWfU2306ZLt/I1Rftq1sCOD5ysLnhTQuInQMRpfXlY/rvTPu +# 9jzQ4q4Ty7WPp004gh+9hLIm0s0nmZmM8jyTRUFrK1SfHglBOKgdrcuJfmEuPKxL +# foRg/LzuUjcXvdtO3oozIaVWsTxGx6laY2DkMPnqYaj/oBwla86bNyQT94YTTGWq +# 3mCwt0/H4E3Mn1OXLVIGO3NrzZwTFFN2uqRmcTQ0AKiXU3ar4b8F/ykpQOvTV6x/ +# U7Jz/JaISbEvO3mUarzheUPqVmWq +# SIG # End signature block diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Az.Accounts.psm1 b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Az.Accounts.psm1 new file mode 100644 index 000000000000..67107181add7 --- /dev/null +++ b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Az.Accounts.psm1 @@ -0,0 +1,375 @@ +# +# Script module for module 'Az.Accounts' that is executed when 'Az.Accounts' is imported in a PowerShell session. +# +# Generated by: Microsoft Corporation +# +# Generated on: 03/31/2022 09:26:49 +# + +$PSDefaultParameterValues.Clear() +Set-StrictMode -Version Latest + +function Test-DotNet +{ + try + { + if ((Get-PSDrive 'HKLM' -ErrorAction Ignore) -and (-not (Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\' -ErrorAction Stop | Get-ItemPropertyValue -ErrorAction Stop -Name Release | Where-Object { $_ -ge 461808 }))) + { + throw ".NET Framework versions lower than 4.7.2 are not supported in Az. Please upgrade to .NET Framework 4.7.2 or higher." + } + } + catch [System.Management.Automation.DriveNotFoundException] + { + Write-Verbose ".NET Framework version check failed." + } +} + +function Preload-Assembly { + param ( + [string] + $AssemblyDirectory + ) + if($PSEdition -eq 'Desktop' -and (Test-Path $AssemblyDirectory -ErrorAction Ignore)) + { + try + { + Get-ChildItem -ErrorAction Stop -Path $AssemblyDirectory -Filter "*.dll" | ForEach-Object { + try + { + Add-Type -Path $_.FullName -ErrorAction Ignore | Out-Null + } + catch { + Write-Verbose $_ + } + } + } + catch {} + } +} + +if ($true -and ($PSEdition -eq 'Desktop')) +{ + if ($PSVersionTable.PSVersion -lt [Version]'5.1') + { + throw "PowerShell versions lower than 5.1 are not supported in Az. Please upgrade to PowerShell 5.1 or higher." + } + + Test-DotNet +} + +if ($true -and ($PSEdition -eq 'Core')) +{ + if ($PSVersionTable.PSVersion -lt [Version]'6.2.4') + { + throw "Current Az version doesn't support PowerShell Core versions lower than 6.2.4. Please upgrade to PowerShell Core 6.2.4 or higher." + } + if ($PSVersionTable.PSVersion -lt [Version]'7.0.6') + { + Write-Warning "This version of Az.Accounts is only supported on Windows PowerShell 5.1 and PowerShell 7.0.6 or greater, open https://aka.ms/install-powershell to learn how to upgrade. For further information, go to https://aka.ms/azpslifecycle." + } +} + +if (Test-Path -Path "$PSScriptRoot\StartupScripts" -ErrorAction Ignore) +{ + Get-ChildItem "$PSScriptRoot\StartupScripts" -ErrorAction Stop | ForEach-Object { + . $_.FullName + } +} + +if (Get-Module AzureRM.profile -ErrorAction Ignore) +{ + Write-Warning ("AzureRM.Profile already loaded. Az and AzureRM modules cannot be imported in the same session or used in the same script or runbook. If you are running PowerShell in an environment you control you can use the 'Uninstall-AzureRm' cmdlet to remove all AzureRm modules from your machine. " + + "If you are running in Azure Automation, take care that none of your runbooks import both Az and AzureRM modules. More information can be found here: https://aka.ms/azps-migration-guide.") + throw ("AzureRM.Profile already loaded. Az and AzureRM modules cannot be imported in the same session or used in the same script or runbook. If you are running PowerShell in an environment you control you can use the 'Uninstall-AzureRm' cmdlet to remove all AzureRm modules from your machine. " + + "If you are running in Azure Automation, take care that none of your runbooks import both Az and AzureRM modules. More information can be found here: https://aka.ms/azps-migration-guide.") +} + +$preloadPath = (Join-Path $PSScriptRoot -ChildPath "PreloadAssemblies") +Preload-Assembly -AssemblyDirectory $preloadPath +$preloadPath = (Join-Path $PSScriptRoot -ChildPath "ModuleAlcAssemblies") +Preload-Assembly -AssemblyDirectory $preloadPath + +$netCorePath = (Join-Path $PSScriptRoot -ChildPath "NetCoreAssemblies") +if($PSEdition -eq 'Core' -and (Test-Path $netCorePath -ErrorAction Ignore)) +{ + try + { + $loadedAssemblies = ([System.AppDomain]::CurrentDomain.GetAssemblies() | ForEach-Object {New-Object -TypeName System.Reflection.AssemblyName -ArgumentList $_.FullName} ) + Get-ChildItem -ErrorAction Stop -Path $netCorePath -Filter "*.dll" | ForEach-Object { + $assemblyName = ([System.Reflection.AssemblyName]::GetAssemblyName($_.FullName)) + $matches = ($loadedAssemblies | Where-Object {$_.Name -eq $assemblyName.Name}) + if (-not $matches) + { + try + { + Add-Type -Path $_.FullName -ErrorAction Ignore | Out-Null + } + catch { + Write-Verbose $_ + } + } + } + } + catch {} +} + + +Import-Module (Join-Path -Path $PSScriptRoot -ChildPath Microsoft.Azure.PowerShell.Cmdlets.Accounts.dll) + + +if (Test-Path -Path "$PSScriptRoot\PostImportScripts" -ErrorAction Ignore) +{ + Get-ChildItem "$PSScriptRoot\PostImportScripts" -ErrorAction Stop | ForEach-Object { + . $_.FullName + } +} + +$FilteredCommands = @() + +if ($Env:ACC_CLOUD -eq $null) +{ + $FilteredCommands | ForEach-Object { + + $existingDefault = $false + foreach ($key in $global:PSDefaultParameterValues.Keys) + { + if ($_ -like "$key") + { + $existingDefault = $true + } + } + + if (!$existingDefault) + { + $global:PSDefaultParameterValues.Add($_, + { + if ((Get-Command Get-AzContext -ErrorAction Ignore) -eq $null) + { + $context = Get-AzureRmContext + } + else + { + $context = Get-AzContext + } + if (($context -ne $null) -and $context.ExtendedProperties.ContainsKey("Default Resource Group")) { + $context.ExtendedProperties["Default Resource Group"] + } + }) + } + } +} + +# SIG # Begin signature block +# MIInugYJKoZIhvcNAQcCoIInqzCCJ6cCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBnXoRblwqGgp4a +# USzJaf5Wf+Tu+eUWmfecChJ7ENNasaCCDYEwggX/MIID56ADAgECAhMzAAACUosz +# qviV8znbAAAAAAJSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjEwOTAyMTgzMjU5WhcNMjIwOTAxMTgzMjU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDQ5M+Ps/X7BNuv5B/0I6uoDwj0NJOo1KrVQqO7ggRXccklyTrWL4xMShjIou2I +# sbYnF67wXzVAq5Om4oe+LfzSDOzjcb6ms00gBo0OQaqwQ1BijyJ7NvDf80I1fW9O +# L76Kt0Wpc2zrGhzcHdb7upPrvxvSNNUvxK3sgw7YTt31410vpEp8yfBEl/hd8ZzA +# v47DCgJ5j1zm295s1RVZHNp6MoiQFVOECm4AwK2l28i+YER1JO4IplTH44uvzX9o +# RnJHaMvWzZEpozPy4jNO2DDqbcNs4zh7AWMhE1PWFVA+CHI/En5nASvCvLmuR/t8 +# q4bc8XR8QIZJQSp+2U6m2ldNAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUNZJaEUGL2Guwt7ZOAu4efEYXedEw +# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1 +# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDY3NTk3MB8GA1UdIwQYMBaAFEhu +# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu +# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w +# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx +# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAFkk3 +# uSxkTEBh1NtAl7BivIEsAWdgX1qZ+EdZMYbQKasY6IhSLXRMxF1B3OKdR9K/kccp +# kvNcGl8D7YyYS4mhCUMBR+VLrg3f8PUj38A9V5aiY2/Jok7WZFOAmjPRNNGnyeg7 +# l0lTiThFqE+2aOs6+heegqAdelGgNJKRHLWRuhGKuLIw5lkgx9Ky+QvZrn/Ddi8u +# TIgWKp+MGG8xY6PBvvjgt9jQShlnPrZ3UY8Bvwy6rynhXBaV0V0TTL0gEx7eh/K1 +# o8Miaru6s/7FyqOLeUS4vTHh9TgBL5DtxCYurXbSBVtL1Fj44+Od/6cmC9mmvrti +# yG709Y3Rd3YdJj2f3GJq7Y7KdWq0QYhatKhBeg4fxjhg0yut2g6aM1mxjNPrE48z +# 6HWCNGu9gMK5ZudldRw4a45Z06Aoktof0CqOyTErvq0YjoE4Xpa0+87T/PVUXNqf +# 7Y+qSU7+9LtLQuMYR4w3cSPjuNusvLf9gBnch5RqM7kaDtYWDgLyB42EfsxeMqwK +# WwA+TVi0HrWRqfSx2olbE56hJcEkMjOSKz3sRuupFCX3UroyYf52L+2iVTrda8XW +# esPG62Mnn3T8AuLfzeJFuAbfOSERx7IFZO92UPoXE1uEjL5skl1yTZB3MubgOA4F +# 8KoRNhviFAEST+nG8c8uIsbZeb08SeYQMqjVEmkwggd6MIIFYqADAgECAgphDpDS +# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 +# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla +# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT +# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB +# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG +# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S +# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz +# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7 +# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u +# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33 +# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl +# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP +# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB +# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF +# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM +# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ +# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud +# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO +# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0 +# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB +# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw +# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA +# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY +# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj +# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd +# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ +# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf +# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ +# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j +# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B +# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96 +# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7 +# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I +# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIZjzCCGYsCAQEwgZUwfjELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z +# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAlKLM6r4lfM52wAAAAACUjAN +# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor +# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgqwm8h/dw +# FED0y+xGCWSaD8Fc1mZMgPkryh2zfSvZwxIwQgYKKwYBBAGCNwIBDDE0MDKgFIAS +# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN +# BgkqhkiG9w0BAQEFAASCAQBvXNrKAkE7o84rJI6+XFvnA65dqlWCZBeFhG6YGpde +# Nom1mPdcfauabmxLKg7N5GG1FBWXuYDu1aEyDhiXzPG6ET+/ikXTGfN9J0D9g5Wx +# a2SeSIJ0XfsllBKKwOKl4OhoY3y5Kjjk08Cw75aE5BR8Ux0FWciN8n+nztakOyN9 +# tf7I5nmgbrHvJC5az2N9aR5DejRvjPDcNCnRkepz3nnA+FQNFbXaKqjgJz9oRBgA +# K2SAZDQnnK3B3MAv7qJX6GyeUhen7kwXZC0OV2RjyPRC+f8SiV/OF/ZsaFe4nXps +# RJqg5f5sUjCHFS5g8yK9Zy6D7EZKJJA4yk8YgRpdxOiuoYIXGTCCFxUGCisGAQQB +# gjcDAwExghcFMIIXAQYJKoZIhvcNAQcCoIIW8jCCFu4CAQMxDzANBglghkgBZQME +# AgEFADCCAVkGCyqGSIb3DQEJEAEEoIIBSASCAUQwggFAAgEBBgorBgEEAYRZCgMB +# MDEwDQYJYIZIAWUDBAIBBQAEIAn/Ph2Du7oUABZfi9Z4pWXxedNUse800UpCJBeG +# +id6AgZiF5hUHpsYEzIwMjIwMzMxMTAwMDEyLjU2OFowBIACAfSggdikgdUwgdIx +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1p +# Y3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhh +# bGVzIFRTUyBFU046RkM0MS00QkQ0LUQyMjAxJTAjBgNVBAMTHE1pY3Jvc29mdCBU +# aW1lLVN0YW1wIFNlcnZpY2WgghFoMIIHFDCCBPygAwIBAgITMwAAAY5Z20YAqBCU +# zAABAAABjjANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0Eg +# MjAxMDAeFw0yMTEwMjgxOTI3NDVaFw0yMzAxMjYxOTI3NDVaMIHSMQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQg +# SXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1Mg +# RVNOOkZDNDEtNEJENC1EMjIwMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt +# cCBTZXJ2aWNlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqiMCq6OM +# zLa5wrtcf7Bf9f1WXW9kpqbOBzgPJvaGLrZG7twgwqTRWf1FkjpJKBOG5QPIRy7a +# 6IFVAy0W+tBaFX4In4DbBf2tGubyY9+hRU+hRewPJH5CYOvpPh77FfGM63+OlwRX +# p5YER6tC0WRKn3mryWpt4CwADuGv0LD2QjnhhgtRVidsiDnn9+aLjMuNapUhstGq +# Cr7JcQZt0ZrPUHW/TqTJymeU1eqgNorEbTed6UQyLaTVAmhXNQXDChfa526nW7RQ +# 7L4tXX9Lc0oguiCSkPlu5drNA6NM8z+UXQOAHxVfIQXmi+Y3SV2hr2dcxby9nlTz +# Yvf4ZDr5Wpcwt7tTdRIJibXHsXWMKrmOziliGDToLx34a/ctZE4NOLnlrKQWN9ZG +# +Ox5zRarK1EhShahM0uQNhb6BJjp3+c0eNzMFJ2qLZqDp2/3Yl5Q+4k+MDHLTipP +# 6VBdxcdVfd4mgrVTx3afO5KNfgMngGGfhSawGraRW28EhrLOspmIxii92E7vjncJ +# 2tcjhLCjBArVpPh3cZG5g3ZVy5iiAaoDaswpNgnMFAK5Un1reK+MFhPi9iMnvUPw +# tTDDJt5YED5DAT3mBUxp5QH3t7RhZwAJNLWLtpTeGF7ub81sSKYv2ardazAe9XLS +# 10tV2oOPrcniGJzlXW7VPvxqQNxe8lCDA20CAwEAAaOCATYwggEyMB0GA1UdDgQW +# BBTsQfkz9gT44N/5G8vNHayep+aV5DAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJl +# pxtTNRnpcjBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAx +# MCgxKS5jcmwwbAYIKwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3Rh +# bXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoG +# CCsGAQUFBwMIMA0GCSqGSIb3DQEBCwUAA4ICAQA1UK9xzIeTlKhSbLn0bekR5gYh +# 6bB1XQpluCqCA15skZ37UilaFJw8+GklDLzlNhSP2mOiOzVyCq8kkpqnfUc01ZaB +# ezQxg77qevj2iMyg39YJfeiCIhxYOFugwepYrPO8MlB/oue/VhIiDb1eNYTlPSmv +# 3palsgtkrb0oo0F0uWmX4EQVGKRo0UENtZetVIxa0J9DpUdjQWPeEh9cEM+RgE26 +# 5w5WAVb+WNx0iWiF4iTbCmrWaVEOX92dNqBm9bT1U7nGwN5CygpNAgEaYnrTMx1N +# 4AjxObACDN5DdvGlu/O0DfMWVc6qk6iKDFC6WpXQSkMlrlXII/Nhp+0+noU6tfEp +# HKLt7fYm9of5i/QomcCwo/ekiOCjYktp393ovoC1O2uLtbLnMVlE5raBLBNSbINZ +# 6QLxiA41lXnVVLIzDihUL8MU9CMvG4sdbhk2FX8zvrsP5PeBIw1faenMZuz0V3UX +# CtU5Okx5fmioWiiLZSCi1ljaxX+BEwQiinCi+vE59bTYI5FbuR8tDuGLiVu/JSpV +# FXrzWMP2Kn11sCLAGEjqJYUmO1tRY29Kd7HcIj2niSB0PQOCjYlnCnywnDinqS1C +# XvRsisjVlS1Rp4Tmuks+pGxiMGzF58zcb+hoFKyONuL3b+tgxTAz3sF3BVX9uk9M +# 5F+OEoeyLyGfLekNAjCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUw +# DQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n +# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y +# YXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhv +# cml0eSAyMDEwMB4XDTIxMDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z +# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +# ggIKAoICAQDk4aZM57RyIQt5osvXJHm9DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg +# 4r25PhdgM/9cT8dm95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aO +# RmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41 +# JmTamDu6GnszrYBbfowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5 +# LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVVmG1oO5pGve2krnopN6zL +# 64NF50ZuyjLVwIYwXE8s4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9 +# QZpGdc3EXzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYrbqgSUei/BQOj +# 0XOmTTd0lBw0gg/wEPK3Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqE +# UUbi0b1qGFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6CmgyFdXzB0 +# kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435 +# UsSFF5PAPBXbGjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQABo4IB +# 3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTE +# mr6CkTxGNSnPEP8vBO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwG +# A1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNV +# HSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV +# HQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo +# 0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29m +# dC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5j +# cmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jv +# c29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDAN +# BgkqhkiG9w0BAQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5OR2R4 +# sQaTlz0xM7U518JxNj/aZGx80HU5bbsPMeTCj/ts0aGUGCLu6WZnOlNN3Zi6th54 +# 2DYunKmCVgADsAW+iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRX +# ud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBew +# VIVCs/wMnosZiefwC2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0 +# DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCrdTDFNLB62FD+Cljd +# QDzHVG2dY3RILLFORy3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFr +# DZ+kKNxnGSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2tVdUCbFpAUR+fKFh +# bHP+CrvsQWY9af3LwUFJfn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7n +# tdAoGokLjzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRbatGePu1+ +# oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6Fw +# ZvKhggLXMIICQAIBATCCAQChgdikgdUwgdIxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +# ZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046RkM0MS00QkQ0 +# LUQyMjAxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoB +# ATAHBgUrDgMCGgMVAD1iK+pPThHqgpa5xsPmiYruWVuMoIGDMIGApH4wfDELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z +# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwDQYJKoZIhvcNAQEFBQACBQDl75AOMCIY +# DzIwMjIwMzMxMTAyNzI2WhgPMjAyMjA0MDExMDI3MjZaMHcwPQYKKwYBBAGEWQoE +# ATEvMC0wCgIFAOXvkA4CAQAwCgIBAAICAYUCAf8wBwIBAAICEiowCgIFAOXw4Y4C +# AQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEK +# MAgCAQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQCCQ+gyinUAzBfQG0tdRLTKoWAz +# 1F9XL8HUl1+DL/nO5fnfNT2fIwdNtkcnjXkY7J89nDVJ5orczCc/Jjd8FWrGsZYF +# R7jTDpEnctly2mdeOC54DPn8NfB2rKnTAZSMNZUA5+qwXYtBJ9/L+zBcWbLJGn17 +# Xdsy6ogPG2mqiNeJETGCBA0wggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1w +# IFBDQSAyMDEwAhMzAAABjlnbRgCoEJTMAAEAAAGOMA0GCWCGSAFlAwQCAQUAoIIB +# SjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEIBdm +# /Yr/algho7Se4sS1u0RA1CsQ3avLfVkP9cSuIl4vMIH6BgsqhkiG9w0BCRACLzGB +# 6jCB5zCB5DCBvQQgvQWPITvigaUuV5+f/lWs3BXZwJ/l1mf+yelu5nXmxCUwgZgw +# gYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYD +# VQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAY5Z20YAqBCU +# zAABAAABjjAiBCDFYh4a5uyi794y1CHlKx3P8nxZO/8fomUMsnns7kvKmzANBgkq +# hkiG9w0BAQsFAASCAgCphAx90HI/vzWSwneRSNg3gV826YqxCNSVkzMDcu1Rkayq +# 3FhK466ELhIxyI9EL3hLCS/BIQYKH8AiVU85P07pmaLls+bUM2CPt3II0oZYY5T8 +# BN/MyqZ0vUS6QvNX8ZT8A82R5/meSt8qS8+8ppG1XumAYmdqv7vriD8ENBrhIyus +# 3Wjwt0rS2kovNj+6g3xMJBU+LnP+qzNv72aEr2LvKkU8/abYiNXN1FGlJPqHYrF/ +# zumVFsNkJMjJrlgRFlo/EROGu3iUiI37hM7mTm77aYrWoMbKrl/4nKfMpjR4KQqL +# Mhi9Cb1c11cugxCFnoc1IA6kQ+Xg1fYUchz5UmgzDTpwic3FVGGRlTv4Wf9PMjjj +# heZyL7BFkHZCpr5qpwpu/ZvpCSQpsP4Aa07qY5ffgRu/te0ip3gkzL3Ur7zNqf60 +# Dw9If1ECZOcx+GMgIHd0t+48+hsE4RrmvMvWrEBz2B/BJEOfrIQEClhFczLjDd4G +# nhh4y/vSlqbUUupH+/oJRtpla+ZQbAxsg8jTPsiGG7hmvSaNfV7+SgwCjO1HB/On +# DkzS+edyqivrfkuwjFYecbLcl9e9Pr3SPFvelW5kXiQw2KyWFrD0aznq7YT0x/Na +# /XaZDuLepRVe7YnvH4Ky7yk58zG3QYNy5EJ6Pf3ClNsX4BBAJsUrWMxicmpUDg== +# SIG # End signature block diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Azure.Core.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Azure.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..32652d6de4d07df3cfb06b166d419796c0c144ae GIT binary patch literal 251816 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

o`gMNH$B-bCl}^l71yC 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 literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Microsoft.Identity.Client.Extensions.Msal.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Microsoft.Identity.Client.Extensions.Msal.dll new file mode 100644 index 0000000000000000000000000000000000000000..81b736cc09da9f13d5f2314d04dd7f95eafb8838 GIT binary patch literal 62472 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 O>@t+|;KF9On)n~SqjfR> literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Microsoft.Identity.Client.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Microsoft.Identity.Client.dll new file mode 100644 index 0000000000000000000000000000000000000000..f656e5e423608e46dbe3de1e557b6e2fc95158d4 GIT binary patch literal 1363896 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

mIKqcF)z- z8m~t+rNO-A+ysC^d3E}>#*QEn`-?hJ)NuI#!qqxGC5&F{HH=cLattprOPGyy9a@-A z_iBhvmq(f=%z~SNW-#3Rm3)@vYcaZMFO?iZps3PYIBggnrp1zN`Y1N%2&&o(v%rb% zP;HZ*0SSMv&SKy{qq>xcj=XOcm(W>a#nq0K#GXpAdjeO$PqL+)tO0j1Xo=jK`gbkzp2?swoWjTVT6(-YK;cu2HTS@w&!iY zr7DK7gxeoRnJXwWyauBLtn{P2%#My1BN+uzOYPuOwH4rIY}CJ;2pLIX6m7+~QT&n< z!fXPj_@j(yUS862q+K^Pr4C>8iEbXo9rnEb4fk(|q=}}GtK#6xFOewqU}9|~Hq2j6 zVAkD*#w!=*gop7F_&S+%@(~od5Nnic1m!Q|N6`iB*UsSo3#SzG>9Yi1-`jwbqQh`Z zVTHq>D|u~v9Sx(@R)ty(iK6_AMf5nrkePcpeWV>0t~l)ucDMDTdfG`*N^F2hLOL6l z+f)-QaX(Ia)i=dVWC<)nr5{7!dsq76m5I?MRlC2r>QRvl$K8^JsT^uHVJP7@w1W|& z*pnEG#uRTC(2;mrrmcDOg|_CYHc{bX^B@F~^<+mE?^H{oMrOZ{E#BMy4DHZ?Il!oCzB?5! z=|QSA!=RfTrOV*UHf};c(H%1!rnlHAHwwYRf^?pdV2T zS}b7(FYgR5RF>bMIK0)xA%G08QAe7F7i-w?6gAToI8YlLXE(eM{C@41Fl4B*LQy8n zpUt-6q`DNtxzZWo3r#Zg(3ZZ3i;nbWOz4OvL0{hUTg#QoP0~i+_oJD{8&EbgXU0sd zP|kQy-QF=oOpLfP_n-%FW6K`!dr@1oWz}wAJApMGyJ(znQ4?e6IKrma^BVr;f$L7j z;OP^juEW@hcxnwcQCThlw4#+WrCGQNl66@yc9$%AnA-T=01>}z zxWd^}uwwUgE~3U6&wmyT-G4-puwv;T6bl0Gp6+3pM&D4A0$#J!p}p;9Tmp?u;d8T$ zFD`bEwC_|zjNGg*ve!=JFnDZi@OTS0{*XerTFrad4^?6cg(!i#z+Siwt6$L)8i`Vv z!^-8H1-g)O3a^xBPxW(+A1s&T%q|bFboZm`_*{oWAzRE zXElqni_35iv^N~{(YxvG*6ATFcNP}B=qao;>mJ}X!H4~^zPlg9oVQQG)Nyq2AICc3nOa-V;H?#W$Mp}f25bh7a zr0P-$p{lDv2AIA3;j5alIQk2w*+FR}2KYJ_G!A@D>{pG6@0q{oy|us+e0n3ZDL6>ImX9Q{Rx`7pAb$i`VW>Kxb(M?=(IzR zYFneTSO~2?C>7o9k@vJ)Kk|UhlmIEFh5~jj4lp?8qHDG#?pe6a5DUhrsa>_$Y$R^M zZwbE&&rjm7(O&|+g%i5;pu}xZILC$X3mWV=HdrN}O0ELvpaxV+qMUo={1V=YRid}~yI@Lpe(RTuHt?A_K|G?v}#ic+|f zGoEU5A_#!{3J+BAxi!&^a7dT`$-N`+n;S1ED3I?>2>$0kY%?t?_BYT}OK zN6f!bhMPh*!YCbz45n~v`is)HwzWn1Blfc>i|A=JOdwW{3Y)H?5zItzHns{KWsiG3 zVwL#*f_{v9;_u44ZshS>;+QHoxK(CQ4G$5xaF1}-d$*qp$Q#u|L4RM?F2 z<%f-?2U#~t;WbON4tb56PvXqRI5up1Qoohk7{+s<<9R)_oU8C?et}J=7$P*?Eg1rx z>=3U%hZG+BR#^PvURGqv<<1cI1x7Phb#NS&ei|}=j$@z%9-pwQxFs09dN3wM^QImd z#i|ArPorrko?^1|t*X(4*{|axbG?hFpg*Jd%fn-$Hf+VS6@$~7qlJ>j$>W=G5mCW@ zRw6>6sYN=R=oQh3Q~?Kr7KX?;1{#FM(B$-ouZ2WY7Y1vt9g_%T2h5>RR$+<8-37R} zD)JH(OXDdNOXDeQ419g9ARb`RBv+b)xSUvsD6^jCl#koQGnnryv&Y3VP#WjG3FA3v zJnXeL(Gc+|+ys@j9ZynAVmu9tHRMEGrw=O#zknCd1wlQYppsHNEua7%#mI0M`m0AvDJD~~pTyI} z^fZQ4$IytT$W9c++BGMh>U&E-5gvMDn7n!mzHsfec=BjpDs9c~_vrZKSh?{O-&j9} z?sohs?!@!Rv=mPYx9S)k>(L!gKH%}pSv-wpGK&2;7F}hB;=320hzyu`61Eli<$`#k z-_B4f;#n}%0uoU?kD46fX=e4*JEx-k(5~_o*b8+FG0MZ$bvzXr;KSN#|Ai%(cbZ0% z2wVjaLmb)j*^*ghJN>pHMlnu9@tW9}ES1q1m~HfWFgR>SiKCP5 zN*oiW8-5!&A~-qUv2hIfR!l6pngvrtG(FXWeT6*A;r2k)#8_#F4jY@8J>qo>Hdn@T zaSozzFrLG%0b6tN+_LnHtrI#2He)+DOJZu563G#h%J@v3B8V@GcE_`+UT-!nwq}JM zM$LNw$$q%D9&I8w(_#3=kSPtFg#~7BUMDZUi_!EC)$kp#bqKQ&-3+`2aQu zHijEx$+c5kkpqqb(WK!&7e$`Mo*Ww|=ou2r5ZG3T=7@Tw2PY2>!p+QdqAg>XZME2} zFq^fG!Qdaw$Jn&SGx$0)mSEV-#&i19$JpGQ5N%eaXnFA7upncf6YJnuCUKa+N1<`j zLyi_fc)9sx%**+bVKgIMn788aRaLve7EJ}J(7CX2l$;A+37;q*pP5ij)LPME;6C6e z5>30`I}u0WNk?7RS2|tcVXH<{FuV1bk+A5pf_BG)} zAA^^djk23taAF9~XP54})S$_k7$N^zPAHE1xhEn!#;*p z^QQsIxWPqJQ)|MQ_=h^(u-2{u?GTGfY|&ILSvJD_7$)70j428BUFlLkj?NPn_T8hg z#mtG#;Q^db<7y4_jE6-bja6icwCHFmII$xYSZj$xL!XD1qFiviiy~n$7-BC*H)@XbVmKh8@|a&V zsw^ohohSkOne4q$0^c^C;`jMzEZ)?tha6)Qbtabhl&uSTG+p_OR7Cc6D+s2PQ=BOK zgW5(n8rx0nXXP7NTh78?>GZAZwY{16CMYK{CD3sjEg6TL-Z~JaK_lh{0X{Sxd2vXm zG$g_1Ad~62bB;^U89E?7iPLj5Ptgme2lBurCu!B-%Zj3WicgI?SmbBEQ`#b?s{n+ zOp8g!4H0Zhci}V50}GwjkaO19gk`f@PP)Y;XznyceHp!LY%+Ee+4(|FHJJv*1HlCil_H;k*yfICDSnOm8V9rSDN(LshUz;4ZKJGhZ1aoZ2ke62FN6-#gfBbov%l2|;Wc+nv!L()xf z921;_&K`LjlYGbbY&p{mXeZ8SAu;Q^-RALJs2tg@9nTTkXBp2{X=6p}^fsM5i2E>j z8s1K_vGs^=_{F@W^(%LJ zZZ;W4j~LkF1al#F=Y&Pix_gg)r9j%ECChB z^~B!p9mB(OIj7qMB!;#OmqTwW z1_B)k~?uwp1YCu$~+qxkq1BpOI;xXECA3_9}+V^T8W zLrB|*VH2IAksn0MU#Z0)v44-l=uu|W1^R<%K2f3(ezxGS=4(~vqbV4zb{u(WqdA}> z={PzRpgVC=IGV0VJXqgjC|Bdiho)M z7w>v-plHVs#df|HOM=0m-NzAym{{fZi6)Lq@(Pt`el%9dS>`AS^Ga-#Bh7IXnQc_U zT!D|CoL-NnYtA*>+lttyV)MZ{HSu$drT{}#v%L>iy(r0dU$A2{$|DlQc(O5+sflwu zn;M&(m2W)bh%4I4`f%e|7k;!crRPodMNS*hLOYpl99^!h97~kRD4HsUEqv&rc+5Dx z7_{$5FouCWRH`@rpb4fHCK1gq)~{kLx64IlHfysQ%N{W*kL6UKflg0-=KGwfqh;NP z+nu9W*;cZ)-?1!ov&V)*Z1ldjG#tbd{S(h(c9#)zDkc%5fMYzxQT@h)N;ftQBYupf zqwWKeDsN?pzRc1|d^}N?xG2#chL2K28;qja+SqYvZNSxu4n@sVQJxa+xac=wRw`^p ziLzM^GqMb!II>Jd4PG)u10}BM_B;^9_xvNdFWKMjOeFggu(}>S8<$uf1}SoxQIyq5UN^=&mAM&_D*U*4&3mTIJu?* zGqc>`_moTIXqSlWJ9-x74 z2=A4Kew7+mhKtgisOcYWmz~SKAh?;Yk-!|ahSYfSst*JNoqh9?}*ffuQ<=5UUm%AR} z{zrk?B+x?paodG?GB+F??8p+ZC>#!F#9PH4>=?YN&LNsv!s%hK%Ihh4gNDYE`3=RQ zX62CV$0{H@lu4T&8oc_(;rqNAsLz`a*08~BDnZYuN)ItXF+F?ceX_g zD?tUtJs$97vp77OAnR9l6y^A5~JZva`mp6*yHn)8}UjK9wih?$o z^|O)$-2>{xZlS}-WUhyeqq6^ulKG8kSbh5aQGyI3X-d2230o!hTR9=Op-j3Af*;B# zY(~iFLBpQUP5Y3G+C{$j1Tk)K;n31+W#kyLH6?JbK!zoc|H@lO4&Ky!;9Yd@RL=(J z(8i@rq0ui=6UGr1D#O4eaHk;p06m=&6?&!Ehw32kz`jeb3roZnhwkqVFnwuc zCd3&%&n|Id&^3NmE+mlhmKfcb!(i&mjYxZwb-HtCUOdyoMVmh3p<&;B=-hM( z`ddLngf$*E92XT8=E7LE{0F9>3XIL1EsU-lFk`uxoTbN*v|wY1esc}nNq&Ae!MrYW zv~FKoamEMCEQK-0_=OU8a$n=e9O)1A8GNL~W>ABHFLd%hQL`ip7S5w5foa2kV1Y5{ zz0idKl5-S$qz#w9T9?Nz)H%ouJDIV3q}hu05uD6UE#Y!27Y&j_8y-{kxr*J<5Tdy5 z)sI6sDK>ljXayv5%gXWwE+3GR2A@slL6k(nVjjfFB0YkWEBt~?xM|hT_$CkTJ+>5q zrBDs9U3}+WY$|%&L4eg*;17?vY@r^8nBkF4n--FdI3{o}{?UpbhDe3`F;Tg0G!vF6AnS4&9e z(2yC^yl^7n?vYgz^ami(*#KAc-Uur{mzp(*34PpO-rp?xsaC#A$r~#6iCCa(yH8Pk-#AC^a9C@+=hYA;mlU6edXmV zaIEk$3~D69ws)Y03oH!=oli-!{x3t{z^6%|%h(NKe2c?fcIR+aPC-dPdNEd9&yaHXSotF^VNG-$~j* z0>l{g!QumtK`~V~DJfk@#2~4#8Hm$xU%LF@<8;qmaDP{394JRJQq&tjLswt_>%T!3ff_`Q`;k2L%72V+BL z5nMX!HV1pF5u2H}2(jL!D7Fi6jpK&NQr~LtLT1rT8~InKNYg~IffIRJ^H^e{Tx_E# zHr!NEy7W`5wt+${$z?4v`-s(peZ#m!K@fGQb#tqWFj9+=_hR334?~OP+sXiUJpL1D zlrzJ(y+~EWp#wL<2+vXtH6Bilrf|+6F0&BA&6-loz?GbS996UZXTOL(jxVa^^Kn(r zWh+tK^)vc5{-b8Vs#INEOX}01Em&&>^6*`Vd4+0%riW3S#dx>VX9!m__6>_cPy$s? zC!w=+=G&9mYgaB}kOor0+solqVs)Wyi<% z7KuD|WgkU?(1W?B;<)xhNR|g(mR4Z5l}DU-gM!K;3|)vLRZtwM5|9M|9v$-VG_TiL z?0J}uR&W<8_TMc50ui(UOtg4C?#hgifr1q=&+|l*j+vtDqi-D(Dhj51@QDE|V1lZ) zSx$3+mseGzZ|dhySR5HkxTka-Dn(-%m-lk^;3USadwFJU$qJoc)0x~om`ZV13>8|P zW6N;VtAUZR%n+8YXv17s`Ed-LyDS#MM{lz$UJPQvNU)<~MHTz3WkSJ5Q4l?_6^iYq z0FUbw4R*l*A<#KOq=OyZWm%NV`DJX`Sk=Z*@2iJ)TZdIHMC3rial<}JP}ljuMic3Q z1Jfb`!`q_#q!(%33#BZB+A``p+9y;(Ah^g|^X#)WN7xjU7-u6gH4M40?-JNh^O0yd zJOGLnRXnAwOk#A)(3EcU@gn+|Gq%AfqboEyeXKYiZ6WrGz?;^H3@NQ#GPU=L1QcAY9 z+U*n>=xBBllcZE2e@%s(d7)Kpjza`PIu8)_Qjk_Rc( zp!E|noDF>><`Mrvhm`MHukk2vSl!y^t+rjl{VG2I$NM$0&~WvlEjWR*VJ9`@{Ob61 z0OKzQTfb>|@-kyuSR^9za}O1m$J(CY$%K|(TZ8uI7()nH8vwud+kx zZh*X)&0N1X?l{`Eth%Qlvpvp9<5My0e9-o|ylJ?MBmOv&KzzP`bKnWR3F1(HNKy3@9016MnkwIBr}?p^5^A}5G^-#)+-2b&GD2Q8QHV5>+`Y-)o+1M-PR zMuUNY1s``x@P#>y^^!@Mi^7;{Kg3`(`H^zzFn}E!9ip+c3Rg|&CA9Zo>Rjamdl~=Y z68jFn#6Y@?=)I^59D2lKleeWMRv>HYlqlC*irB0nz5;K&L8Z zO+SO>!6wkM`z7zi>08p1K#>cDgs@!kh${TT)V0D9kYf}H?Pr7ys!r&)%C}m}D1eK901G>hGP5=-8yh;R;JrJvThHuhVJc+U`f+3MiJ{8(LzcPO43C^< zJ<36?aw|GrpvFd)EuFDc{jiDeoH~|qJPW#sd>q6zwR?eOh@<0Z@&%D-6xR`4B5X6A zv)t{i(u+rNbttb8&s@CNwh_^jo6b?TU?XkC=Gtisra*&i!4;{}C@%&~w4~D69NG+D z_w3$VUdW-#va<>Y1oir7i#ZzG!abll1D${~rXykOnssxf^Sj)_^OC|bX=o@I?Ca9 zJx4Tr3IX|5h{0^+2|DwYqN2$gl~KUMGImrsOHbCy3wf(dJ= zc=ItcR6Y&{(z*;YHfLP9RGAAX78G2GWK4lJLta|w-@Pn-Y6K<8NX~~a3TTy(hw6q` z>%;cefZ?isTu^)g`5J^g>GI(}qZ{}Sh*J|Sixx8~%-B|F*PC5~q|O}1Fl~-KNg8pA zE$QSAWk$1mrfj+)%yca3>xyAo?oMfWW&a6oX?oYRG>3n^w6FypS!Re+tqqu~ z0%%wW(NTxp0E)Tc)4jtDQ6QZc9^V0qD%vNY%S(Zw>c--+G-FFzoMeU1oRyL=hwO^n za4qFV;>Nh(Uwy4F8b@FWQ3y#$j|bSNn!(!F;*kz|mnrWC+%ln3uq*i{D?I}xNGoj} z_6GP2H4nrDh+T6KN;p}Y5@5qiK-!OouI0(8=Y$B_w{iAgI&h9*{VH zNg}dJzyTIWh?flt zRBId_1yj?LLJ}TRFt%BP(>9xne}!4L3)tR3lA|EENo-#pgCav>=&5;_lDMD^Bwi55as8lgvPtPdga zN@l(aGasZyp5IE7xjGcZ%-Dk_Aae{BeHY!qSlKtf!0sECJ6h;kCsXgEb3 zo3ajtIL#Z5;8sJ=IE3ckZ5pNoZ#@lB#78HD(Gu*h9rIctJWTJQYYoQ`HK#BUCW#P2 zFYXJW>@))#ZU`SfFmHP;zF6iy`z<|5G{g~{e}>wmh?RVcv`49?uZ5$?z>wAnxeI z5;#l|!eiP9J=0dgvjrg}*9w2^i#1o)TdrSiPF7qf+=EUQ^uL0bGX@EP0kxRQ61V6FxsKcA+bfOOlgASw-_kX873%);!9c+y#^CGcC};! zg2@K>__(~hj~LATbY!P%5Oy+92bEYX$`p%dCB+h0Pq74(ci>|Cv23w~0(L53?TITo zUWv)Z(!}*5^0EiG6=Pn!ukXKnvI)U^rE_FZr(rfRG=HHewDl{t_R`Kozk27%0qG_%d>U!I&E@f5QfB1&KPK2*T)_;F_cu?mlWNPe)954$cw==D9A0?{I{ta$?lOuZPpr+fhu$JFZhwq62i z1CLnXtJMYp&uAggD_eA;{d9y{YQyF&Ct!F_pKgyzNIx1ZL6#TC93;HdwxMN+ng$8! z?HFTM@;n%ha$;*-tz`*tg`WFCBAQ(<(!pj`|9GX{Vj`^dBW=+aopgaS0MNH9t0f3} z!XT@H`D_j5mJYWY1gD(BC&gw2Z1Q^iEIY%}&3ddwdgUirixLpLgj`>Wb7M%=(EfxUEL&mWK64-1O=98x+4AWLRRfzOCq`G}^S$K>z=`;0sRDg$3Z7O;4)t0uO8$k^h* z$*EBew~+})-Yv-_DNzH)-8>HUY;JUheIeMkqc^Z1P%qkdfQ(;)sqF3#rbSJXCl=k8ZD2qWES4fi#e9NQ9|9Dr za81!HNDP{`q)}F;Z|vJ#02njy$eA$kc+Bl-LU{5^B}Hj8Whys&p3>Vw9b1wPV|YU) zU5t)pS4)4Vqb;`zmdEqM<~5QwShTx`+vU%)ncJ=|@ZiG* zrGxQ*96FyZpjKx8Lv8pSoO`!|^Byk{zL zWF9s)J+g3~BQW{aL*P36hOy)C18a+Ypf+0gBg{gRCv@rD!|q;P%Mqv2)L0pEnB#Nm zup1@Pt8XQ+V*9+fhV`Q3#l!O?2g@O9Z`t{C7o>c@1TQCG*O4Tsd``yYTv+m;CF0YbcXypE3x|dB{v!r*1X8DPLEr*q>QJwGDww7vzWvAj_K~{ zJukb?lOT2q$KlA>E6Z_x|I|qogiz}KVZQtR(GZWVG_gSQ&}$qpG63y%bneV|dmWNz zNfMrg1Try53J$o752Jzx*QiYqSq>t$=7>qDIBg9Df=RR-$RVmrOMfE_MePur1xdhC znOsW&$YibzDCd3*YFm(nYzwlG)G>68h51lB_717z>_ho9C{f;&(Bn4^G?#)ghC5C0 zaOhyks+?hGJer0*h72aHS~~Xlx%~?3-{aF3l!@rDmCq_%d)W1K>^)^34$yoHRJ1pgq)L~0r3ab5DE^AKUxE65OZ`W=jQ1Gh402JQT?PL3q zZo>x{5Pfg=&93$uG*;=7qiQe7rH-ftsMASg7-Q6w5A*wV*9WUUf|iu=HcE+8U^5|} zjs+n}3d_2DWKms~M6UOj8x4hu-Teec2Q{jBcRx;a$ce?M`N+9S6O7A_{!Fx;v}`)I z(0DvLIlDrg@H`b)gZncN>cT2R)z;Jg>g!!@t4KprSxqLo3wRGLr3NvIcz^dRznW)K zuO)b#RrgQdr7BB?Qh)h#i6LQ=OQRB}CrmODiZA@VbbJa{WP0cQhHqg#qQ!cq9m)b$ ziiJ$J8XMufGnH1{Y^$dfBQ$ddg;-a+Jic^>%BmE-szKRp;kH%mz%!=Rr_ovZ9xcg+ z`vIGMWcmKfpWSM1-6zDmO+zR-c^miXC#`4;mAUs2CjH+~3{*G7A$1X53=vvbd^@G+ z5CpbG8~0(`?KFNMdJL_uGyr6kZrcKNl{PDwD-vM=<>#@C` zbPXUvKby!s7{q+c+`f}KkBdwxc`7)y>=aJD;$*4E_JTqg&$aUCh+k#N&8SaRIho{}N(Q!)j-bJ3^5&ALSs&wU4CHL>e=^W2|pB&7pGXY(jca$C>Os&6CX>FDSMvMinFf6|KH~^6E z`2$7=IysgK4j}5nkg_<5FIzoOO6i>7uYda^?sTlg*V3Y?`<07C8r#o`)g4?*1OV1R z=Gf{M;et*?0o9Xe%mlNLMfOkajkug?hX@3;90Do89^hiVO%|lbkFasCf;I6A^lUmS zGt-C`Xk%3N5-qT{yoE9>+UUp4HG+X!G&9O0 z@$jB}aouBXKQkkW*{?hmP+@9l8P$)sNEs)V^Da=K;i9G49Sxk1T+0b-0+0}{`r zBZzsYDTL~2E>_hSD{3AWc%VwndWAL@4cW*_K5{|`pBaky3P;b)Dr=X;DiG1JTug3P zTQkWWVC~3zY3HDt;as>akE^2s2OU63B-qR z!4jyBqw9Vp3thytrY$#g8`>j1UJ=HRb32F*HLXh^6u-*2hA&%A0Ll372P%k)~)Ozspb_6!4RzJGy#rL zH>B1Orgg5@tkqbJK|#qX!knm-7dvCRDj?{}nXC*CyS7&8eBrdOf{1MS#X?=hM^C77 zk}y?-3UFmzh2=Qln6Dcn6`^5RYLHYf_YYs;7j7HW%bzY)Azl?j6j>73N?M~iT6G@3 zTYjwweG1#CjG?P=eTymhlWg?|w8k$FV4RlJ+5uF%pqoI~l4{dnCU;HMl)g#=YJ#w= zRHNy6d;e~bioP_9>Y8R*Iz|mcEOL3fxkHAaoA}P@V27@t%nc)`s$NRTlO~-5Q&-1{ z>KP(KaXfq_!R;d!7g$m1*X7c-lFokgpDX{-7x9p)>LC?U))39I3ic4)?E&ZX%y>{o zY|i!D?sgMM-;W})Sesvj#Gx{{3k)wAduG~gi{R9S>W)Zb#InIV_?PZ+0MQ_x@cQcH zAhkw&ggzo}oQnexZ|N#Lvq%$H{s|oJR$C>Jj$VPub<4)B6ZjD}ci^CF*p)1bFI_Ft zbRmddQ>WW)$sP_dP+oZS#J5YHBSbdHj^=<(FZNb9CLIwbPaa`m;5xpCqm9OBUhUb8 z987=wyg|RTTJ8$KXgqe5OwEIgSP$s3sD<|;xcW+oZ#M=4i76a z>O!vPdEAdTI(fR3IjN2aLvoXCF|opFPiw)aZuEI}ZxMZ&g{nrgT~R-NZByS;sjQHF zcMXDkKv8lTI*~JW+!gdZue2vQcN734V_vl)IY;5`<0Q`BtH)wSKc1ID+?bps-$CIilM%4!?&`WnN?5-UBYy?hDDw zT&aWE#-jFnY{YkQXbl24Z4Nvc(o0y8d;FmZtFVEvG#;B}Epc)x{#zu+O`P;y&s7fo zGwk*~6B}~xmrowsZ6fe?`Nbg^Zj{n`3wYhw9M7(B2+~}$%9SRkaO>9D<7aW-Zfjth zoK{>!A!OjSM1mP-_iGDoJNxnFRBU&eAEgk<@%9+>>{_adU0iXK%fh_w#tB@X#w09b z2kPgC&07?;oKv_wkg2awt>c8ie6TfpK*?w-O$cX;2)IAV#D#a0W$h$(#n^3zYQVMu zDgB9tFMH{D1JZg!Z7E5}`L=~<4Dk{UXPXvU_L5>;Tm>cW#5UQ5s^smsg=+3Z&R`+Z z^fZ0TR!Aj7uwozm-EwS9J?fM5g8l&<xKJ1>sz2zn?;=oJm|m zq8Rp-^hO_!>?86K+(*A%=dkb(2Y?zl7C2}7>d<=G=-=F3BPW#o*P30bfH+9GSocx{ z#LUNpMcn1Qz&d(zSY%4Q+|lnaA+{60Sl(EvZT#FU(OQU^7&}<6I`>f8qhuR00Lv&j z4cA7AqN;GvPr1l7*P(Py@@g< z%zn4sCeX_s0O9faR1OFxKP^Qw3mRQ)YgwyzQWf$1!u|g9W(+s3i7=ymLE`t>_U@lv2Enn5MCPgtfE}Qi-X{mILn+sMWGXz#q~IU6)Teq+xUA89Yg(y zihIfty>c;cmU*He z)dfaV_CUQ(9Ksj?eIg~amDA+Py|fcxUrhU?o`YMXB{YtV{eP|%Bco0^K z5SY_HVdy3=1~aoaHz7#?xF69*eeY-JE(4#B4>llmC3k=3p=)wct_q4I#^rlP2@+NKk$Y^uL>zsOT`&rD@WtV^+^YqW zu1T$NAAt<7^Y7;Rc^fn7p8gw7v0T{y#v~dS~~Rv$2yoo$@>ixEgMFI3#*7jfAS>+YZSz>qJ5$vroT z`Z^;7HFpI&i86K8`TFhGivu~WF)PcRp%wC&1&tj0zvd30oQS;LqD)`~MAfZjcC~r^ zum^)G?u&=~BDISZ{JqMJu9R{oc=z+(CdO7eRnbc=!(Qi|!(^{+c2-McMWh&h)B1rBE>cV~GmxaL*D z_vq;lTsdvgsi0zaKkiriyOK^iwGwfWUWrb0g}23CcV};aqeReseZBos(r8&TmqvTbi9sh-MJb2DxDwk=k9aXXfSLca6wJ^{ZgRm)E01J0 z;~5?M@9}SXJG(gE;^&KhKg#OTkQPuaE%4&IRT)cs^teFbC^?L`5Stm5b~7uJ6DqIk zFy#!TdS-tvTXCf7mXKGdO$}lZ9P#O+)1emCR{x*7{nPH^f$NXlhIb8@S>YMM1dG_H zNZGZGN-dE{*&_NRWaP$#26<4uSc$)LM#Fj_f@?Ur2*ME}vyF)EnPQ5XQRQj6^fkuq zVpdYy7BNPEJz9itJ#(v$jRWGUv4|9PTf}W_l>K5zBo&y+biHiV1~Z}R8rNq-4}ylS z!CQ*fWv-{_LD0F`8WV;8B%54U$z^rmeNrhHAkwH5ZLhwOO3;hRj+A#OKsJY1$!p3JXC#kld%=ejaUlWX-*2-~F()Nz%sE!Zxn1ZsV7%XiakNq}05E$GGV1 z3eV=?B|KR<%hfhaI}FMPlJF_?qOmO1=WNko%ou~Z<*HyD?iA#Dg7+5wZHaEasDcVL zwfc?Bd8`t8$-wk$7R3s{7ML-Y0Zoj|c75KhKt1sH%krMnp7j@tXVY(K9fP6n3a!Y2 zCqn!nEVA02&yulTvJ=}$sBK7IHH)P>%Pkh00%)D=0d}lTc1c6n)!qKF+(Rya^pGgP zl5rxdQH6bWy_W6G15UNrscuj_GvJt#7pQPH_W(txNs+66#(7RI_5;h-j3pKNXcx1s z`FD2$=;)P+e4%m2!Gfv3hOn*dn0PTwwGd78MsLsv?u@|*tOgc01V(2=HosDS7jBA@ zhs{pi{8r?{^5K`)FB(3{+TF%g-8POD2FDze+OR0Jn610QYe8=K+d?#!+j!;V3af_W zmX?Auw;kK(dri7ex;tJ;^_AdHni|CnZHd%`-y~ASCepqsmV|ANKbu{bGl?xcGO*o0 z?+e>a*OtgGBHHxc_gbf=25d-GyyoNv##-D_8vY*zG>`Q0Uh_rC}fwQz(3FsFp=;~$}bLx^&{4b zt@enM7}f*SvlpLynPc+lJi)7e+_Tf-YO#2Wpu}yLHEZw!QrCtexxm!FLzoXQZh#FD zSYG($#4I#Ym)vThmoi27s(sIea4i<}F7GomFHEX)Rn`{A2GNQTbj3;6)|lsTwp$be zwa;y;)nlBuaE?=us_IFkw^+>NM9Q^YIh{aoOGzK`y`Qp3Gpm)5F`Xd*t(!GqsaI*5i4V@Ty3*?!+z<` z{NwVlEiEIUI)?QZA24`sgzsyKr{L=+St5Ow(^-8i9>~V&x0NUF-^GAsZ81)Bjcf4P zf9WENA>c|OK4uCIajZzOB>njGX}0RcRL6?pe;u4W07g1&luZ(-yU?kz+?J2lx)+>3bF`Z*X(JA z`q>4>M}VH^juhJr{L-yGGwyF%KKivT+}M*pn(m)GB&$_vs5~Y^kFw~h5jr2ipy^Vj zQwYcswjx7Q0@*_VZ`siG$*2ckhHmh!+`(9KXzTWf9U0_R-lMT1_^0TBTFdiEbgL^6 zGp8EpbC{zAYqW>V7}A4=-rqD78M)^>!A>~_V})Ifz*IT7dK&b&^NJguEtr`%REMez z#2JzRu>?5}vie$am9OvPRzu=D%h^QguQ(%bwNUdJxS?`)*K;1BxEr)8h4Gs?x&|`DwjVm12%@?UD*CAM~rO zcFxN>2Sr}H72uIz3{E-rc|2@>Xh3mG&_JhqJ}S>6TW6<<4(qcoly&*_{^Oq2$$vE1 z!gmm75%MvOicRAQ@JI9`o5MSvbhjyQe5b`UFl%hFJRFv+yO5o(jxDHXzN~W1+%n`V zThaRM*Ni!1&PkG@R<6aMxsfr#H1Zm*%B4hYk~f^lB!0>wrPq@vRtE1I=?R-7+{XQk)ow4-8;iiS3np^~Fk?2dDr)9G#x-5+ z%fIoq3M)#^=5~AhS1!Js$SQ8VoWj;s>rBhr|8@g4mMz~{vi^sSd@eh0=(7|}W1pk@ z7kXc-)TwrQ#h#^TDpu&YJ7hWP7@{w;^`BrF3}i-c9@5--c*y0)*FO86Aau{B94`bE zZ!`i<4DCE2HOYe^)FY+i9LP2lv`vbvg}WadAXJk{gf9jrx~Po_YRNMy(0BUzWt?)P zw6!iVQ5CFk@q}kkXR9n2x4$f`oZG4!a3$Z#>!x}JrRALIS?(;xrfpi2MA`49^9pFM ztN{jN^<{In;8tDo2cHpth<8>0P-G`vV9u`7QBVMEo$^#OQbi~x*8Jj3et81e@a?Fa zwKd^?-%N6}Df9uF3FT#ITU~2RxR-~oSPr3fd$`@MDhgpJ#+fqls4(gIYi#Vu8dqxD zd-r>Wu+T3>8mPBz^ies=oUXnt<9YcAl`hNU#l`yN9VNl4hPQT$Ug5nw86x+>0i}y?}c2~FCO0ciNmk*C6-2+OZYxdz8K4tNHF)NNQFNx?| zhC1E8a)t#jSKt$(+vC-oG*=$5a5Z>674HvNAhwT~>F6?p>aZRf0X0$oZd0*P? zVtKM;1GW2g<&G{g;m!P&ZNf1|-2sCn`x_n`#&i*ep10_nM4!n+8Y~_Xzl#k+C5RQ; zDx6`)e+ZhTtVpPP+|1bJ@^itw(PI#yE=VDjmd&IEpTQTg=t^1QmEahkmI4mg24c>N z5kWF2VJ1pbdwjq6)XDc~9j6A9eiFAm0q3~K1GeI|blOqNVH3oBCIUT_5;KrE9Bm)&q^vWil|7RFSL>nt z)Ac~AXb&J=SP#%V$YtgBkk))jR(sGKsXZW_*^AHZzPy%o?}iuHY3y|UA?#@e=w~?F zKIK{Kr=X8w-r7D=KZL%Si%s1$!!Z(VjiEGP3=Gx!7_l;8Y@4eVGS6SL&qI1M+1_yW zs8+CK|Eti(ar*SlqB`7cv=TJ4wWajW-a_=%+jyM&>n>#n{U*9>!gwV>X781{WQN#O zVGw)3O$S}`Su2j`6RAQSkTa+Uw2{<R^JF-huxF30ybuF8hPBrN{^TIm)F=pG zuXm4MeqGpVDs1$O91dy5B~EW zsmN^se@Z;3$5;D%<>1_>RwiCq&>pw}82&Ko?CZi#A zZXoCc5=otOxX&oQb(+}Q?j|M0Nzj~SrGL;WUteoTqJ`8D(nXme!578&+LsE5Q8um;WuQ6pbT=Zx3 zXMf+p*;xB{u{DO(rydB|-uZ!OI z!Gb!V$kJyYw%V4qY{VRz{h1i{hn9k2(Tm4{#y-oA4bpV2XYBa$jRW$8THZIL zRxO{&!M05k!}T(ryLpU{^Jb=EY-IK@W5o0Cv9Qz1U@Q2OacZsf!9uysI9(A63T#D% z-7#=34(yk9GSpUJ(BF@mvutFI=JqnGZHeX*5M%B=Csa1k3k9T4odzJaOnpEfG%fkBZZqXwE0Q*@g}aU0L$79I<@CNU zqi1c2kP9$BT?v>P9Tw(zEBQ=rM9=0wg$a*(%u4;r*u=LVmJSVOv7Q7gK?rk6u4!&x zrGnCWYyf5{A3&7W7qfBVA)M4h5ZrLIvs*ki%N9bJ7^`}!QT&<~>jaLDIT~{4);tM3 zr0){1!tpyMiW|=PKy}vB=(HajgY2N=!B{)o_;KqR zfsC0*@RKy z8LJoulh;ecH2;%q)U1H?Db*XLPh^$I(xmSi$Alf;B}@0 z^_dL>vdjHKDm8=I5xT)U)GxFb;=rqBvRc!f*#Ox(-3OV6_=bcL7W-)}Mu(4xnNXmK zx305;WMdBZ*;Bo8Qq)Ay`O=7x(r=wb8zgNARC3}GMbGCnY^&UaWC8T3ckfG`ph;o< z!xqzv=l)r?mD#{y^mn!Qx#d>;_Rg^2GH1RGXfDGcZb&qsADPiC?Z>YO2l@zPPJR%S znO~DamA#TWtbxtBJ&{ijU$7x}GJWim(5~V^qe%(3^4R8NW0>XQaQBsyT|>x6SaD}7 z-4bJ^Xco>K*(5S<5YeY0sc8^ZPSF70@Qe%29ZR;xzsU2bI8c+5^=Fp7 z*40AEDLZx&xgwt?cUA5E{;7fJK%UijhZu7Er9twonwU5Eibu|{rI%ZdQUz5ytI>d0 zmEs#t1ee&mzJke&LH^r59`p(OiPVrj#P4f~C3=I9KNw@=XXZU1z&d`lplS?h6NO%( zZF-DE^xg@|Nj|6q`4z18Duz)DR_&%Sp2akd(L0TJm@I^8o~saM!*M)DeG>~QYkgQj zGmKBzN6+;B6mCN?F&?Lisclk{YZ&e(L$$9Iq%Lf5^mXJlM##57LmDO6akK{(PvPek zI~tY9Mo;erVq*8RU3jkl(t3$4mn-ni?@Xe`^^zg}sd;cz_BZfKt_OR@n0q6oW?WV+ zk+>vL;x=89(j>nq&oWNmm2f^vR{;-6rW)G$7}>?qwjp`_*zSJV?##%OliG(Z>SB#h zxTrsUS5E$RIH)mgbTy```D$EYy3^teb|XKS74CkF(xw+~r?_?7F!3RKkXQP6qc>;@S4raiia5H zXst`$eyI>upvE$5nF&`Y%TtZepBLAcX24j1p&2Nnqhf4mwM=v$)sIQxq!V6_n0A}0 zP<5!;C07utx;9<*LXH9WM)5=~iRxuao~F3c=`Eq>rEWq@@TV8(@IQ%lKyiPwL1&v) zW#-*4kq2h{QXW4tqSVfyS6Fs+g{Q66RKrH% zWpWH!BLr#V#{X{IA%*a7)C!kTw`5A@%AAJQmK6E+X(?O9PeZ#I(os;G>~eX3_eWG# z@G)7<8dE_vrn=aYh_OY|i(&{9o%CcJ6?$}I*oyly2=@w=dxn02PojINDfL;d5LfMb zM9QAiQIkxS=tCsA?L#;*Z6WU;G4U4F^w=}fVns6UzL(rLqe6d~gzn8Q{BF6PCO~BQhS7@+h94Dz zN!%YSUwzYL)|PkQZ#Q@A&JZ?=%UQBPtd4HQ{W$jy{Mn6P@ zBFw?xU^Gyi{7deEY?n723XYFZe%O7IdnMK8#pCJ|Hw|!c#0}@4_p>|y`DkF`D!``8 z)!tf_;TZfJo7EXQv1$$w#2CkiHox+dZjyP0i+v}Na(K!ESA7|$If&=OIQ0Nl$zWdW z0Q@gMprg8ddrf#i=l3NzF{gX4_&k$k(+f$p@(SB*(kTEpTTD0$Nt-Jt3oa8j5XwKU z+gs3vmu#~wreSaUhsAp5iYZ$I&9So{)fr~Xc@ohzuM*aY!ZMYmo;(LZy0{ z6D?nyjmixt-{R+nJz4b)mSITOCdY_kl*3f=KAoz^t7}b4)vym?Uuf{FT6>c$S%qWy zGr?tPc2U}umiHm_94{*MVF$F$Z2NuSGPQqMmhBl9$qmFJg>I`!pr++pFCly>QABlJ ziR8O4=|+OD&l!?U?&9!&H-|k!5&L0}HjH*@&AfTHmnY;N%>Awk)Ng~6Ia&43+Hpkl9sQ- zTf@$03VhF>^#|`l`|6;8iv&L7gqVoDd(6}>KH~j@ZJ?p^(iR$b@P+RTFV7%2+bwa~ zVU?cQVG;DD;%tz)o#Mp+Wut8xrBtS<+jLW@PM|!MTh5*!QJHB#dx9iea<%Wb(rk56oL zk=V%XC}p8)0D)VVPmeh|%t%WECZJb1d^NPGyI|ez(!VyE?ZsuT{;4D|8ML((k5GQ+v#pa(gXZzSkT&ksjPmfDNi~Y5J zf-Pc78K01GcG!PTeI(nP4S8|Emhh`?f&72ixMsR3zNuj>{@=1!e7A3|$ix^bZObPQ z&&(_IRMY&zprgO4R4Glrpli58=B9z}#-J85*`$RuAy^L2$s^v@) zBa1}Fh=O(&kMBjFmM4t4Bw;Ayll=lceA>ZaVlRp#Z-b~3b5rqJ)W&L!hW6J`Op_HW zZd_-SaNEF)H(C2y7*mqYL$_S#g-tOi3UnA1nfX14rdXFShZZW^qNb#a(r(Vasv$TNd%7%22aG}Uh>x^Q5| z9i9kvlpVY=k6xLGQx{Dl65$l8%b=mG zkhyR$4_Lix6aedmU*Ec?vVi&8tNf80yM07pE-!zO6K42dq-ol@0?x6A<8!<-9WcgJ z7!NvARJVnN#bnH(VH{damj=+Q?A)!_Z&9Uo=i4E%*`YA2)r;!&Iml$ z@ofY(my{!D*w2-kYfiyUn|MW>BST_UkX6Z5KyM^c_HR{S^Kw2fAPt5wR0ClQ4WGkf zMBO&VxWy7LPTP<2FrFV_?lPi`stSFGitj^Sxiw)Q2s_TQB~$P|yjG_V_ulYbqK}!^ z<*L@wMo`W)6CqR_)@**IynyI$^vW`M8spSL*#AKawQ>x_8@4&_7!cP*u9T=;Y3c@6 zLk{Nc(fGV%aR-^)njq`$ykE?|=mMlEavhC)C)G*+S<)9@ zd;92b(%ViVJ1#5=o~uHA`uJJ06OPVDX_z;?ddBXIvz-xXzuy?#%znQ-`79~p+Rwhv zQn~5dh~%$-J1!O<^|AuvOM{eK!++myp1woR_{5j1k1Tw@HyVxE-=cA49##db%@3X` z#Y++GU`Z&?7pycVa#kA)8=VCrqWdV9TxW@B-$pus{IIDOO?g18uMw%u0;mS|R=j|# zQB&|(@upD4IjpUmS!i>P2~d0f2oOWU7wL#!4&u&VWP0Bj>arB@IQ=CRcQ%iRt2u%O zghJXVWwcRyk`A8h9VYrPC%RIo5AxA})J^_&iNA`&nd2koMt}KpMn!=CPg1DoJhZ@q z1At%U@y8k>V!FeCEbJ_t5sdL!w|Ivt0Uv8Pmod2+A6=mNa%vz?g+c&HE&q z7n%v2n1v)%*==0oyNzpuYU7LBChafcNnYSSI}80uG^?eW7c{agVxM5NQLND2qkK&1D*3RNMHSkgSB% zIzQbR#)mo2BZ!<&ci0Rpv!{kaGcKZ?y$qa5(x9)Q9e_+*b!pxu1{gLLSnbUKniXVh z4KRy`aA?#N7W-yE%t5}o52F}KTd-j6aZ?vuN#?@^6_n#LpG;$fK9B$dd9dZnz|I;hAhaMd$ysO%bmylo*MM+~sUo10p1 zZFz*XYNE^ab=O3dspsS;kp`tUpFq`A&VNm&8lj42tRYuUKR)5irPNo&_8~bSOx0qm zwRvT2(rjyTKk~hhJqRE28>WF9p5Lcz8n=0*OaD1ApQeh+E2*Vb_Riip>Oi8$h!* z1XM1QY-`h`8CNxsxel>+nM~7G9j{TkVri@5to|LI{#l%y?4$qK&gG{?ZwH*!)_B%~ zy{z%paqgtl);sLWcsap7wx696XYc-=LN@OlCB2IF#V#S30Z-jUvXv=mbQ1xd3d_)S z56*$x)ZV{|gY)SnT&~w{S!8T`55>ztSeu{1elFK^dx;QRQG~9lOXZo>M)aU#x-7ug zkBnEpW}EjzW>>3nS0q(SZ0n}kEHvUPO5{fkeRy?)G{a zv3XtiiGbq119^FTFTZ_7mt$(jZ8 zhc>gm6!IcqOvtcj65ig9F0kHp=K|#ek1y6F){l!BtD~zxd<)8`>~C0x5CbLz0rUX! z>ubLVlN9vd5W?70PZf&nqXMYiRzQ-YXXNx2B8I{T>zR9A;%VgjyYK$JiTv@85wS&C zUn}D5a7otKTxtf`6{TSR4zs!W%|RnqAo`vopf=43AQN>x0=qA_5x7V=4bzSArhOej z7aRHYY3rxe`T;XZ>MnVl@lqC;KP_2@%dHP&NzNIs9V^C_$+qDM9eb);z55J(_`?q~ zvMdD#)-U$3k=PDwc^fBVZ^}#{dnT-I#9)cShSb6=UG|G@--?aoeD~F&X{`bSsg|N1 zF$1ND4y^M6`Y6iNV=6h`?u-XpVPemMzcrpiQnDEtbiVAe;Tq(3Ggp_=CKs?;|ChUE73_<9jhhp-CThGwjl;s) zBDFtMn6Fy7bBNJkBSJ>QUA~r#-SNeKEvvAo5dibVQXyCS0pOt!Yf@Fcz>Mb|ni%C_ zFZamT&`x{)v_wjHkfBxvwZtruzHRa90H(@)D$Lkc40tMJUFfTP+)}~}$*{vkG;ojs zoSU97BC2m2*9dRp&AZPn*qP%NvN-ZV*%Pedxj{4$7eEExDq3`q$(9F_rMIbEXpQH% zEeWWqIEMOS6eLoOM$qc0@*@6^8f=V+-kUlzNL-eg5vEG$N&}+Id|kKZacI{XZ()_o z=7eZBQ$IQ4w%!_HIoaOn>zWoj!saFjU&5b#2^+v9b;P+&IFBEH+{fBl3PP(|oJ9)ivv30@@bQ0xbJLUVGx#tj?Gj`RTt+81f@yZ`2ceiAzTYQ6jbbK!#`FNRjfN7_2gvhhr3q%J0$6YJetG7D$!D&@ zm9D;fKgMyQ{W6A5^Re2mYp%y$jP@Z6!eUfc(X%#cV@`_-Ra?hUqh)#w=z0*Jed7Nr zm854lu4cIEfmC^bt2iVP(&1JBwbZz;0F~+*feKUohA=)jn>q{D5OHr7K{avcI{Bs* zrXpPh+5?lDNyBxep%P=uRU?wG)tCuTKkE}{mC6TE7(J+~moN!FWGemiR}5XdK4$+k zQWI)mU7C-`7@j^QbziR%p@`jZ)jq$qFBmockmtlgu___yaPb@9%n;usXFvq?QC_zW zcN>x^c-GDpRzb`oRi3eOqcK@V1V?2wB)u{M-Y+A7diqEC>dl{Qj{DfL2^~SL%DUXh zvpfh-yybG3xZ0o)mBpch3SeH2Mg^o1WUTcv#sJ)8VNeT5Z5l(V+XVED`Hbyr_-DcG zjPsD2@B!_p17#Ins-i-B-Ppq_ZE`R@gp!>^u>O_&WrAswpg@%82&nu0~uawksir_J>dLC9ftO@z%v zK{jsv$V~c)U)VQXR7=~K5!=WT!W+w0H^}@>J(nR}caz({v!-DR@(fwyeJ8gyN<7M& z>oCWBM<;u1P~aOWK$#xMVVj)n1ZX+g;4bXR>>nEIH9E+=!PFdT7dPmlCZ^hw1xu35 z4Rc(xVovBnH@C?P3&R6%*lg88*`u>u&pymwY;KpIw**nz@}Gvt%Fmq<=+ld44~=qY%p@5|M#lQ2vz-{Z zot2@3BOFjT{X>q*OLo(^4_lXMdOF@gXB0jhTbRqRi^8f!#j{Hr3?9vCKuTIYGj9&_ z!lbBu9G1WuRlFYf$no6jtR6~H6%xJOdWnyM(qnp)E99k>d;~<%)G+1y_3Ai zsa;g);rC0PEcal)iVoAzv>E47UPH2x?DANLNzaQL24#=&T#j4EA(``l45Bva!Q4S! z3u`&+Evvz;!}VG&b6ok^q0*r_fjp*Tq=)Jpki^|#I*ZpBAJJYG%Y00ftNBy(m=((6nLE8^h>YUgMs>+`0AFkjy_UmbmYdU(jb^pZp@O$|$sT`q zGWBOk+T>ec&I;9$R}g7nIDuL$vod$f|Ni>!z)Pd(_K;YZh&z@iVlTdXS-K!}FF>me zL4}?3B1Lv$14Rry0alx=+GM6MGt9*z@?)F`Ejp73rCa*@hulai?GYr<9d6da=quds`d(_N{-=FToznE@f#n7JC zzn1*pU3H<+duX+iNG%ZDhE^KvhS_ZT5LNycL8~ zMapc$7PG&)G-%p(5;s_3np7sa!z!ySNWD~V;nxaS0|$gf8`i>a=$64Pjux$6dj=h+ zqB;)heZ@8x6=GfzO9xT!mf+mpdxcFhhuOK1G;Oz)0pW((%(p37s3)LgKLK5jlUtv{ z%E=*N?Y&hK{+$w+*SOzgG`!v8p^@LX64zWl(7Wy+=BR6JTbHjS;tOt_w(*wDYT=Wj z9z2F4y4RMw#Awj{BdHQ5$Z7y4L~Y_BtiHHpzn8qTL4A@SzvNULWj3&NMbBNY%I&Ch z=PP}Ri-4(zKL7I+{&}CLDSX)TWGlO-eyS>`e6{!LdcthK(427VUhoX1fnEQr{ifrQ zs&r~7QOAIysc^~1`t6%28L;1wUrG`rf-Hq3umJp9w0%%e~y zdv7;mxTKX$dbMW*=8U{5@L{~s)Zq(!J70IS>-f0ayxz$GO{NQisZ`FTu@nhnY+w)a zc7us~pXkkor;poIPrVq51+MvCTyv)95ZKM+W8DIzdnq@$ad0u6SI50`bF3RN)9s?J z(6LyyNwSkkFIltva6zl;lc%dISpCFI21@NXfdU*vbH^GuY+GksS9^d zv3&3pS9lLc4(9*~9W%@k7mLK@TJO9a8H;nIa85_^q|VR2S~Nl!1+aw#(DdkI&B5=-pdp&&jNfQx31{r83q^b zI>_&Pbx7$=T&sy%Juh_<2`0ri%vveNh~GZeciph-+ycRzbhzId`YHu=J?M=*cqEBRut_fqG@m>0j}64EZkxEj zdFIr}fMWshIFnH-J49qy`8nvZ39GCSpE+^?RxaBjwzDcQHaM)VxO;534z)h@q6ozb z$^=IxcK&Jkw!24axEuTZoVi5J{At*}q2BS^!1HTYd%HYYlK|1!9<~j4emq!{A?hXn ziT5AjroL$i#60kWywdO#Xj~w%8oWlq;$Z89jM{bPjM(a4c)1PZG@c%?`jGZ?CfXP#@?MRrGqIG|sr|zdNySm^kbgmWEx@K- z^28Tk6-mLD2$;Bu?Z@SCySDCS;G(^fe#kmcb zKAC``_j2>`KBYF#T$ML%=H%jg9v$B#3BJ=6c&ZX~?GD|Ls(MV^tjh&HUF~3K0-%O& zar+HKD#q;jkjL&W%~Y|;BHd)yYN_zb3^b(r0FwxSlW@{%SD(aLDLNHTVy&o?SiREK z)a%3vRtqqkL3flmMpjHs5)%)F2s`EC5jm;6%4K13C393UH$ceiD zhV^yKmL{Kc2b%N7-f+-rE2WH2rQ}U6k6#5+l?R{&bH>acgTy6I5mCc!N4Jz7vd(B& zH(9Qb=d#j8i;c1CV;@eYQ?4mlc5}@w8=RO4EBXW~MbCp2vEN5}?bCOkGq-tpWx^(w z7E&+fjmtX+&=*`${sg;-j96pKNjEUyB~kGTAfDWzJ_bCj1rf0?+IAQu7v`6w9^i>2 z?vw0zB8ls%7IL`VP7998%n8;|QZK*D*n8QZer@ZF2$T(`#Xm7$3L7bKqgt zVy%!Ja0JyL7VJtJ3w8jkJLp7ivL6GaJp~UY5!>!?jT2$#UtWBTC?``Z%?`>McWfMw zJcn(eoWKF+(6cq;bL=3~RLfDm?t2)?TmW4Gpc#91`A@rN2Lp>U4{-!e5)UGJMCX!A z%(fyX4Y&toRO}%?d3)HG4-eOyjvjx=2@q&*a(5n#NpgO7qZjRN@8vVkF~+=lQ2iad zqmR21VbZYTA&-Px*2$aWY=|9rk>PkdiQt=aZZA`+Bv2{f%8}QL>O(|xez)a7?AQ!% zcAvM0{Z3VAKpDJ5KrU9aTta3SWNlI=u_JJhMPhpVde&afJsZ3Z^c?3Z&dQjh%~`mM z3dZZXL_YO;1ZV>cA^zHg2V>=T{k_8ARORcA^zkl(r2HYuyy9&Z7!H{-&`n92;g zD8RuCvUnr!EiMc6tYK1_IR3-&`v1s{fget4$j%WSHM%D5yd(DszWa~A(5PFdl1H^m z7Q*??<7V^j<|?*gr?-HXh8GSwm~r*kDu91Yt_x$rrM1mLi@RP_?DTo(DEi(5A3gCi z`op>or3*)2f&T5(If1tPv-nZ;jW?%4)wy(MjV?_uZL);gF~OL*)2U2(wq3QU|CMTK zNS!XEty)95%+ao0Gg8x$TDhABc<(d-ExcJ4A8C2B(Zbje*siE;jT_(rW&--Q+6N>5 zk@%~nWU`76%DJW!B2q)jX$oMRMU3ixf4978q74}tM@;)>Swst85=f*_t4HpBmogLH zXDtG{`0U@djux|EJ1f$avQFw~)7)De6QmS3#V4i-pU5aQovdpUNL{!bXFa_}H*^{X zZszElLxwpCBjER;i}sQCzqFX7X^6Hs-A(k7&GCt#KJDCt53xYL;ET-M-L>}L*Bvhx zZ0tMX$Q3=~rZ@|2QSR(x5+!rAVNQJdA;>(Ev{}w$!}PM%X00ajPS-=I36lsqS6&Nx z#J=G5KpKUric`>~eNkYx1y;H}U7a1!<7|8cp+l z9mA?z)HVVg)knZwp`J(3b9M%@d{{!_iR211Ictqd=1}ipTdMQ_Mm2T5P6gD3TCvo> zzy9sd3zRBbzTo}xOCuCW{elbP9c#?@1Y*8Jl8R6`PhA5Nb^S&CR@gtg$euErPuPGx z!7H7r{EAeABgr(PUkV*CSxgT;ET@O;71YCcG8b;QO&LH$c7>UyF;X6gBl+<9k7yQ1 z+Ql78f)e+am_BgLx1RKIr@INA9EMn)rh^eA0q{gbZRgcVhWBHZpO=^1#CgCOyGnr3 zZ*v$E{9};d=#^iYcu<~eHS5PIt1QlY~iaC*P>`tGFi7bW4f0px>7jY=bu?YjS7J)VGGmqrqBJ zJoM%f8|k-uUfbdA9=IdfK9`N%6`BmIGhNxVe$sJ99un*lCj;VW2<4|?Lw7FkJbTQE zVSwJDFQfV=bhd2&OFH2DhS*TQ!*49iggebu3J?iaPQpb|BnCdoIO zhX}qA$F(_Ju?}7w0`?PQy9aQ7D6nD@SI1t2RW;(e7#Tsk<`iL8`@{ZAM39~EA_9L@ z{9wK(>8bVn8rEa~3aQD;Ea$DS-)*-{jmM8%EiPI)NU%H97?EU94G>b|5@@Cm{;+AY@4q{g`*CeJ)gkbX#Uk6xG7W$zI}6PN%<=Em>!hq6b@Q zA)9&@@=Ko_;H+=VOL(rZrarXXSZmOU_TdXy z*b&e=!c1MrxKFR~;8rjr)cte{ubeIIUX_*q*zR(%^Zg}_Sy-HHR+Yn+nXw>Z(&7ya)rV+$?qRG4LsI%MLTdmA?>-YYz zZY`6q=+U@!Z{+;k-d7jI-1REtfAxJc^HWr|{Ha1PCCnA}uM^9YR{FkWxFlaVKbp)m zp5b_oq6)5f)GTw71ir-VEA8(d?%OBd9 zZEuVXH&JOY)eyM>N?y=J-(Q|LBHIRG;tJjz&abgF+o0+?RE2~u>A{WSYnI}UoJm$OTmlMGM-^yqXm($A_NPGY;AKV z&{Xuasc`1OrZmh}LnqAW+`=nqHHIb;s^3Y3f4sQlms$DTGo46+_&TuxCPdjbE`8+7 zFj1Si-H&B-eC)zQ8xR}%>gC51#tT2OYufV zgDfoA+;NbXiKlIpW-!M&!=In}1>2=J+|yplv=Eq;8w78FOY1gT46 z9uF{!TZRu?nSD~-ygnWo<2SJM_N+tK^MP&}QS%}UrV2wP!|v>hM*|X|+Huk+6=revXs74q9@=euVSvwAW=9Z}`uh}avy%dGoW`8Q zH+f7jYaxI_*KUjS%~@d^XwKz%6H|o;QGEmPb)m~^uy5RCW6l-mu&ODNH{*3*n5#FL ztGruw9YUs-&WQR>Lb_^XCW?Gj{Q^>vUm?gBeZwlPjY2qCX(&5t!cNTZo z7uQWkVlv#soK@Hr)f)U_WrF4g(xw;Jn8)w&pxX;N?$EgQk*)MvSS$qjj{HrY{Xqe3yajzOVo#T^0Kc zaP0AMuVH|AgE>peN4RColJRh-aRa<5Y`K~ zO?L{RrED_AW{R345%RWS<}c-1oWXj+PYE-k%7MK)4|T|KS~3w{c*k_!!Oavqo_LpU z!b#b&31`YA_GC>|4Q`?m9l$a-ke>54P1>B_MWB+RmgGR)xTDA!#YVR3)I=(?Hg-Vn#r5WA?neU;VxZdf@~4@Ob@r)mA7hUCpbCuv771vG*eU_=+@yZKq}|O<{GXu0Q#Ce zfGA9x(}Rj^3^k_0q$xdOaRp5ge6n8rV~aGI1vfHG28y60Ux;n$dw$IjXsX-BOKn?V zscZ|Zb#0*+yEaBm+vu_>SOr}^dMy=hoIoX5#ZG`td!95(8q$SyA(SX3KY@zFR&!$& zvnJE1&*tw~LE#w~;}4;=XrwC*&h-@&IQBhz2z$OGPh?qS<(^D&1Xds$xi)R$sk~}H zv1=U7?DuVVdGt{&&00wBEr>Y=02h{>OI5+)g@gace;^$Lo@RGfSaECsH0R7qPTvB( zc=X?o@f&lZBz>`kNF7aoV1*oJlma4$Lu2jM9@`s1*8cNG;vDpTxc}OTZo5K6vA;f^ z4YlyaP)-Lozh24JTgjX|oQILrtat2Ea)n6)T4V31llrPclm^L=kI<4+Q&eUykw$6e zYj?ojnV`d@g9Q>V-@b+w;7)>!nY}|UH#Z(B-%1_;P)7fNMDOYer(%KMnhZlsqNRP3 zQ{EEm{AEyIYH&`K2Gd%DS+(pOydJ>gc3neDmrFLQGmX=FQGny9h<%TF+P9nVx)1gh z(>Xd#NBUf@J#2mw4f?x3oGEp?nZLXmk;OIYa-?Az@;afT3_fly4i9Mj3)EG@bcxHj zGUaLj2+gssW&}x$XQgcHA1B>sm_Hh?#5cFA44QQ4c^2N^uy4878^ckJjpwUb@;dHA zTA%)aX@>*_d_R9?OT){IPAh;Ty6jPoOHj$E}_%+VLTAjny1? zVu`P~46(sUK5UGZ1vqDg5&zX5Q>`7Zcp2OlNcNYzCy|#~m`cj39&PNwQ;X{I|8KK_ z=VLy%e;BiLW<(QpXv#iG6RYF@hEe>tR72m!+k`=$)!t&5P;3q>Eaog$&uX4!wS2cY z{?gaBE4)8iTzLlnQZ-eE@iA+h%>eV@{LTRS>wg?=&{)OT8g1B?$V3m9-qUjMZJO!O z3Ld8hjccY0g$E?(pei=emR_YfzieGxpf<3dbgZ%wgf&{-x}@c5&lrXo!lj+PUW{`R zo#P@R`CkN8K;9$^kos=`3i0*;TJDTS!emNbe0|_JA}5vHdJ9~5dXHFHq?BX8UUuF6 ztB-{<3250G!d(oS>C7?w$5e3zLU4)O3m%SNE=^>WU0}vrh*#oJ#QphzyK=|G*nP^% z@H4amr7n}+9RWZwgbS3q?gWY+k;{S1xv z7rTXQG%W$c=<%cJaDyohGdeLgVoi;K9Ku|f(s#U=^fsdT6w_FB*EA*sG?@*Z`)I}z zRtZOzD-pfQjiJFI6e^i@x_xs2d4|4_7NGIUX4gNs!ekNz#VVf$b=q1;J?xSzyeaUL}D?$-!)b_R?{xnQ2p&gWhd2sZQK3(z#%6pcCr z$S+3Zq!VD4P%aS!07?uD%iK%4T$*6egV1!~H7XZ~EM>Hx6Q$MB#xK-z}@Fd|_> zT&Wl!^^gm&1EBOhfYSE>D^ukZaw}EYje6~236}-P@yYH<5OsUSh0dO7rL6l^jAsGV)hybm-4DG$h3;1!b zsIFaGcUwTWu1EDLEb<8B*;l-Ze!soB^&CAET~=3?v)4>ytYsm4+88k_97&Xz%ca$N z*m#^Dww~EE<`{!l9tY{%`MMFz1V6z$-m(-&6njOT16d1;R@$1e zoC0DytVbR}v5BV@Mj;==mq3aw+#ZkBk(N802KY&`kP65vsb9H_Dsi1ofNl%;mBDa+W&VL?c1tV5KEBFv zSv{T@bK_VdyAFx?A);iz+(j>i*CFjgmZFEdIM6;znPhZLWODS{^dEiE0)c3b#=Yme z*@*kU`~CepBtD88BjHAphLZ^Y9ATobJ2h68xuF&%9<%Z71#=;_{JV&Stf0ioNz%3- zD^HCa8VlQeokX}8z*8@dcEiadbb=WPdaPUA%3{zXt>Fg@KtR>9cZgZDZguG~`!(YBgmybM$1 z8FcZ>YsjYM!l2WvOjWckhY9!QW-QqqYefR-f()vXjqc0FWgF)^n~J`Lc?rGw-=gQ; zf675;3!*`76kn7@vo^E!=R@~~yPgMgWTfW9zw`AGQsIBgQ(7MfuR;CK%FEU^4)UYT ze(A0bs4eK62PFJQ_AGlmNe{62NvTkJD`F=w`C&n^0`>tKGzI&1^QDCEn{aUeZ8f5U zU1MflT4U-q9ap*TYOVOI5E!`^vOvY0;=<0_yg(TKudsu_V-C383^ z)9ta29yTB5eze1JcoWeu3AlFg2y%XikV}#yq75N}O7~$Kk;e?=kvHIat3ktfg844; z@3@i#6P{X*dSk09LlFEJtMZQb%98GPXhZ&X7N^+%M^*8o>%T=iJ@&WXT_`W5{LX6f zM#}F@F|m?MUN*P`=ZE~?*;&!-=W5g*xqfHGpBY2{`s(_r}*^6k%)->O+VXnKWlc0g~t(RGFO#V$YKU;p;qVzG)5{MWzzsYWJ-5LFF!LVj0 z!TlTRgYOR;6D_GeZ%pNnd6e;1uG*=7urmWQU8wgx6RcXKp#!J5EoLK$()xb_RrMvR z0DPR1X1WxEX51Pod(n{;%G*7SiZko9_(~VNCNrdBo24mNY@g|OT4e;XY9@u*;WGp) zBYj^^9miR7LuY2Z_w*-tsry!eN<$yGKX%hKZtzfzx}gqFZ8Q-$?$yRjU1lZ}@t`xZ zvV56+*g8m^#>Ezo=u4Ey;(p)3HtEC@bd};EIs22{vUYt!W?|t89KNO!gOF;PRLA9H~yWRZ&Q)lC&#x%cbEL|(5 zxeN2AB5@YwRxmv%BQtZJzk_ppC(d!U$-o<)#&E7uCn_nl-=SgE1)t-hgxEQ;;4jd>&$UFD)XYCwQrZA& z1r{aMauO;=6REL%+RQ_5Y?NfRcf!WSPLK9zWYSlXlIp3?rhAj@Y>&)+rK3RcS!!R~ zkN;!bCd*K}u5K}te&F7@%K!#mOdG5w&S`8kxuK^4!9Ht+TOAwJv6jgLvfRW**So&L z{wqIWROY3O%IyA&-?sO-YAs)v9#gfNm}#18oJ!Ql$CAhzj)N%A!f$-4DEs_zYse)4 ztaBN+$}Ah{zg4btd*SOxOxewt8~ItSr%NVHM=fewe5AeAzSB^dwW`P6a@E7sUbo7* z{8wp_AT(aKcs5}Wm-Op`p`d0XLs6;g;s&8)>j5{e^>8e1F7k0uIhB`Wwyq424a`l7 z9nUhZvbibc0d@Jdy!K^dH&NCrK~`KuTWVcGPpUA$2|BG`iBZ-}U)}uYHi)gAiJEsO z5W4O8G{1i7yo{d*Gm&ifr5DV2mn_eP1o2j}_k0+Pc{T;$3b91<;W8MKLhKb0t#KOQ zS*J8SPLgHQMbh?7oedga8)ui20)GRY`lZk=Om=LkU~kxv=AGqXT--r$ky9n~UKV7a zVeM!`HiC9Ub!fikJY)EYirwt+m0v_M_S+o~-`{ed$qm-5w z(~@6tLBlT>)QpBOJIm9#Rq%vfW-Hr8GTDe7Ko4jU<~X&pYh(_vBz}l+fK6Htc9vv? zVe-^RDF^LuH#D2W_fBW#W@dpGGo=TJQEctdZCM({*n&-KU4T;1&>|-MahBdLGHwzp zN3qN%G|XNs1>)}nOVEyd3CZtv$A1lmcU)%k@2>!3S{qu2Fir!(-3l!4j3_t|!yBL+ z2l^aLt4{Lye5tIzfm(MOz8dlQMW^>tk9R1S!*8R8n30HsG1lQHe1NRJ8nda%jOK?M*Rqc@QjPC#Bvl7~BdL6N zpDt6M$?B7puu1&zVAVB5PK+e5#r8P@TUnnYP!Xl_C(C%AqSpbFd8icEafvH)q<9BO}H1_$Q65R zgKFF2tp8mynHkgz)d>;N=uUGY)e~qvOz}|Jk;Ebuc5y711R1Y1p0jNW;Tb|ZEz@in z8)*q)%|%-4#sZm-UC{p3Nl%dUuP$dovA`^^Mf2zNz%_=kL%y>ntriHam2#7iFh5DE z+mLV`^#O}e5)X%aJ5Ze)Re567V)%JcM{;4G zpZtEsbv-a;`U3}N+Z!wp>%VCcHfsZk=;hu1am|i~nsLRmmyu!&HNiytR(r_-Pcz5a zt^Qq^a>vT{5E2j%EIN+ToFDccWlv)gy!h&|Ybn^Dx$71Ch~*2j_;}<=xTAhtnNki< z-`jN|En6}pDqcxaOZHUbkJCx6@u^C{q~j-?DwLmoC`8w)O&cAW2y`fuY!BA}=!d%1=A%o*e$#8nPV z%-)BpDG@HIlKoXA(nE(CR>tCjVfa&%o+wrS1WI2z4hJVFnE#niyR0Qlzf3o`49*6+ zljW$Sc~I&>7`MH6o;!NLjXzW9y<_W{ZZ*nNGD_^o+P`9Q&19PhwYaj*4I*Z6(q+jR zSB5db6XZ+C0GL-slL!OD3>tlXy(qyh?&G6t65AL5^*Fo#1GHf+?<*ha!Qax-3GvI zVq^f0TtFMaZ^_@Bl2XDq(5l1FlU@W`@*PNW5 zwwgp@ZE)8Zaac?FqJ>B&S6!;1RN3mug34L}6NYyKk6`c`AvJ-V9h~(q0N>XgDay+s zWdT50!nu%nI(>ON*n2c&UW__vyADzE0)8dKVOgk3FHLS|^`~?IzO?Yh%a@tVzs-6Y zw#k24n1D+vddIKH$TVEItI3NZGjVG6%u>Yd=8&vYjS$x1F)0U5+JYY0dxQ{i``ayR z?TpMIFW{Hufm;GMcnY^^AEYkQ+(FuKhwf|}8EO^{KtJvGpB^6qkEa{4 z&f!PM%TrdtPrIF856g#*v|$+(u?J6l&TL)YNP)&nY{$dp;Cu4IsNoDh5|AiL?KJs66gk64Q=F0SsGR=r2?xH5fe?|L>mC20JUwnvKxM{^aKHd0`8{H*8DLG_;0z`gTi3kL;dVW8)xN$84`a7*bpnRWGNkIN)d)F zPDwQ~?TjO#ugCtuh^#SxQ>xNgi00Z;Qx4{HRC?8M-Zh@AS=Z7?uaI+h-@^+YI)1{% z|0j>;!N`5sbJZ^k6UK&FtXz ze#7w}Tga7Ue%us4ZPAa)YmVB06ZGs#|CFD8-*>uF zKU+RLUqc&XC9_2gp^>s>t1bk ztRjlba=i%VUfaWlB@=|LdR@Q?*$yZn&ykt9%IC^_u;gmFn`EmHuQL?#ohpE5c4_aK zdpytOYr~6_%PI}qAgYTcD|2Ba1d*!Rj}dLU9w<2tk(+60?P=r01=q*8E1U&tddyf>SI#>c$08xb4uz} z=1<2d7bP0sm1)%SBGb)A2+D*7t$WY9JyMN3efn^DW7pwNuV@nZLw63><`jNZv{~ z<$A^H;f3^Iq6%vZ)BcUI8rarl&){XbtDKVcyV}3u1>NPHU^JP9H&n3+7>Gm#{$<&P zuO&3H0YO;@QI5#ju6jH+jpd->{+HNe@~OdZdUS znfom$_qZXvtPL$OQadb*d+AMX*wW}!?CVA!Y8|H4qXkC?v>;boaJN!VIT_#BVsV4h zpR@xcozy~Jv52*CmW5&m(ZW;b(!%nAwH6ljZDv4=ov$ToE2C6h+8ud;s0I3%XHK+0 zl=R)@`V$kag+erdG@QQ{WQdFGu9SM-eKO^VmLXkEDTrJWTbRw=y56-YN=F#KvYW4{ z&RdlE9@nwWlKrkNTh}3v}j@OHAABms9l&)_`k|KLgqhGAQln*OkN-qLW|b9 z?)x|uxeYw`3vLZmpcsoOLe|yLLjYDsZLA zR+j<-QcfSRZXejLJF95T%Hb1%8@5DdFP+SxlHK#hdDQ{va)*yXNx28`BK;n~sY>*> zNrl?nL$EqXu z(}E{1E>nz$p8#KXIy3bsX};90UrUb5koz#cTm+&g0v^Rdvn${ESI|l3Vn-xTFBU0+ zs0pV{_3}bqQ>c*t#p?_b;Y8KGu{PL^|Ncb945;3m8{ZaqKHD%E`Q7z>rddoD7eD>0 zmq9eap09PWnyFv!uVH!r`xAasFaCC&ye9{A@Z87|%U}prz=o+P%YJ#Wi|wln=MyMy z2DYy2j2y+Y-NY{0N)EL>T2x-&+>l%=<55p4l$>SMB3A<(HZh=lq21r_d#^8f#Ow}r zq29J*dZ})bq_p=PeboT@CIqdu!58)_Ggp#*AR zCW6vvZeUJ#g*Qb^;L%Cc@)qkFHmQMcK(b4)MEk@1`e*F*Vage5s-5vRwug8KVSdN+ z+Ej05mEL9f9=8MZyvYnBv{-u5%mJ+)o@57 z1&>~;O44vTbeiBNh+i-gasP5E4=Twh)LHd3jek>Bd7DMQ;SN9>*9kGsaOK_7q(y%a zXXHbI#MGEcP{_Ua1>>EZzPOX##wub4$0k(Vg@g}%C~G8&nK4|lkuh|xnvcQW&`-D(qng(k3*ffKtSE^O zD(F}5k1%l=ry znvN~s9_5GKNp5i7?M{auC$4y?c9Q(5R-CQ$wH%nMVqE7CU0rOPWMirE#M6D9{pV48 zoegxvW>>`0EP@B|@SGwsTmb zwHtGN%Xcr!@UbnT#?;ChlX&+W3+r5Gj2p81G9Mj=6VV9SrexIy+W3yX9p+L*&iJ6ho80|#TNVlUk~x{_#etC_Bvq& zWTFasC}hKB>y=2%>_AOB@1c3;&UifLRrc_kaPR|r!L!}SWf*w)Q#ow>Y3TwqEt%ts z)#S{T^rlLS?UqH{3^>zBAnrKu4pt(hV#~12kPo|mKJGau7pUe2EO-N1-EQwHzI*(r zHWqp-zX!2=3*JXjiF&2W%a#MUWmaJHj#(;pe(j~e#o?ETmX8v-ms$X>)1Q(n;8jZ2 z3WRe@7uPWg?2_BZX|wFz$Tk30d|x4=P90}6$&XcBQy1picqR@veIg0 zNU2ikv-DA!s&us@%6N=1#u#J#V9a2QF=l8Q(=?`;hh}K{X&8oK9-3yDCo_*jKh4v; z%=+#BU3cw$K5pDAMOJ0CEfEp-p0m&1Yp?IM_S*Z5uJ&|l+Vh4@443p68xp2zf6IiV zdgh_Cz`Ldgp56@Z`Qlj`o;O)tTXd^pqgoUCtFNGF>MKKMvc5Rvg|Z@EClpp!{E*H1 z*=rB0Mv&d@Y+mRvxY(6uf8PJ;Gy7+rvK43@f93t_KOL>H} z->23_*M4lDALKr4l$|$P{ifA_f5p16Hxs0X_Ma{o@P>8w#DINhpI^7nUmBo4GjR8( zE7q35tRy=Beb>G}upXA|+am+#dItQb`P=@qV&AS?i^uti2lo4x-C+{``~w5^M|N$+ zt{l$o-nG6irVG~QkzIe7e>3KNYjNFvZs+lirNOqJV0uWPGUsfH2I> z^o9N2pFXq4o?0hN4Xo`?F%WnKcyI}3Kg-X7_0RIv+XmPVNB6-Z0F~4AXUpjr#<$XM z25{SF8Caf6TkqSoyY@fr6ht?Nh*!|@|1py72 z*OrHZe zn4het$#Gd)pQ&;A!ShnS9JPXVET4XASa@KPfM&WsJ%yf|PwR0jc&Cs~BpNk-FYA}8 zm$9?1pPQOS&pqpU+zQ?+<7DWD%?}xx8qzDz%S~s8BQ9s`)(%j*zEQniG~NA~X$IV( z3L6XEGP}OyyJa;ivhADJtK7G=cga4X<8B(S97|`0I_YDxbZO?BDXeL_?athCp&x4V z?-oN(-OjoQ&k8$$vnMMkI~~0V61R!C4FB<}DX`mF`0zvOU zx(#>729@exF_VTt0!es0r5lDrhoXFHzuQKr4W#Y9F^Djp_iYS0jUbQSZxp0T^B3$c zqv48|2ysNS{4<*09t=DvA4cRBYVNP(U4ff^6}u0bd~ z*1n;F33o`1G>c2QU3l{0bAxw`EU=2;rI*?2>HITeHU1w?v-We|{_7Kt`r))}KkwN8 z!-mtt#+vtrpNJNYrMIg8@1?;EGr@&q>@))}JQ_w5Y1fbP9Pg*AcFjYkG}|pm!AC&} zSn?0oiy*ogqCZ{`AsuY@j$BHS7Xl|(i{BM6JN&7UfBLk0GAr5Zdt}HUfD&2y;KXNe zk$afY=kcSnFOftg#&@5q4}a5*Z0z=V_gEW6 zPXzj&i7OmYVSV-Y=S|Nzt2EglbPH%7uQ|Iwom6)k07HQ?h(L!9Q(w+y!VE<2RAe1_ZvpXQ1GNwE0{L4CVOL04K$PStx-T-0r6KB%Jls zxG%Ce@ZmW4(!J*F-!<5gktLH0lq0cYS0B%X>@Aqo&r@HVG0FU-1*J`%W-W#{VGPoP zvo30m(`?=Sm()q;yQx#_XGKbV^6xs#;NJX-X~MJw9UcxjqSTf9&CE&T95y;AsnTcK zODVS4{mMr4dE4MZ{1w$(ujci6!mYj+nFT?Kt3`5%l%7nl=NuoKbdcpBCy_LdX+Sl z?`+t6ubWFJl`$MFDO2mK%7-|lP@nuKd|$S1>pZ0A*Asa!={n~W>-p3<;|U`ob2>i^$>55rcurMhB(uMA!=s? z_M^b!wQjY767v+HrxLdr?{;7OJc z<#Ui3coFkT-VE&kXEA>$aoA`fw}^Xk^d_fosfcU5q}4xK%*@i&DQt|eb+Jrem!T*{ zF4oClZcMH+)&`?_3jvUM-5$>w;ui=JxfymB)m z@4gWNO@m%)4fz1! z8-4Z6TPJ5^zX>Q&RYI}+N%yIa8Jy=#o7YR@Zj0-bQX#cJ3r{Y@0)pa8#X5Mj$L!11M+;VZ zMxpTS`Al8+g(Wl0tM;X0k-WLWR8t9k=qbJue>T&7iw&FvcJZ>(R$naa!-?iwVgxu* ze2$Trqm6gsf>8<|OG{~(!MGpE6~{$};gFsw+wr;V#djm} zq81qiod`c`b}%$xRRf4vw^YBZi4-5M&^4X(ShO9@VZQmL@HlzWF`?mi~!@5 z9+wo#85{dnW}$FI4LKJjE@5z+y+oMW)q^kMduW}mt=C^<1Km(UFu~|T>20o$9A9^N z2hWxb^S*c-hNU#5rTfra6bq`V?t%M0Dx)E|zC0x*j1s_`B^4ASFT3)YUvIvFKcBDW z>N84jbSH62I=H&=k^m_rquw5H7fSI%gHZK~si%U5*@(xr99MJ9y0FfCY2z{aUFsvZ zdXYfd=AULwQO9S>1_nFo@77{h^9qr~V0YKmWvlC?&>(H$_v=<2qrc?1(@cD}J3Gp6 z&@64Tv9`>npW6Sy);oqLWH+7e#mfCmr>6x>32h)ZAsGi)V`xv*-KWX@s@TG)g_0&OsN{#@% z(iZ+iw`OB*Nl&0H`$&g$4Q+%0=KjTOVv$>)Z5s9tt$W+-R!_nOV+;zfUh6q)&^!{OrM0v%7NhUbysigps|$p<1z~|dGj6+XQ0H7i z%LT@w3Tp4!q;rQ~9qH%O{>js`q*S0YR=mA0gSj}&*5BjvHik52S>KM!TIv8eQBJGU zeUiAKWOFTz_VN$ppg%E+aP1cE$|5`!HX5wNec_i49V}HeF<7U|2aC9KgjKk}^vIk; z6V-ir`G@;7%;%{=k}J<=aC`A*9@zJ^Rd&!c?4D*Y2JAeUb}%1C4O!Nv1*+Fat*{d(`%|@olAf#V4Uj($e$Jv5m12 z#kO8BsNjaQMRQ7f(TCbB<}5x?Z<$ zEIfR457MF3?lF^z_En$nzqEvJ`shXaZjM*=eC4a?IeqdXy|!`jf#K_B{>j*QAxt;1 z(dgTjrpl`8>8RM>_eNu6Df17d)EkeHM&BEXk?8xyc)HCa@@O(PRyLA`OD6x?pm!r{ znkT~ewXb%Jw4wdKW4eY!UxA|ym7%)-7t@4I8JaijYk@!0c0;)_`cAiAgr03~JZqMs z8GmJ)^5Yj7r-_@AH+x6C_lq1c-Q390dgpZgs~#n7{()&&e&5f(&A!{`&+_k2^KYwT zpP>r<75o3~^xE*-tM=_x`>uQXb}F}Lm+B9!uqbUhU<)xGv-d}Wc)^~{Qfm5^jfVF{ zgplK+FY(n#pVx~}ijBxilIKxIQ(k-d{J5o!$ZM?F^YZ1{4-H2Tt91v!JX$uz-hWKbfH@9gr(D5M28BB7`O9Y&!amARB=#NJ*T02eS}^vcpuyI-60 zYz@zXaU1&Lao%U%g5!hf;7~-T0}k2So8oGMppWSB&#G4J>ihHS4mknibcdzt5%*2ZN{UkJ(JPZNR8o z7xS!bIp84aU!}@advS9}FHiZI0iThuD@~U+St4j}C{tWxPc-Flej6zj)T;^q40ljd zP%>=~Ri0Zmf^(Vn>z1;(XaT;Tk%GbYJ0Yy3qmJdIBgt!2RQXJ51Ty~o^Ytuqf^uOl zq}a1Voj1{VD#DlaQ0C25bNEg;@ja@dVDOcxr5}?t)rvV40I1t;7XsteR`6cifWd0J z9jr>%G&Yf+Fi=vD^?u`HIc3Le%G&KlLSV!Dj}Um8(0y|F*`9ezw7or=~ny$<=E z$wn%MJ1d34C)TloP2%sFPj0t1M596&8+^XaYLUopnONyMt~74^2Aj4IEf%?sr~Ih zpyI=t$^P}YX>2U$lL=}U?`R6fgxft#ldz_h3)$vTLAGLOY3eKw!5_D{#4Ec|0q&(D z5GB2bA>2Ne#XP8NV#^jnb}kK*0KVhemg)}II(gB23w#hb6}2|v^Qgw}DA;ZncYZ zUCUI9*`vn{$O}9+s`5;`O70j@<9sRH%n8p3Sg6$vuh#v!n5VE>Y9X8X2W4*rmVLcN zk*g3`)(K|73PybRlHI7@H>z&@Pr|T>(cCpnFF++ ztBz}s^>?kp(z8a!A*+823dxdC#>x<^PSPRv9iZ;n71%@y9QS;GvC`)##(d~#8m>UJ zICw>C?InVObr2R-A1tIU_M-s_8-Pa+*DAK|6u^n8kL|0z2O*?pO}%!xfRC6pngQ^3@5}(t+~b> z@l{#2uh!0Y@J~F0i%0sHer;VLM zYnvNpFXUOrHju!bG#&gaHEiQIHu!S3B{eM2g*lez{D2Fs#mS5ayP@4m85nH&rtyxs zA!b(LD9?kB>%ZoEDSGJFGs5cs*q!*TRkAdcuNwr2z0hVF!xKwjc+l z33M5A-SUK=F3P0x?7Ox($T{zKC;C_E9d->P`?BB3> z?l&yP{e)*8$1`MQQJ*sB3jIqJU-qM9f;ffjaJlHl_xi{TZ-L0$m;5gPbjyX|iHxr2Kh&N_Oyx%LeLBotkD(W&akwR1R{ zIB~E#8+Mo`>n*Z+u8D=hSe;}_9-^5aRZk7`1{L;OG}J!*Iwb$TwfMSE?SCFOwbELE zy{_rp&8p-{J`v`ZLY=4e47%7D3)Cirpe?-t1D@A1)1I zsUvGW^X0nw3XP=4s$hIdw>Z$S61ALfVH|90N?cB6vm7gP;G~ zWxI@*i|?l)+rI2gyDMNYb@j0z4rHh~O|b+_6zqPk8{FC;k}?o%_$eS#zcG!jGl=F8 z_x)x-E|{0LoS*RYXQ|HJnDS(o!VGjHGdL4YIzLlEDqg$D=mpfGXv*4U;Pug?ANkv* z!4hsfY}O`0m<7CQwy*>;Eib(vU$q_$dX$WdarK3li-pmjxAB_6o{tMwMFBy81po@s z$SDJsV#eYD#ZKCiDw^qf_Z;9tq9=AJfYrVkq^;k~Y-|-eUq%}kyJ@v#8GJ{8Vt!!k z&ipfGZK6dRce+ZGZBEkaf1b~XkOzU<75nu&;9{e4VqHKt$u(c0V!bDrLSzr+x-0($ zJITN^(LU7J#4cVoR7RE#GM6w(MK@7h`r0D0w32zK+sgxtZ6&sK^tF%W7CG3c%rua^ z0Tx=7IE;~PtWTClLO0#Bc*;?Pg?a(g4jCg`?7pZ#+IY5(@*oG65kko( z`V|;K?Y~yhTpyo*U8eTG*7QPSMWEV_=Dz0Bxn0ku&%0|QU%b>E**S+*(VQ*%feZKG z>r@^ds6SPzGtUpCr4qAp({P9=F>u$TOaZxzB-I(}u`;qZ7fmwS3$n3pfGn1!gyoWj z+%tC+aNSsr19n+By_d>N?dtE5{q(G#H|RrjISF;;NfkfgC3>11JOd+phNuPrkBnir zN7!7S36zZdqW4OIID0rL)*m4ZzrkiNJt+_K76L>@%m%H!s}=GrWo_YQl^6M;_6-ta~2b%>9x1=yrBjO7udT? zv>H#X*%1I;%z?M;YNZ)a2FLo8x>KYi9SBncsio2>7pYNt5X+egm|}dCn~zj0yfWDK z6pon8r|C)vlRz9r7hjK=ek~$rtn;agVohRgsdvc`xKU^e!OB3PFLrCDWOdXQgak(P z8Z3_vE|38my2Mm zZ}u|OqK(sJctP*_8K@~+FloLCEZi+c)Wyr)(o*EcGctT6-5v{PHp;|WsEK7kpch_- zuW3TC_Oo$-1i?!)xZY_t8i48o7`uBam_LM%`}GnBTA^8eJznm|dp@3gz|+I5p>dWP zgbJMm(eaPMOT#;nqs!7WhR7MsYhBv428vQ*~5bL$@BPQ6Zif$7-v-(j`B!S?gdxsGQ5&gWn~=7 z!L1kTr*xlCf$chKC2~!u)_0?Y&ZdmJW^rxT@2c;&Qy>wa2rFuas}}(4l>{tC=*>PM zRq6;`+t;EbAihn#1=_8|IPvVO>UZ1awgkepH6lXVTm&;l?>yRTT6P&cSSnU!y2KQ` zpcvxRU#HgO5xNAF+V#Pmb6F8eteg5fbhZLlIXPIT@LR*ViMYK>ft%X7f|ZR`X@qDz z%pr6Lq5@8oVXW$)%%<&Cj+!C?Ul=ZD>W;0y4#$`EY^;@y7|U}k-fz8JI5>@&xSPcs zI+yEbZrQ0`?~ZEH;h@4e+zt+wQq)7QkI8p0nfc;HV-JUBNUm*{zXA7j!!5-hI5ufn zRNvj6%Tzsm%z3n0TUDidtuUK7M1JI7PLOx15`mr*b1JMqj!R}32jd~zGf^8vX4{3& zVbbAv+sLi+#Oj|cn2L%Vj|0xs<;beev}C-=*ao6qGGOaGB`6NDZi|#ndiAfr4j`=~ zc~_?AqzQOvzS(O?n^!K@p}2F+$brajM#0i~SUR5mrDV(A_qb2?&H{M3OlNIS&ud>U zk8+p6{9Qga+%hf}aAmA0+YN&J+9t67oMFfr2HSQUg&j)`<+8!y-7ump?06d5durr!jHZ0fcW!iaNx%Z%#Z9yM5{n^-e!au z^URjZ`@CHxa;4}*XI`d*&9-sWfj^br_S251f4wv>NIGoT<^N#QE!#WM?Kb0XdKFks zt{!a5MyrjzN`Q0|+XJuLDNPsb98+<2Y)wpCe`NH5lhWpYWpyZNlby9}pI)&~|H^(2 z+WSMHMl+JE`@yY>k-8VkLX+b5p3C{hGND~NBqY(j@Lo}RWM1pB%I65b-0_tIV$Ry8 zkL}0aFu$4X3a|RW-J*&y?Ix(BHz>~AXq974yK3iCuTDw!atKTqJe-awDJaJc?2!Pk zeT(5!`?^{#Mo$M-=A@+A{q8<8)xt-ySv0N~MB9~VArHivSbQ&EmX;0>I1u_Op@ud% zZ}Y`~4xi|3QT4G?eZFtc;;a&ICc8#2)wLaJSIp9`(5kp%xNp7?>Wo?4w1eyA%kt88 zs1%`hnt?M^n`vA-dOtZ-pad{&uQ8go0=WPf*{!1^ z0WTMO`uNnxEj`u8xw@pqqrcN0@nW^~Jn5LVY;^H)r;J>$d6(4$Pr#A}kyl)A!NiMU zhDxR@RUjV*O4k~}r0|pW3}b1>(;lwj>ZiFI%kbUsw|npFD;!uQl7N;i#)09^5gxZk zm>mA+9P^DugRRUAuQw;9M%XCIYh+}}m|dDFF_`kpXV5rojOG|2$p;j*Z`EhIQ=gH(&@au5g$Nmbn59H(Q3;TPmXojNK7m zw1b+X`rMrwRXH~l28U2GO0ry0xO}COEDP5aEQxl@BgJb9Wv-6Np#m%)iVGTf(UG+u zTZQwkWrlCU87_{x~-2o z`LG;O=T`vStK((AZwBitmH+9h>G;JJOy62o$Y$CWCu1aAGAvoOu6S^_vOdbe*Sp%= z%j&27ow6(hr;pGEF7*U4(*F_-*D+`qoI802xHdTbxc}I5El29!`&qH(o{yG2OWhJM z>iAIllG4queE*=`RtaU*L`l8MQ1rh%9;N}VJo>Is=FxY0t?Q~AgI?%9ANSPsa5^3t z&qF}RV~k|9S=+WeM0x33dQ&o0=q|YfkfJ6N841q?p|fi{CW7=M(}83o*mdg}SJdmi z*e-<&gcB1I8K4KkeWAsB16B-M%`~tdYzO>u2hroDaWZ6VvNy;K-IdaA6T|kpE9b^3 z0~ey0L64)-Q?6LgWyR(M>xmke=g7VIQB%y1C@Hck7Af3z8h4G3zY&?-n772!u~f!g zfm^Q}9*uTlzGY^bUJ!gzIf$P~sOky`=*3KRDw0A8ep4D1CedlH+>L)LgOtJVTo^tT zewjqw9oFXVQLx-rZ%wsDt8rW3Mi|*aUO9@wECY12+kHpM^oGHbE4$w67KN++j8om? zPUGcWaEVS`Czz02rPY5eogZX&)YU17GO^%}r%G+QmgZcCLjdV$5<>u2I!5SOcfsi& z{}1NS0hD62GW@kktp076t5j>5;D#6T4eMUp=m-z5%W?h7a9rz-z82uMUYK=ZNS{=l z=H}E1cB<#Ht{PkYyK&mEX&=_>?!_GN;gR6?LBMz%zkd<0?MZO zFf`5js9Gd(6RxL8y6fOSjJLIJykZwe$fI_MFSCzR66A%^VfPWUG&ZNn3{Cv>n@u|* z=ff8#eH=HrXKZxLCJC1N%;5ZV&uby@ra1;IbKEpXl7%+GY`wiPU2ls9!;|!z>03ZD zKi#uUNUVn`adFn*C%;PGF(0!wq(pGicwC+}O!9VcuxX>8nhyR2;||>9=f&CyJE7`% zpFM6kw`ZrE@0DS;X!!J$^JOs#r8zy!OZinN!)K?2dCBODtPW{3<5G*(Zl7}>Slc;4iwNHA8qsD}9|Y4*19H%o)|*T^Cj4IuQ9z*^4 zcso5!U!2<7y#nD2u7$lleaR?AT%a{3f1QvVthU2Kw4p^?3P6(OSUi~;VS75+J^s6+ z?F*z6fKYpE6sB5lvwhFS?3azh@e8c=PEiW?&U;IzYX`6y7JAab17nw$kL|=i>+#fd zPZx4>a=Ir+Ts}YDa~<-vGkgrkO?s^xkI@oN77hwdxY;EQU4g!bv9DPOAEp_$F>L;EdrB>3v@*}|j z2i-nWujjgP>#3kgpffDI5mKioC2tX_tGE`A5m*8Sd)D4M=8IJ2-Od%8ym7l35X;NN z3&C^6ULc2)KwgeF!pO}DT7;X0{Vud?H=Uc$BNwcGe}O*Qays!pZT8<* zO19;|@EU*9=I^BM=HK>t(|7FCce%RBu9@G_wrw6#?$4##q6AW`!_JT$!d@Hs;^K(w zTy|;4iapW>KO*n_s{!Q#q4oFii}%NT+Dm)Z_sOol-CvT<1LBClhMUqF?=A3RN4-$` zzG3K?d7wxil0rcgRw!gI^}JlJOUp{S-~c|sA4+wT3jVYhqtM2U7*n<`;yaRuXsbHL zgnmvh!_4ZRbc-0xyz&Z_`6v@rnduUoW7gR@V?_nxC<@S6x~L!(<-s-jc~T&#v;L+XPas{L(^DF_PW01C)i6qh)0bO`SXe+3xnBCVnvT)`&;=U{5=Ge;y3Qe? zH@GAhA+?P}nEA=D=K{2B)AaDTkAEiOl^)~u;&2sWww3S%1g04_La?HiYZ^Zg>Yf@A zeEB_`8C(VKAPr%%T^&XyIzk64DVj$Xy)Wwge5_`fj`&@M0X$)*v%$R8EzRv*c#JDo zEMRqMYH~g;1e-xRoO{_zdyJTOJXUH(sEe|bF*WzeASn5bb zww*gv4H}+DShcP`Yc!}dxm~zPRN=1xL5j;dFGI!(1;a=o^&LbctX7wAMbX>mAdxb-p2BG7NwqAIQc@QRctb(U_}U^Rv9Ik#_AD-ZZ%a~PFMB){TIq%_3yeRt~Bvs zO}YoVVFXYTt4kLOk&#$+d)mBSCR{u1>W{l2Em6|6^y48bt$gQ*9d^-sY?_?F7v|>o z*9TQjMLbq=%D8DP8?VT*2`U17NP({70j4X;Ou466lMhwa?_r74qgSE?Dt2vpn{L~W zZ5-J2)PAfwb36BtPi*vk`+m_R*X7ujn-|x|MzB~@N-kTkqi7-TtkySHSjthGCWiQj zLPVln_bQ~d9@{kxB8DPocqWK87bB7*`gY#PQnJ?jK<;Qsg9jeU0&}X{1KGnRZpdRxm zU2X722>?PdT=@3^o6H!JRRW90!2}7*<%_bz1K}Y&14JD!bkk7yz{rhxQwofC)4y&% z{+rgz=9F?DgLT|~-nG5~5TG##$J42F(w;DI8*8RbXd!^$RNz&^T!$zVXoDu+92wo= zNt3z}pmVo4+PYA# z_V;Zg*ZVeRi85pLH-2c7e_{gkdYZHUpXdL_?Dq*11ZH>3uD+T@=@t7FW7-D5O|RRw zzxw$f862#jqFYrk1yS#t)sogaW@1XbIAc&B9Eor!J zFF`?*$LlQyJGe_zhLu)7(LOLfc2R#!fzrcC$7+B208-6#5Oe9n4pF zwN=`Eu(M6-3GcseFx<`B9Nq7lxU}l%;wZz?TCB269!|k{Y1_PEMFCOT@jX*AXmDrL zwDWuR9lQ3xup)e>-QTnODggmgXmRkKwtdh34$H>3f6uV3HC;UOWZxf~%HuhF*|hI_ zxi`1r^szUOFE(a+N*jQN*jP17&eeRLgfK|CX^^ZjPru=-bDibEMOfoT(7TZt}FczRDt zsf1Ny34e|YQcJD|G$lusI;%0IB$~hwpUYK75Ium#_{`f+A4HNiM^aRH(I382yT>N< zN**wdh=3ArJI`)0}4Et>&={LzG+iey8?rq-=rmzV+#b zue9>DQyf)hU`+uQ_;#MGQU$x*Oub&@g43=qvI)Q#zaEBcro7s}{42A!JQ_Q5_v)W^ zi%OeGg7@4yJhh2SaZZy_b#a9VI{gewu+}vJVuR#wE@ibQ-H^wq|$%*ih zcn1~QnOTZ3$L46a2+3hWK#DQ9ebcBdOr@D`8aDZcp6a7W^iooynI`brb!~CZ z6zNHjAj(?QWAjmMFMPhvx5I-{uaYXDz86{WZLW1c@G}l3SBa}-IZ9U}uH7_8I&U=U zDR((zIKmwYcQ@j%JhQy3#MeqZx^w*K4PMW34?v91h7{NE`c>&}QPqsO-cY0L90}N3u&n-W8L;|5(q{a z`BX}=5L4ojw%y%QoZLZ+c*78~`tQpyQaKkiCQ-RI>SI}*k}NvqeFS2 zmVdn!5~rk84L+I{{iVQw*0po3#fG}~Kt)dDZ7k^2HvYmue?!Wy7IB%PFnn_KTI%kp zHmGR14#a5{l}xPs(NJ&_t**1QRquxzioif%ReVRUK%<^GPc!Y}yHto*uUoa@?iv;p zc2)zcf3=vk4Za^>-L(NqW`8+%hG)tewFg+d_-Hn_jP-dJ2fA(!zuyW&c(rLnbhJ8V z+KHBUf=`CWK=_Jw_!5IXI;;T%;3ebvse~;ZP!jp6^~EeCUfSb6Y*Cz^WVYf6T2tjF zDkW!J=6uaEms%i416#|ZSMx|e9G>Mv-jY?2O9q3s#~0;erwKD3n!ibbiq<%B%ka|O zJzL0_Lnhf~T{>>*nm?!6{j~8ExQzJP^_Lhf76}y3btO*H!S(x3*L=~;_q$y)jd;_j z1w*p0?wVnj*yvieNzJ`&*D}T9bf0VXB;F#YhQU{9ZS5ob`ZP}j779d28J#yLV?O7< zU?Ta(st)6LA@O`aa$V&~x{wc4UUN$O(^b3nsjbFnN@|C3!^{C2jDXQ}Bin?s%*wQT zg9V)2C_VCrTE`Ilu$629Rj!PsL$3g$5qSh@!1Ss8U9nLTM-gawd78&cb0;oU zTtOcU3Bt8Xpm@^zRwOEJcX@X$Qc98&`*WMZBLlOJEI?^`ttRxVCb=bPy2(p{6}p9J zB`e0qkWW@tzpzP4SYPC>4v?*D9_p~YU?v=R}o13eXPKB zJAd~7lRnr#N+ZN5faS_eVVn; zk>;GvX3-)DkXVdN`uX?m+AaGpY&5k}q~p+5uns6Doxto-7`Ug5&$#IW91PFlvW)c1 zbYHFKrtEPKh7dEz$yQQO*X)xW=Xdgg-9e4T9h@9IeFYR{VvT1Jd4qAb-PbjvxUi2Y zy=mj&Hsn#>3?@cRwMUcsaYq5A^|mRfMN8i0(cUcS$~ZM=F_)T^ui2~~83ed3R$Z|6 zv77Sn&>&;msLQO9QS`FsX4hSe&9p^&NU8%#+@#B=3&YLiU{L_mmL+^lUx5H7OsMPQ zazVh6|GZ|lMB*gUAHuJSE@P2~xt)MYbks)7pQYlyqg+ zljtK>K-_Vc3+%}ccve%X-B6r(kV4=pokxHv$#oMCVU;|2abF69`+SfoDTz@=n^6__ z%h0J~+2%Z~QfoOm>MoSdGTrTJeVA7N&-3PtFPlBa%-~GBGLeDlmUf67D2^i@aEakW zq!tn*vy&)gNo~`21o<+fkb>SMOQ_39-0HOYR}5Z{maBwb;3eV}# z86P$jlsLC72hXgMaXJtOtADX*1C_CCXuSFK)2xVb;qgJcBHzGD6TGI7J_m3!u#lrK z?InX78(T_al(ti=6F*VP;GvAtW^;y8WdhOHb2cMTsVpdrNijlN{l_zwu39h}9X1*% z5)Aqrw(D*hYPUN~l-Ls)fem5R6ZXSUw=#PYb;6z)l3-&JwP=m~>1Dff%v!^MKeTJq zWcWnBV^@f~p4e`fIs5&Y-J46_u}^_2?tI6tv&)MZ>{)Jm%=$Z)j^thk$D92+f|LQ8 zv-CUp9sZukf75~Wo=6ML7BG!`D`H3>Ay6mkr4kqt03U|aYeCZKaeYwMMSEgKXGp4p z!PbghPxIrRUJn91$rtMZc1nk?ParmFrewsl7yi0s^P-HcOv+e)!@ZwG&ZstOKq9JcCOL7h~+95WTVN3#czRvsu57KZHbPsWlceL&P?bK~Uh5y@aA=P@ z4AslL`R<`;iG6ps9Q*rC0hWsLJ2r4_SihUgZah0geuOmnL*s93eb7v)uovYsI3aDt z*Pl9#5HenqIfAJDnTSZJ2eWHhuVWmMAk^wEgP1W z?DH*@V!q?yUN_#qQeaJF;k}=KEzxUF$w~;48YLW79VxY>a~Z2p%SD%T7q}!Z zOn+d#|301t3o`v&;$8>2>SkZ~S~V9zXZ9SeWGcL$dEluj2Nt1TgumMS!+EBdQz%vP zjB^X)DOT_+lkyMBM$tDM4HwJ7C*zK~X)01E2xcCb5Qfq5QHieQcep%ZAskBqW#B5V zxmxzV>KXL$zn1=jmuH7G`lrmr$E=+7oGErKT`0;!Td;khn=jiOS93y1X%<}3gDMw6 z@|4O)cWL#QnDxBzl1r0(_+ut{a1RlU5=QLf3q!%nde9Dc>^_Sa!5IYmDqM6P!33in z;8y1}rIj##jDIZi0qyHv-?FFB5M&J*?d2@3tf=8Flbs#xDz*7r){^L&m$Jyo@EHJ= z+l@F)-wg85KcOrs@2Fatx99QURbQv%qVztCEnt9n1MErT5e}oHG1o|-G-5mte9R1a z9j=zYJ^dJHjAq|yXE-nKWSGpbUOZ<|01vQuO$pemPsL#dO~{2~qDv?x2Q+hudJn^ynK83|BH?kyNexP>{? z+T0bJG;vNjZ0%i^A=iRE2}^@UF^62}mxpM=5CBBEniMTyjw4nlhX2y#N3OS|dSbYs z3Pbxw2^mCpH6EwIAyTGMyG6q7an9bBESc8k-nSdEx&dd&qF28&&Eo7J)6PWiDjEUCQ@ogd%^x0X=9Og z{j213m~62656h+nLH3GUiFuZVj&DR6ogZ`j|4hM6-J4x{0Qs z!&tDdLEpT+jDvC`m@R6;EP?%TR{5b0u_(R_P%7;xA;T{S*(b?gwwDTzk~4q+6{vjQ z*gn1oGN(uEoVCH5lo>=B8s3yPeGt(xX`#S57+txJ8`jtbn0&>#07& zGN;3D^`fyPc$({PSN8AQAkyjn_CX%vWM-)JhGGVMn>5@1v~Z27gK=`}wLR|`u?Rr| zeV-N65?RC>_2a$_9qI$Q!J#2=$EbmRNB%{tt+{C5Kn&Lj$#6p@VN9d+32NDdeLJN=)#lL{xMy--^&Yj{&5_Zs&n1QKiX$WTx=Gky#55%q7H8|@8+KkLUs7=C&StmsKu75A21Mfto@^irVZY(h

|EwxolSJZ>S32HJAK8T3a6^s1K%Ar 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

8&VXGvj%>^QL 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 literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/System.Memory.Data.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/System.Memory.Data.dll new file mode 100644 index 0000000000000000000000000000000000000000..6f2a3e0ad07f3da4c6be0fff96acfdbe69d06af1 GIT binary patch literal 21368 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 N-SPJ6M)<42{{pN^vXB4( literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/System.Text.Json.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/System.Text.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..fe2154a3bf3a7658f106424bf00f672620b14e67 GIT binary patch literal 293240 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Ȗ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≤FdeO3=4~-se&ekj|z*XnS%1eCxpe)JVs??V)!dz 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

O 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 v!Urt2uavGua+nuE`nZ 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 WEh9E(pL;jZjM1dJ8d+Cj*na@ktwkIF literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.ApplicationInsights.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.ApplicationInsights.dll new file mode 100644 index 0000000000000000000000000000000000000000..92d06762d6a5f3fac94ad52f43ceb76bd5cf388f GIT binary patch literal 336464 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

yH%_HS12OR4J<*2o02>8oYwmJsXy`bVU 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

RMyN1K1_dtj61cq6YEi4( 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 Jf&TB3{{>qHNUQ(= literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.Abstractions.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..8e791611cc1a40c84c5de0cee1b694d573400231 GIT binary patch literal 119208 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

Z;4A!-J9_MouVij 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

#^i@Z4)Dr}|#p@au7_lI(i{?U(sJkGdQrSHCs_ zAoB87|0-ACmaA{b)upDgLhGuZ?`x4=F!-u`$>9joYK<=KE6!Ues&e;<{M{zg6}EEq z?EeKrp?t!@r(C(XuQYf2KBtR;-o1wY)^_izGo3citeo(=f6?Q*hu7RZWz3LpotbJx zT&;%#+x}d;!|Y_A~GJC(J(w;qT zbAIAKTl(&|4&lnEQ5*Z^b#K@&sIFO!C0`8uUfFF$Z0(coj!nilUS!+5)0pV_`%~%; z<(J#O&aHEEZd-NxWrNlSrUR<#Gn)AkZJD=3icaH4nv8C~D zK0RgQk53y04Z5=Oo0zPW zHI}MZiGyx8*<#x!{f8?nCU!V-BH(!L%0*qD>>u7PzuT>Wr^YS)@^!;8xoPb~RpS!7 zhBqJK*gf4c@N~q+_e+Nzca|#}l#X#9v;3`n_2oZJR1JC}?$HVtIkvcSFVUynPe-%3 z^G=83orm1(+RpRDv;G|?b$i@t{mAQqjiaobk4&g5HyIP&ziPuVOIrjwE8-jzk|HLg sw~xJ9|JI^!hHd!e?fwr%DVnP1PAM-1-+esq$b-3G+OEZ^&K&oD031K&vj6}9 literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext.deps.json b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext.deps.json new file mode 100644 index 000000000000..ce563dfdebbe --- /dev/null +++ b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext.deps.json @@ -0,0 +1,1316 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v2.1", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v2.1": { + "Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext/1.0.0": { + "dependencies": { + "Azure.Core": "1.22.0", + "Hyak.Common": "1.2.2", + "Microsoft.ApplicationInsights": "2.12.0", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Aks": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Authorization": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Compute": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.KeyVault": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Monitor": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Network": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.PolicyInsights": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.ResourceManager": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Storage.Management": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Websites": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common.Share": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Storage": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Strategies": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "PowerShellStandard.Library": "5.1.0" + }, + "runtime": { + "Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext.dll": {} + } + }, + "Azure.Core/1.22.0": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Diagnostics.DiagnosticSource": "4.6.0", + "System.Memory.Data": "1.0.2", + "System.Numerics.Vectors": "4.5.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netcoreapp2.1/Azure.Core.dll": { + "assemblyVersion": "1.22.0.0", + "fileVersion": "1.2200.22.6212" + } + } + }, + "Hyak.Common/1.2.2": { + "dependencies": { + "Newtonsoft.Json": "10.0.3", + "System.Reflection": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.4/Hyak.Common.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.2.2.0" + } + } + }, + "Microsoft.ApplicationInsights/2.12.0": { + "dependencies": { + "System.Diagnostics.DiagnosticSource": "4.6.0", + "System.Runtime.InteropServices": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.ApplicationInsights.dll": { + "assemblyVersion": "2.12.0.21496", + "fileVersion": "2.12.0.21496" + } + } + }, + "Microsoft.Azure.Common/2.2.1": { + "dependencies": { + "Hyak.Common": "1.2.2" + }, + "runtime": { + "lib/netstandard1.4/Microsoft.Azure.Common.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.2.1.0" + } + } + }, + "Microsoft.Azure.PowerShell.Authentication.Abstractions/1.3.57-preview": { + "dependencies": { + "Hyak.Common": "1.2.2", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Authentication.Abstractions.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Aks/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Aks.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Authorization/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Authorization.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Compute/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Compute.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.ResourceManager": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Graph.Rbac.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.KeyVault/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "System.Collections.NonGeneric": "4.3.0", + "System.Collections.Specialized": "4.3.0", + "System.Reflection": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.KeyVault.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Monitor/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "System.Collections.Specialized": "4.3.0", + "System.Reflection": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Monitor.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Network/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Network.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.PolicyInsights/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.PolicyInsights.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.ResourceManager/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.ResourceManager.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Storage.Management/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "System.Collections.NonGeneric": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Storage.Management.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Websites/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "System.Collections.Specialized": "4.3.0", + "System.Reflection": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Websites.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Common/1.3.57-preview": { + "dependencies": { + "Hyak.Common": "1.2.2", + "Microsoft.ApplicationInsights": "2.12.0", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common.Share": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Common.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Common.Share/1.3.57-preview": { + "dependencies": { + "Hyak.Common": "1.2.2", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Common.Share.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Storage/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Storage.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Strategies/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Strategies.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Bcl.AsyncInterfaces/1.1.1": { + "runtime": { + "lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "4.700.20.21406" + } + } + }, + "Microsoft.CSharp/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Dynamic.Runtime": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "Microsoft.Rest.ClientRuntime/2.3.23": { + "dependencies": { + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Rest.ClientRuntime.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.3.23.0" + } + } + }, + "Microsoft.Rest.ClientRuntime.Azure/3.3.19": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Rest.ClientRuntime.Azure.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.3.18.0" + } + } + }, + "Newtonsoft.Json/10.0.3": { + "dependencies": { + "Microsoft.CSharp": "4.3.0", + "System.ComponentModel.TypeConverter": "4.3.0", + "System.Runtime.Serialization.Formatters": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/Newtonsoft.Json.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.3.21018" + } + } + }, + "PowerShellStandard.Library/5.1.0": {}, + "System.Collections/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Collections.NonGeneric/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Collections.Specialized/4.3.0": { + "dependencies": { + "System.Collections.NonGeneric": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.ComponentModel/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.ComponentModel.Primitives/4.3.0": { + "dependencies": { + "System.ComponentModel": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.ComponentModel.TypeConverter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Collections.NonGeneric": "4.3.0", + "System.Collections.Specialized": "4.3.0", + "System.ComponentModel": "4.3.0", + "System.ComponentModel.Primitives": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Diagnostics.Debug/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource/4.6.0": { + "runtime": { + "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": { + "assemblyVersion": "4.0.4.0", + "fileVersion": "4.700.19.46214" + } + } + }, + "System.Dynamic.Runtime/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Globalization/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Extensions/4.3.0": { + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "System.IO/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Linq.Expressions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Memory.Data/1.0.2": { + "dependencies": { + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2" + }, + "runtime": { + "lib/netstandard2.0/System.Memory.Data.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.221.20802" + } + } + }, + "System.Numerics.Vectors/4.5.0": {}, + "System.ObjectModel/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Reflection/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Extensions/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Primitives/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager/4.3.0": { + "dependencies": { + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime/4.3.0": {}, + "System.Runtime.CompilerServices.Unsafe/4.7.1": { + "runtime": { + "lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.dll": { + "assemblyVersion": "4.0.6.0", + "fileVersion": "4.700.20.12001" + } + } + }, + "System.Runtime.Extensions/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Runtime.Serialization.Formatters/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0" + } + }, + "System.Runtime.Serialization.Primitives/4.3.0": { + "dependencies": { + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Security.SecureString/4.3.0": { + "dependencies": { + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Text.Encoding/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.Extensions/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Text.Encodings.Web/4.7.2": { + "runtime": { + "lib/netstandard2.0/System.Text.Encodings.Web.dll": { + "assemblyVersion": "4.0.5.1", + "fileVersion": "4.700.21.11602" + } + } + }, + "System.Text.Json/4.7.2": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Runtime.CompilerServices.Unsafe": "4.7.1", + "System.Text.Encodings.Web": "4.7.2" + }, + "runtime": { + "lib/netstandard2.0/System.Text.Json.dll": { + "assemblyVersion": "4.0.1.2", + "fileVersion": "4.700.20.21406" + } + } + }, + "System.Text.RegularExpressions/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Tasks/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Extensions/4.5.4": {}, + "System.Xml.ReaderWriter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Tasks.Extensions": "4.5.4" + } + }, + "System.Xml.XmlDocument/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + } + }, + "System.Xml.XmlSerializer/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + } + } + } + }, + "libraries": { + "Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Azure.Core/1.22.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ze/xRCHSSDe5TIk5vBDbVrauW1EN7UIbnBvIBfMH8KSt/I9+/7yPAjTBDgNBk0IwG6WBV+BBHp4IUtS/PGAQwQ==", + "path": "azure.core/1.22.0", + "hashPath": "azure.core.1.22.0.nupkg.sha512" + }, + "Hyak.Common/1.2.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uZpnFn48nSQwHcO0/GSBZ7ExaO0sTXKv8KariXXEWLaB4Q3AeQoprYG4WpKsCT0ByW3YffETivgc5rcH5RRDvQ==", + "path": "hyak.common/1.2.2", + "hashPath": "hyak.common.1.2.2.nupkg.sha512" + }, + "Microsoft.ApplicationInsights/2.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4vZcVaxywAzfLm5mAc2/llaZQTzbCqu9KirxxI/t49AkZH5Qxf7JxuAMUuv2/6JEdOOkGDzpvdrrIlf6LkFGcg==", + "path": "microsoft.applicationinsights/2.12.0", + "hashPath": "microsoft.applicationinsights.2.12.0.nupkg.sha512" + }, + "Microsoft.Azure.Common/2.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-abzRooh4ACKjzAKxRB6r+SHKW3d+IrLcgtVG81D+3kQU/OMjAZS1oDp9CDalhSbmxa84u0MHM5N+AKeTtKPoiw==", + "path": "microsoft.azure.common/2.2.1", + "hashPath": "microsoft.azure.common.2.2.1.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Authentication.Abstractions/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bKDPidNeqBpTDikPnIuoMoGd26pD2PNE41cut0ASwL5exJwLNggYO55U+f/cJkgjCUMR8i5nqnlfpGHSS1I0vw==", + "path": "microsoft.azure.powershell.authentication.abstractions/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.authentication.abstractions.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Aks/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sUGkvOvpqlEK5zdZ7HWaou3GY5bnlNrE0LuZ137+TsNfgx2E3+0Ika3a02i/9+niDDf60xj4LaNOYDSuK5zdJA==", + "path": "microsoft.azure.powershell.clients.aks/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.aks.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Authorization/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Q760F40/qfas2Al+GQhhE4gJt768pQPxlCjqrjjkukgVsq+X/M8IqpCeBzbRTiiyerhcjJoyNxqlGuZpUhqGxw==", + "path": "microsoft.azure.powershell.clients.authorization/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.authorization.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Compute/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1fcsBdYMmEJPMPN8EAgJkaJ2WxxTKH3VcLECYdL2cfg2bgN8CKbbjSvarrXEezhyduE+LdYnL0e8Pigsnaj55Q==", + "path": "microsoft.azure.powershell.clients.compute/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.compute.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BIMthJ1x2vQAN3iWChnNj8BfgrXvKXn+n06E0/h2MNurMXbAOn5eiPIfE8bnj2BO99uSh1ns09yEgOTPJIvZBQ==", + "path": "microsoft.azure.powershell.clients.graph.rbac/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.graph.rbac.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.KeyVault/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MfvwM8ABj/EswmYu0Bf/8kyAO6kUv2zYSihVn384SVmypomVKUu69GN0VXKbmGaovPI8v3H41Ldp7DqbPRun5A==", + "path": "microsoft.azure.powershell.clients.keyvault/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.keyvault.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Monitor/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UyCKG5BWVjYFRtH2JNx6f4KdccaSqww2y0OE2PYgib8VhLqkoPr/BQg6vKzaGsghLIerZ/egQ7ntPPw3PCtS3w==", + "path": "microsoft.azure.powershell.clients.monitor/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.monitor.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Network/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YAAHxw+zzvkGNWAi668NSoTR+V/7vf+gRhu1oFa1O1/f2NGpz5XuqPrQyAPrri64hKqB/k3OMrM7sjlIv16dAg==", + "path": "microsoft.azure.powershell.clients.network/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.network.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.PolicyInsights/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-urRIwRVzzOwpk8HhKq/b785DiL/arnmGUHbN4HvRN6ZsBkE1PU431YwgUlofb9pfB3buLcl0XJFRPLBJ0yZJUw==", + "path": "microsoft.azure.powershell.clients.policyinsights/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.policyinsights.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.ResourceManager/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-juWnd63Z2Sp+6bvtOPOF0Gj1v2AfpxXcuyodd9+U7euBro2G7Yfo2UHmHo/uaYyQUbM3HaXJPvse7BLDKjhe6w==", + "path": "microsoft.azure.powershell.clients.resourcemanager/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.resourcemanager.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Storage.Management/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HPpTWIlN+5ALqJssL7+6BD/vYrWi3eWKQ3QpWYjCFk5c9HVLTNpP+M2dq9jbsxLsZj+5Pt6gC4FIS22Q13Uhag==", + "path": "microsoft.azure.powershell.clients.storage.management/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.storage.management.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Websites/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-b5yBD9FrY02r0kdNNgZ+uU0/QsW3AtmnCE/x1mUG5j8ka/V04AYUo+sDokQBzu+vnK6Y6OrVDtyWjmnKTDHpWA==", + "path": "microsoft.azure.powershell.clients.websites/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.websites.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Common/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9jZYZ9LKbx16r69y7cO9d7bDjpE0/HgeBU386Y/O6q05VRaq2wAsB2rbQ9AjxcPGHfwS0+2US/RImSSqjVABRQ==", + "path": "microsoft.azure.powershell.common/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.common.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Common.Share/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4mJSjnwZVLQYWhP47eDzdt0yaLIf2I4pqaEIqcfAjkjdbKpnCXCnJUEFRId061yuKpq1LtfBZkHDRi68I5CJxg==", + "path": "microsoft.azure.powershell.common.share/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.common.share.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Storage/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fObXEcuhk1JUoQ0fiCV4nK4NJWqvsfsKCzapF7SFEQ87X6AasL6m5KGT8JQSnHmc849xxxaixPTxyWaf9BBlpw==", + "path": "microsoft.azure.powershell.storage/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.storage.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Strategies/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HwyxUwDHCmY6Zdxg2xpFC9Gqmu92Xr0cAr4ElWYwz8Z7PE9uYVkTpKMIKd7oIJJgsIANTfqEU1HKoeI3FXPLqw==", + "path": "microsoft.azure.powershell.strategies/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.strategies.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Bcl.AsyncInterfaces/1.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==", + "path": "microsoft.bcl.asyncinterfaces/1.1.1", + "hashPath": "microsoft.bcl.asyncinterfaces.1.1.1.nupkg.sha512" + }, + "Microsoft.CSharp/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P+MBhIM0YX+JqROuf7i306ZLJEjQYA9uUyRDE+OqwUI5sh41e2ZbPQV3LfAPh+29cmceE1pUffXsGfR4eMY3KA==", + "path": "microsoft.csharp/4.3.0", + "hashPath": "microsoft.csharp.4.3.0.nupkg.sha512" + }, + "Microsoft.Rest.ClientRuntime/2.3.23": { + "type": "package", + "serviceable": true, + "sha512": "sha512-92kNTi1N7zI5wwI2ZXswBRnk61OUYnuYJXrlgOhes5IsAqGmgw9DPGmhUzeY8OaZ8TTrQdDzvgXFnbCHwLzSVA==", + "path": "microsoft.rest.clientruntime/2.3.23", + "hashPath": "microsoft.rest.clientruntime.2.3.23.nupkg.sha512" + }, + "Microsoft.Rest.ClientRuntime.Azure/3.3.19": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+NVBWvRXNwaAPTZUxjUlQggsrf3X0GbiRoxYfgc3kG9E55ZxZxvZPT3nIfC4DNqzGSXUEvmLbckdXgBBzGdUaA==", + "path": "microsoft.rest.clientruntime.azure/3.3.19", + "hashPath": "microsoft.rest.clientruntime.azure.3.3.19.nupkg.sha512" + }, + "Newtonsoft.Json/10.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hSXaFmh7hNCuEoC4XNY5DrRkLDzYHqPx/Ik23R4J86Z7PE/Y6YidhG602dFVdLBRSdG6xp9NabH3dXpcoxWvww==", + "path": "newtonsoft.json/10.0.3", + "hashPath": "newtonsoft.json.10.0.3.nupkg.sha512" + }, + "PowerShellStandard.Library/5.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iYaRvQsM1fow9h3uEmio+2m2VXfulgI16AYHaTZ8Sf7erGe27Qc8w/h6QL5UPuwv1aXR40QfzMEwcCeiYJp2cw==", + "path": "powershellstandard.library/5.1.0", + "hashPath": "powershellstandard.library.5.1.0.nupkg.sha512" + }, + "System.Collections/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "path": "system.collections/4.3.0", + "hashPath": "system.collections.4.3.0.nupkg.sha512" + }, + "System.Collections.NonGeneric/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-prtjIEMhGUnQq6RnPEYLpFt8AtLbp9yq2zxOSrY7KJJZrw25Fi97IzBqY7iqssbM61Ek5b8f3MG/sG1N2sN5KA==", + "path": "system.collections.nongeneric/4.3.0", + "hashPath": "system.collections.nongeneric.4.3.0.nupkg.sha512" + }, + "System.Collections.Specialized/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Epx8PoVZR0iuOnJJDzp7pWvdfMMOAvpUo95pC4ScH2mJuXkKA2Y4aR3cG9qt2klHgSons1WFh4kcGW7cSXvrxg==", + "path": "system.collections.specialized/4.3.0", + "hashPath": "system.collections.specialized.4.3.0.nupkg.sha512" + }, + "System.ComponentModel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VyGn1jGRZVfxnh8EdvDCi71v3bMXrsu8aYJOwoV7SNDLVhiEqwP86pPMyRGsDsxhXAm2b3o9OIqeETfN5qfezw==", + "path": "system.componentmodel/4.3.0", + "hashPath": "system.componentmodel.4.3.0.nupkg.sha512" + }, + "System.ComponentModel.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-j8GUkCpM8V4d4vhLIIoBLGey2Z5bCkMVNjEZseyAlm4n5arcsJOeI3zkUP+zvZgzsbLTYh4lYeP/ZD/gdIAPrw==", + "path": "system.componentmodel.primitives/4.3.0", + "hashPath": "system.componentmodel.primitives.4.3.0.nupkg.sha512" + }, + "System.ComponentModel.TypeConverter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-16pQ6P+EdhcXzPiEK4kbA953Fu0MNG2ovxTZU81/qsCd1zPRsKc3uif5NgvllCY598k6bI0KUyKW8fanlfaDQg==", + "path": "system.componentmodel.typeconverter/4.3.0", + "hashPath": "system.componentmodel.typeconverter.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "path": "system.diagnostics.debug/4.3.0", + "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/4.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mbBgoR0rRfl2uimsZ2avZY8g7Xnh1Mza0rJZLPcxqiMWlkGukjmRkuMJ/er+AhQuiRIh80CR/Hpeztr80seV5g==", + "path": "system.diagnostics.diagnosticsource/4.6.0", + "hashPath": "system.diagnostics.diagnosticsource.4.6.0.nupkg.sha512" + }, + "System.Dynamic.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-SNVi1E/vfWUAs/WYKhE9+qlS6KqK0YVhnlT0HQtr8pMIA8YX3lwy3uPMownDwdYISBdmAF/2holEIldVp85Wag==", + "path": "system.dynamic.runtime/4.3.0", + "hashPath": "system.dynamic.runtime.4.3.0.nupkg.sha512" + }, + "System.Globalization/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "path": "system.globalization/4.3.0", + "hashPath": "system.globalization.4.3.0.nupkg.sha512" + }, + "System.Globalization.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "path": "system.globalization.extensions/4.3.0", + "hashPath": "system.globalization.extensions.4.3.0.nupkg.sha512" + }, + "System.IO/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "path": "system.io/4.3.0", + "hashPath": "system.io.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "path": "system.io.filesystem/4.3.0", + "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "path": "system.io.filesystem.primitives/4.3.0", + "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512" + }, + "System.Linq/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "path": "system.linq/4.3.0", + "hashPath": "system.linq.4.3.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "path": "system.linq.expressions/4.3.0", + "hashPath": "system.linq.expressions.4.3.0.nupkg.sha512" + }, + "System.Memory.Data/1.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JGkzeqgBsiZwKJZ1IxPNsDFZDhUvuEdX8L8BDC8N3KOj+6zMcNU28CNN59TpZE/VJYy9cP+5M+sbxtWJx3/xtw==", + "path": "system.memory.data/1.0.2", + "hashPath": "system.memory.data.1.0.2.nupkg.sha512" + }, + "System.Numerics.Vectors/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==", + "path": "system.numerics.vectors/4.5.0", + "hashPath": "system.numerics.vectors.4.5.0.nupkg.sha512" + }, + "System.ObjectModel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "path": "system.objectmodel/4.3.0", + "hashPath": "system.objectmodel.4.3.0.nupkg.sha512" + }, + "System.Reflection/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "path": "system.reflection/4.3.0", + "hashPath": "system.reflection.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "path": "system.reflection.emit/4.3.0", + "hashPath": "system.reflection.emit.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "path": "system.reflection.emit.ilgeneration/4.3.0", + "hashPath": "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "path": "system.reflection.emit.lightweight/4.3.0", + "hashPath": "system.reflection.emit.lightweight.4.3.0.nupkg.sha512" + }, + "System.Reflection.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "path": "system.reflection.extensions/4.3.0", + "hashPath": "system.reflection.extensions.4.3.0.nupkg.sha512" + }, + "System.Reflection.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "path": "system.reflection.primitives/4.3.0", + "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "path": "system.reflection.typeextensions/4.3.0", + "hashPath": "system.reflection.typeextensions.4.3.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "path": "system.resources.resourcemanager/4.3.0", + "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512" + }, + "System.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "path": "system.runtime/4.3.0", + "hashPath": "system.runtime.4.3.0.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/4.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zOHkQmzPCn5zm/BH+cxC1XbUS3P4Yoi3xzW7eRgVpDR2tPGSzyMZ17Ig1iRkfJuY0nhxkQQde8pgePNiA7z7TQ==", + "path": "system.runtime.compilerservices.unsafe/4.7.1", + "hashPath": "system.runtime.compilerservices.unsafe.4.7.1.nupkg.sha512" + }, + "System.Runtime.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "path": "system.runtime.extensions/4.3.0", + "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512" + }, + "System.Runtime.Handles/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "path": "system.runtime.handles/4.3.0", + "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512" + }, + "System.Runtime.InteropServices/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "path": "system.runtime.interopservices/4.3.0", + "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Formatters/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KT591AkTNFOTbhZlaeMVvfax3RqhH1EJlcwF50Wm7sfnBLuHiOeZRRKrr1ns3NESkM20KPZ5Ol/ueMq5vg4QoQ==", + "path": "system.runtime.serialization.formatters/4.3.0", + "hashPath": "system.runtime.serialization.formatters.4.3.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Wz+0KOukJGAlXjtKr+5Xpuxf8+c8739RI1C+A2BoQZT+wMCCoMDDdO8/4IRHfaVINqL78GO8dW8G2lW/e45Mcw==", + "path": "system.runtime.serialization.primitives/4.3.0", + "hashPath": "system.runtime.serialization.primitives.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "path": "system.security.cryptography.primitives/4.3.0", + "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512" + }, + "System.Security.SecureString/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PnXp38O9q/2Oe4iZHMH60kinScv6QiiL2XH54Pj2t0Y6c2zKPEiAZsM/M3wBOHLNTBDFP0zfy13WN2M0qFz5jg==", + "path": "system.security.securestring/4.3.0", + "hashPath": "system.security.securestring.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "path": "system.text.encoding/4.3.0", + "hashPath": "system.text.encoding.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "path": "system.text.encoding.extensions/4.3.0", + "hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512" + }, + "System.Text.Encodings.Web/4.7.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iTUgB/WtrZ1sWZs84F2hwyQhiRH6QNjQv2DkwrH+WP6RoFga2Q1m3f9/Q7FG8cck8AdHitQkmkXSY8qylcDmuA==", + "path": "system.text.encodings.web/4.7.2", + "hashPath": "system.text.encodings.web.4.7.2.nupkg.sha512" + }, + "System.Text.Json/4.7.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TcMd95wcrubm9nHvJEQs70rC0H/8omiSGGpU4FQ/ZA1URIqD4pjmFJh2Mfv1yH1eHgJDWTi2hMDXwTET+zOOyg==", + "path": "system.text.json/4.7.2", + "hashPath": "system.text.json.4.7.2.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "path": "system.text.regularexpressions/4.3.0", + "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512" + }, + "System.Threading/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "path": "system.threading/4.3.0", + "hashPath": "system.threading.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "path": "system.threading.tasks/4.3.0", + "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks.Extensions/4.5.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==", + "path": "system.threading.tasks.extensions/4.5.4", + "hashPath": "system.threading.tasks.extensions.4.5.4.nupkg.sha512" + }, + "System.Xml.ReaderWriter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "path": "system.xml.readerwriter/4.3.0", + "hashPath": "system.xml.readerwriter.4.3.0.nupkg.sha512" + }, + "System.Xml.XmlDocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lJ8AxvkX7GQxpC6GFCeBj8ThYVyQczx2+f/cWHJU8tjS7YfI6Cv6bon70jVEgs2CiFbmmM8b9j1oZVx0dSI2Ww==", + "path": "system.xml.xmldocument/4.3.0", + "hashPath": "system.xml.xmldocument.4.3.0.nupkg.sha512" + }, + "System.Xml.XmlSerializer/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MYoTCP7EZ98RrANESW05J5ZwskKDoN0AuZ06ZflnowE50LTpbR5yRg3tHckTVm5j/m47stuGgCrCHWePyHS70Q==", + "path": "system.xml.xmlserializer/4.3.0", + "hashPath": "system.xml.xmlserializer.4.3.0.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext.dll new file mode 100644 index 0000000000000000000000000000000000000000..239999aa2f3cfcbf08ae3d6faaed5c002dc1cb88 GIT binary patch literal 18344 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

@tK}M9Zj8xmPQ5 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

EZg0v)ybrrtRzu8LSK3b4FbUlSzWg9kjyfW z#qQbjl{1*l5c3kZhGpyGj7&hnw1oQa4YL8;UV_MMejz#Aq?hNR%jI&Gn~KnL1dUA9 z#cIpzI(T8EqOnAVZ!>$q@qq0y8DEz)ohw zQ^-w7OoL8gl9;EWF){`cDabQ?)$&o3I_hprH)JPKj%eV>p)G@wErdv#;Ft)aGO%gL zKHwM}xfCsnFtgne1px(%ObFNJSm>Lz7h<@wl85}XW{#$ZNoPP?4&qU16Ph#&$3rY4IQVT9Q-*{T=)SAqLI zLK=@OVZGsx2d1R3)fFPMQuR7$aeEk#7$gVmYhq3@YRihq5Oh?G(5L36r_(qcFf{IE zFdK@%!pvrUR%&K`lEEUc%3LBjzd5iZf&JlbQjipya+sq4J64LiIe>f|dQ%qzCX(%d zGXup8ZgPO6q0s(>0xi7|A+R))fw`-WmYgb#IkB4Bkt{`)KM#H)$jm1RYe<)iP;iNY zaAOYQrRf>6B3fx4a4oGmxHUW9QIG(K1^btAvBi*Tpy05hG=hShxq3)T{!JXkwg>S@ z4-;nr4v?`3XwwBF(DMit+eL76c(s%aDFtr@NH`QCLM$FZp;rO?FIptdky+YzT*jkVV>L zz~XBpE8+~yWv*X4xoU%#7LBO@UF=C-L%cq|M_A3o#_?pJK>z<|aRoQJ~ZUl7q0^zzhgVp&|m9X?iAT zgsun*!oZ`5VIru6o`snB+*BM+irnsq>%ovAD_FGLN*4cX+(bPTuL+Tn1z*?_OaWUI$I-Gz&~VzE zB7ih`DdRUD;o!kg#u2b4vU0#^Y}VlU#N1SN(o94Ul`G=x;yH%2ElU*^j^hp?CeDZ> zMs~8y5BtFb(7rfx%q&sT0}`Fhl2cl*gQKfwrjdZUc0v?`C+6nlAethF(x8~L7|&G% z#oHXXsML`Qlbj#O8V6K#{Ou!hlqBjcj*QgU0b%PS#_~le&z!bml3xrHlOe}6fzTyi zJ4|HW63p!ol_hJ4p#;g#D6$I#Zp1Jv&SZeQBbZaj&Bj6?4W^Z8M&exrt3-N}KTFmO zgW`Zb6@hrFV4x33H#${fPD`vd2b_&8$we6XSvf)qS&lpjZzo4$ojAQEfZQ`F4=;AO z=q=Dj1Q&Bw?n+{CjwAQ?n;XRDDjCAR#Xg>l$O(- z1-8*L#h8Z^PJ~yaLqfK0+~gDNTT{%Z;7|qIp6?NvOqB~SG5k}!tpw)$$ni-qIp+gA zBbT1~mMKngi7-;~LZm1k^cy{1gGR~OWSaJXZ)%})G&o5e6gb6*+28*Q1yoaifwVJjd-6bV5e~@J~=d(i{#5oHAGvMcYw`MQ)21Ep>Ph z#o?I%WM(38gcdrpOe1wp%M4%> zV-y^MLjbch56RKCYY~xHB`UC{M#+~iQB3-ZVnX)jkWTD;!7Pd{a0q!H@?rg%_Ys9H z4HZ*Lo0nUT0S*Dnb_4T&ikw3UW*|l|LRPU%87C2_j^e3rZ?ldW6K3ZWb)1LLGIPZAN<@ItE4# z)`&ga!5$oBc`X6kb!eHAV#zSbSAtG{!eEZ(!#9^W!yc0fAmL{g#c|mlxLIINB$m}) z=D5PSb3|_({;WX#$g<2?mE{?`L}rgLn2gzETNf{aP@yw>8CZ%g=|@@uAb@i-nQ@O$ zDLFi53Q~yvf}9pF<4QCOKom!^uuC@k6UHpkwxlFs4CPo)nISBmh%!SmYaAq+|nc~{PVTMRG92%lzS=n48wdR6f?%Ue!9H|N)VF_?Cl~J;Dnc653 zrLp4%>q#42f^o!B&d8rmVoOBkhMmtP8##bmzGhZKN|Qk**=cf^JWW;;*jWw|&07g1 z(^%j@ZZw%o1kdb-Dv4a_F*O-bMh6+xK-LP6VacGP7`Ll$S&>Y4%b^a%iy_JiiYiCmr(T{)@%!Al_)#1aHVU-4v>3=zy#QPg+g zk;NIY4-m1Eo~OZ9G9e>AQNwc>zZ5B^$81E)L!3HePYOIpkL}}07IyT(rb?0$h5Qj9 zyW``4h$>%Sw4Sy|E1EC)j;uLLNKa*QYLXQuUk9-!Q%}X$jp~mod3*&A80!iE4Rz@g&YEqp+Cq zFFr>gNjsSU{1Z)OKl6dspwpBdrbz6Vd>V{})mr3ncc74nya~UMHn4V)sI3!n(9(bu7!jpr<8ucAh zRI|2xlDyv}hFQz7w?+Gg!e}87qiTpBkg7|aj#MkiUMm?>CZf<}rP5$ls%Q}nxE2J; zz>h`$1ya><)GwVLg7xa(MLI{<|1i;d($r~5M}Vvm_$EFi2rWCr3M2Nv#evq-e;3jI zQSJ(hWjn$I!qBE00unhE@n7P%;Fn=2g9B}8e{Hi4!A3AZhUl?P_(oK-m9^m004S~Y z%Q$ZcTYuh0E@Swn)vyisDt_;+#_dkj3x2)BFp}sni_(nx%|M9-wIHzpRkJ+rI|m~% zGTEj>OFl{xJv6Eu{70qqXp-; z4ag|gp8@4G6QO(<=9dRpKIO{AVT3e(lOR+hHXnmq5dtuJJs3ig+Jc`{LNg$W7*Ip- zkVKbIzB8a&;9z(>v?v`y*qb{v0T;G}my2R8MiGTJj-4q~BT*g>IISnu;v%sj=EDW5 zT-@5r!g-mzT^Rc2LY3qI&ATl`aufDnL-dh|UinPStVH32iwvC5Pn(xxDO;W38iJTW z+yKxD6x8CDfL6E>pgF#Sa63RMQY|r~V5o-XC~bq@halA&`PL|*R&DUz3eYsPP}n?5 z%9{uvkc3t^22X@6dpKOX5s8VIT(^~mp|nK_C<8C`X9m+`V~{1apR^ou{a2jKqcJ&2 zH%enCMm1omVJc!)2r#k*84Y4lO+~fdV!0kyvJit2>(P7!TaS`Nib0VDgdwHr&;b&c zN?l4ESlk#WO0Lpzbp~!Db`R&SzfQh9Ht7ryvNWFl&k|8GMRe#>(uK)L8AMXIm4yniXd8nIM+Tq`?o+XDA*q^#Rm{bG{Hd5atvu}$l8Joz z_)x=8mcs-F-x++Vqyfr#va|`yH+S(#OWT<^Q5t$#8(-u`>r5KnD;g#K^>6oKkw&3}h8#;2s$V+vfmAdMJ-En-2HO{O_hX-q1?w_hr-j zUp;}QTCg~m58T9%vvCTR%V9tY*5z?n6%sO~O_$qw#rF#d5EI&v>`y~VkIqPx6u0^$ zOH&e6WR;PHMIwmn4M~yn*0dYbP>1*>6LlQB5+d!@L^eXHMLc>dT3^~vl6c^grjZKP zaeV7j5%*CYo7u5*O70BDu91+JwOJi|sJJ|nw!ETYA_hzbHLZz+uav>s+LzSl5>gs| z7EsVGlkcdq(UoQZ{Ta5uuFcCPvxAf+$?PDWG>@{#%#9%ubJ83f3n|J=9}6R~W0?h? zG$zYAsj0qDO%5TxlDJs#%K}}A`{?dgvYp6p5$Xgm3tU<(QanYuQK%*wdqZ+A0|4i~2H6&*icRQ`M)r~(Dg>gA#{MVtPG-!U%2-M=3dr9eHBY0aG+~y? zXrG$V8~1+5>*BkZn-`pF7F@5G#CU5M%DE{c84*-33+;)8sW#|n>luSVj9>&au#V-# zCj>N@;(~!(%f3KHP9qVS#DQdFQG3ay1J3q_kGqmLXRGW&GEOc(VAVA3TQkQ1W?=0>)-1^p4Jo1+C^ zLdvyZijksK%^4-k%<18I!j2c!u#q=sGo)>8hRYM1#84ESGAEO?5~-*`h95-|iBtbe z&N9ha&ate*@RHJnmYq9WYAi=CV+}QILmrbLW2!rLy2Qf7HpEUmrqM{oGL2D(7G561 z#mmG}$UVqI2_98qdy>{m4V?Jt85Tc{F*4s}#GsihPcasJJL1A59 zau_6EY1@#T4hKz1R&%9F?gCi_v~77Lo+$X&21dgo9Z_~q+yLa7OJSW;a-c7#S8;FZ zuMLw&AIhfRZ#1kim<#7IEmBh8B7;$iBnojoMcH_Ooogd5UP%CRej>+FYRNgBY(nB| z=@@}@GDYf0RFXH(C00XlnzWy|{vqC@x}*!$(0P&IXa_E?%>u*&1FG8y-U7!)>r5l% z(Y0(?hlIQ2Zh@^>fi#~iYKJQck3OC7Vfw0aoeIV+TrjcVcDCT878K5Eg~A=zGb()i zDCtcfO3JIoxYDO}vYVeOL!q*5!?$g!!dLK63rN|Ja#0H^+xNgylgbEE&do(-o#CzO z>#Z6HIIsz-zVtB=SNbZwyc-1sjN%AF?XfA;Dio*3VOP$ofZD*oaU=4=~TmNZ^0mM9njg z7=n*n{d{cI6iUV{NMLb@Nj{?e;bWumVo}k!JgdE$6|QFK^(?)!b>DPu*5#rPcV2d^jD2Cn~|Z7LBR5S&Jq->69K5w zRf&z2taNqv09){yer`^X31Q$8Tcm`grqbS^COBPDvm)C03MxR0)g)n1)29TOhC##e zl4HeQbN43BbadoRlEabpU~E7mt?A}m6O8RBlBe0)>~v@I22Zd>+6n$p4Mz^U&)=J* z31d~z?;dSgpMpgglPwv%=8E^_`ZGbHDp=|(IIC;}RRtUTk)c18O-nMeuR@h1%B&>L zoRCvYreP_EvjH5!07wYga@hb5G2j;xFrNXxs0KM}%LPK4!pAnj$2J+C$W6t*!CZX` zwh)Kd7P1{Dea!(3H9Z+^SUc=oj-Z^HBoar!cxxB7gVNgpuu)@G!9g~dW71$|vcVi< zz*DqeY#SKl6jiqF8dPUlcj62bbT7p9IOq4)n~9q90n|evJrzdW9eor ztzl^mOSfd{md5J=>LKZY#ZwZDHR58wJYWQ3 zc+1mBcoMoN#Lbg;3#AIMA6A>beZ=pwMgnmWLsfX6K2o2o8Sm3i?2}>SeX^vFb%~qc zOj@*Nk&!HELL<>Ymo36%@hJ@w-^JE z=5EB>B#N;{B+4Ofr&Pc?*U=vf$178>+_zyH=e8@nQFONK9 zIF|CU?!+{p&Gkez+Ze_M10cOswtQ5^O0jROC;LWY+Zc|NeWM@S7}gQ7fi0hyi`AtB zYiy^uE#Jp_Na9&)1wb-Y!vJk#D8Z0Xg7qRT4hqpQ!Oh!Ug>mJpY%@jF^i6%u1o>?s z3h6nn6N;p%5c}IUPYxv!z$To}nB@uCLIux7_4J%z;}o2=Z8K>^tRG6yoMt-aG}FiW z1!FYZOkYuR$-5yNq3F=aZn2LO+t^n@+(Vj?RVCXALxlo$cT9AlIDmy1H1QE5^+IuY z3#H+)1PyPYV|WXFtjF918Zy8&@UjP$PGwspPJ_N_UWOC}T%Q8GE112(;(emU0vVo20$DsV4RUQOPteI^dd-q$l4kqOPaW zRum;Bn=9cVIc#BkL{1L|4&M~(x6j!XAJ}C06npe^b5dnuewZ0}O*PI1Zh@dm0`bOy z?Z>%5lKBeW-by$4kD!AA=%^CIy-nlh;f~hgHn(kKga9%|1OAP*p<=8j?R#1_+E&{r zLEDNYXj^S_Y^!ZP)+^HfixDhA6K4aIq}$VP7=aNq@XUi;Gh&50|;w@(MQE> z1!tHZuv>TrsFAvba&F7qL`t+P2*?E@0bxq@la~#!E4zBe2XR)Eir1rg;;T3%fs=1Ku zQH^m%9qvE5)F$z6VV$XTY+5QE4Gg=(Mvf^XhDyh0%)hZNI{ONtaz$_xOf!gC#)<&A z!*B*4`zoMF$Z{+2LAf^+j4a!Pbn(q*KN< z2ih8BtYU!B8pXPW@u60##szwNS5~{QZwefcD=L05(Y92Mwi$uO1j*z#<~4dv_UZ`8_bJN?_qp@;lWDYxslsr?7{?eNZlS^8R& z7VPU-$?vBv9asAVt}S;m_~4zvb<&%^TlL4lkJj!gU+C7N!Pzm}jfX2d?>p_(`BvX` zZ!;w_-0kM|SI56nsr}l+kKP$)eD~0A(edBEJ3x1>>IaeEJ{;DhsVaKSetpwN``ujz zuCS&4_c2onQu8C7(w|}H0dW3w{9k#@w99|$iN{cSz?H_Df^QvOoJ5aN1`5IW4#g{) z=)pBQ!li?We3a55Q4TvUYQ`h|Em$<4;_`%mPHQPmv35E{l^!~)Dpd{uMtPtd?@grh zf))%dooCS?oKLI4;b-aN7=1LVCkWN)Xr=VWYTNQhm5QE^7k#8FhIPvyO`)^&C^n&V zVW@Oi$4_7bg%CUr8h~ddTj8P50MJ36Z@~^A=s7zbo0=BGrs4AQSNXFi5{zFhxkCIfR=qcWoSO{kwM4kH2s2KI1dH6v^kMf1#+%z1c z^V~PkDi5sIb za|=*ePkkc#tBNHIzHAqne0I@I{9co&i(CD5pIE-QI6GBVJVL+>) zk-D&=YSaXvE`%5eIN}3TM*Z4yQ8qwAV#{YK@}kGsYvdC$UVwgVGwlU*aA=!jZ@Z8} z0viYhvLe7@FIdD<)zEeu8w66rK_qVmroK2B$T4X+f7BYw16Pt#Ui7hsHAD>^as@tK zG#9uLjEn^F6U+TwD1nLjyHGPVmAN4B#A=I9h*(3VV+k_+pcRyEw)n;&h_NwznFAws4o5JazP!B= zJwQjqKh`xk?IACgPK!M#c?o|Mpm(QlxQsYz8A!etnAZg!gmo!%#H>q^0R!`rMHSU_ zfWZzMQ4a(1LnNFH0nHiQCmGNxg0pO3)+hENwG-%sm;_kI+b7viU20=>>5W}M4&bJf zc6_P2msh)rhYG4BRVD?31~a-1W&@`~2OKx!aKbjw4P;4D*?Q8vY;2PFVwo)I44gu> zE{KkaK^uyYy0DlZ;A6;%rAbl%a1KtFKt~?nqk~mCq{1mxc`*hCRzncXTb!tBIF=I! z&ve54GYcZH=NI@n72%}k7kufF27XM%s6()F@TAF+rW#mPOk|%I2NC@^3=th4z|fRV zo8SPS#uvvA#}p9qPiqM{yhbeM9R8<+WreZ=vDIL>wu~_fT*|4PfE`P+1|bd>>Hzyo z2|tllDJ}q+Bl4||=44NMOYE!zlBJAW*{)#`C<;#S0E+50FCKQ~dx{0u(}H`(>tT_G@mn<7PuO{URLKNzhG9bnl2@ouv@0Q~u=!>P$nb z39kVRP}7?h)wrHijmvh`dH7Yj8i-5wXW|!s2dHrYl$!2yp_i_(cIoumGHs?>$KQKI zws@ z)w*-*z~JUBBSP>I8Q8gb=hhJ|n`=UYgF~ajqC!F<+X#Xu-ccMB&^iF`5)M%a)dJ!o zlW-pddsj*`@gDH@BZ2}nSR(IAQPS1#bn7K9J)r9mgfxXP$Uc|=wk`pVb&=mMOP3qV zmI+tZ@C!}YB@Ru?dLt@czxwz05hMtGF~xs<9>s1`D0B39m*d}sxuqZsR0w_k2V*Yd zop|(mK)gy&7_1Qb|7GmbosnfyM)P-f0KOT5x7h#dGmtKg;Mexio$GWd1-l(?a3Grp z!Aib3@~?IyUezJpZ0oq|gZ0IBMHtDl1*1Y3 z`XBD1^q1~29utHS3Ss!)-Jf`+kDZhdbvlKR@)x?LO&?Ad1QxkMwW;iVo%T*3PzEW4 zzJIk7cCiwFVKQR|iB)9W@E3WT&7s77Pfg2uG3;OEh_bpV^(HAh)gaPHAw@)XPL9S? z?+PK|FA$Jz9JWkN@e)+oE04t2p8nN+B*$CUn=+{jy!TwtDue<5!=ab)&P~<>MB88F zF8L%%dyy(b59aNo5EB1~6Daz+SB4nM@ZVEec9AR}H?HK7?Ls^A;H|@dRT3A&jthTY z`f6c8uMh_R52=Gml=b3PMk>hr6ot_5f7nZ@S4%Ve(C@+~v;V;QwdUkS_J022Ve2zD z0&-t(ePYX;>+Nd}`*ot$z0Zb8^IBRKKaKoj{g~-JvMvnYtpCaPs-gS9Psjh5(rxMH zS3V4Xc4vBgVADE-9-MPmpKu#}%+^0Z0f{&Pj{XOH=N(N^x}3{#DWkRa$&uoh>a&BKM#NP+rW0M!K_#+hHoIic@Tt# z_?wTi`LZ&Ago^Yb` z%{)M6j>0+}U`!o4Kzu9Izp;IDbg4pOm$0B#A%fU*r6FR^G`s7k=j^DwZO4U(nhDw; zF$3wJb6cdc^PG}!s@Da7eL5+GW-gTD|C+f#bPBz2_L73nNc<{?E>!3t#33Jp z&nTqn-!A80UeJzoV=lRi{ktP8#gQStxw9?;@D+hS1+dbud7^M|N5A2s(;E6&C;h9> zS|y>BPHW8Ugit!aWEF(<&QpLG`Us~w{I}rgrC`cnbu^ea|Bs)32||!!D%yslw=8y$ zNT-nq4+td>tkgJpl5TOMJCREJMV}PNmkuB4M1lMmwUgi5*n)--_|OGz8%_ z+(D$UuU7;xm~pa4>*%-~r7WC(PLY?bhk)OoA#!N%yBGSVGjeHU;0?^THU8icV4V0p z8RJZ%BVD^g^m5F)*JTt6SPyjAwJ~A>t*Tp*c#sl5%{7OXB>`&9#?M19RoS-_(Jh z>36mcDwob%4my{;&X|3@hB5gEZsrJyNjxWLt;$;2)be=DzWQx+C9oC?rnr9u%{K~vt+Eo`wJxxhrY1o=eM=9K2R72YLgh}rwe3EWnqIM>PBf&`>nqjq;bH0^ zO<|RdithEzdK)8_g(FW^;UgU!Tn*&w?8_y@^t6LI|`h84?o=CaN9F2rgZOG z_0Wg6CvEt+VU@LaQ(ARe_4cxBZ|rXV?1b0P*N5+3wkcNaI@LRD<@)gW)ai9chuppV zpmVD+#<&){-`pCx!kqb2^_my`&-}jq?VtA4IMMQSivw$Z9_M{F?$V>{16wTV`r6^U z5$`@8cyGbpJ=6AkD)Xlg_~F90nWz2w);vEdXwnS7#POcl!rnDYFC5xEI3lwf1k|Tvb!q&duH3 z6|U~!br%;mCnt?RRq%GM>|CkUtbRUWZ=D^se(T3^$~(1Qi>i`;ToX^lKF%?k=p~Vw z@W95JhQvJOd}Ze<_E(yj)$zHwEZ(S2Fr*m+D{CrIRTtm#LBSeLU{KSRA+1}rY0XDe zk49vz)FoT@eZ0%bf|XTTx30S->!TyN$~l@O>awRH%w*36n)W^VU+^OKF5ANs04Ke6#ixpQk@-#?;7K=(z`a$y>shxYqg7S%pMxNt-AM_%HGQRZd1pP{bEqiYR~>chuA)w zYi*gi;^Bt#ll%L=zo@~!`a!|7nzsKr>ZcWz8vK^9JxKdvM2p)WCbzvb?BJPE`#<|B zt>FijXUc1rzq}UtiRGzK-sRCt5 zb)Y15poBWWo?CVIsi|VkfHh~cR~A%^ZMpsa$9?L2(78sFVYm9lul&R{w7PT5_Sg4& z)w$4ToLoL%_r}=SgX?Fmdp~But&Bk@F3(Tg=-F)l zx^pX z{4i?!l~CR4Y+b97%L>yfG(Xwt?Z?-@bt`{*K>pI0#y86EF7(aYJ-huczh7_KuVU@k zUX4B+WxAqjyESIe+1t0nXO25JdgJJcHO_U|FlFG)$vwtbzrUzO-|uF;+I($rpMzUF zya+nE$*KK@jq7HGjy(!6Q}-`a`#xm zo+-26*txfkr9n#7MjwCCuu*7(xox_JeEr&nS!-+7TfSn*&)V8UuQrNVm@?^FgMlaO zbnB3CU`y|g^_}h>AJxCb>3Y|523F`9mAC1!aCPTuWkJe?y?&c^)i{;h?M9nL6>imw z*;)0Ih}R;&+qd5|>Wb+`{mXlz<{kXy)0(|6jGOv%Y>a04s%e*h?*GBMXP4Fwxwh|J z+vwY8Zg;y8(|EaWqh-s-q+5S@Gj(Lj#unqh>AhgUp1ekl?%mGX-)MTX>782l*mre8 z#N-1W-4C8x8s5S(=eO*~Bh`JH`3@XB=e-U+g2$gL8kvoRYuk94Js*}y=r+Px{?bYC|n5Blp}Fp!I{uZ z)Ksv`eiw}sR6r3mXKLP788{<+TP2sct3NLPJn(qE$t^Ygs6}mOXd+FI!q~!Y6Jtaz z1Z`DP%`qL9!{5%%G!gbKb}izvc4e2M2~G(LV#;oiq}-tF5;XCeI4KWh*ZF12u0@)p z>0W~0qOpBIgI7D--qqM3X=Jcnq;0cA0=(?yBIHvT>I|U=8AWeYUznDN}+Bg0F#HDku zB;{8RIC<8RUUz=EcYLm<&6?NwoiQi!y=LswrvxvLA%axB^+D-eAx94ZUK$w|Ioh1(ofb^o#coOh}!$ z-#;zn-HDgaKX`n<@}l<|Uj1_EyT|SfObff--)+Gg9bEHVkGpQjtzBuiR=efy#m{Ou z@4g)Nxp$*G-|AcZ{O+%d2E21tII}2fSKkNkF7@cvrQ$qm?PEgYgB#{A?HHL?tJP;G zKK$^5QKRZU?J}qKs^6pQSs%Usc+aq{-QKKmXWzUVhbXf1KG=FC+Jdbx)tY z^;0?PkA_#*J=5HF?mq4E<=m{aneC4+>=oBzkF|H*MI(KJ>Wum&%yUD>-#_|d$-sS! zCe80XyjNV8$i1Bp&mYm>)7oX&^ZXC??aIm;dN{%CTYgmhmw^SWi1!z4g1rP_tUg+G;|KE>#Sa}r0&*B zI_>7WZQcr;|9*pycfL0_Ytr;1^?&HO{&d0@6QebqWzD?;TWW#|D_K<~<7SJhTdS6} zr{&uYj+t|TLfADf?C8qq=U;F5ATPDI=UpE|#Z4hszkX%G+P=@zx9%+8Zgj!2?pt=NAFjjMN?%d?TxBtk#GJIq8!gkGU z=HDyKIv6eVzIXL!b&YE$*J--7dG))KyD#0^d8hEFGb7IXYHl13y}C4NW$-zD$h;+k z`dvIE>~B)D`K_5voWpeT67C zQTd*xpz>{{!l`6zqCnBtwVcES6%n2&P;>!pBcRecfty9t6%*Q_L;NS-b!?J4?8rU+R zRh!U$8fU9g@vzW#c8Tq@#&+UwF-x0knnInxsjTmaNW_@%wxDdCTIO7KH)P?hYP!Hz zH1&CP|D+6UrrxYhN=#HoCdRc5Y~3cZdCSh7HO)hVT80ER(A1-PPQEoAXz8WW&GFz~ zR*qVHi(FxWPde=KN}2-aXO7T};>`}BQ%`s+pWa09Q&7AqXKV`1y!N*cLY$eCuYai{ z76UUH9+(N#1ce5+32NOkhypXg@UTO~?ElGif!xDDN0sx! zK3dVSK_zpoWfP``Zu+`n*K#{v`6MO(MbkkpyL;tSPF=rZ!UTtVyi}!tDbbZ+d$_Ydq>xM{zKf43(t1h z@nA)d@vetblP2x`e%_3_Uca`fG_UTKF0Ol=6tz9o4LiCdb&6cr$J(>f;cK13C&#T= zy5n)X>7$=Mth4M$c++26+g86fx#Cvqsn3p%oHqH+^o;{sn|^hl)LUra`}oxe-N?Si z=k*(XnEBf)7rgS$H|qB2s}m2W{^~z2Y4OyckO^%)zWlygn@LU9zc+T}#`N72R{A_| z`>9Lw;6bf^?i*VFomPsEFO80`eCD3&#luZGmkxd1a9`CZkM6B<<~I9k;uq>~RQKBV z_~U2gA4^Vu9s2Rmy1J0CkE%9(-t_2Gm&{k&A1Dlozp(P{VZ9D~@Z{Ek!|$5TSBv>Y z716e^Y3HPVRgVnvxSw&wsbcL3Tkh9=+Im3zJGVL>l^Z?9>e?tHyV5#_)5D!!NYy|>H_JM}s@tNQ%-b}JTN zINv9F&dA$O8vNF+Upt?I2URX5%xm%fr8{kAPHUil=lkorgnLgviD|L1Pp|oL9ggQ} z%5_ieH>&N;hHYo=zMAb-b=2b96Ki*jlnnh4NW~zTSzqsb_}S-~)lR*;c6m(n_zr%WEXIs&>nyNg)HbwsRj%FHKTmLSg*GxUzI!u^^Pm zXf_V9Gzii-L=7_7y7+{tu4xq5n3?FAl8FlweXwQ_;?H7C4kmj1pY|nL>Hk`9#Y0oR zG`R-OUK&rSQz!Rg5{_BS2OsWJt$(yXzeY;ssVO&hr?$U0M&UPq)K61i`|7oeZ=5{% z?A+_=#uw>Zz0U4wygycD$?d-E+~(|~8_U-``n0P$!n=Of2im3U)dh1u{drvdsWYxc zrv8w5q4#s;jh~KnK2X#1x1WPQ-IkJmdGh_#JLli8(e=sQMpyRTx##lMl~0~5j=z`_ zJM6&JSrx|4J)JOdy62#kE5EGe7xjDAr&qrWbRJx7@AUo7Ayub;S1|C()BM@}-iSLt z$h`J!W$oHmf1l*^@Orx{7dL;Ui=V#s%V&%JsO!HuIBUj~7o(pI8CXXbcyN?O#! zWBNf0evkO_fp&&;=e({y$p+w-ki z@iF};+`Qr4{@C!FS3}Q)tbX+K)9HuyzP;dUw;a#67yLHGH@Zjaub1{~zOe0BcKFQU zq3a&rOn7C+`$q(GmW-@zNh-dE0#na2WGe#N-ve^1~_RFaxDP>i8LK|!scBoT&Y z*8k=o#3$&@(i9>g{hToP8znwKiJir~@mXn+)sxSFQdv zWOu7qbm!;3y1n}7;5F9%W2aQCxiI0y$2U_OTpU{A>wynnOiTRw%+C{g#r|?>=hP+F zXHMVPrdiJgw{i^SkAyVOnHG4cRij@2pmI-LZT4iYoon2Y>r`*34S| z?Vqc^HjfE=FDm!T11T*psV1L!zEnMC?6Y(4M_&He)Z)UJ6zld2E60ZX9Mb*Qrr95< zdfwdQ;w6_Y3O=efr?^S#$gFxP8HGx=&N? z?3@u$@yGE!qpls_HMD9!t-^dH{lh`uG#a727F^Zz&2shKPoJthzezKC9S+gG)xU7r zxHwtuw163CqY+o1eGAi?+ zkH6`csZSCPOsMkq-gbT$s<-~!-LGoLk*gvz(WrE_o6rv6ve@dQH^*@rx8C7q9{(OYUV!@P&@r=ucOm%emEdC z<9PeoGx~q?)q7PBXnJv#-9v+uqe7e<*^hPp&43!69BG^Xkt9_7A*4@Xz=_nSO5 z=f#aJ#~M|iTyA>E`R(1G%>TplR?ElrTctO>QvQ=4rp!BYweF918+LBrVD=9dOaGzA z-|ujHY++#Vn4L#&jouTQ6LEaTy+f-xa-i0oBfl6 z`)pd2GvxlF0_7PvI~^%Zh4{&$|GTdDhxI%$M>kiOrru7<>P~)w_3neTbu|)Qoc)*o zF{M_omFC_D78N3%Y_l#I`w#1D*=eo|ZVz`6zW-%?c}?A_6{MI+U{K58R;~MqfR;FX z<^atIO*=<`##s>jWkDTOT z(zi3YjVXVxg3pSTu}yEsw2Atq$^8pYj(MMI<$6>5mDj16^}jdx4*R-o&b%Xwt!Cfp z#tv&6zhA|r>CKQ1D=Po`!|tk4gTmDF-s(AF`6}fNk5`7?aJ_WkvR~n`5rZ3R-kATb z->huU0}J$l1Dx@xN1gLH_$mM;>9D-mK{HmUZ2 zg9}$}+VLW~>b34)1)C_zI;G^c*=y2 zTF=>#d#&7!>mP0Q{p6V9;q8%%-LLOjQ@v$j@erDGfl^Sm@3FpOUiJ6$E{)n2U+;^S z1xFH`hR^h$CWMS!x4Fs>V`jx(atrSALO(A5)3_RA`^60pdT`ReeUfUy`ta7^e z!Rd=#$GfHG=RBJFdf(GEIv*c)>TYw_lxXE=!T#OH)H(Z8$n4g6ZF{xuT4C<3);X)@ zyKU{XBBw*Z=SO}GJ#%J!fNA8BaoaP`5APEAxXzpzwcA~Idw#V>wYD6eFn;p)0rPq$ zFP%Mpre;J!=aYv%PU~SF+M=mjc;iRm74mNEY|*Cfrc<4M{AS7G3KhevR7-g+`SRgm zZ4VfSztKdwXZ+&556QS8L#T zu|a;Hj_-6B*(ar4nrlC=%n3hyot3q>eeQQD8!rqm_awMktm@i~!Jp+%bNaGji>AYa zM_p+;w!v4YJYsi`zJKOsl_#}wroDDR)%p9T39Z9ET>jnG?6}!)Ce~lmd3LSDql*u? zy7s;l`F*#{`_oU%bY1d&<1Q0^SHE)X8*Ti-jPH)$U)=jqp9K>tv@`Bo{OY9eE}j#A esJSAf)2yg>0>1vxYx9peJ5IfqytS2Z`u_nsXC)>8 literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Aks.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Aks.dll new file mode 100644 index 0000000000000000000000000000000000000000..d966f6c302c5ff88b90615a3e398dc338c50f5c2 GIT binary patch literal 90000 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⩔K)^HrjvE+m5e^Es2?vKefUMBj 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 E0^N)Anf6ogEO&;C0=c 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

!SB?9@1=RQj`c5x7LQyqRAf> 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

*WKawYl5PZi{& zKU_LsMEBz`YaW7p?iR?086+P{M?T`ACm%gzV_&H=^5JGlKBeP0 z)IWlZCgk%8>}TX7wwer!Bp+?yboY}eZw&=?+086+P{M?TU(Pd;=s%b7MIAG(Vr zzLCb{qk8Ql9(SI6G*1J`dOZ0^n*%iz0%|H*>$lxn|5?UKK(*xE|TbK^VV_sTa-sKuRiiVe%IELN9f5g1tsBY3~!t`Ifv zSBPyfis#06zonTI4vNJXqlU*P!CbWu}e3PQ{Wu%M= zUjCApP>YyQY*==65fc`Hkrs>~Cc8q^#6)b1QN(07?58ma>ao@;Xa~iFUX8X^b5F)Z z*QwQ*d<$8K3D&9o4z{xVyOMqnDI)NFi1vR6Mu0XDfgezGzKxU-z`JP@0csHe3Kszu zX%qpmEk>gV1hqw=SgW^oom%?kVxZqS)fn7{EX3frEdL?4viwI#(fS`lv`1vs&wl;S z(rEopC_3wrvh{bj)>DhtQ@GZ%NTb$^Z7~|PKB%Mqf6mDGh2b}G$ra^qf?m0{>pLad z_MajPZO6M;KgSl9;+6CllKv7Y;_xeo_7(%(i()KMI2-@T$&Q5?7??9Fm+_zkjft@t~Lcum;fLxbgTCH%x-_4V-{qB8K{Z`)>CHDVD7GgiLT{%xueXe8!_9^B`{2Cqq zb^62h!W6(2_>jgqdcfAc2gReg-S@uDD15;M$Q+8Ce^j3kR(g1U$9pUi&fg1Yo4n$P&gy$YuywN7)CVR3oon@EzG zJP}*!q`)S66KO8ufzZ#R$oWTQnuE${nnV1kyonTRi#L&2xY;y^lrNr$4aK5qjzn!U z4zbn_M*mz%1}AKqgPXmkIZ7MpG)E;Pt#p`ajxl&)e!AyMc&OSmhXh04M4|&&Ntu2( znC9S*o6{T%SgP|M{KaXG)jSL8s<_PHGzX=d=3u#UnnQkpAZYzP(gB<1NIleP4(DNm zX%6*pqPsA7h-nU78WnFMF@w__lx~_sJoM8XddSAUQfJc~+$^U#O2=`i&qqd+X^t(i zpG|X!ttQvNoaWF5PInifymbMlId*3Q^-UyZaGHbCO>;;C{WJ$1&2px8tn_`ZgzjcJ z(|DRg_1Z@~?))@|=4l{VkDum{His#KVwxiq=`+m{cM6NxGzZ6oq(;VCp z(;Rz)7`o%w#*)C2N-3S@P=%B^4X+be@v56{zmOTGIrc#nb`03EV`8#N7jv4UPZ#Sn z$LzXTolQG>4;(S=ec`CSiPSH2HqAi`VVWcE1lD2G9Na9YIix9aqQEpqfW4qL*emYu zEWpj1Q^9KgqvuL^#&XQ4-*Hf8Tnx9-;Y%Q5W}k#6%cmrrmUOA4%aFD{KbRb8nB=&e zvNM5{U6s0(sD#BpPf?>Mma zjvIaaw?Y=;zYRnj|81ecB8if2C+YT*-UVsvror*2Va9(YWoK)ojQ^e?{>)(fDP8trN5^ldMvJn5BAZninzZ)`par=%= zzX`eh?l6lHwMCKhk1Dq_FXeW68FM@RD>TaOJ455|TGGzg%yDboT}y$aS#kT*Q9Qb9 zsoYL~9E6Y0D7Vw8NWD36`>t>fq2G-n=N}brr*dd+XW=2ZJrs+$Jy9D%$J!p;z6+c% zZs%q%ZZB=5++N8@D;tC7)!+wXz>jN8Rl6R0D%YXhgdd!oEG5Zrz*Hc+{p8RT|K z$L-QU&+T*+ONt_G!tHc7%bCX9u6pew9(SJGHBSS{dOWvFn*;L}+#ZVb;r6&wSj4!U zZWy=IKDk}$QEums;P(BnD*L|+xvyixSbXPx5u5pI*i-7S#rBHMNSmp_5)a(yvY{S^IHc( zduM%Pn`f-i)5d!M`lra!+J|TlR*ieIEQ?$gFaU{e0@)`Ms&z?rEKA9B+4O6-sy7O+EqW^}-?BlS?R!+F>MJJiF8?!ho? z9s)b|4cNg9Vh5$e4)M@qhaR%AuhbcKaI?gY(s3N>2O^^hcHqLgzz(t1WK1G`TAT^FmfX-Drz>^KyT>U3eh&>42nLcor=6Ih2~2RBRX zkfz9q0@!h1)+X2y)bm^SgBJIOACKp)F;DnEejc2stkKqCQYG#&&l!1t$sPAa7P#Xu z2;+{2V(#*v_Iz+qge;o+h}@*vth7 zZq(eyl_(y~ZEQ}n6%RxU5vU_6a{f`l1}cZf1{NLy8$z)N8xpmR;IXy`Haq}M7&dUT z7dDhOQf#PXq?HbX4M)L?DmL)ot6~Ekz`D!yyTM&X{|9}n5AU04s zY+$((8|3!_Y|vj19WZQ2JydLP9yY)R^>CtlEXQETme^1_jzj%uWHiBs%BI3v38Q`d~xcDJ){xKsO8G6SeY#k&VRl`t&ZZrmU_-yq z88*;Dz=pUJSchQ)H%n}grpSpR!iJzOu%YCJ3++9!-$VNM$lhk}kv%DSj|@vT%CppX zGOh9~^*PX8i2v^SD4w$-Zn!s|wf>6CS3Cq+;D(bRYVWh0fXwQAMV6oF^qcTL%fnz6 z=ah$2qVX z8^)iluZjP2k%jo52NB2rdC*|xTS=cU=?f&i0BP$>gX2%bjQ@p{opX^g{`d}95r1Yd z{**5MELVxYtGYq_>#Jt`2iIH1Ukr)wQT&6tVf@*87yr2<;hm}%A`9`q2mm$Wyw=vs@+euIdJnudkYsA6#!4 zc`+ouN0ATeBJy~T+dUiG6J)ZUl|;Gnq=%> zLD_jJQpO&ysTHwj24hd@V$X7w*t@D5#J;|2#(r?UW$eX}_#VYRs2j(g?RT-CGxA-0 zllrSNUvm|*5c}&OFkgddp^-B&N3<0-K8gST!o1IInA^$nYp_GFIh$*p{)cB^;zHhO z%koz`{bv@$dV)Fg+ea)OnP*oY!#}3-8d$=G*J~+q{!uOmG;eBNYb(6xAbC2yGk0?C zj85;cK{}Z;cZQB*RZ*v*%jV=Zuz*rJ;qxl&<0pJrD<*vSDeAecZLy~{XI2l^*1Ql$ z52KkKo$#TXk$Q8Q@VOq&p)+1bk@Jt4HH*;syCE{|RY+7>GvPBfHCBFeTBgn9H92aF z7vg9!o$$dz%o~=k#5?Wnm8@k?B)eEI6feYuV$p<8qPDr0SnDhmpXPcsoUjQWZt8^3 z_^Okq##?)%@@Z?N_&K#8{zOD+yvRr^H9ds;M8tS&KNwzf-TJ9{%lB9`HNIi_>06Af zXkU%jM}L55zaC!b!MggyOgGH!HFz(xwLi+*KCB)~4F=Ko*mP3rp-v|`58ZUq z#MDIVD0;|mWgM*@ZiP#6^>A_b%`j^oF3$Kt(^a=!h0`R~&_l-b;;cjIrjx|O#jRs# zauL6=p+5*YJC(jtr_)JTZWY@ypVWN=wy?4x^A2SLv3w{sIrVqF3Fqgv*W+bn`}=18 z{WAVN^J#RLYA@a%KL&Zhb=`5W(0vO^+EkNNlg>j-PffQ@pr=z)Q>_!Rf$rf{lQw>; z`&QPk-7}T7j$q@j#d82z&W!0PEG7x*rkbSjQ>~L|ax$Bov<9#lb{vIQ@s><3!53~O zm$XmD-of20r_)eB4C?ixyR1iT)aYTVN3fr2(mV|^>+w@f(&jKtQ%p65B7LTs;tpdG zn`+`=WK&JF&k;@P(Wxfxh^Z!d74MDM&T>tqluk9NLdxh=Q;nN$ztDy-)x=lv+_7P= z%-OTBxKHdC2Inrj=&FXO4+5UCBrFOD;Jo;9{7KP8In`mKj>AELlr*quVKHC;< z+rNc6p|+`8h=r{C9U#7i%Ze7phZ>`36KdQf6E4qIZqUw>-y$Z|!V8DehoUZ4mjI7< z@EgVXp>AEJU*iS$VytgCt&w$(uvW2q=#K>M?M(R(5^m=~N`<2kW1^?YW zLY~guyNGi}_-zk-hYhE{w;>BX|1OB+9^u{K(?h|WS^f@W_TtTVI{hZRNBCZt#i{mv z6gmH>-XmmQdXJD^7Iy^o9wGfJG>VMxhQ=c!?TpQwLu8z{sgaTXL~N+YNT(w8=7fyz zhjR%12Pks>G4r0qF)~tFgN**$903{qw>eliMaJIW=8*CQGKOLiGA3%Hw^-W)8Q%jZ z3>mrE>mFfgBfUph$w(_5<{se(;YAhdc&JvPjt*ow^E}kmEfvWhH}4UCn6mSBq`XJ? zKvKhTf=tZdJwi$cbu3rjBa~kt&J_B4qyq+ZsfP-6&O--vb>HSt4=1`Gfm!nq_Xv-q zhwl)sVFvFJQaY#;5B)ttJ!E5Fsk3{8+$`@AmX704{}3{YdxSUO+=}fl;3T^C8r|k? zfwld<^7>JfH=vU`(viOIn;qKl>F&o+-Wra3hexsD`i>Sec<+$X0i875-#cUju&gW6 z3effV$}8Q)nu|!|dxxsmzT@%efll)@z^umuowPZ?PyuwINFSh!JBvjO=;($49qp4y zq#gx2?g*g6N_7jmH)0#>OG+xG6zEhTWfbUY+;sbeHUyx!+X zc3rH_rX796T--avs%>`fuwUp5b!Z{nJB&Mlbr|Y!vqT+fikv`zI#?Uc?i~iTO@9^7 zN-w}~x7XSV4=~P|lW@+P!5QS4FGHq0vlOgyH~e=z!!ublhxR4pe@%GiX=d z=5aXF%|X4_;r};;XFiF{UOe+Dr{5Gjvvd(wv4qXlQ|oqLGBR%w7DD5n?LF}azUT~^ z?tUJB<1BO&Mb1A~KhvJO=C~;nX3SI88Jirl2{X1p$!2UuS%jV^hl0;% zk?p~UM#pAG?+fr58yb9eMDg&T_Vk>|IWzir6x|DqBN+-m^fJk)#h>Xpx`xzTJFnRq zQgdhK;_BMz#GYG2YHoXHM0WX}drZ=yow0L!7bw<@$@Z$bGrK}138o3}j+|Bt3Fe>I z?F!kw87`tnzCe-lkD0G*9U~BxlXKP`I)VwA)hJ@Vl;2QY1KsL_Q*AMA#?mPR_5QMI z#6Y1~#6XGKa3t26Cw?8N&%p^}AZ{uH#a~t}Z2$zKFRNBE(n_rWgqt=S@MYC6!i#aN zWI1lmhRHJKXh&eBR%}-$%fz4NlV$uRRJn>qu-Gh8&sB9_YvoCXGf7{e?0f<#zt(y* z2k*m#tC+#BwNg5+V!85bt@3LJSLtt`4j5OZ9x7Kk4;@$4eXUhJT+;n2%$kSzTI(_N z@Ot4YX7FpRl#Z*!L;tl_{T;-H7}hU zy9H&8rNnMJ(AIsqRU5ms`!$re#^TGZ4+<>B41T$l(y^2@)_=K`PGh-Uq;?pF$*~?^ zZl$|f&NTjVtLnACc*J^^(mV|+>+vilZ4Mk#uv940ho#~UVi990x?wCu`(!DpM_GzH z7A*B;Y-hQqQc77$6;ei7s>V&XUuZ+ZQhGetw2|0p(#2${K3%LVHM=fWXVZ@MEQK$( z_6wb{6fJ}=x5k~oI*g^bNtTi?w@Opwq=7HD29^rygr#t56P9`%qLrG!N%50$W-hYbizJzUcL3Cx;@Agtp8VKIY*Md=7jJoJR6zk}FU>Wr|s zSrS(1IDS7rM8<3h>!&DVge7*H48OensEu9P{Ta$zV?kIC4ur)F5*DQ+ENQGKEIN(l z>X9}fEV`TJOk=`Qz4jN6SWj4*r$J>sp0K3Nfldm-3Pt)5R@^}>VuVFEjId~*geCPT zVR6TTuzrN?EZ0;@DPgHX$|zygxasx_ZRkf>Vy8(Lld$@9u@ctox>%h}J31k(exWnM zqJ=z7WyDHx0MRlkN!H($j+{e0E$@Hfsq zzo*FgN0p|Sm(mnlP_UEI6n!r=J!tAT$o4cvqhm8S9JWz3^=TCENmFz$fhMIXdYNQw zZZ!1=xQHJ4BSp?XDl|pq@HEBJL(o(x7SU9qHn54cJ!tB;aKdPco4shNw2{(OB_pkL z7@GPMyy#6+%+Zd(XD_f_p(*jFIZg4GP^Bpv$#Uj3p(&nZNK=2M?ED{6($qr&O)-Ns zMd@gYV!a3%pgrsI+~Kk zdYYosSxeg;t}gKvX=-*|tj?w# zozPUj&>2n9LZGR*6Ih4Q6gNwnlBUQ>BciFGzH{fRc=oDcslOu&EcI`QT9*1JGJCPq zznp$kvDANH)3Fr)^ei>9Jr3Zd-7P3`{!wKq=A|sf78K;9EJfc7O%ImZfNalFG&(l( zv-@upOKm{$o-9T85@b@AqL)d==EhPPyJBf~lp^OJ6_%oMc$Q-6Ay_IDi&!dA8`i|y z9xU}=^nyVJY#aIZN@EP-Q6^$#Uj3 zVJV(u$Wmi0)%gehB1@eZSc(~BDN4suELXCW{Mx}%`rD@i#!{(=%2Lk51}vo>F6qt> z9)hJ#3M|D8vJ|CbDe=&=l>QE4U#T;e;%3QGrQ`Vh%tgj*S!x_*jHSeGlYy2jrHx(M zU4Zh|9bl=429{z5S&GuJlr+|}6rIL*qmVXXDY}b~x*&~NO7+@bJYqddX`Tj^^>~(& zHU|zVSSl3h!%}evv52u0-7uD-eX^9)qb$W83znLPZG3@7QYob@r3xvdELG#C+b^`C zA4`dyCS6RH>eI!_QnTw~bvEtjgr)k0&RB{T0!zi6z&ebjxLLB4G(}Dt5laR2oy$@@ zd)2ViLbwfOEH5iMd?^dJoGH3zk}FU>WrnhS+Z2=IDS7{BV)EK zwH?YBONrek11(uf8@sf-J<3~S!BP(oEX5466s2P+X{=`{I-TWAo3Iq!&2pwOOQ~M_ zi$|hG7lT=D6 zOQ}N2C`;A2>Glh4=*LoGr%4x+rTTQSvefLlSe;EfI$^1Pp);1Eg}_pAC$J7WYa{f^zEas(z#dZ}urG&*66`CG|wG*;EVbSQ=%pZ^3D8kzIs2ake zdkIJ>VbRMZV{;>{7F`IaIj|yQ?IXq#p^bmv>!*V?ANf=`3g3gs|vtmNShBOZD1cJYqdzX`Tj^^?1UPHU~N>2rCrnLs)SK zv4{~C-7vzUeG-<`qlCpB3&L8BZG4taQYoc`r3xvdgjM6F+b^`CA7P1|CS6Rz>eIza zShMS5bvEtjgs}RB&IpSZ0%66Sz&ebuxLFdGG(}Dt5n%=Oo&6jY&tDN^-4D-M={g2` zA`6VQH-s_P_wX!N2hXc7$1_}5W)$lf?1ju;jCC)k-z1Es@AlmrW^sPmk0R$E)pZP* zr^GaGa-O~0M=zC+=GnV_^smt9>wNn_;~|N5@Fw8VfTZEqF?ckJhiRxq%h}JK9qWmTBr2I-?j`2x}L_oxnPb zVz^0)k!6~sDRR%)!Q&cDe}_a?xfauPV2d5`_a`Cua(b@C zG#`AjJbo6OXRjKDxi7MCqIv*CEyEm!%w7z0f2ZGs4D&#k#o6UZikyE`8HRZ&!_dou zSajBh{uLT!n8Ts*3`09(GtWL|qZsBo6z{<>^e2K9Wf(dYsW&HvISS4p^hZ3LFr|%@VJaDErNc1HG4P_wFg#SN3_}O- zu|)dafMNLKCc_*@*|{H5GR)%w!!UykL+KcX^2$T zI1{6do$elw^43@|%;N*YFoO(3=@>>D>lublXF1a*3`2LboN3H3s@MMFG3Xga^E9Ze z$1{wyIgI}W!-OJz7$)u@7BPmQ8^$oSPll0tlwr7I!7#^SJIghdQpzx@kTS|JHEz27 zLL2%qjM!H;mb1tOrw~K!8iIa4|5VS3x;_q)?T!A%5~P{ z;mE|f;1Lu#|EPZHo_T>dXhChpeDP51<@ti8#%A6c)_R=z7`8E=L16}Vz?EV#T`{>a z6A+I?WoX5tD02Q$`PdqjLl538JjCD~ibaEWqPB4~*7g{@9|k9E@aAT(!Mn7P4&IfF zw9;V)??=On>fp`epgMTd0eozYem5Arc~o=oejH`zM5G+NpTN;#KUwgH863PR-Qdk~ z<=`y`GX`%xwCR8i-l>N=csmap4BqPDME4Y!H4ia(pGps}#E%c(3quA6Z%Q|Ki-&&j z)p#N*Bn*qWz-WIcYsmNtjMt{AXGkv;=< z+$k(#12)~T0h{(YU`stZU~@+d*z$Gx$6`CnHI-62V5>sP=zv}0rrR&HAq?2nugi;_ zCSA+{yH6MEfIYh|R%g?WPCgUcFLX9w(?S@q<4#~5HehqJ9I&M+a-zV19lkCf)a7Sl z%kRXFVw^k`a|WkF`gMLY!zn9agNjM<@BG-fAi8$M%gk1_knaKgrHZuT0pOB?B! zUCBr*9cIiv171|eY#s;IF`EwH^MCZa!I;gXnq&4l%FYv!a?Cz0jM>cKm`&-%Y?dp> zY&n=QX6vC%2W-qvJ=8JVdDvjgRu3n-&wyF;5M%b~Va#R*$81VBW{Zb@%+^CT_LVvt zv$1dWSZ8B!l-7IGskJ+l%KH_ob$862hK(Zb`W=osHcvpVA(l`&ht?fxueVa(1UYRBxe zky$%tcae!xz_TfG{!tyXnU{{)v>A`t=Ro7fY?d0E`F`D)Ee1B(nEf17hE_b6BIh5K zF`LSv$7~iJV$2T3qA@#B+wd7{dyLr~IALQpH+zlQrHypVu4JT@4l`z-3ooi;Hjjhq zm`w+=oOw;gY#!Adv(KmOoQ0HQ_LIYy%?ys&ly1ysxpK^wgBfGC9@=!k#_ZHX9kZQ> z4aRKsaH9Ksm^BYEWHCB0bE7bC^TxLyL$&g7e_Yw$U-X?_58cWf-08g1 z2}S^4N-iQm8;HOa6rIbEG6HRj0JVq!h5Mc?i@*pzJj)2+(}r~s5ZhuD5x@rqEdoJ3 z#xL)&T^fVukBq-0#Ng%EmNB4Tqx{~EkAWTwS0YPea22+){Ax+BL5dh$3(=l4@F<`S z#Nd?_omU`b49>6^P>UE)xTAnY8XW~F?py z*uv){C4H@=*CRzFUI)>hJMd_rB}C%&6rEQgWh9<%k)Rflpm0Y6i!?eK#I_iXj)tJN zqhY}BfnK>|!N=hZ$kI5x5nK4wrlfC{^espchqpqs=M9VlEg=qXqv+g#lyR7`I8ci? zP`Eg-NTWE2Z7~|fA*h?hfnK>d=y~BAa$a~lvh+9cPHf?$bdtUsDI)M5i1wI7;K4Yl z$eHmW*x-5Lct|@l(gq^%UW(2;kTL@6ECSRb0u&pTy|FkmvIvZv2qQQzoCHyGW)$0E z6cNCu@$9@1)MKrap&fi)pkJe{hv~j6?lEWNGx$w>Q)2KwWFZE};gd($%JL5)Me9EV z(Vj1@e>jRs>mPv)w*HZj)_Rsk>u;p!ydNoB{|swAwP-!XhGlOlTF)Xd@@N=A>mLJA z(|WNjM$!7mVm}=hf_kj=IB0ELc+SZ9h2fld$ra@}kzS3qPT`&$7e+@uR<`}a$U@tX z#0RRdg;swIqCGya)hvfrf1IN85u|MOnbvA*(P|3UY8GkKYOyUwqgDsCwYoSDo;@;t zUTF6VFD=_mzg)ZZxc`>)`6rO2$Ni_Ug^w3W`Wd8%!Dk`b3nT`QN6@6_pMVYa{Hc)E z^R$5&e2${?Nu-RyGc5+xA_f#2mc6~`c@}|@(_jQWe>y}>&x>s_iWocz`)SVy^;ql4 z&<;NC>DOrMDZ1~9d-!wU=aGdNfQ@d(7CurT=@%va5>iCs%Mk5_5{W}Gq)H@ukO3_r z5?`U{+=P^oc$P(iT10}voda0}kr+${Vq1(N5`heYy4g99Ub%CikHc4yrE&NgwzB-| zlHMxmH;^I@--KvyIWP{iggAVQqH_yU#^EfB1GR_)g^L4=G>U`R7Nb!dg1T88=v7S| zzKtx6!*{WTFE>c~eMx_S6mhr>qP=Kf9B2t~SWnUU4pPS9Y>NZ6hy#U-1B*0@gV+|M zQ5=H0Ssdt9O&orRERDmDv6baNk@TmM{tPMN@N9XCB)(XC^|nv$~c^3aiA7) zpm1?ukw$S4+hR0|Lr^!11HE!_@Yf8#Ko;VFYldH83+q%%`WvK(z;7Yi69Xea8;HQ~ zC_2AH$_V5Z0csHe3KszuX%qpmEk>gV1hqw=7$<748R%C{41SL+jlmzWh2@1M{WDU; z;4cvEB?DtX8;HSQDLQ{Z${2Jk2Gk-36fOoV(kKRETZ~3A2CsIV>Ul8p{iA29^Xj(!f{!P)j11TfXwMbBlNKm+|Cl)~@246#q zZ83^Sglp)aZgve#uiUkh|2_N%S$Zt|7h70A^e#-dK#B-t5bddf#{z920;4S2*?>P7 zfoEF;s6_-Q+_AtSjgAGeEk>hbA*h=k3-qgUEa>&)9QdZk!aO!1ACq*xq~k~ti3Jet z>4A};B}8H&MQ1KjM&daZ32G4u3Kt0$X%q>uEk>hA1a-4>BfYAL!I4s5%7HyMs ziKLTA5r-*=_R@iIpe4j%nxeA^DdT_-Ov$_wwTJ_Sivx=^ii6k|qfs1!x>+3PRZSe0 zB1_}299vlCO46+*-3BS*uq{M;*}yo^65_CeqO%Ms<8ZFUfm+0Y!o`6_8pT0ui_s_! zLES74^r|Kf+aXKia2IT4`ASLeD(MbL5r?}$w3iQz11%vAJ5qGEN6I*yXK|nwaiDN< zV39^~5ZhujibGI0ivzu?iNj9F(m3pbEv#Q5X-m>wks=PeLA19T7zbKH99B_uc1FrL zJkR1lE#g4o;=m$};vlxgXcUK_ZWaf6RTGER$kI6Mjx8(%A?ZCN-4iL|a8HQ#)&t`} zONhf>6rD9l8He*N4%8wJ6fO=d(kKpMTZ~3=2TpqxCpRFqX>v?F&af6s4W5m8Ipe0#9%G5 zGzJG^3-6ywdLN{S!NCyiZ3o7HHV}hDC^`oqWei?mF`yPPpl~r@kw!5P+hR0|K~Oi1 z0sV3@@N;a3A`3CV9NYb{mF0&aMeFYm(Ow~~?>EQB(rEnyC_48=%GO_Ct)~{Pr*N}P zEP~b#o?{c+Vic_pb8JD~Y>tgyxw$6a_QR2-ZGRxP@Fp2jwEZZE_I3l?&eCZ6(G;B{ zkh1L;THC2b+bLYzS)@_h#kLrY+8)%++D@-3ZP$6WW00k7KNeeAejHM?{lO6J?WOJg zX4qI7ZGQ+w=Rru>_7_^)sYTl<+zcCwpzVWa*u=INMccy+TTt5!o8Dunom-_>(fry2 zwip@tw#+dek1RYdbRxvUd8<#Kx7FJ3VcvBN@4Y~S7a=4)S<;6|`f#MJt+pJQx4bR0 zZF8sQ%6&MQc9R=%hsdo+8qOx?bRR+4IRWX^oUHXC#O1axp$5F}02RKj-Jx`61eU|C zJyK|zFYhAH<1J4yB)(($lomYF3C^G{ z7P>hE_dNNJH#`?2w%hPOw(XuLTkqbBnl}>S|43vZ{*Q);Oc(D3l3vQ|1o!Z^hVzcLN#p=GWy80MjEPC#iuBbIp+as{C);yu5 z_MY%!7d%dkV)ooEH+wyITiQsUyRBrTl@9aV?fLM+{B#R!@d&o(ZY3DZ(ooTJ#av@UYL!nn(ncv7TwKqrtx#Ps@Fc^ap#}A)jSO(>+#RsN}IzotHpD- zp-7+SZsSg25qs`deoc?ZuM&^cLd)lFr5=6mmOJ9P+o$2Ng6<2jjmL;3l~VfLttzC9 zK6hK=rrR&HAv|~6Miq7p*rHlur%4y{x!XQntk2!fu8Y;#w4*P>5z{^cj;`Np8jEW6 z3!Oc8OAFz-+qe^0hdp=8O%jVNswGX4pCO*ReL8Df$_uHWp5K~*7LSCK&)pu0pDEvO zeHWyEzx51TS8EO5Sw(&e(_0WDw}MG_guDYXeZTcUaLtkNx>`JGjkeZlrF^D}?DJh= zpNo)%L+4V6TK0J{G7DVs?DG<*_v~|t({Dodc^S;&WOF%1&OfT`!@QJz=zYO8%0BeF z&?x)R<3gkCa~U+AeQ0@X=D4*R#Xi>oUV5+(J#@rUtRhM`Bek**eT~$c6Z^az&Y_R4 zpvd`0g?*?TntfP!2=)oZBKAqth9R-G2m8DfP8j=evlsi6Hd6MfWTcf2!#-ESiz@r@ z2(GdZ9msO#HDMo~9mqacQ+6&!O7?kaU>|0XeJCCKuw2PL@>2!-=nt0;82h9iD*HGO z8?cXhIMKZZX3aye&&vY)FoWzv>DWg+^z5UDZ0sv_#y;FE*{5_Ihx#j!(S&`j#eT*< zVynr(NcPbNPIq64^437G&*g!Am_hcTbnGJy^z1`Nvz%!Y_My9Y*dA%jKC0I~;&JEM zNAon0tjDvDv^j7?!9Jl#ANGkmg++{g=!U&>MEhhPsYls|JA!@A#IV=B3foz(sgzRo zQH7LI_Nj5x?HAe**yow3B4!`4)1-^ZK7G1a*=KfLtj?w#{c^I;v*4(*PruL^`_MvQ zpSTlPhp`VgOZJhb$cX~%a~5k8_6h3wt+S!M6WNC+t1;I4Peyw9tV*^7N%h)etzc$n8iuujTAZm*zd)_ymX3( z*#UDN(c+ZI_0Savqmw>#z0lA_yhP$O`--TEoK!MA8?;fCd>Z!xk$-{M2G-vTepPd8D-qrM7DY+aT! z&%@Hw|^bre11lI%yThrB7M9xmy=17^)bd{5@e087l^_hcv? zEQyEydop^+#=cT#u*A(0mP*GF{I?>b2`s%6`xz{Wt#l+^HnpsE0vpI>*iY035|*@q zOS|tvd21lPA@hm=OU&RmWGEdhNdx^iWauc~EJJF?N|-2`nw-Lk1|N$#8TGC^4oR2p zW;xUN8#1cbKH_obVM+5ekgUhUlC(L1MgdEqNFP{=JB39Imgt7T673U~q#lJO?g&`w zV4Uo}4cl3+sgzP!QiYUJSgLW;?HAe*V5y5LVptM8O}dz{)TfITmS)$*>TKH4R}q$; z4Mzb>%k4y@b8PfA3Z20cErf5##GSx843@Y_SlWs+LedmDQQ#Xg&tYu>OF=!q^;~EH zOU3)y9h)cmNit9L8k;A=*OH=nqB&q4&J*1oGMy)S8gw1}clYRd&Khmuh8OGPJ4oRk z{kxF`R(dZ)e2?;d&}8}hCH;V;AC&Y%NLwog-=m~q-lM#cvhyCKyhnL8f3o_F1T%P# zlG5FyWVy;cN>_D*dzAH6^B(2kddqv1Vn}?C?okGH!+Vr$y}L*0_{-1{?%WsnOW=X#w=@*f#Jt`2iIH1Ukr)wQT&6tVf@*87ymgU&&T=c`*N-J zWn>}#Ux!HMsZYYW@5OSh_Elu|x>mcz>HR$Q*PMP6&QpIAX2Ck&qR9D2b)K4e;Q~%C z*XVt5xu)~f^t;gLJT*NoGVLcjh2(IUCEu#RlIrI^d9|sTpabdT%(84b(!9y zr<;*l=c(yyq#k$`XQ*{&TzY*Q&Y_RKLy_~3$_FHBX}H=c#`{+4%}m&QrgVC(*+&os;Fv;5;>@yYyl?SUMaKZ$DLBdg%|B z4%nqv>Y-kGIS<{XSKUXj)WeDHZ7^#dVxIasdU!ox4sYxtgY(ps?$S#<^z+nu$jWJ@ z^p!fh^x|fD=~X(8L;ZWmC@#I4egtbh%GhO?*i9L|?ju;**y-*MQQjJhIqO%kv3kFr z8Jx4GbeCb$SU+b?r}2I>(#mC6kNfp>H_MsEbJnWY{^Bv{FT*rXgUWjRWtg-%T*4HW zVWCK$%dohESi~;F=!RW}(LS#wq#nHt1CKIq>NsM)wt>Q z3vCFOVY{G;_%clFH0feqhV|)Uy$qXO7pt>rM<*YU=odP>45NiGXB~F}>#)l(ZjxT) ze!VnBP8yiA4o^4-bwMxTI;`$~J?D+N9yJ!_jIP6eX!q;09@k+If#~%FJ{f2gZ4eKCkN5Ph-{RD=w_r=4x+D-dUN8SU&A@{(Qhbn{!!r| zDu?DE79N6wLa~U0615>otnI-;zkn0QLEP-cL8Xn9gDM$mrNeO0Z{bCigLnj2IfxEq zIrExu5YGauB8CAo0+1kRGzJuhba_akJ#0(s3N>zeC1sIp|L)V;m%Qn+%ei zj@HIbcmIs?)>v@RYXb){gB(QZI7k}nIfzbYInyQ_M0c?Q2GW>=RImNTW6*Pu=4nt_ zkLMt1b6|*qgF=x$929pDix>yd4dWo%CkIJA%0b+*;Go}QJIghdQp!Q9kTS|aHEz27 zLL2&Vkl1O`#pIwqU9225yDnB|(~eF!s9)%egJ>aeP}~Wu!#IeWB?n1UT|*L)3E6?a1uKL3cR4=b*ni{U+p~f59wHJpZQ1`A3z5n3r-8y)PI? zIf#B28s#8*TxgVo{sE2WAX*-q8NKgDJ-2wpNj*7;9!6xN97H!GwQ>-BjntbH2mJ@m zp^r9DF8jDxt@i-SrVDF;) zDhKfhu5u6^$a3a2;UJzJ$U)gk$j)E!7dhzqz(LF)2T?i>V!4uozEWo##Lbd}O2=`ikHGG1IcN^b z7zc^nCW9n7NEz}Ac3rH_rX8JdP`}U_2hl>{ptuuQhj9=$OAeBz z$VnsOprF3fIfy5)h=VRG?~BcY=is1)5D5pJg1M-x9RAbEddOxh>}V?F2Hb z`(ickuF}JZY?OoOW~5dQqOXy9bK;;Sa1MPmNs;r9nfKty&vm;YVC_|MmxRipIf#Xa z;Gj?};-ExrND^y%aL^(+VI0KGUK~`~NI9sIkybhk2Tj3?DhKfhu5u6^$a3a2;UJzJ z$U(~}J7Y-6L2ux|dz{=CV+J{h(s2;Wl^i5LRdA60aOr??Q0k#_kn^ws2dRe>T|AUp zcnA)+J4_`-3sN6iKLDu116bB8$R9L8s)8Pz(j8hOvDT_5v5}yX}D)1HXzHHHen*V zi`D;-#!RGo?K>Wio{2P11I&6n6G@u`PZUfPiu7TkxU*Qqn22r|6VX1INa|50;*JFq zEyZ@0YbvFbiButFl!0iaLSUk} z6Ih2a5jRUFlBUQBBx0hVZq7s(+C8$vl6z#ov3q2Td)y;C0lHJ-dt^MBMNAZ)71{<_ zV4}M~Buo^Z6zxQRMui zGB-r!&`iX_LoiV&7BNwxHav;7J(%dOaKe~~o4uH*w2?AVB_pkL7$({oUR0TgM{t#i z=m1u7rQZ$K^WfQmOw^+6Y>Sjk^d=6x`m7K$$V8NmiCC^=BKfI;iS&m{2aJhQ50#0W zhYgrWJ)G$73bW=RnCQ*)P@ffI2APP`F_C!anMe=W*jMU|iMUxZQRz4i^<9urFj3QI zg?2+3;~=ryWRN5WX=A6mt5Dt=3l4fq;2>s@gD4#bNnba!lH5noBA zlyZOSK8iWAX*3<6n6saFb?8o z$wAT-IcY>36x7W*XcIjv#1mKz2dzdHIA~9ZS`OMBnY}n@52yDWbPuQBgdB7)n8k@_ zZ;G6MR5^%wDF@N}f^n3C=y#z}4x-0}Mmgx7(0C4_<*}Kc-G8Gv=-7w#`ypet9CRSc7zc^nCW9n7NE>sLj!rnJU+9d3 zXd!S=+zG71IEb4i2T4=pq!DpYP~Yhs#1mKz2i*r*;Gp|K)N;@v$n3>IhdRCIp!+)g zCgh+8z${KYhg0PIqsl?dOF4+%7mTAEM86A-au7W(G|EATLE|}ymd9qcKYXJ&=uHpr z$wBlmA{*r(x*4gJgXn9d-kdn-2snp6dLTv4KPntV<C*0qBbOnwLLiK z{&2!Lh?~7QsI-xCP$eU+bQlgg5?)j}h(~ahgXjRhTtUAZa1hT9HgHjKbgPeyAI7mI5=spN$%|md|I|BzXgB(QZI7mG7 z9HfVA>??J~LEJ1ksB|2M`ccT3Ee9QoGR8q-x5*$$4${U>caKAPYb-eEU4es`K@OsH z93+kP97Lz_@eZU-IEe0MIn$VfRImNTW6*Pu=4nt_kLMt1b6|*qgF=x$929pDix>yd z4dWo%CkIJA%0b+*;Gm;ejT^Fmf zX-6j<)Gu_#L9`G!DDDK-VI0KGl7plva?*%6D5&pr4&n(c;vjsHapVW`4*i3X1r9n9 z!Z_$wte$)(ZnKZ#VF13fmgUDIv*4hY;%S+6S8Oq|;G9fXpMNMaaXL7eBIh6YUR1LB zJo5sb(1O~G$>Rj<<;jDk#%A6cp3a&17`CxEJcSw90gs<7ven!-YJK*Hp)$1M;S@Rl zs4Tlh<i((${Jkybj)`27fYQ60Z| z98|||I*{eeYchWGsOI?nXv)q*kaGNfHwO$|pPd;TzbW1L&2r`VEeA8kZ#}f>fQ{d& zhdO>c4;zf%>fuE9F)(W$V*Gv&J=FEtnZfa!(v9EZp&!5Xkd1w%&c<(Umg9HnI1cqk zBBL0;`#sC@SnOwGw%BTNLg$#R4V>;i4&|+Z7_;9S#%yMA%%*f>wlvU>*>p6^nKl`- z=`KDGgft$rRj+--K4W&=DJ)`RHr=o>oAxnd7EfByx?8uv7ETQ~A)SIOe3$K! z_+}Kgviwv@pD5{RNS9{$=@9L^4E!=7E#Vt&Pon5N9x1=k_CEYZ*Pn)OJmGJwOi1C@ z7-Eq|UnUgWVl?_PVNf^wJ|(?!-zC&LG>St|H;V(ks)<96ER91K zTliLrq|cG`xkwR*b0OM042%OUAr9wJbUH{GhYwmDs6`woTpU=WQ5?j!7>(i()Xm~R zuPSl4P0kO`Lzc$j`PjneJtVzA(hHFy4ljgg-%a9h9+vi#j}$%+8;j6{^C8z9ARjBF zCB)%H6rJ;tG7cZII8ci?P;6NCfox<&whV&;i@?YWU}Ver?F%3luD?50T^*mldft3p zadmnwS2`5iVia+>5c}y$he18odLgvC={FoN8X3P_J|l>;;MmADuN~ROz9C4jMq4l9 zp1M9E&y(vV4i_Oyz3+?WmwVMB^HY&gDoMjSpKis6{j=HZ1#S5e*iBkypS7qJdXX>Y^dG#VDe2HTKhJ z1oc?!8fei*JuWUA8NWIl7q59^d0f!1(bl!PFW0RMl5QG$r%AV?As5L{i1%&xAeC_zQ!VR(oLh=PC$21G?vL_|cz zggnKBV&EB3G2wsDxz*F%vuRlU-zVQk-9B}@Zr!?-PId3hFkQ^_9!VtibysXuu?=((`w@YOA?0%AWH6)6mfXk!~wYy2MAXjP$a52&^C>F z;^1UQ7YBG%NgP&*O5?CbuKb|~nLfnyVM!$pYef__t2Pd>Bym^=QLE!&9QtIBb+F`65-Oo0vW;sl?$q z5k*H<8wXgDI6Mzg^0cIg!zL34>t_KM*BvNs2f; zZ{mPli35Zy4k!{;9B7+HJ#lcdql*K)sw58YiAv+JN3QȂ+)^dm_n4j+psYE^9< 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�m-~Y4s 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

Al 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μ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 X^_REvj$RS_eoaFTC@A^If##U6! literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Graph.Rbac.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Graph.Rbac.dll new file mode 100644 index 0000000000000000000000000000000000000000..78fd60ad7aebb92481d38267c51af0b78ffb86cd GIT binary patch literal 759184 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 literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.KeyVault.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.KeyVault.dll new file mode 100644 index 0000000000000000000000000000000000000000..b33058d94c539ad11e8348921700d5da36db36b6 GIT binary patch literal 122792 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 YhgWbtdLhd5ar?t%R$C@qKE}WR0RL|V<^TWy literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Monitor.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Monitor.dll new file mode 100644 index 0000000000000000000000000000000000000000..e07270d248054b190745bfcef469c9dd187ca84b GIT binary patch literal 413584 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%0Ak}vNI1Ogz73zTD}F2Q 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

eTYJ`r#AYBD0p39 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 literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Network.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Network.dll new file mode 100644 index 0000000000000000000000000000000000000000..6f489252bcac43180ea2c00f1d34e9f0e867c91e GIT binary patch literal 1688488 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�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ϟ^>iS>c2e@A+9ZL!8mIagS8Qb{(*n9stsi*h< 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%0A1D-2}tFk)?~LbXF#t;tOVz6RTxJPG-OH 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ΜA|%BA$CBSaR-=j2{64;zxjRwRk>Z@la8p ze>}hNnh?)76%^~TLafUQu`Vk_JWrc|U$!wJ@n1Kg=)Yk?lmE5}&Hh^wjMU?jOa3un zQsJGE!iq2xPeolG^UTR>1E)m_ne#sr=KTx8f`3s6PCqxH;9oK!@h_WD^uI8n$-g4O zp2PE!vFr-OvMa7e1&hX{LPh;^AeZX`mv+k``3j9|Ar7;-ZY`$-!dWbZ<|o` ze=(uS|5<`%%O54JXF-j!!i7V5Kp&)Vhk_D7+zTLlZ2L~U6L_|2VxA5tC`0-GR;#F zvsCXa?cWgW_b6=6uOY;58w(45n$YO4E*Za>2*htD;%fG>eoXsRMEcb_?#5t$mcrs} zIw8)o6=M7;L_TdG!ClU(bY00f!WM`lY;m=SuyD+XsBl-PDpfoz8#je`KBAyFQ&xyG zWrYR5y%6#2U;<8=H6igknNak*n9$^RmS9}Ak&Hnb5Q8>cjSCi+$%Tq~F3i)L1D697 zH0KW#=KaCKf{ua=iWL_8B|@`*kz||#3&bg~xSD;e2h%hTO_zIAh5qda>*|MCKcXUBCvSNL{QEAW00w#fS-AgSVys=hG-c-cwhJ7nDca!(m1Mf!}5NGWZ3jQ(r5A<;y)3TSD zdjj_-VTjzH5~3Lwq7@gS%zRyfCE^Lm_@O!=ey9#tO9U2?nFuOkBA5o2nR}TA9Jr*s z|0cs>uND0T@;KM&1C^Qk0{`#A7WqFb%=_;N3;sEwm6`8I#_|6^9RH82(Z-rIX;U$x z%-m1jI9y7+7cwBuEvCo78^=v8eWurynXd%iKZY&x{)rGrMF|W3d7)+Zk0h7;4}nRA zcg7p*OW<;Qwht;@>r)=>H|b%I%*em;5`xq{2H(_NkU^ zDjLcy)BOn3jg!2T?*A}g-Y+H;{Cfn%j&C4<1wT%h_$)A{8^?z&+jD2SzZ%kAfFY(k z5n|0qh~HfhBIafj@Vg5p;CB~HDEc-D_PFzsOFjooD!j9FWB&smHx==5tK74md6emX zIi!061LC*U=`p;oIB#s}69#*+j{jOnTL)}0ZJolr?-CY#Noc&=C71j}U{c|o@y1>W z@}{DJH|NqHBX1m(rsp+@J_6y_NO9E2vGtI$W_i38S_C1WGcCj-x^Fh!oL3G;q+q2=ck$tAxk zFsbm)cw()XJgI2NPp1DV^2FJ0;@QK1c|VOF16`c|mXxm>-bcYIaUb)hFTEa4h{Y`c z)~_Q!9r&&VTjbj-#J)`-emh<0Za^^aBxAcK5Zg6zHQrdmC2uO+O;!6=Up+(KuLs`K z84$nWLBLOV5b*ZQ5ElGQVdB>T#$>&*EXj)X)z?FsX2B5Cw7w9-9wEj-Ld3kG3HSwc z6B56%2}Qq&1WWgNlCf3?#9AG$mTs&mGu>1)q?_gH8%+1xA>EtNM|e>0EK7>)edY82 zW=PYPFvT=|SeW-)3619#l1qMbU{c|o@xwZ9^Y{Cl2jfmI4*a z|F;9r?O}>McM#_NjzZ(Po#c|=7MN6cXFRdSO`cSY;Q1Z$#G!=Zxf6W^o;Zi_gYf)r z;Q3LQBF|lgdB2;`cD;JoliFz;p2jO3gbD}RPDQAs@BD+S_x_^IRElo;Bb)Q$@v3> zd4Hg=;13bveL7fzyP1{6{*p1+24b*{tC7N@K1osGZn4UOWruT`-w*K&DrnB9!n~g& zEcoMui060{uoGE=MR=^_lK&JisqoGs#A-hyq#{Jf_?WJRA->ZUGUrbf=KX0xoIfo@ zd}m0oXikw_^7Da7g?APW7XKLy74_+2JUJLLaw<&1O-z?1gF9{3&79ryKvI+Q=784SGy9xMB z789EM9TJSoO_EFgMqpCmopHg&0dk?Do(sp2KMGtPRnVOOnlSGl7h<3%H1l7TT=I_q zlM3(5JoXLHJQdM=wg2+tVE;LV&H3*M^M0Wazn~_xNA|4blK(C+sqoJ1V;=$SQxP9o zwaot{*#CvX;&-=&_}y(Ges^1lynI!HMf9>{{O&dozq^gAMTCt7jEIUD5z8R+>8Bx{ zw-q$!-x6Z~ld$055t{ioC71jgz@)-EGmm`+G*3k|U(KiIgZ*5|>W^_kd~YHw_^i;L zLq>ARzbE^=Gy7Ppp?xYwJcpkJ`&|l~^BuyxF9{32Q)u?vC8Hk+L_ZQ&vyZhI+NWZK z{TG7$9)->M)rIK$2n&7-8xCKcY9eXPmQJ{5KLZ5;n1?3X7`w031C17a@_ zJ%(y~1vr&&$9vW=_k-1!K8GcdzVr?_Ar^P1y^7U*|9Rj&3$|EquP;O&M2J3!(A|Y# zem%+PUjWg+z}0wTErh(OaQ9U0+Z@VEy%7UqFAxDo#L|DDk7I6^o_?$sUk=z84Ryq0C@KrO#n0qc6P=PAoI`SD&fX1+NC)yTcZF?;*sR zs1R$SLiZH}^Send`CWlYg?GjqYZ&BBg?q4S-}>UOk@s4G_udSMegvW5_a)$o?k6nx z{e_7?02q_iyDZ7#v)~x|mmy6D!w}PSh!Ed32@C!(A!0t<1pK0i35h?#grYxEf~ET) z$t8avFsbm)(v7thrkjd}bh9u1E2bLYwB`5W?_5qQp_kHB*#c`kh=6nXwO@GQd=c^)s! z`xAs#{s$$O{Bgjf!aL)MH6HS$Vnq4>9eJ)7c%H<7d4DoJ2D-DBjc)b5{e9qDfi3c# zC&X`*2=N;wLgPJGGJcu_h@U3G)p%n)h`gz2;LURI2lAdBc+aPgKzPGtBOLShkAd%L zFh#zn3(;K^8qZTDr>=O#fb9y26=7~cwR^!f#;SVjOUwy=Or*jo|g)- zRwXo^7fUYri-1Xmcg7RzT;xf`2%c||=hlJe<@6DFZu7x-z8!d82~*_xc_DshS!g`3 zkc=|`fH(sHSL2EGGV-Ltcw&dlT5;GV0gB$JkN`zrR7ilLKPn_ZF%T6JpqL&N5};T+ zDkMOG+RXOFNq}NTR7ikgW>iRkVx6dvz#VH3p^eG9O|Zq#cC0;IyXTIz_24kZjvFzb47<&HICHpQZ0*yt&q zCxu4;G0FH&35f5Ma5ejPntduF{c4;3*I<94!sh%Bgn9oXA$}`W=pJMCd|xtt85M|M zM#a_aV?CPusc=tN_EhcvE!h91!s2`gA=c)E7^e%({x2lsSO_4Fg}~M9V?CPosi?DW zef__~ei^?Qp}yl=44C(C(_?5t@Ou2uErB<*yKsYi2VEydE$pO#Ir~rAwLf$ z&u=348wvoHtNR?*jr-DX!HEUn+xCDW&&7df3rvw`t1$1|gzh`=?VBazcW;3B-5Xqu zC)R+;lM45&nN>T$KJI(ui5~$G&k6Jqcpm=2cxJM;?$!=dsfJ zxEdF%ACn6e?)%j|vvGGe*k4Ow@mse-tbqyfTem{9zouk-7YD?5ak!d&tQFHf6%F>; zR^)>H*$SKU8w&G&BOxYiglH=^mf#jLAsa|8`SpQGg?APa7K9lQ74C^L{5GPACx~o}DFFf_9LMqe_4{ssvYy2MffEhl-dW#=|+wLWt)e1;u)R5Yzv{ zfng&6KV4|~GGB7Ze+HOTcxPO&-c2r4)a8qn56hQYwj4S#TU2+je6$5F zXDgnZKSzjT;e?hSXGt#kGl5Bkcg6v04i_mN zoQopN`-_DIf2k1flHNTuM_6| z4MOxug?9AUwUY5$mq7g1C9Y;3Yv(jiMLhbenvUgy{d*M_eNiE{;tO#$h7jqvPlEde z({Yz%bV`Bfl;Ua;VS$_xQQ=-|Ovl6!&(jKu-)R(L%bpOw(j6P9v^n z9_!^aPsNBnZ+o!+U4_m0?+CHSPFV2I3XT4^CF3U-f%wTqT+Ke#&1s*CNWYp-9l`#~ z3X9(?6k>y#u;5=2BA*sXu!vriT=FjflM3%FA}pvgA}V4;eBLZqogtn#6*T8x7v}vN z!h(NWhBBv0VWmRnR%?Y(>xXKcV=Gs#rC8W?6=EK&QA>XJA?fWvwu83cJj+fF8K+- zq{2J1k9Bw2r((qO#<#Dk8>cF4&aW!W`_+U6KSgM--71nxeq~@%;hovXIy~)D5nsD1 ze|$?WedfV^IHn>v+hFts=Ltrk@n2t?oUZRL*NSx=Z=Ox)u{alo2B zIZ#oT4`V!&c_T^0GK#Nkl@Es~9{hHp5Wih0EcnBP#^qqi_zgoKe!~z~(#GDI$a4&~!74dnyh^NPz+iYMof7Uumi!h-*V(EXL=<4DQ)91w`l0dX}h z*egITRJgwnD<7+gOO48WQu#-q@=x>3d|~-mJ#a}CPtMN~;#(7;dzT!Jm5g03K%Y_HJD=<$+Ez6?w%yfY5iYd{WE zj3}d4ht=}obaH5{!m4Ey-$#o>Me$%ANQiYHq19b;C1d>ui1i;_jRW>0kOLJX>aO9> z;>;yHi)n$wDT)VuSRwkbLVFhTC8O^OMBf!x-&KgS{e;#JI#Y7Vp8-rNyfZG?-#{)@G_;HCKe%B3N`=k&&k3;& zNm%e#3DJM}yae|j7Qo9Tm;7bGq{2Ik2pb+45f$#eTDfNXzE+6mRt3%ZFAH(Lo3P+- z6Po#3B;%N3AdV@<)y!kR1I<$r%~$gYt0c;&M-(>azbeExB|`lAxX@*Cp#QMsl79%8 zRCs6hvFCyIsc>0%jC*96Pgr!3{bv;xztt^7e^H3NMndG%a}q3~??}eS89;oTfvZJ? zO%IHSiWpI>7qOP3cwSM^oPSxE_rDMp{34;5e@Sx5{~VZ9cxUFZ_krfAh~}&LgryJkG*|#}ItTeTkalW(Wp8i80VeaVx z&OI&roFf*h#5c3N%{`41qTeaBy68Pb!?T(e1Ct8xj3@R|kS7&&b&<{KqPoR5Yk_AT z#xSQ_07SYtCpszTPzV~P^ssxP&tW@5Uz&##VsVAKa>8-VayfiM5LyC!ohb7w2Cu3*G8_hFV;FSA{L|og&QpsltL^O=!GVk&N*M5aSJ8jW_l} zkT(?#ygA3a0eRz~Z@p)0&_^Kron<2&^LKXOyCzJLuM_6|T0-MFO>)Wi0Fw&uj3@R~ zkS7%*cy36Z-wQnZ=p*oa?t}5%DDa#PQ{=g}5a)pjjpu-5oCgNPd0@C2PwdqoPb!Qj znqB0hEr3ga0vTZn2~Z#frjP&yD40S56dOl{1SmF%3JFkb8Wj?t*eog}K(TpLNPuFC zsE`1~mQf)AiVsJH1SqzO3JFkb9TgIw*d{6@aP59Mybt(US9U^lxaP##J=gBP28S`$ z?yqAQt=&KNKAyOCFGIr@&2L7)th)(UuH6%}DK@@@wR@Re>L7S0SeEP7?#JRjVuhV4 z0mU)dj99xLE5XZb+1BpYt*zakgrg+gz2uWE?+S4Dn|v7M2TcAZ<%djum+~Vfe}Z8j zrChhxue8}&HMh!1YyG!VjBEXO@+PeH-%a^{cUH}Unz{e#SehGY$K8PIC}%vivq~SU zd;M*MVfT95Sn?%USz*5pudM3nbya8JyaZw1&k`2=`a<;UHjrQ)?R6xV{7hg{;hj}5 z*kr{DhKktHW|?Ha05yT)*;qkyeiLEdZze4GO@%i9w2|bJ-w>EocxUFZ*NWz;XqbQE zzJF9KvcJ2+=KM}VEb|Dl?juAxK57DHJxoaaZYC7{$4qGQdq}WJ;*Ur!`5l2tg?B~< z8?{J=ia1Hkw2}+zG;ujpL392vA+~o4vAa_UE=QP9@JE`E_@hiH`lC%~^2bQ9d_P2T z$sY_%D!el;*xW@fRMh7?&v-#~DlW$=DAtCASQ`@JdlDhI44Q!NNlZxm@g@}g2_`i8 z6HRFLCrNM}D0%)5iIa+!kW{3XJ? zzf@T8mkYt=vl6UKTr3$I@POEWhpWYdjVg?Xiuy9ac+f^Eo&^e;^EU|d{zhTJ-y}pl zH%qYReZAz8zYdsGcxUna#p0o&{(1BJAvAr8=T-&9IpRW$Gle)uT!?t?G@;<{l3*G5 zWyv^M9Eg*}akU7sgM|sBqV8ETU1(Vq-vbJn^Y;mH27|ER9~2_KuSl?H?v-5f_W+X$ z?<^W@WMMQ^41Z2&uocfY6*T9+F3kIH2n+t(Ld5ee36_7)NG|!Ofk}mT77sSGFdi!E z^N(c{)uZD1xq{*wej&c$7vdX!A>#R&2?hUx35kEvgra}hgeL!z1mp5!$tC|IU{c|o zals}Sa-pK03*X)C0++WGH0OUW%=DUiGRa{qJPtbCjX8J&Hil( z_8@*Ix#WKfOe(xHQrI~|QdA6k-rEOG`N`J*94EwhRERT#h2WHvU}?`t#z!@ZhIbYX zHq!#aq2RkDSh^-k#%>HCc4Odb5n`teBc!4( zU2LCr4Dqe0kU8HY%zG!qxkN&1pVp9E@~Z=r3h&H1_TA7r6?N^C%?;c9Bf9Ky9sB2O z%o`^lV_W%=z-5-=!FMx4G{HiAHzTyM|9X<~-3$=l&ERTWuvdp%sHhwJ+g$nZdB~SZ zWsG^qodTCl6i?1?Dnz?2w0X#lC71k0z@)-En_GSJjW5dUmf{4)y9zbE`j&XiVy2ALUcuh=!poydp8pbes>cR zzlRCvn@F%{zLR9E(EzbVgRAk*WW}3`x@X>;ap3S#aNuveSbk3^)^hxpWL`o84I{3b z4R!3t>>7CQqxf=uUm-q_5#j?GA$T8P0(QNakobd4DEfma|>k;g&Z_9k&E%5)iqRaUsgn56Yu;7mpg8$Jb6#OwJ zB>od76#XY9812I)m;7PCq{2I+oi*B2MB3nO@BN71`T6b00v_M{-2>k_iU+?rBt+Lt zh@P3y%5Ewdzc~cNZw}#VTyn;Rin_8pMjiC~k%cyL*&}c{N%7zeM5#xJlI(0?Gt!ktN3#MIw7{O3$cGl z2;MiCQ1CaJkocQSDEgaCX!2i@V1?is$t8a^Fsbm)63}c3pduE6SRO}|fxnK-@c6#& z8+hNQXmb8`A%6Z+SnziWEiZ4CT=HKACKcWp73`m5UQ$t)mt(!Je;+ju`M&NKxZJCF zFeVUUOdu@yuLzNc4@j{5xkqxz-wjMEyfaeRNJmms)beNae#}3~XpDZ${(;jYiU#Xr z!n}V}X#JRnC1YI-h;=bsjRN-1kpdOgj~Q#S<=-H{$rg0nZH82W-U;T*0fEC)iU;Sd z3US`55a+T9kuOh6u)g!-l5vD85J#xuYNW8Cj-;rl?>jS|14BGNRM4DXD8w0O!h-*? z5b^v-f?I)Y^7kdb+W|Qo5ufZX~etrcT%Opaqg9+Uf^3F-d@1OwjJ1DrCUF@GDZz|ks!+0MW>~VqT1rPh2mk%|jc)-uoJ!e@VE z;IfY5$@z7KdB2{}^^(I($t6Dnm{fRY9I#i99H?;p!#G%-UE|O)^3hbw-%)|XY{i2; z@j~p07uqw~Kr*(#1F;1jSL1;FeB?ky-80E%Rz}*6W?W zDIWapiO{Xh^lvH|zjFe_@0{RjaZj?iscehYw3G`7MD-g?GjQV_2r2iYkW{F;>8;RpyhhTVAW()&{qOkMc~W9>**}PFDgW zw-R=x4Qv@SD^xWfDrVDT@cCe!*RHOvI&WR>S8Qa~fxQhbz_LZ1N7>x)N#uVvJ-X4x z!b#&YS+_0%4W7lX4%dS;zIowa8SgB}$KQxO{%(Cp$-=>0@ai_e{X$Z9vmv<+dArKU zAZ{Z#OuArinCR(lUf?DpXUdx}#Bre7R%}W)#ZBL2W7U*yMyJ#2oPvs3(*NQHSRX+G zmn!w5=_t4@AoipOwPN{tYh+qy z(w?LnLrCAj1@2qIec<^;6FLfuyVG%*71M|D69O+4x#wlvL}Wqc-{S_>%1*#7-d8Kz zpJKV1jo>ZW{?2SV7g8>p&I7nkY7+!r5$o!YBh0bzn;pn@^_D-3h+4AgR)FqJuZPp% zc_;&|NxC&O(~{yKs-iiA$MN!QIHcQ{de!9yf5Nh|EpAtxTqn2GWb>O%w}YRyzO_5D zZhJ`MlVV5C?End|BOon-U6dz5ws7$N5x5R~3z?8z+6;Z_{l0mWB8)U`c?#YsP2%JMF7>6uR# zw*tzl+ZFe1N_z;jV`HF!S|GaA0*zns0z4^{`oR~FQww?~HJyJ4?ichdKlp1YCN~Gg z3WI;A!tI8rI`c8>+w+$9%J$viG%ab*H`TJYxhAG^E~b0XK%s9P6rhh$Oga*`CxpTG zU_adp(!eAb30lD3P+4FE*@y1WSeZLvM0SV#{!eD}O~!?Chsq53J*Qgkus*yRo?ntn zrvdV_e}&?d0qwd93;ReCTvY10Se5TnnFStE@ZphibxA! zWrI}#94=s9(|k*S0uzR&kN^c{CQKm#3QWzJLIM<+>oSD|C@`613JFkPM#mHqpun_> zDI`FFISo@tfC3W>rjRf*>(&8d*B)qNh;ObE;5w_$wVGKNP@69aFp80?DI`FF;i4%d zK!LHEDI`FFfs-jD#3zAzxsZ7tB?5J4yFHzpHNszqGB@dhJ5@QXy7twR(gRTpT9ONo zUS;ixgZr_Z+=EN`AZX`ilSx;(4}*F(nS7PoL;`$H+UF{_8E(o4!&7T9S@Ej$5JZ6_-2Hkyw8l6iwT6~_c3ox>7fYUJ)=E4_+3Qay@6ibD62IU8Zf;_@QP)-ll0?I*i-R9IQVV!oP>?yjVV5Dzcu}ux=_-ymw8%S5yZAtGt z-~vro6Ez#xX*PzY>bx&*nxbFcWZkCGZ?nDkI}|MHW=xHzMb|(yG5BEdHY`{$mIe@FU^rx#R5J2;o(*Y1?NL3j2$eL1aL*C&lD1%K+nz;67J19_5%kd4oyV=S^bG} zJEXZ;HxGJ}C8pmn`@_keYU&EQRAyAdaI!gfCj6lYo=qsYb3-V+xE4wRxZzDRg#;*0 zhzbeOF5XFw!Eg?U{;Ci9LW|{Mi{(-R9`t3xg8Q5>aaRh9?kZuE`y!C<#fdR42~eCA z6%wF0IVvPT@#(0L0L9#>kN`y`DkMNLFDfKJ;iE!AOyUniqVn!K(k!?IVw-n23JdOL zV$R*7+r-@pWFm&5H3?9BCMqOAF+VCKKygY`NPyzhsE`1~X;C5J8vKqnVq?)Drhi6< z1iSx&ikMD;s#+20Ssgz7S=|MHC=vG%3hq7vp4C@`1^1vZaSscN?yJHk_cdX&dtBJ! zo)osar-g0q>p*71>5;JnD9(rq2~eCF6%wF0D=H*FaduQlfa08}kO0NGQ6T|}^P)lm z6z4~U1Sl?u3JFkL7!?wrxF{+lAhRDunwZ(dkl9ZJ6|ph1YqkD&;D!u-7Qh_2IGU9J z#U)W80hQBtgHdAR`(88p12g)gVD!>xLjsI`HYy~?-MFOe4rC#okhotfs-pX? zu*v;i*zEo&Y;ms(Tiu&LX6qNCT?tTpF)AcLadlKkfa02{kO0NCQ6T|}>!L!!Q(5;r z#MZy2;oyoGBDf9ldCov-Xd}SjCQwLQ-Wa!YN$dJ(K|;*m!D{~gjmgNne-H}p-H@0C zF_Z+DxgjbfKyhPKNQic8&v$XKbW`*vA^NMupJjIEU7k>I37-Y5-yB0pfZ|J0Apwe8 zqC!Hn`@?FwTFh>n*_}W@xtS;|xDFx4WkAMvd$cA2iaVl00u*;fg#;+>iV6u(+#MAX zptvV0Bpi`-&4?|wuZN=-XYDKEAKsWw4z%u#79>P}wU=;ZCIib2!TWvDy96+}KPn`E z!Af-uIKUjnp!V9WVV0*63eFLbeZ4?t*H@xl2~a!`6%wF$Fe)TK@laGqh)JnEujv-y zhb+RGA;NWq1vg8WxD9|L@Nl#y0g6YWLIMIMA zcbgIlZgWw}yDfzUx0Nt)+W<-N@n}r~6i-Bj1Sp=23JFj=6%`VocseR1K=DjeNQe|` zk8KB%$h(ga3T|gnLVrI{`c@1r0p`9P6%wHMPE<&M;=55HAx3y_^)=hWBHYs=+&e_L zudv|u2Qn|7jaDQ;@x7>!0L61rApwf-M}-6^7Dk1HkxUL|oOyRBq2LY|gSb-|iUcTr8Wj?tcs?p5K=HGvkO0LCQ6V8RiA5RX38QdqpfHD+bA!4qxZ{P1I}u1m zFGgz;p!j)INPyy{sE`1~%TXZ#ibYW&0g6|mLIPg=;}Bb{dLA74;@7H_3hCvY5A1#s z4M~9ISEE8gOnfc;DHi^;5dO93T>`@YGAbm*@U?d1tPt>5(Vv9qZ?IbM&a-$fAQaq1 zA=GbUC<%z}cTph$ir+_tgx#|4LIh=}ikMzwc81r-mj&~Gh=C;_TR#hjn5}b0*65LL z-hCb(Q3$?3D7dSGy+1~K62R_HQ6T|}*P}uLV!Ud}F3JFmBJ1QhV@t>%W0L9{{kPs=>UXy1-KR!cxUEW%%fi13xIg^~a>#i)<~1wOAe9}-5|{hitU zgW3I4u#3-EEtCY9!AGm6kN^d~UNwb;Xt$QZZ<*b9f-75sHPCaB9{agK4~M`4hN$eBGDN<~_cU%4cz=4t-)A9oL^vz`SHfChK>`suI7Y z+(n3exkC3zTG&Z4_Syom*A`b>e_jd87Fd6#!W|2by|?Dl6gcJcSg=`V#aucEH|cS_ zU`4lO@KjWDX&F*)x7IS^+)FM!9?A=kUU|l36EV+x0s}mP0PZ%dIB;UtoK`ZYy4m0K zL|WV-TVc|&6{fTNH|FUy49wg~bi6m4?lmrxEKaV%wR|#EQSn78J`F|bnC@fBbA#u@ zvh=(F*K$RkO>rX?^P*=@&)a12)nYmX(Y?nwyDV=DnYEC|Cn9gVuui&KcGb<@%E+w# zBw+bAvY>M)63N7B6bw#Wo4ivMl0PM|HRzZpe+Ok=f;NJ7jbiFHL?i!QE znUgrTj4d{D;dOR1wC+@xOHbqFbX;ct6^w@ITn-jnvK5Arr=dOYEVWj-JA}o_x?FZV z1EG87)5Wa{uIX90Z{6S`m@B4dL*~lWGk8cHx%3>|_MhA=FP-_my~-bgfzCpE0gKf1 z>UV>cCU-8x_QK+12F;&`8#jfyE| zTqd`LYiTz;;=T9YThvnQ$C`rFz2jEmTJ~j`!~cHa#MOKu0>106ZJf~ zbRO0}XJocIAtQeLMtvRVS(Z>6e->diTi?Gr3ODasstX7CNf+RY87u`S3*2+ao=JGk z?zM;8Uo`Ah0T^g?KSSP@FGKLTwIYFcGRe$B$@w(nQt87o#pUpneh!yGoNGO&V_bR# z`!S6{*PKyJ+zT{EIL-F8EJH3naw!S7LUy0~f8;43S*1#8dZmE(ig zE4L>6v^DjoP0m5;o^gZ;lV@}f{s!4RS=$EOeK1 zc6|8(Tw5lU9|SNXo3&n;47S4u-qMGl)_Pt(Q$zu(@SWQP)LRl9Kn3177?kYS0-vlK zhqzRdhW2hu>;|>O(nX0?7}tw{=#N)Jq7vVfo>d0>;OP2sX)C%daG1;NGx0cz7FqgL zFmt;i#_`SRqmYZrl(qLQZ-(&Li6d{#>DTCuv9#y4Bq~E5)TsZLKC-+jl zV{t;0h1(5P-ph2+TNlC{ljSEob$S{w|Ms3;jr{Sd!@h$!FcX36Ao{U$(r0;}w!vcm z5OxQq<0&0)J`&X(;iXHz2cPM4)!<3WDkM67pNxbD!uLf z_#tn}f^|LX1n$E$u0Mh{aNDrT?L#33R~JM7irK;6AT@O=WsmzY?Jl0=enLy`r@Uq> zooL&829}?eb4J%F_Y#C$|2pQU zzi*^p)#~ZX@V0P+xZy8d#NbSCKErOq5a0VPP)=HstUm~aByXr9ya8cx@+Mv1 zqHaE2+)Vgs!S-~lyKXq2EZ>H9d~?yi14P$g*hY}fd~^BFaPfb^1r_z;++#uDf?%%isR&q~4rsMI@BEdoK;yzJe(SIzk3E<(I+}$}cSq$daXx>+``S#dThZ_3CKhCM;99DWk?m?ULiGg{zP6 z{liTiH9l&W9A7P5eSGg9ZnaV4qjt&h)xy=sH+r~yW*n*_{$_;VEUJehzt-;2n zL9=?$3{?G08=>h5n(0+PZiHsdpjo@>r+0*AEof}?aWY;5&{&6_CxY0dbORJ5bGy*o z)*a357IRx~G`FYB4K-1{&E8qreA>aZtCg*C!G)>NDKv_uu(h33pr$j8(0 zE|j~WLkmCJP@{jlM1vDu7P2x>g;Sn{AU)+(Ff8nGuYp>+JQdyPWWuC$1we{L;g<4B zlvc)t`%SZ%9>jS%;>0Fz_L0>Ma;w0(1s_**V~_MW>)5OcRqtzq=*G<{Pk}u62S|>+ zVe}eW5Mk^)O@*U+$vp$PX*zU`?dw7|K3x*2mn(?M385q}#>e5lM z7A`Q*3+SI(XQ>a0fr&}~0yCwqUjOCFC**VnyFl8@{qWP$)!O%w5Uve=1_6Ud&vOhntPUm`;Z@oD7W`nPUGHX4S}?8!SxE_6#J`xWeDZOkA5*nQ0QB zKu^pR5@Pn&=2EvtrlRk?EurB1!n0T_=Dh@%>5U2rNiYAKm33PoSkBF094td?AaB@4 z<@+a~tG5jt-AuUk6|{pH1)2U6^Z!`BzYD)}2D|-j=$BG(>%g;liow@~#{4I})3cb} zaO*)ct#`<}ezO=Lm+u;U1BI|_@LgQf^`XOiv?3DxEcl$oXSJ95pydtVR4yy?sE)74h%Mo$jk7?`KQkBrBwy*Z5Ga|8T_1w5yGtIJzRwR|mH zx+OK~#^B%9#5X;0*vE@8cK^yrxyq&)ou~bn?5*J2Z354W+MD{vyRC6MfT^=>fG^=U zDVfYLKem2m-hG*NBoEKCnE5jB9Hw)Brqj}ccbf@n>l$BdvQhN-May;O2R{k!7`$%_ zn{#VKV*;BR($@U`$wKaN%z-$X)9pxqPvmKNdr1Cx@O2p8B}m=@Ox_N3-;{48`0{yW zGToWhshQ>0$1UHJK4{KGItFhBNpwTeshQ(;M5zAmtmaJJX7JQnv>|4;h$>orz;hAq zJf{CKR_{3*xaYe1T20jO(_ue2-Iyr@_}*q*W)9tXn|=dM?wfSaru~=@Px0{%h25A$OO-~|Yu)rNE5kGjCxfm};>Yaix!uWDQ4NiF6m(MK>0&@P$Xud``UbncZObLh|}BQs1(C92!lzx@Xd=16QNud=#PD zy2tlT!6ePDko75+X7C4^@nuW88+6l}xyijL-5EA!K5w6Pz&_`bKL-03!G6vj)W$h+ z!Kjuo|5;T>2pv+9O6 zM~sSi0G3t3OMqf}R7ikg?Wm9d1&CS@39$))!;I)40g9PXA)(IaI?+J_e6AZ666$=; ziVhOsbN#500L2DTAptGX7g;npk&x3%nQo4ZgD)glJo$`TD&xOa2)8j#;@nJBsI$$TH`%>CILbkL1(+Gwr<|>M6 zF5pBsnk$0lw0wU@9@dVewa1y+hrnbu_(0DXwTq3x?goCAwvP(7D`tBhpsO|C-<(&A zIcfSdgr?FlG_v6!fIAdcyJxhzZ{fz0kneA@5Ca=hm%q*mxK9c z(C=H7VCpEv@=(i7C*r+oE25b_g7LB{ zOOJs!D2{}pzk^Pc%;}SGDl&igzH=Gia>RkPzS-wNE+18kC95dg`u1+BMKhk?CJu`x zXVG-gsWBQ<`06L6j1xV>qZxJj30%{o5l>TG3hQb*p^FU(*DtC|VmT~6_OEJRDR$53 zPWrJra|}XZUiU|^U^DxC(AIxgF?0B5GO)sQQma=Rse{e=c{=ZJ^3Nd;4WXFo-S-d{ zC!bdVWz3FG5t$lKu9r{dT z>W*dVj#KLB;JJLN39#4eFf#=W<&oA!A&$h*WxGIKF z&UYF&>oog*_0qUK#h-*=*oSd4q2NDF!0{th*lqS zoO>1D8x4vvs`GGz=^+9R3MIhwd}4)e=_$CNYEKuSTJxt;pQNV&{OP##Er(?SdY*L5 zJ|PhAx{sMP9^Y|5vKr>a-kIU{4Crv<&IF!66|Wi+z<1%W$g4sM1KIB0y72w&h=qE_ zB7`fWH-F-;`}8a*$0VC|XT#an!8kXed{~M^T3wyb?20$#3&^{ntx~tyf}01@%hOqtL(TNEVk^OxlyKj-nlK*j{u8 z@>Bi7(AKb0T4#Hdsq z{til4P-TfW#{9DE7274Rx`@)opX zxYCK+A_%=&4E4$U%)0l-aeY2>2J+x)Bn-EAVY_iHH;_oT#rPI zTilJ`h>NuzpNs9UahVMcw#S;ybYu=Y!T7RX*a&_&|1B@3C`FpmOv@-5{gacygWEZgAP`R#rM{7c z>Zw|)6MfWNOLeQI8a?(oVOz=R5bIJ6F6>_}23`wJL)(J<66>sMk(}{E+rV3MdJ7W1 z;cW=2q;%#-ue!d13aX2B7p8{CVXle4ON9z+JD4b~Gf=Crz6@*bI+(}%R7iQ(zpX`t zvU4kL`!+zO#9;N6(i*|D`D&6A1S};O4te@zrHbHrfONGQj%w6Emx>ZFzNU`Cf#a z&thUP1`41+1n7q;71|WmCzN2c0^e8Pv#3(82U)K6(Y}B zXD6uq7cdQTQ8jYS{|xl`hPH>#)@}{CMrnX?en5rZ+?PS7Ge5Kge51VF2jT;m+G>l6 z`=Q|CZvUq4D-@eM*nvBNb?^hcZ|P`pH!?jB;;wt`&uu7t83VsYts## zqn`iM+1B1R`ng3HG@e@|{w3!JFcw75;j1&;|(=BwP}M^*Cf&gxsVVSfHj z@QLQ;4(NJSr!&|f-id6k`zm)g)H!z#AMR7I+p?$yHKKJ!(6tV8#hJ{cNmlQ%KHCA| zZ$S7#9L7GUC5IQOZ-rvhRpXOE94I-bSud-5n#P(Y?Tw8m=uP}08LWGeaWJ2~$XMN1 zJ!SRewy=wR&T)KcGnlI-=`%3ZJ)VPB%^Ed?cySy_l zp^d|0L*{1YGrAF)U%UXmvX~`1g8{#VfNmG~9y-6#>}hoUw#?GSeKb}Py{k-C!G(F0 z*?i^@JjXA={?IN+=MwuN51}ZJAHqaI?1xN1&?WUlItv<#AWsVEeaPgFrZAdn>Z;3r zji%5y9{MOO*Yz`I-w1~7MUARDu{Wo^CH)T4(|1&`hWqd0zRuF2tWnKQX`K}jRO7Od z7N(7itiNMqOd$eWj5rtFsE3gO8hM0V7}nKkMOVjiM_rxPhOQ2)$V?ndZ3>zFKaQJn zz*rY@EcFrS_Q1au$oxYe=t0D5O*i^L%q8~#G`-W^eRSY}1bvgY@!J0PeUn^fKH|KE zebiCNT5%L&;}0EigM85-$Q%eU%QOY`wMW|DtT=GkYO( ztNq>{oqJ@PfK@K!riOeTc5=Rp4$+Xd8n?9;`-%+)vkE*?WRPE13)wZoUDu+?E+l;Cm996quRPAe{YFBfkaX4yJ z?fIi>pBPp9#;DpUYmFA$Hlu0}Z`9%)WxwE7bke_!b^xd6q0D2>c^^P)vUMKr=nrS! zz&}i1XYNhV@2~6)$M_ZFrLboQNfh0N*ea2tw^aSa@$RZ))_otZi{Bq1u_gTgLWMW| zdu821xO5gfuqlFG=vMwARoIg|Nb?q9`XlI|StQNA@O3^XJfz0idblqRW_vNCleizl zXJCUprb+q}-1n%lN`DFwn%o;3jyPs2M3|B*xk>l zegT*9p~0w2ZvRwFBV7i+bvgx5A70fR8UdS;T)uhme)t@G2p4Q3It;C*2IJ$it2P#0e9Wzrt~%FriJjBpHKRCt`GJOf~CKtweAt>UoqrxZJi}EjiVAlVm7Dg zOiX`G7A<}IV4(jSimi1vI$GUtp|dELAH`vKq#*#{cMSJ?T&BVBAAkebEb73Sfa5z_ z7I))EuEPWEo~fa4#TkAH;C?(|Q%c8>2D?_Q_S z*3stPU|d^dyL(zZU#Dz)o5yp`XXovOYX^QKb651wU!INk3CG<*)rnou#Kk47MUKms zLO57@3zou*f_Kwi8$Lq!HXTMV+yH#egbRjr=v*#4kGQymU!`8L#&9|JH=3M~ZJ!W|tX}FWR~BRUcX+|^ zf)Mp>ac7~9I5HniJO)%#zJ)yB=pyvxvV$FccsB~?_aig(29^H-3;yHqmr0hNj^Zd= zbMWfu)8y{-pCr-M(dFKy(Am-H{sjRET)vvXPJaZ#hXmq?#@(5~2QY_`tfj#q9w@o$c-ISfg)mPZz^?jc&F=(onw#wK{R8 ziO-1TuAC_#9pi9`Zuagoo^qCMIk_p#d5D99$R2widg_CuHOB(HX{TA5C~V_HAtzUq zgQ|ljiL{TSFf4DIrJ~2V*>VeRJZdjgNOo1IR(UanxV2Ty)G<*_0h)FGMx!|%VM7_% z{D-O-WO8X9@#G~x;vdP{vOQuWJN!X^3=cY;0HTZ5=`4kcXpF2IycCbfib{K_yd1({ zb-3{%Fb+3SSw^vK(d5qV?5c~c!caxg-tF2MTUVpH$#p=B0p=Emqwpei_>M4h1n@Or z2QdC&B`AY+pv-{<8+Xpa>qNIa+Ilq7nKgm@E;;Hs*g6)vdH6ROGRLX2?1jm>PKz`4 z6>e2u;YbiisXYcTW?unQOCPYW@F|2u^>8eq!kdwO1-cFID=@;wzQQM$Bl`*@kgd>dY5EF$o!D16o;VNl zDe5ci$%e}M3Upv!fmqj9V7O{uK`#p0UwdsxAoLZ6Gqk=!9mA#QD;UG&{0T4{7^1JR z7a3Y#fe!2|5bOF1Vp!i-up-;YmAcSZpjhoIREeXg55i$-`U)q)U+62y7A{NGSFi+j z`jZeoBoKXty_rDkE6{;`1!7%aK?$tyE0Acm!t2uX6-XB+&*IwHS1`RjBbK}RzJj?i zbrw&3UqNZEwX?Ait_7)Up@;Vs8XpRSguVi4q}JfkKKlxa$NCENh`vGz?S#hyJ4o48 zp{%c93Wc%0!WcB`{MFJ>quGrp8v6>egUkCqV)hl5@QAIiuxyXm$PRzd`>?Mt2}G^0 zu%xUDeFc^5YG0x8Aux{6SD;w!D<~npI%%DELRPWBa! zMqlDK^%YKr6Z#5s0imzZiqXX#__q=IDaT=6A-pK)nv6Yv;1L|vz!0IroBpkb&mYjO z)+eypf(mr?JplSC4o>O+uX+Hz2wv9%_`f?X@EI^h!sinzycyBdQ~80LdItUgO?@p` zLsLIY9a`N+?I=zCJdg-YJ;l+Q`l^lLP5lUm;gNojrv4PL7}?abFpX^LNdV`3llM|g z3-E1VQ-3;f-luWpw7|Z#rk)OL>WOttJ;PO-dX;}P_4YQ9KxpcRGqk3@j^R=?^~P{H ze+JA3hG^>dt2Om>U{g=5YwE?YzNxn&+sKu=(9~0`HuY8FDC(!eVQHHBGvO~Z^|G}z z?Et3*EPYI9Vvy5as^-aCfTx%v{Q(p_Rgr>gnp)g2j>PaIs^|a5XUh!B{PmgHoS3))KPlJq; z;dNCgYwAs*FxJ$ML9@WCBQ~Q@0# zYwDMjb)l)Jh1#@0<3nH^p{b`>ZR(X2RTOCIS7mH!>TBvIHw9X)JBN7zd~>RK0j$9_ z%nKYG<^_1a5w~!y@`K4u#ZFY;TYEtwqZ*eer`g`1Q)^)Rlr4r3U5XZ{pnU~=4rufHV*yI zgRlCApP`C_2iF?@!9mEJ>8}~6pX6WaY5R*|7>q9=RCqI@eWvmQx6cgx0ovzUu!i<| zm^w6-joMM#=L)K~AtZ$#K$To7NF0{`StL<}@IEwmb;jlFA^A+$H+Gp9CvlQbr zw$GNpPJboBhXkU1KDgFC(}C?Xv95hq0_)pn62(ta;JP&JGwI@oBXDhOpG|Mih~=)n zeKt4CNXAp&J}b?&wk@{LwIEAqpBoTkG0SA7~AK|AZIIfRVZtp zO`$N>K951O&R;DJOKP8GXK5ZW+vg=bVr!q5?GYQ<;SYLP`@E#A3+*#4)Y|99hrl>O z`%JOgJ}W7zC>q-5ntEjW{3d4Ok3f5ib%loZxhu5KKLFOZ&nKbXWcz#-aCrOtDs*q+ zU){VtE3MEzS3j@TK6)&PXKu%sJa;@Iz!zPghsWB_>~4YKH}|*ZGta=^9U8k|1s^zn zWmo*H2_*cM39dNe;~GGU9liL(W;JvJI`jClZgmLb@d4}_Kztj_B~XUWHv4M{^S*#< z2Tn3P1n=>pqwu3AxF4ULM_63?LtJ`e5Ez*TBlrwvO+f3SHL-HrjBUtGw%Hl0h*&L= zZ5hRWX9s`QEvl(;>?5?{{MgTAn$Na9W!#l~(dROg!x{%!}}B>YqguE?vK0BN`Kst?g9ulgY{uLgi2uNWG6bu(e!0$iC_hlaeO z7I{TjTzWm`6@$RY+AxB=!d~66@=CU46nQlR{w%L*>Y|$o?fc~wS>@b1^f|r!Pi%>r z|0QS|@-3@<-nBAT%dxGMW88C+%RGkib(iw&%P@dE+c8_Y4H9zec0f8wxwS4LQf{pW zfw?sc7;=l@kXx8ULT=rPD|73xkXzIuw+M?%Z^hhV5E$72Mvz;x0b`Ub*_Kh{)`swB zxm8ma-A2%&!)<#PKb>hlwN|#yxwu-k$SdbIrr#x(tvgArTDG=rC|j0Kcfp61t$QG4 zEBE4x+`12tF8{u{#n8yD`w8>z#+A8sc*rekkz0hi++vWW$}QQJ(T3crsY7mAUXA%4 zl2ynn+n2=o!@E^Rz5*wVDINrjIe)k#@*qVOIrjYFBM6SZ%U1~%-i(|-q+4xZVe^L% zL03PFpr2v$hl+cdb{n0IA;)O*ht*WnZ7ZtkKIpchN5L2g{~Dpfn-Sv^DjUWpigU!a zqDF1pR>Z(dH$GAL9y}v%E2;%+7@rJNhoM5Fw&<#s;N*6TS@`pFByN_W-UOpL`rIb66^* z1IH)Cy739aRmUeP{}`Xx+rS(M6v)P?a0#p?K^N*qP~aX2i^_~dE$3*!^nnzNMS6H8#He+J=0 z0x>?pxubEZkPaN55bMS#N?`r?ghcU+QMiV(vczpgq>JB%!nJXHVtRWbbH%#!Mdn4EJ4k#jI6$L0UtbE+%#4Lzfk ze)f5`s_&^fRp)e7_xH`|s&0Q&Nc;SKV*U8vCsfqmCzlr_j^C+ceI3hE)AGMhTwpr> z_sJA9vwF#g^!LdX)I}LTw08OoF@K-T7-IkXWMf0@#?}LUC(W3(E6PxhAI>^;;qMb# zNPnM{gFqkQ?-LH=-zVmZU55Jm1#@W$(0&A3D~*S4G15 z4=S4)KYYImr^XLItU}!aK0?O3!zaWKDN8W#@k81yjI%wX{OQ{ZrXY?XI+r$+<`!vRYfX}ssj?bBe zJ@DBr+&%uZnhh2TpYM|JnF8>cJi}+RFvn+~vZbxa0zPvX@i`i}7r;=_ki$^EqK#i_b}A20oXAf=a+=%n0#A+6SMlAIE1Zw)p%>9S<5$P0R7w1*YTp zJjKkcUh-iUK3h9|h8TRFF~p9~8yjLbwjSsTpJ$!AfX}p$@VOiW`Uv>UVZ>*1#cmV@ zJ|}S(pU>p@Avdjn&lf$gZI|LapOd7BVdQZhJxtUmFWSi1b@Vq4T%wKhyx#tX|AHFu zIM0`Kq{zjWm8~gesR-g#LbEFS= zVp=>?dXs4uZ}szZx@vfw=j%GsXE&AVY<*Li-cCI4Y@w~Q^)0f|*OYR$?jFt-Qk^Zb z>};XZ>ug!u)@X6Ik~o~LIdLAW3g^n>JhxMv=M6STzO5p0zwapv+;5xyTzt9yUrOQX zyD7%K{>cSBvJD%`exP~+lOK{b{MdiJupo@RPzs^%v@&OUysGILin{D@lD8E0l6_Zd zImx535Zze{d&%yqv%YqKr0-s`(~9WM>K0!fwspt;qn5YYUa=i@C}(TfA$BpnUto)E z60!0>>M-wv05d>lhg_dS&0LiE2T@r*iswf`M!(@6p}-ykcVsM z*x|l&>}*+w;!(xUvDkQ9P+K#^NE zXei4mR@@*4Ap0M zRV&Pu`)We?&asu{6?TrTWIM+&SKrE2Dsi@R%;i2t%)6XIdYNDR^pjIa^EuJ4mO>_# z85FV{6jTC*w5!QOJhTsmw0@jIQc)E0T0+C||LRzu7`D{3oI<+5beuv?F*B=|d`J}X z+Ug?Afv|JT+UYaIP{=bfiL+r-Z1AR};n6>N3P=$E3Yj)PD3l!33_L1$*v2qaT zBTz^Vp^!)MEYw`F%W(Oq;dSZFLOe;leRw@dk7@UfT`H^()4Ldp=g&72&a!Vz3(6M+ zyK#NkJA}RG*KeLRpODGfH#QW0UrPV8=g-`+7KhiTN5}Z%RsKf9_+P3>82?*k0pmX{ z8}6;n7S;EOYG0puR^in6&hJ&I>;DgA4L`c;!ziocJG5EGcYY&D4*h7&i0@bf6XQGk zclf^UsgONktM?z(nY{QDS;LPGVk0bKJ_(xht=^@y1#FaSz@EI-JHjl0ozx1zuEYU5 zOX&o_{+)~nfX(5gm``k@j`?&7>P|Nk^EoIhx`53*=mItd3>wOEz@E0%n^{fF=ddlx zN59f9Vm^99SPR$`5c46=02@7V4hL+T%mQqm+87W3ySC5)JF_qY>}gxQ-NN1DL9$RW zp92Z7DIn%Uo&mO5n8$p4%9gew3xLgGjQK>vHP!#Df<7@H-3D5~wzlfK`LwOx?%*ol zcWZ}0F`s)Sz@~th4|xXI=3pN4!O%fN+5zkdTfH$?pFdYx#(Z4vW5m460o%*`MAAH=WXLW=p6gFqhvusMt| zA9KZS6pHyIz)s=-*uvKqvljzqE0SDb_Ap?!-lS1r_G1HPpEd!rehU%k$+Mnirw5q*_7CgwQY?m8gWzAbHJoBO>}MIMVen~ny}E~WDR2xV(GnCm^-@_skj=y0WYf1ltzQh867d5=mj@2zcX zwD3NOgZFb{F<4dj{xZ#pH`|!+QIU9>79_Sj?dsxaqOS}0*F1Zz@w62cwmdDp3#f?E z9H}b0`5#5r@MHh&>KF}WDMsTj{h{SHP%|NFv#R2py3s^<15g{adAi1DV^N#(4M4p9 zFT4W?W759uQo=d+g_?LchXTSmb1vBPQM9Jg@K_}pqXSg3H${jl&~b;%DJ3JB+rXY9}{%)>c8XG>d=1$M|` z4Ch3{HP_FnfQw$K^go%)6W&dYPX{`pMa$`J9-QT@PZ1No58*EC&UZzz#7Z zutVC19a=xm4yh=1s5i;%9G^?agT_JHw~_Ri$PG1-Z9l=+DsK3^zzs!(3T}9qaQ^(_mKRW7$8+u~+5PoDi|265S{&Zi zy0rZP@C02qx*eTYMdAq;R2JenU7m1$70%%a7giPB2E=7G!T8bT36#}5ftF|RgbS!R z=Ls|s-u|0F1C*uhibC&Xii>O1Lv}4E`esp*O!p-vpv^T*Ml3KwNDsh19QaXVr zTu4R)p1|QGo)Fupc|xb4?sPLe;aFMGFOKK|@&|p1`#PPq--g=zL1y2~FY& z6u=Y6GoFB6g%6M`|t$Jwa+?NJi+BYM$EgMCwQ5kNczcng87^$A4w(yFJ+{cp({estG%P?q?> zgebu!RUt=z6soly_9xu|LIt1IpRIk~6I{Oe=PU>YoG7bxCN4wP@S_9r2saP%Xm0}K zlUf1tmH68p3@D`&K>kuPB7i)HlR!SUQGNFb8>`v!$)b0?2b1K|UI;xqev{^a1%Rs$KwjYpV|e0P^nO-to!O z4-N|CACf?x0zjTT19@{W2YCz~G^Bk%9&-l`X&DS~xsMU^E(dup^AkxwImnyO2_RdL zPbxD&z8n-(0?1=V0D0O6D4M(>ka0oau|U}q_v0N8&oBLZM^IB9K1 zY@=S=(J81q-OSpKYs!i)U^5T8fQ*T^R4xh4i;YC}K1;FMouI-41YpVaF3YNEa7Gri^<9}V%3xI8H)pzr0YdhS*)$#SD z9~{)$jz=WGrhv5_`G29l)NjwgYnq4QaWy!{t6k%)1=0z06M}{p5gc zJ}0ni0XwP80PJ#5PzivI83C|qAHcSL9I&a_0`|3ZJZL;MEeC8Dn2rPX6f?7W$%hKC zeGY`R9o9~tAqKE#46y_D#)jC9tp_>>Y_08>b?O3O(?VL?Q4Ruq1i_(xr z9SN|LH~{upx3+_uR)N{?QQvPh%)Y*ge2v2mb);_qDb*T>8!KD8ovm?L7u4Gdj{`bj zg~z>=hZP=ZYmLJ{k&SMklr;{I)OE=U52X4#hV0-ztzPkOhoGWH?xRMu!sEWmrmXO= zwyjaEak!uAIqym0rQ!W0o%hZftXdpCfSS%%@cnJ(`%P5jzTZqo`bvXR`F;y!YqvMw z8>yM^BOT!TSb6XrZTbGsWTTrZ#rJ;+z9W_IWC!zJ zhp3+Wp2SPThe|rncdS|*K8%|9?rVDf(|o_BihNDat#u@?Z=-DO4(9d4rC?q^LI-&L zNaew6^yKwz$ws$Qir0?{UL%#)WC!={XuU>7jXX+?$m>Tdo8q;#ZH>z7$Ecoroy1GS z$4WYXO%HZ04j<=r+ciDz_w7{VV}1u64VpVDmG^g2wsyz4-lHw=?@Ttjy;8h?bnqUj zyeG@NN2Qnd*0wcTc%Q_<`#EcRu&VH#7~Fr^nBPT3;v#of)+YwHrg{SRQ^*>AbYpOo z&5Xg_O%-w?jzSfKd#TR)##ZW-Z_hakVsQ7A)jAXFWDP$$j2>YbgEO}}3vx>7*8-(S zyQcJ$7vz|JOX-tZLFp^;x7CRj$K|@-`;9Txw#JtNXy_flkq@SG9o6m_3e~SxR3v!am z3`$=P3MzrpV@9C#v=61Xew@-%QI!4(Lbvg~bv$T1H7%#~E-)RZ^i#~t>Lni%rGKKj zC}VKePM;x$($5%Tr}P^eVmG!P=*Mfuteq-DJq9=H)CEdU3n>Oy4g!4yO3z`8!I>*| zqfiX)N%UqhxFp^_e6plxRSb?h*5dFf^q69BZ#Rs8fQp3i4^%ca1~*dS)EL}@RjBL# zA!H3dx-mG)>KGhtmNB@oBsuh>H6sRR4SZ48&moDyJye~^i-(al{OBMy!XgHjpgE7h zmC_clQLX`dattoQEc>gHS^?OVIACWfodDPmk`V#0Ih+)Oi*3{~xK2Uc>1JYZ50@2P zz-AtF0UHDK85ivSk-_1Ql}`PXCbOCt+`o{I8l}YGo{#{W0%CCF8DOIqV{kT^1=v2d zF(3eTZJ`5pX5r7x!e3zFwEb0X;qLLH)NHU&F}Notz@~s09C-%VW?>$K^C?@}iYx#& zhcN~h4cAnEgbJ2D{xb7ZnvYh!0NB=6eK(&LgL4O0$B&VIa8NP0QxjlQKn#vN18j3J zkHKN+pdsx5_JkN5<_;RtG6v^zA0y^n4%lAiCz5`0z&4)~*nLZ53ScLd8Gv053Mv7x zF(Uvr?E~1>j{`OpTfly#j`ax;OHIoG+XbfMfNh6eGqZZBumWtK10e=y?erO90DHy| zJ78~Yh~3zFpmV@h3~tt`3xG`vDF#;#0(}I)<}k+K%oV#)CDw`6Ev9_&IMI)Z2dd_%~cxm`-N$1C6uxoMn z9IxBPV%+ajRphalC+kS>=~pW6pQ>!_&U3v-Ti!p7Z1g0hc>mG$@yIFW5m46IiHvLiKL&L^O?_yFMTU;zN9jP^Ob{w zO5l8UHTg?$XdljJ{W#~NqB!641bgEb>Uhw2YFf_uTwprR`KFke)k{7k&i8zE5#~VP zeAZ5%A%^qK7-Hvq8yjLbwjSuGYsRd-K!z$vBhEML)CJB*3yJfUgFqjF^KlqCpSfa} zp*Y_Q>CJ*PNxXgdB1uJA;=ZYChkaAp^IYtySB%KsgLC}Wa^KYFh0E-l`n~cKlwT@* zSDp9ZoGfg=w*F`PrnqS>4qxn@!hMd9`2TMz68^tZ+0;1A%T?Gye`l@Kt5v95z-!1F zestqBlqKl*_Z-t^8K-%LBsm#CYet;L8u+3vp%&rK&|0a})S0|^Em^~l4rU|VG-ji` z3CvDv1!h;`Z|fxJ!AdEefZ4B-5dpI~oP^o2jT*B%1$C#J!R*(`iY{g|54xC*0fUCJ zKA6p{2D9HtK6;r_F#BHWxWlV_NXUc_vh%))G++87WpySC6VJF~C{X1j&E$8S=z z!9rp7GZJP~0A`bCm~9s3nC(-xv=v#vYz`x4N5eJMU$25bnEhte3z%(f^|_&g+3w)# z_}`@;9290hGhsFbU^aP%+2&x5*%&%#Nc&(m<_;Rt60=?IW5m46G26@hMAA==+2(V? zyB4#P$_&gd2L+XY*_aXHG_((9TR)E3RBSQ(4La6Gb}Th5$7~mvj$`%|GqZZhhgq0y z?erO9Fnh)jJ7#Zeh~3zFpexLtb?O3U(?Y`RauDbvU^a&lv&|K|Q52Y+#9hojli!2G zO)JA}kJG%<{$~FV6?vTItvXVq;%&;-t|lsbaltY^7~aGr+_Fdt=~o!m)m{v8wv$I5~n^ddbD<& z&QV;T<7aCBxx!nJ{bwBkI)kr5{;*8f>G%j)!;kgvV$7E@<||5EST5DE08o4j@<~g> zC}?9pG*t7*$qRHW>~nSR#We~FnHn;2U~{E(X_!ZRKA^4xd*pD^vYeTIxMH zor1c*prGvgoS+{lxsVv;50xMHywg|o*~MKe^=pqmDl2yEzvf`a((rEl75^IDGR6qK zKYhYP$HUVkJ@8s3Yp+uhOnE)O-=JjuXBw2@8~OPrB}+q#9X(usMGZzw#=t{8Y=jqs z260Y7r>*Vbf@N*bC&)+dR?6BQz3BAVuO6c-R$p_Fh_yZB83jczuI;hwNEDO{!EFx| zG&9cGXJ*{bb=Ja4{b|d3+_*jCPtvX%r)53Q#kj}owxX{ssDNcXvYI>qkOG$VkZ0`E9L$&XV5q)Kp>%1Of<+VFn2e=^hO}JK<8mJ!W@Ju0z0A)c zUF5{m+)bpdC7wxT2JtM%1C>BL?Lzcm5$!`ftsf_zR21?2cU=kNkL!5QcxqZsJY8Tq zPCTcWnbk`^B;xrW>Y`oI^HHugH>1z!LOf@T?#HaPjg77wn~m}FHBZ*wA{%`%&#bc+ zI48)c$t;M|fwKzSV}dY5D$*Z(X|#9eA}_@CbCIWN9-;X~5>ALAdNQIWXUjR(!= zbTnv$s!G40R18cMWXsx3jDh`^l#PGBT?g>bcPJ11lQzV_zC@EL9MUA{ujfj7~OW73uX>D7hVqpKHdVVsKcxm`>X=f#&6&cA(O;oWu)1m1A4)0G7drf;Jx+)?NLSNeaf&ZWMrp~9AHrFRi7 z4NukCnf(myo6^*sQ5U*SEI;<&BfO$;X=TYjBSBdTr1>if>97r?UHqa8rwkgAg)NV} zfEHx6Vt?57b;OzshnaZL&{%j`;kNLJ2{Up-46A%u;jSIwRfQOpUP07G=(4krJ%fv9 zrea|Fa0spFZ13EEvR;CCo6@<^ScLwg9)FsAyWo*WpYOSA_tDGstJcm?bWn7Kq4^G3 z!;emM5MdD=G_N{O^h#;V>QJs(-Q-nVrr$o%OKJtRtHkL+k z9gJ<%(ZNnZ-RWkcgWr`E!Ol~3@q{OO%;Lbx>|{{n-VGYca%whhCneW0(ZL^(kHp3; zI`~4!!HK$%^${0|hz^ox)C|2C9keS{)Xc9}&Oo4MwS~^ls1PjtdE#f&R&lw7yT>BH zt%ZsXz6cBbi5>++2gx&jW)|krL7%dvt;hmD<1j`Cqv4wB-&4Wz*7-Xrf24YWpIKWq zf=^q;&CC2m(oas(%;!XKG#6|YS5lcl(#khoo6QPSU6-lJ-6U z)L4Hk$sJEk%SoCGOvg#u6f?7W$%jPJ-mfmg90*VJterkX3`v_Y#2y{o*buw1^+3Nw zGiL1rGSr{w%{p~~snJ4;4wi#JAAzZH7^8#cirpv_9sD4@8Bw8J|NsQeL#5=^dYGg^q~^#ih@3r z(h2lIpw`j{4kyuv*hWnsIt6v7o1qWCkriF~z`X0y2MicAl=YzxTw>6N-;4Q(%(pF@FK5!W6Lo{4d{kJMu?m-{^sCt1uSX+Itg@=po;Oh8K(hm-bKD;c^ z2MVAMq52At(mwP7bM+|(r6qlExsMU^E~gJ(<|mSVa{6FCC+KbILsFSR zAId>NCC~@V2=syWp%2!N(+4VwK73TzG5(#72aTtu<@CV?rsMQsikVrxBFp37w7{mB>GSe0(}Jfz+t2h=8D}Y zL?1puZ$=-ISYL^hRI!PZZzp^f572f7i}U=tiu1f#7!H5XyAX;v&)J3l@Q0I>*Zkq3 zlAWsm8GqoOwK)8g_sKIh_{V#VKPZv}e^}TW`9pU-u>IkcKWyr(2VRuAZUdSYnqd6s zt_P+p@dOW1941-L3aC@92e!U96rw2Kl(@NA#2JErT@sv(ZDb8UI`EHh)9{b-Cg4A* z74Tn)0}_|g3GhFV5g~fO;UxHvZPf7JDX2T$4E!(2iZ1*!!MgB|0fUCJKJd>K0{rhp zYxHOR0{&l-;GY8EpFD$q^dkJ*H6i%-D+B`q{MQyb{AU*SfPc4e_gJ^{)&M}rih}>osME0|a>rBCa`<8Q4_V2YVpz2t-1 z**UxdsQOtQmGE!v^ciB{f5s3y{BLZC-Pn4d^(gSzwa>{=hyPipF2Fx6B=|1}fj$EK za~R>@T(KL4;9r0F2l!9o?ZYofnm^|`lh*@t(^?#U(K~I|13Ug7A2i~K? zHh$1q54=}}x&`bbYxvO(5m1((-`4}vW*H(_mLw+wXw6s;Yz=%-f33C%e}*voNOdMJ zjv{OL(ZOtlo5pOEH-Xtnt-$O`9N@E*PQdI{84)m>!%3JO+o&x0?MYB2kpq9ycf!X94W}_D|+a|Lx+ov`L1kA22 zbj;2y?19;C;qLLd)NHU&n0*=+dc>asFq=HXY_l-OY@f2Ft;hmqa~Lr@8m_5+4i)tI zll`w%FZ{`FZS}dKgW2xj>iFE!4-N{mUyFkt@uvXHCeJY29LzBrL-l1KrF}3Pa|aD+ ziP? zo7&opFKIg2+KeyjfVCN4Q6AQ2(1zA#T##&Z9;K|!c%80J)@C5p+6=OT`_9|0%|Jzs zoUTT+Hsfo`rmW4dwyjaE&G@?NdHf@ZmxkYvbpF~5>{=Xt)9bctgWqrG;6f_$wZTIj z=`%!1<^3_r)^29re@klS{kL_1_uo+-yhmH!A4@j6uu{B#eefQsyeB)j?*gs&sHloqEBTg>$yZFzqwve6}!;{6+g_ekYES>`<|y}Y-!tuf&0Vm(pM=3$%qplp-Azd;cyb?k8RYPzf(|mx*5)YMOhK-WGPQr<--IE zoZn7{ukyhFeFg%%wF*LOoV9{r`n#IALg4&YCLjH+QaHc9sN8aX3gGM$EgM^Lv?}Nczb+zxljH2vo-DlFAIuUk(Z?f%9WV;QX`? z=eK^G^HWir|JUktd?g(Z8c$8@a7kN%>7303Q_OV5s&K0`JWlr;9hGr9tJ-IX;rug( z*g5~khS-g*2U?%*I(F^1GSuUAvrb*${Irlbe>n*B5ja1Gk@K4?cB2sI{~f*AW4a{X zKK#9;XJMRdZtU^w&H?d)BE7m`w`_v&%uCkAT@6M$9%>>_$;wb`p0n`%I40ans5$+xP8%$o^*kClz^| z=B7GQq~d1E*8bTd6@L`STb$-kIv`GSPcpr=U1&B;bLQA(sjpOLWG98yIp$PVt? z-^OWBQ6mf6EKYNnvMF&IYug%Cq++0YPI{7fX}Boq{5TDEEe^MM-8N3+e&0ex9;dmb zjt0%Gl*;>CD_gteT<_7A_qQP%{j*ZM*M}s`d!+K7Eb|_fUfx^V)@b2<5(n?+#A&c9 z_mJWYxQB954Tq(akx7wn;OHpn|9c* z>ATO<-@SMjsS6kGO4jhB8^fV25jl_H+)1*Wwo#{w;aK1I#(>Z25A8GZ?#1Xu7Q>0M zLm9)lo4nA;xI0yBCvM!3QgGpk}31 zo7))xT58|DcxM@LqQ`JJoWuuX8#N#76x5w=h7aCDRs=g6*%@LuOt8QQ%>|15ROmA| z*xiEl5R(+&x}L%PkZi)O%%HK1cz4kUZmqW?{|;eae=$A`5(w!^j7t;hO4eD(J%p52#+? zgVt6bvH%}+2Uo}Ul74VdeDJ?<(4X5<03RgJ_@FtM^Fa*N_j{CvxpIF^h^g;h#N0tc zTJk}c`xr6raz5x~ej@27=Y!^R;!^E%+oUps50-<1O5lTbHEkDA>tjZe!UwG%=Yv!f zAKWHL9G{|NeWJxu(>mO=Twpq9i_K(~v}R`Yk`G&@;W3;gby3D}tjRt@3?G~^#Lfpd zHpFghJ@pM|+(B;^!%5=p!<~|z zg)tm%T8qQOz0)>^jfYyu{jx}(|VmM=UCNCaH*6^c)*$6j{*(h%Uvy)nZ*_AlJXDOY4*$_38#QKk3hGWbgV_&~626{6vcQ9+2~)C62;J#ZHr>1VjVg+W>Yt**mZ#w8 zG$JfWquJ33^pw&z(1UV6(rEf^peLynq_GkQ{#Httc=>Y~=y|$~IMGQXhm%NSY@;TP zor1d4&5*`t%ZgxU7U*H#1=46Pc%TOZ1`TC>NF$dRr15#=qbDncG-`QkOByMFG?Hhe z5xqzn?cxz>^h*f?0%@!*bkdkv*n>2>g}cYkSF^!Fkwz^(ZAl{qkVf*1G@6AuY4j;u z+KMcYMh+usjD~BfKSu?9NaG7sFOWuSs}G}qG`fSU;}=RlI4IJnm6mOwhXP0=c}5z| z!JIT=sJ?WfG|ZKmfga4&Cpnasq|xO*M$EgMGG}1n#(fV=HNJWvxBZZse=jvErmax>c4mUdL0@HEQIK|AYUh*N4#-r3l8R)Tg z`V29oamElkY24TlyRr2^YkkVGYiF0C9_X2M>H=w`g+v<5L7NxXgdSCWeJoJD);xo0g7&*^=_o!}22Gyd=*6^TE*RM}Mi@Ddenjz7Fynz}u_ zf~?_3mp@Qe^9MRC`NO|SlJf_&s(13({e46HVahvs=>7jIe|V(~&{=yGS;LPGe?Yit z{($l(_(M`F_(LTQP+m$W@Q0Vlh!dSZa5#xS#5QXF&?%@p-3)(twXEp!2j*RuKVZP1 zp{x&o;1YvByq0|QVx{m0J$`Qa0|oF0@{B*A7x{x-JmL?2DPch154DBPA2JJj@CUbW z_xN>cHdrYBpg?fTA1Hu7kZ1hCEX?_XPubE|WPv|$82LjqTvPouD(J%>UaxwAKUiCR zzyZ21EP@CWjYKbV6#f51?Ebwz0({(!mqJc!bgKe*h-hP3q>t~0N11gF?{I#%Se438+Egwrw z>u{^$0@HE+V252ZvwEp8@rQG(i;_QBJAH;2{xD;Roj+`Bh~3zFp!GNRv1>=mQ0EV` zPF>&+w2=5iISBL-_ydQLKbR|aqY!^M54{^Yk8soQkMbtqKdBY)Ux@<}m(mIF{~t0Uz(0qR;6Jue!+)os z?sPNo|6j7A3;#^8F8pJ_prNb}{Bwl>|Nl)sdXrM%U+lYue+qzq@(ljbi|}vPgy7$= z5DWh&*LMs56afF^8T^}tIsE&SEp0^>;Ge??|Iu(w z^|z~_5B$GN^#c4`TYazr_;&|a$NwY!;Gp3D6AAt)0RG7{_%{c0_{Y#eL)r)aF?Z0A zmhkU#A0y^n4*y=}Cz5`0_&1*ubhhxHRA#_`IVh+E_{WR@|FjSMTR#r}R22MQK)3$! zJ9Io~JT)zce;1gJ!~YaBvwF#g1pgOQ7bW~#JAH;2_@6Pv4*we)VmG!P=uZOw7m}e4 z|FceAfPY#@@LvuBeFXUDFv7pNVmAuG|Apzz;6I7C4~LSTh3iDPX)O*f;+?kZL>&L$ zts>$7`;|>yC-Pnuw(*0`J9$2+LfryBMAq=58zP`ALBFpPq0KTx@IFa$GJw{Mbt2Zl zAzLT%VRa@iK0?;;ql4K9H;vgSZvwNET7lV>IKXEqoq*XNkP#>PpX?k?!tB^ajoF=o zy3@^I_D5w!7qgiMUChP+eHaY8d#n>-R)g7}ARoO)DVY7KgxM5;+2k2!qZcvTCbKZx zr#1!z%&skT%+4(Af!S{1?(rwpY_L$6{pp0+6oA>}8D^V>IcEEmEp0^>Fq^}O+0k%K z^^d8b4`zQ#^#W#FTYYZmV75EBI{viugM-5C&m_#I0L&)OFxwo=F&jhml_aHoFdK9A zsU)Q(X1m={Gsn7y$fc4O;-t}uJnsSB7* z3kkE!L7VVZE`;~{)B4}&9#23j%pH<3wiO=e~*GarIyt1V7#n;G8eHRaQEe@~Zb=xs_zrUj*AM@|&NFOCp zD(`=wZ0$~Sy+>Q#|B!6-U8Q*ch2T9>c~6#kk4i7^t!-QWxg`A6dhXZhVfiMAAJz_fyGoN=}_BK4*Pz=&9Yb zckx6oviMw-9m?fBKbIFe8NVQF_|f6|2n()nc665al+t#256bqD{BG{QN?_q)ku5T{*@*WHrG?ew> z`dlG!{ojy}eykL(|3zKk;r*Kw!1c*9u8&^i`gTp|a`P($0|M8tEp)D*S=fW?yM?>Q zzg4rrLUH{sVWGc&lLELtdB*k4!kp{-lr3#V7Pvl#k?TjpHPwHmf<9dTcd8e-zO~hd z2*UNZuR+9=O|0i@9{a>EaP(rCCSMES~KEv z*1#c)&*?n@c%fGS$P0dSFdN~fF&pJgV0Ka~FuM{5_$;LpFk3HFXfd0^Nthkms4=@! zPwP%U^cTF%+{Vw0mdKo3(Wp%!fXn_Z1N1V(TkXElUbPU zQyT*UX4e)vW@i@mz-+g0_gMQpTMLERrzgy&0L&)OFxxE5G25qXX)CgT*&Ig9j)rTh zYin;W%+{9E7PGCbJ~wnQ+Z|jTYxijDpfLMu39~5xv&l2eHV1Re#!!98L1`b%#@s={Gsn7y$fc4O;-t}uJnsSB7*3kkE!L7CT^pxCMU7lXjVMlYU1d|^ zG}g8?sz}B4RL@CI5-$y}FX{X^4R$RKZ{T&?IF0+QZDb)%qb*^&EVS7R@AoNNyUSef z(U$jG=`QcJ)6Bg8M(`e~yeG@NN2Qnd*0wcTc%Q_<`#EtMtO~wg^uT?17mpUr7w_WH zyDQpv@w{H&c2`(c^Fd3<;c!}m*K)Y)>%$QGAl$;kwk|BZRk0p@BtnHPhkK5`Mt)#f zFARBr%lF^Y^R;W~+v7)H@%W=2ctf53b*deG#mBuyp|t~-9mLvJ>!^zz`M?{sm5%Dv zS$~^!hl=m+JZ|3uPf})$nY3-{T$w>%iUutW_bn>apzjz@cxg~56!nOOKaZMPkfIm; zjI|sNB6nW0h9CRyTz`q4vP4JmGPwU~HL$#G9cu;+_LT%x3lIx}N;^yI!;3APvfO_6 z)r|j&?Cbs3p&Lp4z~|NR+Hrc_lD_+Txr?{%KbRB>FXoN_Wq)z zR&eM_9O!H*4d;%Q+V>Y}ZD-4&Ih@3yV;ePx?iAFWZiYi&Kvo1h^*!kJ{Y6aGz@hDA zP~>AWXejH$p}DKTp)X86(uNe{(BFi>ov2&OprHT`O`dUR^dg70D^Ry6zaBXQfkW38 zo=rE2!onUL+AZ8Y9;(@3p*Zxnu+ZaP6u_a$GY)MQ<{a9mY-ua9z@a&e96B1Vsjf9i zy*TtmR4>H6tgSu-3l8lLu8xn9esEA6`rA0@aW4ws(Bv71HV1PKjiLG!hSD%szAk&F zzP|`_^%V-GC5Lu7gQ!n)D9t&vm-&gLpPWOR&xwDw96G7Y;Lzoupb|K=T}|69f<^mq zXzRy0G!@06|49%vzL1Uwji;vN9NGn@;~aX5nOVK$L*mdkQ5R+0%i8HP#Bk^tL+l)S zV?*r5)&u<=&6u^D%21Dc%{p~~L(@Xy(B&Y|N8r#LMh_2&V%lZS4hiFAt!U;T`8>2R5>^$o6r^%BG9(nZnp1XD*QK^b4WrJ~M^D3<~VA!S7E@Qp{x(D;?4uFI+1*|Un#N4?(tw2*jJISBL-com0{SD7nzqY$sUExj49O5*Lq+ew=9s+Wm0!K-$O)8xGB zBY{^vy5dzA6EA{ST~B$P|ELJqGYcV2bVHWo#-qi<|#S29>^VngAwH_4!a4Zidet%U^}^e7r;7GjU0 zVQV3t%N@@`w)gikPGfX6vW6cWwuf-jY!Bs4u)U;Ku)Rtgh*v3{!1k^pBLdswa1z^# zZPaY9Q&4xh8Mb$IS`c)J)g3rt;hn~ z<1n(lXt<{OKd7M3>M=dZYT2H()rShe_T0hM@wKHN92DF8abkNE!1l;9wr39JY!5^A zJs_oh*dFHULq1ANw&!vmBj#Ps_PoqbB>m)U&wNfysbzafWd_?T2L+YD_An!`J=%xu zSwGJ9sMto)uAyUnv&&M`a<=CJ({Z*p#muZ;@*%Okn}|!4Y|q;1GsLjH8AI%BZ(~F3 z#?}K}MbT!Ry1@2mA+f!35a=VYJq{z=Ggs_JQAE*_xQ(K4#pVTd&R-vdf!)GbG?g+$6ZeUGp@%itB9dJS>+x>yN-&)^=_anaJ@^4=Y3B9 z#YY#OWnAxiDxAdikVCD==X1SSD^ja2*P~9CT6MVI^)rKVu7@0h$mestSSuRT<$BcV z8dPz;j9Ij&X=6dXe^M{HiRuE<<;jl|AFRQxX&uEit+SI_&^q&~i1gi1dJ`gjdh}ax zJDRT+?r)sieN@R z5aFgNA1HV5&1FTfGYbGR z@w=1|1M~qn?C!C7nA;|l@RsDG>nep3{v=UC3ZR7K86`w7QbMlu{i1|^-D5zYgtdiE z2{Q|OP(rtG_xM(7HdrW1_|rrQDS#4^XOz$^%qgKy+0s^Iff8~UDPc5RQ~eey=tBt= zBx)(4wbh3&KndN!)v++Lbx@S>e-kC707^)nQ9^Str-T?fXh_3cnHd1YTzxxCX-NrP z?qkHf%PFCk`H7^ToD!PPiB7eYFsaO-gyo>15-1^N1WHKzP(tg+DIpcx0HE%qa>rBC za!Tj|({V~T#muZ;@*z<|^;A(pYp2f;LkVXLu~Wj04Y3bl&%IXBFxWa2K+MAKm=~lqE9b`w3{Xj6dB$ zl05!|*3$ZmPKZw<*Vp$ioT3$1WP`>UIAr???yAn@#ofpnesmxk;ie%Qsnbkn{DdZ#l zbz_kIvjo``0NLajWTO`$+a|Lh+ov`L1jw!}bjZ#u>;c(s;qLK0)oid(ko|uNvMB(v z$ur0{3vAg5wfG3_1dY~)Fo^|R1WYa=|>~aw3BS1EX5wgt{yHOO7ox~Bc<2%03_38#QKk3hGWbgV_(16e6oA>}8D^V>IcEEmEp0^>Fq^}O+0k%K^#`e-4`x41^#W#FTYYZm zV75EBI)1qHgM-5CUnR_@0L&)OFxwo=F&je%4QU_D#@s>%*^T~ zA7){;wbN&a!R#4B?3lf=A$DWyfvzxn)~O4aO$!OL%R!)zfY}^I%r;l-Mp0mP5})Om z%}p!A?5ztQ(%@|M(Mq)=?lH>N?xBrTN3MyY`+h+E zMQ-~6^`~09ACNY*Bkr+eqem*`%|*Y~)yaN9q}mZjc5vS{+x>v3Xh)p>gke9R$kVj_ zfY!D(svU7+fnm{75-$x!o6~;4M=b1k!UD^<^>1n6Y0p_W$ECIW_EK)w;!qsS*Bbdb z(Cd|S4jw0C{2V+%NBW?frKc*@Ie3yXZhATgVrG60^w*i41N{xuo&(y@Ie0SJ==@XUXTmQ&gmLa0`8|N=Jj{>6ZShrO!~RGx1DiYr3B2%m!N0nRpi2=&4FM6Tb~- z0;$dfSvDI`=`|ayZELic4M`kkgYS=g?81(xrn&I!7sa`NRoPtd^Wbyg*(&n$@LU}Y zn&(;id`n-TROjJ^%GT~VcSg{X&clnyM$b{odH7v84@h+$$g&xMO0OAVZCj(oj7Z`z zBj%h3tjgwtzrW7U!;4j<^Ke~#vPVby2#Hep{xW52>vMfaTfV=XZ1fVP`2PFgJ5u>h zmidlKFW;?gYqan^i3{H!w6Nn*X%0N`>2VHV)fC@fp(6MFRXQ3puU0DGU!!d8z+B(a zmhY#Ljb5n~-~SMNM=IaRGT%|@<-4_QjTXKqaX;U&s_^|J?TXQxsB|xUt%~$F-0PJc zuG_)3qfYu5chW)g21y3Z8!dg4(&1(8Oz4ljovT|{whr}YfZrSik~@z(d2pmaoyG>s zTgGoDAH7cL%9g?Kk2)7${fJuC=Nu$jRT25Yeb;O6jOeXw8490w?phiiqmFhIU5i=l zJaTPH*Own0HM8r}Z_uY-(0tqA=!5Qq*{;neVte7{Yp$7i`%ol7H`K%S$R$m+KkquM z#T-0d9Eu$H{dUX3QxxCU`?PeP|6N5o&u>+xzm-{6v7#9JoAv+NTKAxjQ>dW*J2_uo zfSlz8V9e~)Sq$F_f!9udeL7BZzpT`5&yK`zOsGzNw!>5 z=6~8REic(d@8G7bBv@Macm2Ihwemmh(b95I!tqPP&!`=rFl!rH4tnlOR!ataZ2+fc z!rFl7ZB`byNyqb)ZRd$HQy9KV+kn!2+HI5_dHntzJJ#Q%E!f;%b{@B6$H#76 ze~UzxEN>a!RwctbDcLnR@Fh;yJ7k>B=zo(n{8;}qUVNE7;BsD*3tE1=fNYjzx*)UWbS*JgMPbBI;j<5hDsd%;xDCHOYJu4 z|CA9S%)p_C84f@8CW;VfYyVFD)oo6io%&n*d-!gDR-Ju9LEULkP$uJduKhsCh1Bp5 zl^^%K(^s|~d9ht9haWuh%ZF)y+FP}${wq4$@01n6&g^MEb25Y(>=aYv2I#{o*quGi zKVs#G;ZM}X>aLYt!=KWZ-z&Kx43>9||A&0^A4*qt4TgW>UTI(2Z75h3c93Ub2K3a@ z&(u=5uyl9v%Z$?-!VI;A9%i7zQNhHA+CB9bShl>fJp3gGdsg-g_4)@)Hm*m2Uc1z9?Ns#2l>M`VZ25EBl7O z$FjXEdxw8;XNftuvwO$ym40w`?_l_6oc#pdH59Dw9gN7cn1eaHclbw|TpcX0n$h|? zhiZk1lOFA_EU)Z8da%5*c2KpGxq}9yCH}L-r!QXUboGX$ol;D~Jm%nKej}itJmz3N zr@zYg~Vv2K-Lq?L+4z=-h|=NZjA=buO&QaA z3}2$ZXdrK2a9={-h+{KGfgjP^pEJ&!t5FIQLt1URU)$JNNj%IMiS6 zE$=!->k{+=D4qL{sYvJklgh#~3V7F>^#4j4-}`9{2hAr`IEi~9hkKFF=U%ba4DLmp zGoO2XM!o3n`B}1tACY@4tt>hBqAWdDfp7*l!zxbaUY}B}oO_{Fy}8El?@(|rPEE$I z+Kt)PK1?$!JL|dE=VYAD=;z5Aesmu3Ae_RzAiQ1fg|y{fDA(LejBOtGN@@l7s>Fc? zmC^~^>(eqKa4!xgJ>rRN)Q@;N1$C#JdBpPtS<&TQ%*ihI!T^0<1G_Ws1?4jCbvBW{ zjC*lY;1SQ4$wwbo$|IfucTays4Fx>nA%wN=wCSeDVP)s@wpZn=Z26VxIiKL&LZkf-Csc%Ce@8-Gd1`u2pSrsa=#Twpr>h-ZqKS-s>#qFV~HRx2s3 zojya%Bc2&U?2mXhHpFghJt9uffp(PA30&vfG9qvt4kyK#VjCfB6yr>tg1Xb7 zpsatK=?Ai+%XOHOU9N)x`o<1+XIy7moQWF(ai$-UkG`&yIMX(O_R6|D=}RsW5oaRL zxDI+T&SV#s?k;|rVL;$IwS~@gG7B@VGcC;I7Va7USj`3t6=qt(!WSA9pnxzFdB%0j z!aU66Q?|4fS>QSxMy?YL*Hr(Z3feH!tkBX=R4;HHYpVvrX`v-|aPRo1(hm+Qw6q-u z-)W&G3J5KcXI#e|%tK2UI%r5cTxUXP33K&@9;Iby$>lyq%)6ZHc$uF_`pLPD`J8w{ z%XN~<46aiS3Mzr?U`F6Nv=7&@ew^!2@c{>(CV2PIlGScQOIFYM%_P$-lvEWYZu4}t z8303}B<6KDlw{*(myA&Vfp83afl3m$kAmjLl5QJt|2!4$6VJGeu={HIpW!=KY4IFs zdFR4{-tn$0@PAb#!+)Vn_^xIbUK5@n>60A`Cx|EP)1C``Fh&(7;XHD1o_s#e$67OR zo;q`JULQ2d4EhYP7+xfdoKYuVJ9X>AwlKA)y~;NR1X}Mpuk!u1TGCbh8?uHU@m0Rt zRBOxm(mF&;a4&u zkOU5$B<#?`s2%<=N|#}5V`XRgFsf5fcN!FwWh7xo`7lZWpyFZF?`4J0%KbMQ_(3pR zXVc$4IQBYpKWI1}o~H2l0li0Q=i2L(1e0IS?>8t}|CzYm@QwU@lakO}_Na>)-=!el zK4m!tA9%km4Nv=y0C5PcL%$Hqa%f6&oj6ph!#^hYEOau2(_*tmiH zK2?V&J%!)))XQttPrkJNt)(Z{O-)aTz*s0|Wo0D~#klh;E73{ivepHw_(JT)y3#kjz9oT^MQ zGpm<;NOa|yMpxq8xZ8(J5tXi-adSer1orVq^Y3kFzubl=M(4TIi_f9@f`Ef;)=waUadTjIq^|MoUO{HK6~4u!j{S9>zUWo*Hgkn$J`XK%5M`q^8jpzd@t&)&`^E4pNmIoTzH7@!YrVRsgfn)d9Cn*z_? zc9V}5mGbOu7i`0yy-~okH}Z@Oq9=aoWY8`w-C_JP!+<~rYYUwWW)@~-kkwAVWZ4d^ zFe8I*;qLJsH5)9{v$rF#(4W0gz_T~|mEYpU;3L7!)D z%c>XRQPx(?1g1TEa|c()E7A`R>e<_F9Q0>z6!7egJR^MOVE*h4LkA6Mhwx2!_J+BG zhO~V4=5ik+=3P$syv$D|{p5ttd`@JkjYlPw8HBGK6jTD?!;C=qXdlL6{W#&Hq6pvf zg?8g3bUbK0H7zH6E-)P@d{fNK>Lni%;d_C)2y-A%A#1145JUE646#$8jSaCITMzUe z$leQOs6Ts~b?O4yqlNVBtsDgU2vmr}NQKN5yHSV=y@=i{3YWy&hcA}&n6v2F8+WY5 z;Y;Yz-(mc}irwjBXu2D%sz`iipR&Mro}|B@PS78a@6vz$;ks~!>BTwJw(byrMb_}6 zOD`x(^kU&}iDVrqS-E5SC`od9fmZd+g^e%mIZ~Y!Z(>`w&rHRTUB)rO8Xh-Ie;T@p ze9LNe`||eTx%8E><8~}>S>A37r?c~RW-qfor%r^<@VUquesq@lAe=%s=0E;IxuzRE z9)BgZf^Jmefc&L2oV%QEoLxo)y20V3$6v9H@H8tv{^}IeodyMES!8R@GV8yV6~WFd z_QV|R(hUq4G?e9ZW7^{{u1Nwj=OG{MRm$V9ut zQCsMABeO808`B=mv+8ZbZX1 z)z7VhK6K-Jsu$>nwN+!$w8vlWpg!;>{otS;f2}6EK>?4y$TPZO4(5-)FjU_mQyS(< ziZ4xg{DrytGMLix@t4bejF@*h-S9F$k@S<(4f8ocbxSvr$_% z4Y3#>-`>=*E$LZ=QDQ0^Oj6^S$u_C*5dG0)@58*?tAwxpd#^&3n?qtm0wtrK{K@UB9IU*OgPix^nVt2OoN!9ei2WV|6;UYhPDBy=&H$&+nHJv>klb zklC(CNqTIX#PPB1ymjUHUp$BXN5!^$Ki_^8>D=qvU~oOg_ahqbHI4NS@jQJXOa*OR zi+2gPk2{eQ*CO}0)~s(;#9A?~)qQ_4b-Hn_&ijimmKl@>+K^)q`TRgztQ8HSt@2wH z)ae>TJ(K!}Tr)=3o~Hc$#gQ_$g`KCoC#V;J*Cojse#ED|ap4zbY2g=VB%F5(w6$9f z&7~mmr@Y5YFXzUzv$Xyyk=rw{6zqdFH})@3FnSp+ZolJ-QH6Lelg>`)nN5-ZM#kyX zUy7{ZM`tG@!c9|Tls7?1aCprHVYOrB9>^dd#JD^L{K zuSX0B6uGw0DKZtb6VXiUu@liv+%vw6)PjlP$VXwK??j{kj!d3$WHT}6$UbLFW03`p z%wgon(Q?i8zg2Xm#y7CWQv`L?(E+2Wu+gS6<t^Eq+NmMyAyGeskVHqDoA|!5#loecC>tqN#9*QX5(nr zlLA+dl!7zKByM*iYJXeUi}+hzZ*a+f7MIAm-sRYFlR^N^sZr!^ZSj=(Hb(_HJVS1BbLPN zj>LRF;^8{C=itB2V|e!v-WTihkI^$z-;a1z73uu{gR&4Kgg4$pyz!6ve+iAFzNDhU zmiOe`5jj+id_H%KwIWsPa!2ZPsal6S>Q9zvP|h8ZV-Wd#?ig!DgSy<2I$eVfHFx|+ z^`e{lwa6NNMD7?L(o&Y9sLmbjjE0A_m=qij66cQBkY3ImX{Y*n*~a6lQ@A7c6eQ8# zV!=5q#D7WL@!B#@r~W!*4L>^JRfJQxs3V7wI!41a)vu?5KH=3Hsa~Lq)>cgyr#;Pe2Uo{8 zmVR(hPjk7x1ErHe^r23;%%1(iS-F(c4L+J`P$KTa2^*zTmfzK-<~CreGs!>cYZ9S^Tg zF*B=|d`NV$yOYw|=`+NHS7!{dhgUZ?#BOXo(A7@LS*I?9S7{+V%`FFkK0zL)Z!R3xr;b7fhKujOj`q>>6I@igSnBJ%k>E!K*(sLRu+)1^fno_4d$pq!^6 z#~||gJT2CW26cHFb-D%}YMypW^`blIt;iaFM4lF7e3aEOK0BjDjL%#uVtludUe42K zXKDRCC!V1g->0NrJpc9>ANCZ4%y}9{72>}no_1>)r&E6$vW6d>Rd)!d@U;1l!BMVx zT93!zNv+^%l{iqQQaXXB{j-b+JdMLiF}~PF9pmd1)SYf7#&=s;(dB7O)h`G29iBGf zF*xSxyGlySu%63(jF@*hPxCTAk@S=EH1j!eoHneNRA%tBa!^nSJPk7fPosT!n)Ty6 zjf(j$P^;aB^{k$Avq`2|7_TZwyzJ=~#xt`N#$#T0!+17scFBmbq{oR#93Cgmi{brs z;45FM_zE$+U+S6fpyVZ7qs6nw563;AcUF;j$vu>bmndwszU0gN_{pHT zduC9+DHS=Bko?eWO1-CA(oJTatl`K0CVXo(Zc3%hsSKM^IeB4-jJUMhRL%P!@olPR zWRQ3eYE3QWgw_i9or$W0{v(xTXuS55PhU3oeRkN)B?o}>?E_L$uDa)zTwB4)RZP~qgfAY~?l(KvE zJm9wPUZsHDtK=DVLQlau4{_NQFY4siKL!NqR9ooODYG!6PSbX;x`juKAE0J~h1$J( zUM%$8s}!(%l{}+PW?{a2)h~$BR%A|{1`Wr?oyPak(O?vf*Tr;SBn|R>_p1Hw>|RA$ z?_O;r3$)6*scF@;-K*~W%6LToK0MmJdOn=@-K!L^dzCz+RpxxYd(|Bv?a-NCuQz-A1y?_S;5FuTF^U{||W zXPv$f0;7erdo|AXje5xL)fpaoknd1?sNJi5J&e0o%c;g$3_(5)W022Wv1?J3IqhCe z;&%7y$zkv6#=g#qIl$}5ZC663pr@;t_OL2+c{S5uzL z;n+`YwC3A zY=>VzI5Q~c*T^x5d_KR9wW2{?eodXOK^4Ca_tDL7rhT}25wtvltl>wD|HbFDl-18^ z?Ti{B-WJ~NVlD-VQ{;zAFQ>?~v$X#Elg`lg+OuDFB1OiYf(tuE#;8L4mqd{tDdTkN z|AnmKM~5OKoI;W3Kc_{xrpP^>(1({n0Au^PKkasuzf=wN*2iY0qih!PW5-q#qpAbJ`2ypg*Uj zfakR28BsL{^XIe}I%r5cM0LV*TFf0Zq~&v3m-`qo?{cE*Wqu;*Cnu`rb0T?d{4c4@ zAgbk{pc05GW(1;2`w&&@$B8Nx+g-Ph(Xl>MXQ^p9QFVdoI8mKqW>zoxkcet`*R8eF zXNV!GGltkH+{T93jjacIk7i7^>vqT4)p(eLb<&=1D4? z#MO{PjmYP7wOA`sqb^sYPL~>0TwO8c~+0k#7Wkie&9ZU`z^* z7u4vfs*_VA+F4pZ{&HuC8r?+d6QYNltc`J?L4yzM7&c%20(J~PL-uGW^f!uzf*+kF zZ3w4OrTLFaQLd>{k4L3Rt)NPkIIxydI)N%ZO-2N&#NnhzrLm3rQE8{3?sPMcN}nYw zx>Sj&+oehvFlZ>tsnWDZrQA(;RQg=<(Wy##RC=LAl_=m*DS1Yf(2I{s?TQpt^6L`= z0#&LlbgGnDm{Fx^k4oLbJ>%!8*BSaP*4d}2{Qs!qJ5~6 z_2X2DitUc!=jeFQcxqZsm0VytPL-yZnbk`^B&yWiF>LMh8Dgl?j3IWaw6P&}W9xyg zb_~xtb%83;LfSE04g!4ys>C5w$#x8zD|VwOb_^$RyJI+UrAEOl;$7cRp6~N`f%ppX zu3ISXrJ@+`S`^nIu5}^hbzJN2k~R9D#kII;WqXFVEa>l?u%_*WDiT+EiL$V!ZACnZ z?*m**eGi%!tDxmcc?bzPJc)dM2r1TzJgFN(qE4459qJI$%hZeRST84Q_z_>25|@xs zmX?rVKycGoQTrXrm#S9IiqKkGzvSi5(1Nik-=XBxY>X9UeDciR{rL(Rr!)FWvW6e) z>pBVfcPJ5Vn(m;y3A&Ti3c6E?1M?`Q6X?#r$%sIAIGjXxVjDHx=@itRZieo>N>+5~ z4s)_gcQ8PoamMZ*E5o=UKzCk4K6;T-=*~sJ+H30;q|YEr1l=Le=ni_3?%0JTy5pA_ z1_ZiOTj+Erv#nA07fvZbxa0^Q*- z(w%6yruwT@AiDD*-GJNAP})Y&S*yfeE1f`ntld7i$mUOXcJKIg(htsx`W%b1zDkS& zs1JEYeazXM`e3v^Wv#Ri^}$?y3|eVPeO&J2#T?A3kC*vLrJtPon9qqewA3f5%%DEy z0HG474`u}FL;Fx4>&K}N74ubMR=Zs#X7!xzOft<@iB$!O>i8-#GfS()nB(15Vm5Ae z`4p?fk~qF}qFpC8?Yon_Ljn%4zv2Kq!@8<){091;VLexDu}+L{1$@KaNA`LZ3G3gi zEUXio{H=gDs=_49M-Jwb&&T{&YX;_1XD;Rsnm1(z<;${=GwS4rW?9x-)RM07w~{sd zh+&ktEQ_+VEX(PE`D*l_{Z@dP6eRwH>EET769(E@T7NKvVe{V#m_it^=P#BpyiLaG z9RDX-!;kfkRfGZI6v8lnwH3-WVd$~iDybEOp%Mq|E~OI)!+*$#Ko~fjwAw1RQLnb@ z6x5w=X0_FS$qK(vY_%2BGnk!LTX`M2*O#P~c2--NW&KxMG2^>*#M`GVrz6u=TXD}~ zwbeVxM{iKdYODR=pRcx}fYnyy8680{uC}rZS#-oNYYYfP1N2aZ|atn_b zze~*q3$@znI4tzlRur(>iaetuW?{bC$}fo0R%GpJD~^4&)!TJ67)9fCF}(vxgFIht zWxqcNP07C%fV5t1^*@pYdSczw^kmv zwXtD#gX_W0Hyr9)0kckDh|bVLT5T0)`$j!vwbcv{J^pm4J=AKez8=QaR^?RVEQa_K zhw)LJxnkF%sAt+znZ$8Ri^TX0=S(Qdo3@kxRvjqJpa1+W)`}dp`}~eNU5;8kzZ*2~&kTYTwgw@`AoBU7Io65> z(N_6BHR^N?qMk_)(fiastX>2xA0cb_5t(odlu?!fW&Zfk&S(gfIX5_;2r`G0B5JXXI-=Gos5{+EMD63UBG{R&wPLDv zDJ%vI8p?7CJM94?w=yDXpCli>S1A#-i@}jRqDBD`HS&zYq8B4-b_I&U`t^tbfx^}n zI)%+F%qZ-%2Z(Orp7E#DY_L!fwTok+N7N`FqDG!kShFyXsQHvFZABI$Y8=LhS~Of! z{SzwKXhiMP(g~E++O4_Fw1M zWu;;sQM1}@M9u0sO`T+#MbxT-L{UAWW@ag(#vJcP)NI`B@+l%}N!)Ya+&a;}0LgUIJ|l~^kp)a5GF=^9jVl|l2x%%D8Lhnz`BerN)GUsX%G z;hav^@T0r$lCl)wb6R63KZNs~)|mG};`=Vm$RP2M-dEbAW$nGzz^K3A8I-G|I1k3;}mO(nOVK$L!wz835;_i#L29!KEq5TaK;~6^T}1+CoxTtWq=gg-jI({C9uf(h;h{$Y54DGi1orhXMgq&J##s!JKn`Oh&|I-= zv4{jFaT^J2zVd9?V0rtR3wi56J_GqT9&r(X|3_Nw^pJo>c@!| z3;dA^TYi1j{W0`5{J1{mH~wE0>bCeZvW6dV!B^ZfNSPD9ZOhx%X<^XNX1g%n$=r`6 z$;ljAOY1K>AufYoUzg^t9hQX#z9P%kzoUGwTXH7Z6DNKogov?l9{wsz%>W_7Y zUq#w}UmfL|DfQTXm(&WTREYy=DWwyb(obbXU`iZ1Q`)KTtMByhtLv^A+o-qSbqeZE zH?#fj7qTMQnT3Ry2VE|M0fUCJoXbqxe#fk4``xd}M?X}`_Pf6UEPeYO1#G_~&$tYF z3U2v3By2K^%lOpBfWT#H3!Tek7G_*#+V(rQaQFB(YBpG??RS^LLf?Kz0o(7$GcIEm z=G*Ul%9gew3n3v6V@N0(uBrY@74%tC{#(@xe8t+Tfo$6LJ9lt({5$Cf2etj~(m3eb z?B5m^_6I)<@P(5`xr6ra=zkaej@27=PTxO!umE0 zlvHN$m2yx}348@J0$-th_=@%8e1(ebn(|-ic+hxiTFzHoU^>oMrkI)4OFksN(p^(- z?erO9xXO$nb|l}}5WBJUK<8`9h2*nNUEnITkhb5IgFqhv$vKQjZm!skLP(yzLY2hb zHRX%pJ5+a8p06n%3O9*=eMfn|ru?zOQr488ro3KL{wrc->84z$Zt&m%zjwJY$g!1DII2ugC4VKXi+k3gV{6}dy6AX zFYRysx!=H2@$i?M&LON zvl$JTEw0FgBEjsazSA+A7p(-d&j#M#AotlzVEN(&E1!hz+Y!S)<_Pf;))YkV^6F*npzHF2ZH=itdgWmfUZLTFlB)xD6ti1%>oc zNbgJpt2bJYyKPEIQpBPzh{)pA)2X(5Hk4a*=4}AOJCmKkv7L=!CU_5BvC*m}{z zl?xX3F2ttR*GiTqJI~Jtbs>Z4N!|3pm4i5F$)TLJqke$d>&#%4M^EiC~DvfI8JLIswcZ& zgcg2j9URwLbV{s))87^9fObuEFVbVH_SZVN2a>e??}=DZ-U}hTzc)nhRkM1}-0*%g zias{h67TV`hO|Gm@SehX&n&IHm$IeM#QUf=?`LU$T9x=7$Mt=Xq~rR&h!y4i5W@E^ zMDMWK#x*lzT;HFfzd1sVYwZ0c@h9EfKPB?_{k@ zEn1gi&GP40qnlY!$R#KQefv^~5q(?AmO|0GU&V3Sx1)Np`!#51@7uI%qWg6{w(8rz zk~-K1N!qu!MGRZdA%yo2f#@9}-d~1n;{D}_(EBSO&3opC_uEnQvDuh-zq5HyExe~# zv;2_CduBl)-$Wts{#y_uyqB`2P-1 zB&qK^AXbzQLkQn@gy`XmYFyW^L^kpLdx+5Y??amJ%njf1$|-z*C_=XUqs@0};XB2e z`M9ntUOxg! z@O?jQ-G>;q>yvP2gs6c>L-hKyjcyi!(Y*^r|B(ney0QAdjBaW%x+&b~W|kqNTS}55 z{OFEa8{N2u8*U$SQowDVxHi5Ow|7O7j_=1HR+NvGaCe08@o^Bnf%w>j-Yf&H{CJA~ zZV1`RyILz#i&my^=*=u><=N3&%9cXW$`QSz+R%Ge?4n%`zZZ1A8}NG%B%uzTfqm%^ z!=6|Y?j_-q5TYjbhUgtBHE|-kiuCs(D9(~l6Z=r~_e98=*v)E!TGRxE!!c$-P0Wts zQnnO|nusVK)d`NB+*$PIh~e-2K)`TX<#5dNm?tAi`@&NY!$wmQJ{2KqV1J0-QM1+n z%RmhrK+)e9A#301&m_HCPZ1y4H zGZCT=o(0i+^=xCFMPSSyMA3gbLXP>z+L)&nW1hl|d1e_h=A|Sl!jJi=Z5s1Du^aQ+ z-xbrJjU?^w&qWN|T1fbO2@ggHPhSAhdyRP7gzPK{t$heZ|2YWR+Phn8Q;XK7aLCRq zXzkgNUCNe1(b^H&quP*NdE3bTPOBWQYkyZwJl^VnTGRoBLwROF9n6mMQnnO| zI*2GA)rRu3)&cEuIKNIO^7mIE33Y(`^1~4;$|DfM`x2se>};c*nK9b?6#c^xaqG=Jx5-B|b6^Z}BzeUCy6%MnZX8ierhXo%i%;$ai2 zu?)2DF%CDpVnl5Eap~*Eps@q=EY1fEr`msnt9e~HZ7BMVy zDd7nSQ3oeN^jDa9YVJD6RowWMQc;I)@GJg ztu19sp-F2;bvq72t6W?A`;|8#3H5+^sM8U{GK~n~`&%J;Cy4J&_bbc|-`_^je=|b* zjt@v=9)eoTo6me>0bWkJ8d1EQ#5i6~x(6RI zUINvs2V?ef<}AKt^+WvZalOsz4JYS?`$R5yCax<)jy7eHqTbi z#Bug)Rmy7f;Em5#)xqh(S;%h=;@Rqx>7c$3#RNWErF73$#XisoWXF@))}Rn==7vETV;tD2@2$@BPUtKxHfE?GTWjaeF=t)`8_EcR?w zM$^LiTt??dejY~L$=ABq>PiSAGJq@1Vb`%sGiXCnz+=Ti_P--kLEi6h^KIvDvp{~UzG?59M`W&$yr(qT691U#d=bT( zg~06nB4#szm`&+0TP*aLtz9;?l{&+0MgwLC!_n10hlDnmeG!f`%$Bm+T+oTx>frR? zOUQ2y0<)hQF`Eg*Y)XgO;-JTD8jAI35VpZ=np>0%Q_NPqwh{ZC$81g0isX4bW{b}e z?<&lWSsE}qZ4_oP%%&OkJ`~F*X3KdLvw2{J*`G%oOEXC*xfHWiA$b(DN0{l3i#{}A zwv^MRiHX?_O{|zbwBSErEDn_GZnwWar#s_ zswca@hBmxUaCm3Y(eXLkiKm66z|-&^d9}>bx1D~Upr7onj|+PbMJ%W?opb+?N#}LG zhn&EQ?^Bfg5f)ks^Eym(K8>g@F3I^;KJK|T+pvv^qy&N6}I zlhTn-an_Sh8jVG85L&-^DD3Gz0|m*15f%iZiJ+PjFn9IDeOIGwYO2;@k5j67+kEya zP17o5sY*5HA+udyL-X@Uql+>Ybc%;LNf)IylrHi>(8b>YF$dQmjwNy=lw3*|RUvtl zE=n{q!iv?p<6>f@i@(Py(kUJ(r%j`fE;clZ(#5$oiW-|Y%`?$7y+6QEo#JV#I-`p$ zA=1UPU-KMB7a0w7QCyKh1iJV~o^3>HUgG)U$I^_OQ6; z0*9wn`8A4hBM!#Z;g=L8e}qMk0>xljPBCb6MJSYF(Ar9)iyny`vgpx*86_Pz;22Lj zSn}jd50qf-lMb;kAsw{vze+lO1p`pmzosbpqqe3Im1C0*X70_Mbi`~4>B!WE|EYEe z>G%bVFw(*3Fwzmq$Vo>nAwTIjq~kZRLdS%xX~a%xW^YF|Wq&n7QkrKGLw_fPfeEBEl#bFcU!XKHpn+*R zylH?@n%qLAG|s{nltwL_8vFspnuVY=2hl>jNrnp>6G&+&9i(ApI5z07O~4sENk>5yu&gk+Rw#CTWa1I6e3i@|%O8F?c{-(HJI>#!xyMBMy2R zLqm&_;V2qI6H^*Pjb0_RPkI`oXNUTBw4_kQWaTX z0?7iUBMZzI$bt+okOduXG{DG0ZlRI|XJHGnpcYOIZbPwVA;)9a#_y zJz3B$o7zg9kp)HrSqO%stN$Ab)%-^jS?DYZWI@VmgG(d}>frQX9`c)mAPdinWPu4J z3zUv5h=ZOi(9oh}IEpOL#FQ*hqvNgx&@`nuT8%u?$b$5LB@4_+vLLmg zWPt}(WZ^$Z#!49yN-iY}s*pTN79<+^Kt&eZaWSz*7A^yb8Cj5W+B6EuLPMh{S(sa+ zsIhs|WMrYK>WnO~gh&?BM&LP&EHE0#g190>J0S~E-Ez+3FE;1#u58X@fpLZV58(=j zLU$zo-JA!nF$q_AGPuO==OcUaq~^m9;*%QM<9G=cEX2#b z&VQF?&up+-2=c7lXz4mLAJ~~i@MnCJ*H!Et{YYmCPK+j4m!jm48l|CfY)Zq-y}47G zm@T0+ncCPzs=&KJ`&ncnq@f7=0BvYHt0!8 zqYh3Frjg$q1f_XFq%=$*rJ;0`MjZ5%hK6F@7=+eWYL9VfVoGVK(Q%A*XAt+4M$@#~ zSgNNqX*Kdlqcqb0mC`ULDUH;IQW_ozN^=t?@ds0gV|^P5C6`hfRY)GCG!l)hrJ^+M zxR@9z&0lc}Yc-=ZQcjyjA*E?(6s0tCYZNs$ZyKyGyJhchFjODoG*z8Z8kP_#P1*=N zhfx|v1EmpHWN3rZ+|0AdW1Og7*u4eXEyDZhV1j~`|8A8)hyk6p6)k2AqFIREio z$b9}|Bk+~Y)AmE4`9m5((PNNe=cZbH)FWNIXvpbHy9TP=|uonG`GD^Sbg`-%DW+r#7 zTuIcA61Dha(@HNCjre1l<3&S%lB_KV9cy>xrdG@Rh--S`(uLhk@KAEAMN8LNx==pR za;<+y6T5rC9`uuYQIVT*PRgT=2!f_PVnX~LlW|nS_TMwL$-qxL-G zrIdS~-Iubz93l5SdtoGYOyHhpl#bXjU)b}Emy4Akc6#xk0Y>a{3zgV83mvf=wda{y zxWV9lDAp{*o@XzL#EuEv^Ni9FJF(F3d8S=9wUs&}c8msM7Ys+`-vQL-yFm~XD^P#jtSi7jM5Q1anSE`Mnj8|q4kwW?6}Vv-p`?l*wxIv zpF@py+M;AH^TbZmwAxszCw6Hy@<=0gGPso3F(-+g)P@o}9#|2(%@Hq34JDTnJ5@*? zC3X^x+^r&Z?zouPMC_!THjP4J*U%_R?B>=eYHZ##p4hFhOUH<+Gh)XQmabSeh3DjW zCnaqJp2LV8qa=14@kJbQMTYj$jU2IyY9n^l`#FbUZs=fOKVGU#o@>1u+=|b&b_ah0 z?B)pE##gy0KNb&CJ1)lm$8mlK zbmP&S2cm3@>1`-V{-}SU#k8E`Yz1A#R#xN1;G%p0G@gktSN6H~+#gwe7&IYaA}t64 zO(Q`N6aNPY!h>KBYIs|Ul0Rw$fy%K70yB?65Ms83AY^L8>Qp;~AZ!gIj36*Nj39(E za)MAx$WJ;BL3l8%s1pSC(K@X zl1mAKDkP5*1c^otP!R-oTuf{t2vSa)Mj=6HXcQ#~b88eeHgB4YAT(8-5d@YH2}0Tk zJckhkMgu_*S7c}>1R<)cnVGW4GYLm{71H(HmmQG=j_^nb;|O?dzw;mbzZK^`3g;=xMTO`SAy z2V1*kXXM0)el$hNA9Z@bv`7zFyq++n2am#0o*ppQ|e9nV6 z+^SD^n84>eln(8g54=V9yOMDOwAWEY0}SnR3l;61g%0gU?RTXXP7NN1V$DK4=fPFG z`gDg0e9lAZ&|WO`&v~@VrnXXNXwPUs`(QY_`eTq#p?%v=cOH*ChWt`)4l<+mzEWqW z2YVpDIg4jLFN?^}1U~bjbjUBx`e!~gx+odeke_S4U}}ISrq6t+(J@_=>~S9XHBGCK zrF!H~tCU9?^2=CIVaj==QCrMS-vPVyeh0?a8W?(c~t;Qo^! z4EJxriQb0u-WTUwALU@pWhB;dzbN-|djE|M_3VX|t-sNEG7iRNU|))oKk6@+FfFGD zw5_5D`bCbMHTfcEZye)E1IwA5Iqwc34PwuKi8MR~exVBYqbT{K_UR3kW0MAE9)mQ* zYzb+|)P~=wb_i+M2SylaV00L12xa7?p_Y)JbR5#~R9K;1T|T{G?=!RGr#E^GPhXUb z*FL=w%i4c>!wy}iBw9Yx+E5Y>d{UC9QTCsJkd$PG7^t7#FoBeW(oquT3zS60DJY4K zS{h)KB)3p0iLWP%orcp>k8X84u$lMx5jm?`TqajUI zXEcN*L>iJd0?%PIgwa4l#1$FZ2@Q$riiU)DPcAba@&IrE&qMYA7vM9BTQVMU5ct7n z&>sVtKclz;x@++7<{x;KNqESMk*+-CnMeW;c{W5g|8O$6$SRqCI0%V#9%5a-agCAZ zAtwg(^C?RHsLwwzEhiT|VMQ)h%j1dXK;x+db4|`%c85?2Is1Q!N*oNoP+>2iDEXuI zw1LX8sRT2RK_z0ggi2&;L-kZUgi1UYMi`Y~bQqNgW#m+%mXM!x94c`LtS~#>>j>;} zb+D%aMai@_V9(J-uzxXS|5*qL_SpNa0(&M9>?s}CGhYCE88-lX9Yr+2z&^K7!QNTe z0_@eoslorDShEmdkGkOZt>1z}kK zeee!kjXD!J_wR7tqI?+=E3D^guJ&4|eu(l4Bx1gS%8a1Y=(g zBMf619fq-?j2vTY3HeFK!PvuLMIB?=59%081B#MqZ7`O-ni$)s>>rAd7>hk7D~x3V zF_zL{Eb|47mCg)|)viqg3}bT(6=R)+EihIsoEi*JtXT+*#U7Cr#xj8zOX)CHEc6(w zT{g9qI>T5-1I7l!(bbPYLK}=d62}?FN?C0#=fqfbaC&eQ@|%OeSZo7XVJs7fv6K#D z#X*m;G!%OcAsmIVG%>|kYIGc9uOh@f#%h{Y8%y;Vn^q%_G>n!0uNcdm#8{~f#aJF# zJ<%@_$DT+MN-o7%RY)GiScyg$tuWRd7ZW4K*1zSDa@sTsF}9&m6l3SsC~9opH2#S` zR$XtZI>T6&5HU7w1fIh%meGK*;))FIBl;y_y*N9?Je35fWpM zj2O!VVl1V@Smp~DE1ek_t6iH07{=xnD#khsTVSkOI5l`LiZu&?vDp8*!dNB{V<{cR ziiI9ywaccqQfC;;Xu#NDIJ)|~kkAHW--qK2W2LM%mvdsQIygOeKk}P{z}QzujAa5b zmeOIYIOs8!hGMTtgrhK)CZ-rmjgI4@WH0j=t7%$oEY)LdT8%u?Fjo4%Vk~nKW2H6} zV|ieOvF}D4dtyo`xfEknA$b&IB^qJ0!dQ1)Ol-nfDW^@N5Mvt}MKN}6jiScpO_O14 zQ`H&9vV@4SX(R9)hOvwWj1^a8XeSsO)ps(+@*?9fR`*E$qpV5r0VH8Rj;CVFPsFgf zp@bhnh+R283ekI=?8?Y_ zd}c$jX8EhCJxQ1ah5Q?ZU{8|&KrC5(KYT;HXyM8Q3-$Zq>G}K$P|B7PZHWS(d|sy`r5jGu-3uHk%T(H{=sJ;R+OKV@JtEM zLWr6;8>096S!;qNp(f6u=zjtsYXTdoOHELVnxJqs!7Qz6LdupxlbVQXtBG0mgr`-m z9(-Ro7fIR|K809Oep zNZC?oQUg)lwlC1GS{?jJ#=~ckq;>E)#IS9XgkM02I`|?)?^LOSdFV(o9tuP_9ws1d zj~YI-nMHK(S`|5!HBL78EicgZkVN2-ALI|Xi_&(oz=~|JBvONuN7y0 zI$SGgm#Z7yV_WOy3M8R!_AbhAB8F{p5W@R!L-g>~?}8P*rk=sv@cug#{cj+o_t=14 zyr&l4Q#kLLrIq(mwiKFpAJyjlEc+MHs+#Y5o%}A6)c5ZphCNOY!uKCQ^xin@m4Uh8 z`&AVED-qInY{@RZQw!fI+?9b@;QQ<-A!SRU$(13hlWXHqokb_ac0ctkq1|a!?Yf}8 zUyUTaE?k2c_JWb{#|Tja*FyB(G;0m84Aj7N6#X9}WDT5PH9#$DfWp-Pv$U!KDO(Cn zY9OlHUK?qbs{`%(S_ju7N!$M?h+%IDgz)}n5WP3g>OFJA`=3+vS0kkN*qUA1pIUfN z;k;*-R^Ch5QfT6RRJUt?T2=F1$NddRQr~Yx42$6-gzvwC=$$_6xMyzo{%eZUO@JuB@a@WPW2S-yVc#PSx^Yw>o|Nc4e}A0B+bv>{n-r zjmv%g8^vOR;6D^4f7HKXVOpHgqfKgMHKV6rvCzIsvszv~{UkH>c3!w%{MYS zY`!s+kqHANn~6KwEw9G~92PQxvze4`Hd8G0vza;|Qd_CB z*-S>mY-TVV18E-0#cZa0=5p%rjq+~ADr$rIIL>A>rK~m+XPnJc2d4)Mkl&gBvzfR} z-SYYi@ZKL*Q$_-3Gb!C{ra0(lGihj1GPJHI3vumR*hYDq7MRFf14~y0bFn}-j)wX+ zsBP;!YN}quUaIq(^RV=j9$l1LkvxyiZ%#;>_#EdIt4T*KE=!D)jteAj+9=FobE7gM zbZ(SIaBftJ(z#I{h`G@vxCtH@Xl1t}CRUvtFZZxx`GSeLweTZhRi&I!1u#aY> zoHk9&xzUCu*16HSHL)6-H#BbEx9qJ4Lv_8@rmC~KQI-(rM$<;%Ic#o}(J(hEuE>P~ zbEEkF)g~~adSQ18+PGfpU+tS2Z1bCZGxJJtkS}7+Vq3hkgQT#o*N?zUHpB0KLvHKz z>m$AkxXs@9ci+tLk~PuYKu#&^wPH%7gYSfKIhuss=(LL=z<+p-wbHY07aXmrl+o$DuXKXeMo^yd}_h zM#EgTJ?~`q2Pns^SsRRoXLqcnTJ&9T<-g8oreGXubOVZ#KWeLeP&tCp_{BfP9pO2C z@lR&X8O`v;KP7*~Xkxa6(PU~P7pc}7&NG^IVT3UnMwQW|i+_eP0KCcKpS6Viq?Q4q z{oLPWxwaQ(-?qGdFAUJ4WCGXr zqI8^t`NG;>GO#enb(qlr;~cq#$~l~cj&qD!{8KI5V6Y*IH4Cw}7v{*ey#7pqWF~NJ zFG|Nb#6rKemv-6IR_cs%Fd8^VFdSWd84{`|sPA+e^)~U3<;Y|FL(0v;Y1BfX>gJH7p1g`T%>G+2@>(}|B(M8G7`c32?TnH5WW0~V0G`A=jLhbm6 z>b1St2R;ALG_6#g$MX;IIbwGO>@iC(CPrXa{*g8ivl#!N89n76ET8;C&ZGQ;2OhEN zbUeSBUa%Cq2g}jq9sD83Dd!kw+P%Ut!_0aM$~5r6A}Q?SSifllDLEjqw3`ecAn}pm z(OOh5>|$N2#dws^*?CX2Bji^Ni?_ru^WU%D0z4!Ze=7T?g_!#-;PbWVd$k<06Wv#9 z;Tu12ozCBZxjN^t5t3l}-5_kvp~BqDaSlA{Lw~v}67K-qy*rA<(76Xi$sYlC!!EW= z%jXtoO*)gXF*F``nJe2CPJm!-;4aVpKa0DY!Z_6EJt<25sJ*#FiSJ_H%H)cz4H&Yt~rrII6y9tai++}pwOhPClpGl}C=llXcvs z0oag$c01f%4Rz7-yw|66xGNU= zdwuP)sjbu*?lKy1HyDntes3gHxZ8xa_r-CBwNh4&wWC(nQU|98_d|Yj5cm3+gs<-P znZSE}N{6-Lpug9rp;+P?VGV1!vQ~DlPjicsVS2BxdTk^2JCC)RrWMKac&rtlBW_h# z8?!WEZQ3ZzVpvNv3~O0Fu~yEbSjz*ed;QH2$GYJXN-n+ESB2zJ+#O-2J1+VVDS_SV zyKiQtoHk9&d;Nwc)_eWAHL)6-H*|Kd-&A#Wug?3+9@f8Q`Hp zSf6w5)Z$IZKI9<<&+e$jo&O->fiM8IwhcweA2s?w<=FIrna7|HFz*+oj%Y2tb0$pThIp%G17;JQ1w&s z4`QLG587o@Td6bpz-XWk!Eki-ZIRH1K5UQUj6O(NZLo!p3e>^r!9$VX90Yy99acpj zm_YhK>F9$v=;;Fu#RAv}+t3G^Ta*k_`k;DkBlbH_A2dxXlIQXCL41zTThWJ@rGY-A zjlwKOA83Zr2bNFzAm>r~zymA#@L%fXrK?`id-lX`ViF>eF*Dooo4*u7Dzuo zalY|~nT$W&1^B-i<|w$PXa20n zpYS0L4?@Wkg?cbSTXRi|>EuU#^h!C$8 zBtpAW_8*3jMCcun2r+>~h|&=u<_knfMm30#j&T}bL@2jViIB6f1rbsUv06EbH48z6 z-WiDy6G((89T5@>JrU9Yk=ja~5g|qc5ekN5AUy^NAVRagGx2yFXGBQKYJ-v_Lh2w^ zC`W#C5Jc!*kq9w?M2ON6A#uet($AfsuN_fyx z}tePj{JWT<6J1#1&&-ijqIV zE1}_a38v+*OVAMIF_SaOYM2fpRPz{{@N>%!c+j3R5u~8s*e? zKC^iW3_$hnM^W-e?cE6~M=+b&-<@FQoY}N^cOqs>m`$cOl96hMFq?f~gfSaNhrK%y z$^ZZ-?@rVb@{?Kyi1zPJJQY@$o$lQUcE>vRpaDh6G|xRoy*t72$#*9XpzJ>ZA>W;N zH-S&zonQjrouG8wgZaX{6Ee!cJ#@^`0OKCHg~~mgg^qiSdUrxC++grD6l)gZ-HG?m zLVb6F34C{g(s2*5(7!vOT{g9qI^!OU2JR6IM_1n;3DqP_+jl3Pjy%Rgq}&{&M!h?s z&Tcq35c$nnygTt;I*Yo)^^ysEcY@OK5OLPOJ3*tdL^;A54;k|A1kEi=ZN7I4~bbCcu3kn%wjx*W*84)`Q#yT9_1lC(7!t&N0Wc>y$Cr@ zxyLZm-(v-DLPA?@mN@{oRRg876O=VKUyR6-@qoHaEd{ zC$0icbImb_y&SU1yA!tod-WN{Gmr%AJqW_)AS&#=66e6jqUcZ0LgJk9_t`E}4S%19 zM2wo}Q@Hf0R!L)p?freD`2#UWvOQli#eGW7pe_77t%>2jS5i<+4#{q4Hzck9J z?|l3{7zUtvUqDgvN9`d9l_T(X_ID_lImh1??@+{SH~E=`Ol?q@YKP$Ob76$xFQda| z7D5^M%t9?8Kj}C#3x~jpI{vad*727HV5M-{-Qpn#$0+apUrgD5CPLo(zmFIE9fTk= zf%pED4u6?1-22NY1ODomqXCA$xrK_q&O(R3qu!xV3$ao-iZu&y?~f}<^$rCSc<)c? z@K-GK_x{>tQ(LJs{AD!YZ!jEP{e?)V@VDt5ikILx!(1sV$J|lxP^g1gDIEFDLEQU) zfDY>S5=`K|Kc&N5anRrU(@?AwjQOxCm)xH0V5XZXX5=t(;_g97FQT!cYraLbB5HYy^ z4uzD{ripp)-_XQ*??1ODR%7#q&hGu2s?P5HSwg(`PaA>fuzP<-!@a+_A{UC}-ao4I zd;cqqXKbJGj8X4s9$@$WeaQUY{}Sk~#J}SoyksT!{udzqCiz~Xha~Wimq8f+*dI3h z6aOdR(smJejE$4w_xYCC_-(|?Q8q3Sub?RTW94r7gAJxdvY|v`20Bk9cucnI`P^Td z*cv<}c|qYa^qoHo=F@{^838xDgNW~aMtXXmTa1{#3H&uMoH+Q6Yj+E7yV4@F4Y z@WDtMm_XV<>1YG<1==9v1++m&4-GKdkXxvk+CW3GggHX%EAcajA+&+!7A3=!HmF|Pi2csf22In7C4J@CuLC&MJfd_&%EWf1NR@W+%I-1)NxuZ0(=jN>Uv{;0t}m1Dy{GmioP zF*E{OIdBOf$*;mP7h8&esd7; z|M3X_Od$MII`|g{J^a&9tb&fP4gAyGqGXuDzv{J(*zY|2YnoOh&*R}=e2&mr!GFxs z0RL&DFpI%I%`o_9`GkKtkHS9>tl8{A^)%vWWKSj$ z^o2&A{l7YY@KzXrT6-Hs$saWWLFL#4f|kAl?ikj6g6tj6j4k zasp9H$WJ;Bfp|Nts1peGyE=iO0Y%BQHUxr0j0ECcl>O5Xl0bYS5(p-cKu|gY!F+*0 z$lw8i(4j;Fj6mcTDuHkowjdB{;nd*WDAp_lfjA=)2qus~P&xu37J34qT{g9qIwKH_ z1_BWbM^}Fb650@m_ux1q5K>kfbRmII2d4+`MSgP-1mcsCKrn#>g3=KPanKV88j2;} z5w;-^G`A=jrUXLu+D7bmoZ~1VYZE z1cC=v1mc~DW8HiSC6^KiRY)Es5F^ZV$3-8S2!xc=rin=)8k$%M#N3)#jm;Z6BM?nh zX9R*JL;{gE0?%Otg3&-A#1*+vBm^R=1A(aK5ANV^FL=#L_`^1VKfDh~;13^yF#h28 zJKX{Nq$odt#EK%+_B;Iu5^)9iC`HL1b&9~WND*|uQ=Ppe{0JY| zuV*s^w`<+TkKttS;^P!0f7BqG%CRAvna6B96tY#XZNz@(AzRb5B6%JU+2V7Ay9%;nmIla98--a6vT24vHp?eu%Xt*C zd0++EpF|v+YDg%#6tYzzc@(lonCXs-J~TnLl+&h(3E2%ztdKpoCRStfhRz_nsp<@} zSwe*Dv=Mj?gKS0vWQ!|up-3P*ssm()d;X^VQ~901jkx#6G<^6@;AFe!KWoT6|IN^0 z6AVA+&x_Uw%sv-M!0huOMq>7-kT?>vKZ8VE0zOMo@<$!BnU-TV%S0%Q_NPqwh{ZC$81g0isX4bW{b}e?<&lWSsE}qZ4_oP%%&NJ*({%!E$30p z=7AMve-Ux)cO;?YQp{F`JF`NCMj@dMzD4EsY%M77IOQYnM%JrOq&$(SX^(aCG%=A)yUsUy0)kv!$#y7j$B_IygP}9`c)m!0huQ zW;219P3bUO9Q2q?L$N0t!Zw&qbBmH;irK2yHe$c?n5}7AkvxybZ1FkbU4_{(O9N)7 zjlwL3*)+p2o8=R;X}irK1=Jc`*P%yh>^ADS>*%4yTY#O#J9 zR?MDT6RWX#LuZ)XRCR{gEFofc+6X*{VK$=yv&9v;P$ZZg)pt5(^P=T2Tle(Dz6rP> zeIH5KzY6=iUWHguUM=Ad5n>msYan`fg$27H>^T?(a%1J{P7~v-~yHewNIFLN-Am*w6Cr5F_??m9nK!>|%8f9H;LoM)hQO zQ)p-3&ysdcbnmIh^8LcIF>i5$)WMIDggSUqQC^2wQC^P_-miw};SngjKMYGzue+@1 z9uB!=*}U!%kmfuy7n6gZQ1q`wxNKh0{S2Mow@>xABFVJM6i0J z_4w|klq5wg>S6+A@#^VR+dUh~EjsfyfZ^Duc5rNGqwPDLdE4n}C%WfIvg}cDDUQ(g z{VC3+`;+|~v7)>IA$@53H(yF9gqwl{&lKTE@#ESAa2;uv0A$oYOI*aej4c~u9(f<`f`hKDLPAz<= zaK1B3E8nGTDKzmts@wTatDNt;XR)^X?~w%Gv1jog5i80+N%&_8|AG+pa1%ri&kJU$ z2bP3-_$x*K4+vQgpR;Va8W)q|8Rg(me7)k!^^+*$PIxG(2BKM?liq*bmS z=6B8yWBYGNLOtwPl(!&;o!%t86(MTi9}qn}k7yp@ECM6^pA`L@5pslo-bOgJ7~vFd zgfq*K5iTW35q^Y6t&MODY8&InoD{}5Pwd9HzlQ${N$?TZ@c$r&y_F=q4IzB&EP;=B zBr!`XvkbKIJRDv0|BWAPimO_(Oj_S78aN6bCd7^U>+WBvC z4KH9D>R=CS*M%7To)6JGNBq7QF8Z<;^Su!vc5Mb}mv82S-wP=E6A0<|7tL>K;Wx#a z<;PZ+Z)QOuo1+k5*L@*IV3(9Fg~IRq;W)*vsGjV0p$*t|cxTbkv45XW6#az=>GwtEH?{Da!uicCt^Agmmt$?~TnX5X06O2;uz(5Is!h&Eh?C!~3Na{q+#i`!AXI)WUlT z=RLEu@?Of8LKE+!+Pt3y*J#xU-~Vq+zOR7j;l6Yh-igXg!`=i4;rk{KJ>2om;yZK0_q$W{ z?~0JV<3kc*s?@@F3gNXqq?2%v}%O!_dt^Reow@T@?Hqx`@JE0xEY?s zcjkugn^E*PMM&SjV!l%g-zl8$%+kttDO(Cne2?mOzSFA2_s1{lbZ(aG`+bmvxy3F7 z<`(g)aR4#(=x56JM?OET$#QH9+WEF&o7gv}jbr}KTJkHYUh{;?9`}ZEwP9QE-=&4m zmqN|CEog&IGOVR7Xt#pnsN)Avl>AX!PL;}JidF2`6-_(MWoK5ST37C5Z5_1L7PQQq zPqAXDlr<~10yXO)SgfBITmGF;Dz~7G*>3W$GG%I;?M$_OHHMEm*Pjddn8AS#j;W&c?k9 z;qP^*?X6*j4Ve83jhNYSIaNJ|r^gcP2y4r!ie;mhQS8G5lbQ8E!%ci=2W7~1{wVPSjI~N;a@=GmTfAC-wYZk6wbT6fa zdx(Whm|nl=Q@ROUv2gt^R&H2~CE2iQn+}N7R_b&D7h6jpE;G1;2O@?Q-kG);vZHyo zp{At%o|obBy5m!1eKGkh%dGCk-!sd$HJzIKQm>Zx*=} zThE#Ubi=x(d^i0J6g0iT(hXK(tuC6lbc5am%(cyEsj2!C`>Rgn-ZsC3MZz>qtCXec zRPH=vw(EN64m{GPW2JxVhHlJBXp!2`=~y0!>DVp7u@a3l zt~bEnm77-?v&1+ZyAr2xt!ZC7%i(PrhEuW)4RgNqjkz_9I+i!j*U&t@tzay^b_SPe zsy>^NWeH0+Ts4KI+>S60-4d{^J-l19hdSxJwmn?l-oxdUhv{f$E!w0rqhZon8cRkG zCY>L^`jqdvqk3U?YiRjBcOQca1AH+C*TInJ4$1f29|xa01NwdWz82(m80HY2uYhB1 z26-dowod;c@Gk1V4(at=pKg8dw@vWxzVqhwccS}1wT1JrpT~Ky9zO=t_DDjfeHa8d z9?xCv?WgOt>_su z=k#p&ny`|;qGvH%LeDa_F{M;%-H0Vs^z7jJO3%{$bVC^+CdrzxwS@enmI1=i zvn44#TawYUoneL9=?E12WSv0K0PHtGyWLxBqt=AwxFoySg|h!pgj^H$>qO{z7^T=S z04lBtOX&y{^My5GWnf{D>oB7MMxb&Fl|VTQ9f2CPCahYx!C+SuYZhWn*vn|)vv94$ z0_8~Hny{3PK#7HZO<3)+sjbx66L3bu6YyX-y85G$P(1;E0xp+`e-qcQ9d{0-Y3cl& zFztpsMwq1B9G6F}39HUx4SeJ`XR#*i<#cvNaG42Q6PD5uCUMrU2}`4~K>$MQH<2)L zO;`{nnurx(9buwI$8=G$$9ck}XX-xJpe+hX<&}9dM(%TE(@^{1tTAeBw*y@A?zKi3M0Ay?YStYC?AK!I{+u2fMU_r zpGZ;iN5ILjkSo*T+gXZ}v?hH!YY%8VPBK@v|Lt1CNuK?G7AN!K8jP>>r_t>auT5T-VV`Ey4JkqdH z`oCf$a}pb+HWV9qU^SWWWW=$%g@lqzClgd5c@!rln&BiS6WnnzF=8br6Rg#2B0BBMDsL=@7;h{JJT4 zrwLr)X-J$SSFrWeo{5|o(a)kN`J+w;n3mH4o-m~Y2SVfN0CQz~*3O*{toy{FPc?XU zM+ffwCl?370My#EDN6pRK|YmZLq0Q)0r@do0{NNR&^Of%f&6E{2!nh^he3WQBZvH2 zLVnV5ApbeAq7M1&cXi080oYc9cDq~SQIO9eM#z6YW&Z$#g#2$s$Y%l}pVC1-^99J4 z!2`(Gp+o}=@^cFn@|}e(AYUz<8XSyb%|bx_wAYUx>kgr`fwUs)9d`1K0 z2gA|TpNoVxkpBW4XOJ&twLup?KTrp!2ZtcPIS9!APK10W5b`M<zrmg#xZ`4C6XZ)dZ5oA;-_R%u`EzR&H8yXW4Dy?*&LE#9M95DYf#)#D zXEZ>*xFSP4f&8d8$ZxaG3Gx1*4DYW14ioSH0GZF9KNwj4=oIgHjY;tS5TxHKa|16# z67c@T5Qg`Def2|8zIE*J=gMD-vN5K66eWMu7g1$e1buyR;s2oX5YJ<>_0{JN@n`1{ zKZB?4<{>Bi|EoBEC_F?(y^Nydj~dQXIX2ES^B6cEvn4p6sSR>dtyQd_0)GjNFq~&} z7|w?>a-6RvD+xLyI{73d;VA5EAFV8*!cq#Cb}G z^UN1;Ud9V>UPliNFr3dVRGfDfw!nF{aBA>M6l)d&=dX-7&jjK;rNeo#(Br&z+0<6* z4CfgQI3Em0S6_vMHaPz(9A`K$Wwn76;=DRIJva>c%|YP&_ae?SfjCd;a9$krI8Q^1 zlA-mLIPGn>_B1iYd1`bVV@-aS; z^L?~&4^U_;qBm8Y;XF%-IG;8G&tW*vXux@KMTRzT{vkY@JVB4@h28C--J-(zruEQ? z^ZREw{}sde8;9ULCRjQTOL3mpn2GN8JYz?`>A~ZB!}-IJ1e`A+4CnoN=-bbR^LGD! zB(h`J9z{{|M;*$UmP2_TIuGSMCR-1E?ofWYYIuRlcnw9#A2qn9a%{L} z<}u(pW=r5YQyX%o+97Z~fDs1Qj1GhAP(}{dwS@en|k}crU6CCv^H?f z5kj~=jjc=3V4O}0O;|#8)tTxC%xK;I#*2-lPjuEjwQ*EF;!8IFQ$nwY{hH9C&5hCbpRt~E`ojiq|HPOFhe8eB{N zSGZHW70)Uzj2&i?H}QJ&(;sV#&41|;IL@J5P~KUS8ub6WUpfoVzy;%5uAIsI%w ztg+7)bg6Wnw>n1W15Sm;lL(ePIrGHbv8LMiA2M8#l88k!`XK`?bW;J<#;r8UsqcKs z@g^963V$<2$se_E7^oaUIcEQcfthp4(c&A1m@T0kncC1l)efN?r@;uL9E>XENWWnS zW#r#5)DrTOj`Iz}>99fv3_c0gh?yO~VbEiEdh7>)u=WjuSl0d<26py3q0#c0<_XQH zZy0z9;WrF#r|h4Ekl!%;kZ7vkFff7NFi<)|!+fA-`f7oUY7iP7<21ksO>UtQ8fT#+ zG^4&@Pz%=|yaUCWh4_Zy8d|8|Fff7NFi<)|BNqB^7<53Swo<2rrYIQ~Ml*N|Vnsg~ zkHPd-YD((;Hw^Nd?}+c{zhR&@e7j0)8x21>Kg`ie%at%Jij&%zG3(go!4&| zn80rsC>_}m=lwSf>HxzU*|BdJXkz*e12uXD(f;bmj;3jqvQ$rY(kkYWMs}osE7@UA zLX6agk{upcJ%e}~;#i7ZLdm6MM-`Gs$&N%LpQ*@>J1!Zx}-VoU4cYhM~bjrF3iCL%dwk*2C}(L)z6? zi$>`f4U|q?kK55@Dd}qiv3@gCn?vsAQ!0T`F4CWG?N55fsH*WzBdh@FECAsTl{>1hA1hUoKc#_vs4b(=?VdIdj$HK+`72{@!#1O`|=Ik5x2{MmhDJPt!gE15mvmr6~EM_ALXIBWT*} z-!d?BPSaX^%Mi0AG%ZsbV@kC{Xxay1gwZrcm8PZNGK4ZPJ(7IOP)o>9Y8fEff6MSO zSYdX$2RZDHbs|Lruzv&Xb}wv<`j&y?lixCYg0lY}g#4D_$3*IR7^p?b1b)jv>4+5b zg>M;Tlz~X;n4K{i!H8a%qTZT^}j}a#+H^=8u-!iDP8xGDyesdPzGF(Sz z^;-re@LL8-N1Vi2|1ATJ#tQQYYsAUEWuS@aw+z(in8tn>h7f zNKH$J2e`&>8KOG>mf>4?UzXUqErx~1)-}K}V(Z7V`4WE1a6EAEbo{&b6FJ0^ZyC-7 z_UikIXCVn#c`k%K$EdLKN}S_Dlv9-FAaTxkd7jHu!^`uLh+cjHMadrlFT-aHOpDJw z^fLw;qUgB5@RDb#G>Vs>g2v+|%bA>+kIi1u9zVc~H`X`j^a0=qyrex27%RM_QBHm5 zu>^LRPx1xJoiK1ulkW&do1e3EiKFVOl;0~7cp zh0@_A^MxlVGRlCLI_7AA;bm^2;-$0D;pM1r8q~t6!52}iS%@bot7)Nr)4&8iNuhLj zDHi%CDcWUITd6a=WHjJqFdSX|b4aN0vgwTF_xCB!EwX(R9)cH7Npxa}5KWN0V1-BBHGyTh}T zD~%g$pK$}ML?YZE|ITrV-FIVQg5&;DP9{L5efYVC50l0RyYPvzK<&&*>$e$19Yex^3`O|?TH|En;< zAfM4;kRQs(A-|T8pL86^zXDd&A)o!O4*4{oD4Es<@;Sr^`QM`KUyP8D|I-NhOd#Y_ zI>=|f0QoX_0QowUXn;X}ZlOZHv#DDPq=dX<`cb)aW?I_7#YG$k#NjHkRrkKdnX{X^=1dUm>443HeeR3i&*+dU@iT zh!>@Xl1m|96_Q6GU!oD!tLF*sxR@9rzy7YHl+&hB2>A_-qL4qgMp0w)rpaEOXsSAc ze3lR)KWzk_!yup00QusI4DICQiKx!rb!^(Zm2&~N^P2`CDxzcdHbz z*7lV75l#j#eoRsFM-5`B92;Vpc?^h+*%FA&)P{Dcb_m2?4I>O<865_(p^O}2YYF*D z$AQ>uVMQHc*$?UvO9P6MX>A~uy_yianzH{rgoM}|BE&L*5KHMGmiYq2N@oVdYS*R# z2C=z?3bD?@77(izP7Qv7V$DK8>@On3GJz0F=^$1t^bo6EHno*HgIGob#0JCB)vrTB z8;JcWjx&grvf5nD39;(n^x$X6Zw>-tZ;TMj1VSvOgIICULo5x&&JhSlK`c#7A(k2) z$3@9r<{?(owAxszhuE|ld89$C^nZm|<|M>QZ79U@zzSloM;u#RNGQ1!VpSn|6k;VB zQM7_scU(+tf> z5F6F``-x3^trBDLN?r0S`w_s%&4|5_{#iEfsXq$c`S^GD)V#=yz}TN72^jlJh>;lk z3nY%j*k2;FsnKyL~yjiq{wO{Rv7D!i-}DbE9JCl6k=>c zqbSDCtx?q2ylFCwZK^uMSe6hmHf;o+!!VZ7fU)9=4DAGCqxw$9SYBjCVC-L!1dRPV z#7K<28Hpn?_8&;Zko_k`$scu$Wm=B0EHlN}TcGh6%Ulh6qe=m54P*a>lfjFBQib2X&04 z0oW^xcDuK!Mm-&7uO`NJ)`jf<4Zn!7zlj*j1Y#_u!&v4E7%QC_7^_{I1{lWX7AnR% z3tM2US~xYB7cB(F{x)JP6Ns^t4r9eakFnZiQ(LJsjAb-nY%m;MeGL-YU~GZ&8^%gm zZ7%1;SaooEFcBRD#^Tw0^>mmC#8^s)vErb|SQ?7G!w` zR?2D9D8$%?Mp2BNTcfD4dDCPV+f;Riu`D5CY}yDshhZ$E0b|7#8QKZPM)jSHvAoDQ zjMaVc{vqq%tb^`>{gJQ_-U8{DlM*gOh_~_=LG-XGDRxPEC_bu}{or;$g!{qa)B9>a zIF^B3k``0+=Og4UNx#Qv;$EiI;?+=!HOo(~_Jd;<6!LHsg8kqg0Wo4fI4N5S#aC{R z#BsX9KvYk59|djL5AL|mqEq62aHqd3><34?Cb~Q6vFTo>OOS**z+R^7A%@-25W@Q@ zh#qz&h4&46nKCnWI^2Mwzb-=Vbod84zc02{!*6_GMB#QiWR@X29ZE@3gx~2fYDe#7 z%G0`i4t38rZQrFx(*3Wd5i80K5yH3S5It;4I!ntkH(GWDMSmGWw(K9RWvNBWQn;37 zmR2n*WlNz+%SN@e>@0h}(W<0fFU4Gr`o0m8)c3n0R+M)`2;Vn`=wVaRS$t=1_`V56 z|1JpW`=88rYT-MD^PO2*`7UKkp^5KN-OhJf<$TvY4*x0R`tC@A?|T&Grij7odqVWE z1u4AV8G}H^GM34bvAheU?d`~X@cLd9{d*v!*MByzsfE`RYnGo)kORHSJ_j}iFjU?0q_O9IqF>LuG;kF1-0}qDiVWU#iK*JTCMc|755Q_c-5%P-u zS60Bj*x(4iaYd(aS9E3>az&StqzHdSkJ_faYk6XKP4}3+9g^T9F#Dm173B^RJ`5pz z+!3OOO-W~IWtM?femF&cdxUJ|zga6&i&my^t;{T~T3O1LLX%dG>b96oyIeafuIV^` z1d>n(dt+Y(#IUacLU_M3L=T&i&NAAW8{R*fqW?&Q^!{e^o?3WM;YK^Nv>NSFwiKF- z_NcbeJ`1kVDmT`>@4FyLecuhSqI?WO`2JXk-j`?fow?!r?iBr95z_Zt%y(+xJB9O| zSz7rnWlN!n?@`^(cUm>V_s1bgecuDIqTCZ9e18H&@8Vf~XKwiZM2i075z_a+oA1=Z zcM9h_v$XPE%9cVC-=n&n@3d-!?|UIhecu}~thA00zCRhFhfPUm>GRAD-}j~HKM5gy zztw!F7QRzB-ig2%8J^dwAT2=XOQ; zR3uh&fuGwM?|m+vhyBhbyJupOpoje*7gUMo+&@dij8RCu=>b)uE&BCz6pKlT11U=W zsLvuYEzTnH+-glai+BKz^0SD{H97P9z1^oSV(N9Y7u$C&-hAd83p$7Pu10jLNr`Vc zf94)ov9o&#RI4704asJTeX8(o(-@Al*a$AuGon%-`Tai8k zj-y7ONm260%rCcs7uUk69-K!zQ<=Pk>az^tXxU^iq10KL*m1n3pqeAH;-M7Gop#0utQ*0XA!`F<9R|Rvio;Hq# z`ZlO-i%@E+Uc`Qd*T$< z2W-&_DW^>nbAGg;iFJN-ZcVJl<_-OC^qAfgU?{d0#n&@URcG^~EFsR1rj5XJ*!(D? zVSZFxkqZUpN1w>E$+DqQy|B9%v|EI4XPWi{`68}kXJp^i?hW3+_k6fcSpJ^R=b^hC z|L#2>Ua}^-Pm)v0x}lMG9E>D%+808MBMgm+|WqX4OP2=90?j4E81 z$0m8lD$4!~5R!NNC-M#^katiz-obo7PjCWYT?x2qo=%s<&$^Fd6akXz>0UwAdWTCC6rvsJ5(Wgly{6U z(;YX=%sTIoa@sU8c}GJNEAN; zMD?A_J9x=*ykoMnH`dbnx6F6E3Q6D{heH_ezzlTfblgsD2Cj1e_=}B`@#i&;MA^7R z97R#`$I6%5>ZM^(52i(aQ9h6}3r9frI*_Z4E0VF#lc_GDt~9!`N1q4Y1BF>1I;c-Rq2o z24D?#+TG&aFphdMn&T+@han`R0W?=LDNG=vp>&Lf`2wSnp$tZ&1DggIqsc8)M&m4O z!D!S%tig_A%|bAmd9+YxQkXzSL+KceSm+szcG=Wc>WtAa8W>G599{hwB(z~P$KyC- zG*VU@xFe%c2eAe_@|%NTGzA^hnG`0F(NH=@BMy2-Lqo9!J3{L#jWa1UwTkUYw0Mwsc2i#|l+^<V@6?pv5Z{VJ>Ae@Q8!)`$R~; zM%nJ*6`V_%k7p@J3hRHK0j>eK?|d6FpG#TJH9+z2=2Cdkn&>`NPs;bKwnDl-!#NR2 z;54s;FiwLV2RknVr@_==2iwPBs`z9i-T`wdr=eI}Jl;T2@<)9EGp0qZqon5b&{d>H zpX$)QN~1LA6lgrnVL92(>~p6%SL8HDpX%`JbDLek68gyF_zHji_xQ>iadx!Bn{@74bP@eZ^N|mIl6(HVU&CU!fVsS6DvzikwIJ3J8 z)7b{;ItTMkB!REI7sB|8Uq@vJdFSNaNUZqEV^(Hwj=UdR*1-~r zl4YhG<2}%Lj=@|F>!?TpYwi2958`C-;zJZAf7CFW%CRw+a|}0gJ|e|zUbK=qhD(w6Kl0qSAPT|PFVBD& z@%4+8ErsG8*=OQ7ovMlI$?mhD-C~ya!fDk+_aGjrd)!9f&qI>>{%ORpP&-2SegQ=9 z(pi0HZutHgivFh%()T6iJGJng!uifDt$dfVrO?FpsBY&wt#ZEWHxX;3-9L*Y_>ONP zK8F}qGM4ZQ2vGxHgy?-$YT((ZIBEUoAj0n$p9^WN&oWR07g6*tM93Og*J^-T)Bwer zaKLOpil2WlN? z-~SSlv<@yt3=95BcnLz(!KDyAERKw~#G6I{%Rn7`m7@P;gsg-0tPZF}9Zo1TSTqwMyuSjX_w`wO0CU6p zZ&38Vj*#B3Z{AZ2?BnUUB4p)j=E8j+yx!UZn3n44JlCe&mi2QkZD9sLAe^z@A3F zm@kQ-(xYF@{~r7STl+pm$sghND(vFKG`+pzE>85u9FWa6CuejD_q#aC-(E4-Hrf`F|E-k#6AL_|HP7b9OC{RhJf_hLSk z$*rE)Aus0pjhj;KPf+&CEwse^R&V&mO_INQF`wtuY{{)&rnbATRBL_AKTf_9rP-|> zqk5~CZrl{g!2M3LaZ@cJKdEJaz$q8^euLn?xc&Prw(a6P;J zAY2}>3?@|ExQWu;>M>u~xJd>UZuNAS(Ez*E%PrJfJsz-;nRqm=4l8FickLB~ePtK$FeLV1pRmY$|O)ucqPjWQx_xMAO zFfJKNju7T!X43TkwM8^R4?pe zS0}!|z9)H1r}IdRwu2!*1nHl-9%^%#Tk#$T>DvKkA!GpyJVNb&SNge1j^K&z2~xDY zr@nMC4xZ>>bY6!f`1?}`U_XlO;Gv`7{y*?zTRekZj{O*may1SZ#sR1&2cVpt1B9a* zH~^2Cl>-#zPnM2h#B2qC$fX%O+47PbN@~9B`@V!o z0D?;g5aj{gZ5iDIx_c4bN>_70_fI5+k4ihBn>!|n-L7gJc^ay(YOZ?+bem+859qf3 z2=Igv--jn&K5-GAOgf;OXBG!^{{lMvwn7f*);r5#-#*e_Scu?&ZfJlfPj1E6L*M4y>6zT!KvZ<0o^AVRIuNl(sTaE=kR-Z+hIJK z;68P?ZU*~O*FVzxm3RrQST$X=GUasH`4GDF;)6ICQr*yL)_r0=ic7eN{y;GxR>3$MctKsC1nbv&CQ%wo^xbJqfuT(>h z`<|kq`{MVuhWc`HUJcvhzRRITD<)q&m#r_}RIz(e$n*ZRr>*zP>GXgdgEQT{QC9JN>KT{XqX=UY*DJnt=`> zYy8wl>M^yCVb$L#N~897BKvB~qV)$J`8k!bSk=E5r>g&8;U5(aKB)(n@71$?-L`du zhYR_d^Y#Q?9DYo-OPxz$)z-D6KS77TRk&?!HQ2>dig&uICStpypkd1%@@-o?7^=ZP+UV3$Xb?_e7!DQFFMm}fOR5NyS&g?#0q>|na{=NS` z=f0wv^9ruxsAxZ%{u<6T4Xc-1*!Sb`UKmLT8PU_E*#{W z0tV^VC!gTol`2Ada&?w}m9Jlp?Ib#Fw9ayhVehUIZ!JweQnF6&SN>of)u0&_jlrDD2xw0;HVY?k2LA4;~w5Cg-niBHzkFpb}BSB6sTgYju*n^^goSB^<=P}1Q z-aIzp&DVGE<~@Wtz?&ED;LX#8L%@~467Ay3%L&UItN(y2d14i~@~H1$FUA<9}4S2xxH*=uy!8_2|c&AM@1@Dk%Cf?Eh$U&g&|2*3`=l~U~ zN7-gb&5zdE+2SDLx;V%bOE}1#oyb=%M%_=Gh>R#l$Vk(j?RFx24H+TNITjghk#K6` zt&o}@%Rgn#H_Vp8Ts1Nx^D2;0&Q>6!4m*LAk~;<&?Jpq`GU9R^GHT1{BBNeJx6;)h zqivGH?;3M%M8)>^D=D}SDDqX@|R@OX5nPs=G;P%nEls_pb+;!fJyNCdH zK?CkG1tac4(5fb!2X`TERTGxD%lY0%jM9j^JkA@EdLr&Joik=>a97SU1$UL5LY9QP z5F_C($_IB@J&wCb*x;@my4F7O7FsUHUCyvPj=Ls^8Pa7Prr|CtXPzzwcTMSH$6YJy zVi&gC(H-11t?3f(qJ)gQ%1)q;guA$GahIuL4~hbJWp)R5-8bQ`FLiL&ZxZf$a|d_b zM0g0?^XF+ql78HSQwwDsWfMR^YAgyP;-ZJUJPp-XHP=1dWs=R0yBP6(+~wsHHxKUO;RNow7<70Z zh2XC9W!yysxCdL-w>s&@DlFgvc+Ak;JT46qKJ8L*Tt1C;Vvs{9-|EIas{`K4psi7pm5j0 z8Fvu@?t%u~WeP^zg`hgoL*YEQ3vqQEhQbneIp6z;Q5tcV$9Y3iPsClObH*$U?#fxF z;I6V$$dYguVkF!}`QR?A$8i@4g}atDi#EEbuB+NZ%jLMs8J5R!*90*`x~xOSUB|16 z(%)s}%+tl-t|?vYxNBuy?80_C`T`m;OWM*kZK*P?=@Raugp9k&PN0s2ySQv|m#Jb8 z3gNB?Q=3h(X7+}`L&QC_@pt`)aTialHG_vzqkr%78~MrB8tytwQNmq^izM9jEMdRP z%IEbF{r^RHFWn}qpH929%GML&GLV`d{pmE~GMrh^qWP-6gm@)*xuiG|ypXH28QjX9 zMlZN|XNmo?7PlvzW%I@?g>%uggh*h9O9wOM zlKZv{+1z5ueJ`S0Y04m?D(75se|brfat{q~gM96hd%MvDH~h9kfCM+X5<1)n5(c<2X~n%uxMg&NicJz~#r=gc z+#rG#_s{@0Ov1S0-iK@{E4&0ZxNPA@E4YUG6%;WK+_=C!B3CmUX&i6iI+(o$I zao&*B6XAyGoK1BDH*%IKaHH%LvLv{H7zu7rK5)b8akxQ3!HtK@*o>~I>#Fw9ayi^^ zhUIa%F+t3bF6)rt#tEvTgd0}QJY5Xjn9{`#H&)igE^N1>FAUtMC8*Y{?eb^yq^3)7 zgA%sxI)1Z0MbL+GWhYQaf*V`{Hx6X&kEvo0ime9@hSX+oBeORQM&jnZ@IR9FL%CST z&m$vm^J^!`-=nDZTLK-EXMP?n73}$WP8IJX`VW2{9$9M!kFYB38-vFvex2csqZB2) zaa9rF4eHpYI$2M21Jzm8S5d?`9}j$dJkZ%bo;KAK9}j6}`gnp7Z={L`{}|i=B{Y$} zwM56N7Co=74ypOkf}i&LLgF0!>ARt|ck@V23f;2RjI$!}O3ltR^MfHbZ~}cDfQe*a;HO0d`!%Eu-tI*d(FA&P9>%Wc$332*3_BfE|-Cf*l{S zrL6E0*x|ATJFVav>ep6819sBqg{SMmIdxspe<@D_K348LRuMmoE4yQKJ>^fz3iwSNDQ#Jx0gw}b23g-bnh+EZ!CGc^+_ZMR@0w0g_Mx~wzd`#yI8XDk} zvrGX#We1TZ0UyLj)|>JHK30zd9}=E${PVPk);}+_)BqknFSK+HcE*WjpA&W>GSGRx z%1p*XpA$01`=1k9zuE00k3(Mmo7v6s-0U)l5e5E_t^~;*%;4jb@x8Ii6S-rZwjgT(HhTo0Sa;1b3h4IO_`?-0a0^M%H&~2=zQIC(swOTPto>zOekE_fc0N7( zwJy@f0*q=V18xl+{1&_;k{u(}eu!3q)v zgEeXKt4p|fbQ=|$B-CWU#gWh#zY@V@05ljZlQ2#O_>e7Sg_jH#m#x8S1=mo&r6L-G zHSHVt+bUf$QdU;iNKIP&>I!Zj-A?(Ff|?9C6a{_pD-lcvK!cGo1>hw;9z9=To}a-_BRo#V%~Oqc5xx z)4ZK)@$0mvOK<0tkS7DmPN0tTcFtux8DOf|gF>b`zny1x^LC#1EBz1eea1tpct8J` zZ2J#w|DW3{%J)9Hqpoy{qe6XbcW05MPuku`r+{$y?CI^gVE3z2MbqwAr_8`c7k(giK> zXwlRHl%W>57i4&xLRw&VY5}-v0mz=6uWVX?EGp!&Dnu>tIFSi0U}amOYJtZqowq<{ zFAkm{uJoF*_Z4!j8EBK+Wi-{D|KD3tYJ(f;v_M_yNHc}f{{A9MriL9Aw7GE)U$BavyjlUWSOgH zt!yi_=-JFpJv(DxFQf|n8prlS6y;<4VY7hc7H!f7u?@Z7ESjzWvC4v3mHB_A#I=&D(nddS8V{{Y@4X@>CU~`}=7k z6Yg&-+X_`1JYDJh{?6>h!8632eSag@n!z(YE$3(OeBWqo@Hj>JJ@5ow>9iPy(*B7e zOP@3CpQUW3{j+s}_Szh-(VpDW{z;JG;}xR)rIYq>r9EWN&et{ClSPF*PlZVP=Zj3x z-paN@rTq((&b80%#lZ{3o%MW2sx^ZXN$GRl`PuelMM-x(+n%Z`oob;_x<6fHNvDXU zuY~v01_gX1yssWh_KomS_Kh%^^=x|vWcUNl%uxO%oh!n2JmW1ekRk`)o3 zZJ9gy*+#X!XPfuyGZp3i`fOckk9vjD?YSaLUzpjiEj~Li$yU0BlslRlh<) zzmjFHezmf#(4t>6d%k`}s-j=tptYr&Y)n62QSvjKD3bgP*VBB0-rW{z`7%zCKccE% zsL0085Wm@h&%6S3_Pj!yYRbFWWuDYJT+mJ1`6Xj>*y6 z@UY~5Cw<&Z=B|Hd{OSwK&zcGLE6Ujl|4xUUTrDMcanP33>{s*>36cCeT#lQNXv^qM zNc1AQm9Az&;+2vj$r)B(Fm#iD$5bH7o1&_Ti~gNS6B0a4n2>liboc^=Oh{Z#55wf& zA%Y1BXz=flubq&vJ5v4~zdvb#8oNBng9mXVU5mmvGDIHRN&$H6d|%By|4{ z5ll!xgMY^)j1v+*WJ_7$CI1eWt$(K#Ttod;ikQd0^ID}#{v9i;`|>|&^@S_AWAr-Z zPYP-h;tD9}{v9Hign$PBjwu)?ArMpt3@A)vW$Nk+#MMst3d>0d=X)P9?xKIk(kNbBfh#Asl9kPGtC8{Egf%I{+l`~Hl^)Ml$MGJC_|<>CsCw&&;7n%TU&et%Ci z?&bK3H1~4*&fLoyVVy&i{-UCn6^(m5-cP(*|6%Ywvz5ekA^H2nYaqD;@b`-o0XVrj>zqxR z6#?+4-eT-J=T@z8NE^{W+9u*T0BL_%@~DMB0;&1YL)tJ`jkL+U3Z$L06-c|oPN28s zjzQWVkPr!Jb2$!aw`FvZb}yn^>1vSn|4NEJ(q@eIkv0NUHF5JGZSF~s_Q#>a_b3Eu zUzvxO&!iFo(uM}4O}-Xs+l?lq?YA8QB&6My(2;hKa1NyH5^fp&pNdTq3TYpSgpRa{ z0BJ)5(l!Yr()J-+$_g(bZ7y4+-3qRu{!vBDgS0=PbO~u&S@Xa!mixGZJ4T;W{-mIg z_E9M4NSg?dHZ&k@Q!pZJ1g&bqd5|{ZRyARXw4LvL#JGz{+vB_;sV5?B(>bHm25ILk zQ;>GqDP&1V8!^&MD&>Q;tsXrxWl2cbAnlLoTBoB}Xt^9|JHzrg(w-n@NSAe(hP17m zdAb;+J*A5sX|Jq{UD$3%caZk9rb|eh5;D>*JApb9(&n;7+NO#&V*$vV@<~aHM zgwOuN>zsLH1)QyORD{F#Go1Y?MQN0LQKVVtENuS{{ohd7zN$a1h;jZ%`1m8Cv;C26 zsww_R(#-TnR`q9sKpa!uY-;q`!2fmNe=hKM9GlaBKJYIQ_+JS87q$z%(!*jZuKJ2{ z>QVSrNX?HUPEprZgD74(va?o~G7qq$86ukmo+qmo}d!t;zzUnnv4Zoqr+JEEn zy^LcTCeHsD2Mvp?%k~xARCGui*rDLhRa$QnD`GFXRnJiI>h`ZeYJT+2k%75tut(-q zfW4fp0DB#F!d)eI4A}d!gh*hI%W+_@Eu#zedJ)}9R|EFGE-Ct8kFnhcdkCO2laPCk zb>2J>0efdcho>t9>>Ul#@N;B{0PH~n*dt#H_PG0Z3+(x`009!%>q_Wgj|4hL#zdUs z92pmJ%jlcRmP8cVy9y%uIWk0m_MidnnTQeX`Is$*g_qDCmo3_BCD&O0h9ZRa@S4nh zj?A}|Cm}y8cOF;(@^fW(jJ~b>Nm(JktD>x*BSQqp4;ql4DI1X=LRU56Jjf4mb<&8! z68SmbhZKV_B0rDwMx~yJ{7mPJni}MnvrIvLWe1TZAwR@O$dB?tepZhoKN6l0&XKXy z%|dTW2iohOBQs7^Tln3H$jHynkufo~@S8#3U-)hPX!ny=m*sP0GP`$-AW%LcW^jIX5+%GTOZ?DiW2tuu890xwS0`fRC)3- zeovgL{=S7ju<(Z#{>Z`~Tlf9l`oF9olfCeNW%hXg*ZI`mhn2oZ^bh{8O$&EX{QibVf37I? z$uC9rU4O)*)gS7X-+QHptnmXy6KSPJVP)O$-lRJk9ItRLE=bM`)Bji&_uTe?bRvio?$8f0nSe3AA zX+qV$t@`Au>73d1ww+@Ine6JE*GeLH?q~Lf!Ry48b3gipFRFIGT-i6Mzh>}yPkYd% zV&D8lQR#Gh5xc}kA?rXP_AgD*~h|4;oy9;`-VE{n>FMb{#C!| zo2%!(A%ebvhQ1+RuWv%tbM(#Rs_C2A^|pOu1)1zc-(>c@eS`X;Z`Lk6K<5w~VE4^h zsjt4-PbB$`x9J`3H2oi|=jFrnOswkliX8VY2cLI2=AS=B`F2^2KE%aKoSrTz&NcR%lP z{wzR%^e)$x(BI{Pgu!t?=@TfIaP#Ou6`Lf~Cs5Z!LU-H~!6#7A@G55##!sMp$dX6fuwE{#;6zUf-;&?(5s6PoP}E?W1!me^OANKwS$3-)SEu6Tv4? z(D3?Z3dT>M5L8>SD(t=d%3*EhsSuWyvk>zmc1n_s4!gmT=!K}c-0Q`c4Pq2+SNy)!J2JMJfl8Pa7P^6T3h zRYkc(#>$zei*ejf>0)=>udIt**ltH(TO(%aO%hZ~Wb_Htw5CgrdrHWkK$V?99m#Re zB}i=-8H^=5oSv z$Cl?x@x&_d9_LrN-~K#`(jYllB>C;{pqJr&B*%;G$#z~vG+1xvt+Lzue1V@KQ8oCy z{H~)5DpJpc3qfjrw2O6H_cd|ZeND;QC{sKKCX34sRj8%mI8-^mI1#E)&f@Z6%D;7S z@D){_?&=k-6}T~qeNCB{nDm$17)FxEphmkE7l8t9;OE}N4Tq>aHQa?EH9vYjV3-qd zL)_Rb;|93R(poZial;%-Yjd^&H+0y^gqPegxZwg4BH;!u$N7NUGP*wCUPQOj)%buf zA}RW~fq~Y?4G2)x#6{dNX=yDt7e3&NL5Bw^#0PvGjF$U=iNFU84Y+}Ptq<7lAK?bS zn-C!3hOUH;8%Q7@u!%T_57Yms82fQi5d3=P1+M2tRQAG4*f@Dgy~ zvIP#UQz7Ht|VFVE#=Z#7|5k#2I*#I{_;GAU&h$uUVED1y) zMgkF(4~VdO97K>X`hYEU;{&#I<9)#6L^U69CnAFg_W_%j@&PmG`#xanN4uX2A8=-O zeZWsn`+xmbH2Q$wFB^vs_~G(zbbY`l$wuni-?-M1J2?1&<66hV6eT-)xJbFy@e<-_ zD?|$~W#Oe24$eQ@*GrMOtS$o`?pBD)N}u{PzFs15SwVxZmwY{6Z>V|>U+?6qaaql- zw{=-rK_+|Q>&@)(zTPqGOwm91de<*pyY=;6R#9sE%ZsS(?477m!^p2ZW)pIxvCs$1m%&xcX0V~L4 zFPw&%-8c=SKX+ezxuriB?E{94?SGV_)c#iyDck?5;%H|q3y-nzSPQSNaBzXy?N7n9 z|23e)qZQKr|DD^P2-+VS+Mj&A_77Fh(f*UGru}Ev+qSx{b82-PTLWkEM+E*qXu$F0YyE$A z{|LwX-Gl%M$9E-k93Lc{!~f?JZXVrC#U=^m|GOa)y8n*|{D05@<4wZo|MMYR$_g*R zcrIHQ-wLjweq%+<$f)xP5dBbdK|iwu<`%hMAzC`&O*!O{y%3}9{2xE5HqC9I%MeH_y1Wr^K>!(zbRep{=b!V zu?ySn=#KwyTGJ)}A0=e}U)c%Nk^FyLw*Eg;#U2!e|1YyU{=cWE_me+%-cL?V?ZE6?NDNpp@J(sOa_*BB3HK$9Xr~GP>T)UPQOj)p$4WA}OkxQE6vTagoH%XMcJc zs@JY%3VUZznPijCpt5`K`x-$ZaWAJ^SWFqjLLIdU^U+X)y8(EmkZ)>zjn5!$HV=iw2lQ3YeN!t>*gj+^;Q?W@x zxlV6_guYKQ5x7pF0dtvz(RJ!KL@6u0gt@qEF;^?NZlt>^LYV7xwRy9A)|S#v+k*1$ z%9HSymD@GWlU%2+?2gerls_pe*Xd1B*7r#!0@o=t;4f1)x=s z!qRo>{5)bK{_;3)RO*TN%XH4zrE#6+EK~4T*+FDU_{;7N-=cu>!CzL7<1Z4%eUdG8 z<2to;j=9E(X0FmsM8;dbPqK+6S1Dt>?<%!^v)e~VB=3`)*{uWanCt7-)lj;pdQ!oc<=D-~H2?Fg!%(0|mbsIkbQuCvaIf(0G4pXea9LQHX;XQxZ*oT4^#f6xbVj$<1qri{r+aD45aeezE1OF1?TjfUuex3wM_lFF^Bd%|6JtstG6oY!H5fh5>_3dccpcr4@j(!ct*SDit!$E_pMyH13lTB#T zaD1}qG2%otggl+Ir0f-TMT^EJe5*{C7HG)Vx1(Ia_Vw+ip-oLS-zuAiiR0fYqhXPC zdG@!;v_Y8P;-?j{m%degg3433{|}_*NAFB3n5#xrWL^cT%GnB3)nO-qQ*y_ks>e!* zgsQk4hpO5#x~Qrb(XDhfsOpK5BFPziEsX6x?m+Mae5=d@5!~}+=`C8n=-Ou`Ve-!aZFH9rpwY=fFKK;g-=;RBVz^xaU?G_YeW@fd<@T z5=PwPL$;I^Ucx2iB;yXr9Q~sp5 zaL=tX?jZu)0}Z&x6py$E1*)2G9^8Yt+BRBYiF=&yeaCo=xX0tXfvG3r9@Dvxdvca3 zxTowavLxJt7zy`KKDfu~aoj_~h_Zo+@tUA&F}JR(YQvfPPpev!Z%&N%T0u7?xg>)A0KybfqO2v@4~_so9lVHqJ(>1 zAR^o&SIff53fP}zqsqRz){I|d6Zq$uN-z%pzz6?8XXBqX)fD_gnmO>#vw}bo|2#YJ zBmQ|#;79!P+`y0c=Xrsj@lRDhKk&2P$N7vl;+GCuzp#EDsPrNw)`R55keVMyd{jM< zwsl#*ZT;YjES)FXq0+jo>y{lVSxXvJTDR;_i3V|qvo3AxLQ^yxhe|X;!*QsD`VGgS z5{fq*pT07cQe6(7UZ^w?JRzYrli?uFb*o-+KLI?UX#sT{JfUvEcJO367vRZsF2EBy z7g^^3Pqaz^PyF1Q;OQkQPXpnlkeVOMpX(gx33CE?V&Ro0ZZ_?{S{ifqaUk4gkw2Nc z;7Le)&n|u2u#bJ<;G0~h{LROKIa>jqI_!jFN^U5r*+2V436a1Pmkypb9(HSejG&pu zP22StYRlNRsXV>B7tyUWWe}0@&FSSE2S3-3!(VpRw)ML%x&O9}dv<+upM`^#-lGpX zzNOZFnWRWJ?ky_6NMh${Fi%7E+Q?dA&n0D&&F_-p&gnxlFQ2#w%{X+;PG8$sOP|8& zYdo{7t^1B%1sy&^;kJFN!ELbr*E4515!-bZ12jN0@~I^M^pK|w(9EAb2#}yzS3-wo zLBasdHgDTJ_#=JCjNPAT>tm_|wQR#BJYaN^icJz8Pz`R2gl~{3(~iuF*nU7Yga&A4 z5*{%4GezzX`t%#3log&sGwu4XYr|%vm+Pt;w!*7>Uje6v?-1=&`JvM9PXXCZ%D)Y^ zJ%``R+YaLml3Y*St((JMj*kDU1RA|syad;*+Adt%zHR&9??}FF+qS_!yfN5i#v5bX z=rzdW-KFC-ZbxIh#5{;ZY~QA>%0&ZQv&Psq_$Nhft+sAW3ZYgSrr(u3evbNDDbvdz3nhTh$0H_P@nGYt2Q^QUk#8JIzOQglit>jZQrgu9?n#xR$d_foo+4k|n`4 zyL)_^jPfy{R*%Cq5;n_}Ua9M<_Rw+x+Zu-Dap*QdOwZVf%t+|Y+u3oc(vI}JoX~t}sS+h@-O-$-Zg&Htf2A6pXS#;I7;A59sE;wH z4Unke&PKy>sL_gPF&3BYVl3+{yBCYaSef0dz}B87Lp>JMVvkK&{AV33ei`9pe30z3 z9I^O`!p?_?|9;W99;+6fhW|3r$Y(F@ABpz|{RiyM+Hf4Cqh-T!kdA&0$3gnr#EBps2^W{2cbl`doPGjG zN7DjQJ4i>}g6$yPbS^-;>0E$xbS|>a0n%xe0MhxnH$nPoDo+F99gvzI%RjxDX1~8F z+qxt-v2I0}6F~ax75rrGg7i67@aJp=Nbj%{UM{&~K>8^XB7t-+9i(p(NZ;fjT?V=> zqq~B?7tyVBH7oevDJiO&(QWg_T=YP?r=j|)=DG*cO|tnxI(JSVq`;0=0OFw{HJNI z_;eYusdL5eQ=SCEt=uj;oAj-KE4zL4e&tWf>RW+3qU<|ulAH*>6@Ug1Zpy}Q1rStczXP zZbwG|E_gbv=@LApg#4{Q*$LE<;3=0aJT+D9p;5ro%m5qqrV7_xIBIA-xyMtL!f4_5Nc^S4vIb^P6S1iv$%XRplGk} z6=L!jsA=~KL7;$8__;R`%Kxc6HQXm4H9vZDurMbel-aB4$=pRKbF8M%*$RZxVJEOq za>pQ)k4lJyP`Dg72ium>orCQ~bSquW9PB40MUpej!7|YL7y=+i1T zNvJv4J0qd5JtKlSSZKfyCSja|^&wlz3NK*@E?W%I3a+94DMd6GVl{KHpHcpVC#;UH zv6-~?-4)+4`mFLN#We?e7Zmrk??f;M3k`U}6pwSTC{WdeJv=dH?K|S?oC1aA9IW%b z?--8}Pk5X+F!e+{VLE49+^l`iS*GBLva`sN@C0HcJVE*339HBP1PS9Dtfg+|U@e_v zh;gFX9Bd~d;|E{+ZenQ;mhs-7gSCFMTdA0X&FtPB?4*4{J|X*t-{*1ixkSGYHuPn( zk8jq0u%X<&#T@MYWMjA39PH;5B^&w`ku(SUHxkeH&X#^L z@PjR_zZCe{<)OXc#ivuCHdUFn=sH8cbxVB>QuAYX-JOagE>A_e*+ncjvg^_oT?o{0 z+&f`a6;p^`R+?ytDS2`Evl!ylPa#hD*xw{94KX4HL(I>;X^6kB^3;^yfYkix&F8_K zV2EeW=aIQcP|1YGvAfa&3uqBnE6Tbc`o4rqwlELB%$W>jzdD9&m)5Q zJZLcUCSjb<^Bba+6<#x+$FNG2z#b~%zPf= z>OcX7<$Rv=y+0Yz(e!(qH#+r1({DQWO@GcZ#q^gQNS0*!5hIy?%E!uBJ#P9**tinD zt?R1x&~mve!5NmvVZa12L%OU(h5|mH*N&CsPO!4(>1NysQ@Yvb^H$c)E^xQAqdP(K zdDEINxf3WM&*!zHf2A5SpEpHAcbM#L4dpPISHpHbuN-Q$Vse;p**Z*26}uM;he>Al z=kq=62w^U8-I2m?5!d}lIP4JdHwcTxdAm>OH~gP>_~5`x3*%k2 z^ri54FMKICQa+#0`@W)t1Ai)#=JS3m0iGxvcp=GjE7f1sKUCy64EUqKj~MXBfgdoS z`&oXjNIh780jc@X0={-yi?}?k<$wYryz(>AzZpiLe0Y1Nb5g-A+ zu7nQwf`kF^O`02W2{(^^uVRygnj5+Y68hW_5zGxi1K=|W#+jdMc? zUDbp=KsRP?2yv^Lu$&umzV{a+HUc`2^G2nf2RuACdPa^~q`z}%EBcBr$mE_PwN z9UZ}(pw6_WOJI%?^4w6_3Dl9G4wo&|F;(oLQ9zx{?#vCnJK>!33rj?tbM1t4)^>1? zptIqb&x%Hz1D@F-ta2g!2fr3iuL93pTKTq`U+Yhb5}x^+NWwE;mMjmJ9BYJWj!?Z- z{TD?xc;;H|k*LWb^$$hrS@2It&5!r>#^uxWsom1?`g!=GT_3h?`Q2h!uyyU=u8J9G!;DS) zSI3{JRUxB)sWNG?2U7E+xA7y)RYLAjkgVE8E+rj2#}0-S3)=5LBctVw@bKrv?fa^<9%-=^o<{hz<5K0@iqyg@%ABG z$_g(TZ!TNo-3qRuzMyg&<2`NTp|whv47Qau&(oY0)vn<7(K_W%T_A&fpKP#+z+gjz z!8Qe>!A8)kCY;A$BW_g_mImAT-bakPXs|ub8LF ztu;PQ4-nbeHOXe*OElW-fgUjUCVnI;GurOA^c30BL-hMCqFtN)C+xdya@AX_Z?hQ(eVdH{RZZMHHk(n6&E5_jE-J)kYt>X^vx&fFLxasGUu&~% zFw189&_;k{v%3b6ZXfMZ{-mI6_WiTXCIXuc4K~{pj5ZrVbx4=O zd2BY~>U1-OrOkG}_YvbR+H8;WhNPZovrXr0?;4w(vrMtsWv7rO*=)o}Hk@%DUKv?RIp>W>0In zWV0zD+w8Ivs3X~IE?b*zs@Q{~u-TdY|J-Kt&; z(%pI1J*yh7R+&Ne>^!A8qM9r!GqUqDwnVa~z}DO4LABC_-oYlDZam$aI$eYohp+x8ipAex$h zBC5sFg(1U(6>i(78a#j|xS7s9(r?YcL&C8-WKkhQ6|!`)g0l|XABC+XD`Mk7kZjXg z+e_}?tzt^ug?+ZTj*orv!huOgDpsROteD9Uxbn69dNVBy6TO2npM3#Owa}<+XqxjO0;o%Ay#mi|F!__E;gi%bExkj;-ZG{%2IJ46z_A&g(g^f?l zWB3`*Z^tlFg)zKw;rr74hc<>UqbTXVRMnT$l@2em@Cp`Q(ZVZPc!Y&lR;ZRaQe^4p z)-pPo%J1*D>w^3HRM9lJDO)Xb6l8c=g|y7^sb%1*WgvTY-le&}$)ZBup+adR14fhWa*dI0#t(LhrWO!$Vw9G?O%fMC3KtjuqWv-U7vaQgfWimUpOoJOH zK39+{w2fmYf9BptQED4ur~B!us_$>%l0vn?14Nd7V{I_)*-9B|g9k!}_f<$6JS?>V zT(totJX^`4HkkcvwX&_y;@O(nooDMr?1Wt5*&4CavZB-m!cGs;m3FkX@F5D-1`ick z`mMFW6zoJ1dWJp>GCW=(&(Md{1UIW{xO#>{!ZVaCW1gW_k`)o3p_$uzh6e0J#o-yc ze&Gx4GxXt#l8(36CX>3V>Y;@r3m>6Snm$rw>31_nJSC~O9|aknppf1^A@w#~^)@7o zc(Tkj;;n2ev>5T3T|5h(vas>F`B^Dj(%@vI3gbPt!=n}D?eJJ#X@5=&A8+9k6sjHm zM`Y>uGuwfZ)DBOC3?HMAcBoT3z*RdyLOYOUu6D4pt|d1E87Y!S|GDK z&%TNGJ#rOokl&e}sVKkipRKE^evXCDRj4+2p2*T4XWjP{q5J;%km0iwa^H{AeGgan zJtW-sWEpecTS-<#yzeu2+I>&O;l7X0wihVMbv#j5+GNeb7b}#GFA-V#(<~h+LOQ+_ zGJK&zbbLh85w3KE1RcpTMn@~jiikR9?lc{#IOrI$@yiq?9fgfwp)2i)W8teTJjudW zTlg9aU#n2MzfNT7&$D!=XzBiX$nfO~(fyH0cev6W5_Bia7~QQTDNMxVpSxrx{qslq)T+vgpM^7eU`uJrA;h3~QOy%xUD z!uMPF0SiBanLS_o zAXR9e_3bNELi+QTMYH<+^`YS5^Hzh0^`|B1`|8sXMu)`wt+)?pYBLi=>A`t``=-Hq#r7Z?+ZjUx6k^4GZhH1F6`1; zKrN(JL^H2{zT4(=9e)z|hqwI2!Oe79_tK9w8`xxe+r^tqDN?h-ZRGDS(L|=zeZNq# znt1#rq~=F|mj~i}rNH9W#bso2DSf5D;xf`yHS#qa|JLAV;>5KBl(V>eRi$osc`)I% zYt#CruWBv9MV3FkUaR`f(4|)OajjK-=hv#f!AHe9{&LzeborL3{x$uy4O6vP@W-t@ z_9elRtv=Ye{P$L4XxlB>c3S)v%DdFPcZXb#6KucTIyiscIUw-?G53|?il@1`IEBR z8{$bQ>w7~G!QK$iu++hnjeA2Nw3gH>OylOelE*iE9kVwC;_7<>h2`E5&iDRe492An z9_NipJ#ndn>717dG)o{{=(8!6pVuS>QY`5KPf?!Su@ zZ8zmCE^oPA*ciedlzYQ=BTq2IjqOILf_+Z1-FqaQn*QIAnjgKbC16gl-EnIPYsKDH z@nr7W?(thoSpLR#=WK=T?y!>?ExBWC_dg^=vfW&|?Jl>9Z_DUzEzyhUR=S$4B^I`{ z&){IY8LEBTjQ~|mT(sSjHh=gNskQmTTGgPn?E1y#4^PHe9H~28>&+Fx<`2+dyU8ag zky@TpJ?Q>Sg{gj+fwfJz|(xq;KMGsG6w;vG zS0v%O6D7crdYW&ZSY|htV42@$2#{b|S3-wnLBcs;nM-)U=s*>lBor)r zMuufX0L!2OmYIYRmidq^Wrf$kGOit#ZP!&bY=zfw-vOtFA7PpO?!hv+U08N5@e(Yv zYUZ)md`;rYZyTMP`n`Ju%buBG84xocRTx8z_O1?SchfPnlFJC zO31LR9qlXC5Lh-vLx*L1TSLLJc{OZdSvk~b#RSW^Y+;$HV)vq8*~e*5gJqe$Veo(A z^4&v&%RZaFbG>W_mmQFB*{4M#E_-moWiRaDvRfuxcET83_7U+uumAA7382&CpmZ;A`%1Uxo-ii^x$ zJT}J^SI$=8u?{;yqmnxYj~y%_5+37n+!R+^Mt6#<7tyVBHB(#{mK1$F#+dBmF$Bw4DXJhbhs3$~K6TuW0G~hAvwNqSnV+oJ>ZH52|k98$< zJQgGjcx=)XmrJ;1bTJj1B-9kwbCA%dxQJki3mWj4Nf@WNe8`rv!b?+JT((nOt>7B! z7g5AYr?>{nlkk_7+cnISrnp?$9ixjYe^ORcT+c;WpW-5dDK2QhU#4uF;zH=EChXy_ zF;iTKtMA?vmQ!5L_x@rGM*QV*-l)_Q@t5hGu}g!$a+WFhtLz}MB>aUK34c*O_{-{X z{6)ez#bv3RDK1Orm}{J9HpSJ6$au@AxJ)cfaWTgGQ(V?>cKZ}lT$$ZYaV;Ekece{F z)gMnb`mm0T)*+qdJ2|yuqw$4&R{oT4>Oa_AZrNgv3m?mY<_kGgQL?$aMPzeT?82>7 zmsX?M-j^R#IcaRH-rsRam91OkQjnS-yRVtHHg9*jB+l(C2e|oM)ZyYqYf75MbDP-e|=kc6A!tg8+Y)CojW3|VY?_2|;|m|M zrL6Fh+2pb{o2}p)>X%bQV>YL4R&^z%OQzDw>YB<)yGy!)+eb$ze^O8zU%UVXeRoMB z*!Th(Orz8iYZ;}FYznuVi&gC(J$19S^BgDm778@@za_vxhW_iZ+ua9 z0(GR9crM$QcvHn56aomJp*DMo&+H8YZ47C1E5|uLcw)i_zZQ*aU`|f>;NBg4uqD02 zU$*lO4{kU?yeH~E;0B&qYX+b5I(b)TuPVn4S5}m8!&O8QZs_kXd6XiX_x0ZXl2=ot zo&d){YJRkD-7P90E~5h9Uy?HYt-HYqM~f420=cH_Rb>U(YSFax^K9)ed8{gv7FUPV z{OFl%n5#C~WL|~I&e;l+-C-x|S#rmi?5j$MWU{#&XR_Nex+c39(XDhfCi@zaqHnSp z2Yr)`098%gJSLk_jmf??baKb%hqJKf@`Q>QxWr+?CUCB zGTBzvJkN7x7hJ*ZqyJL=q@YZ;4rFRfHW8R?XfWBPU^LkXTGfQ}m~6zYYQoZFJKy_= zaTiUt$9Y3iPc+%4b2fL)+ilJ=#blSALY8E*5hIyw%Ex3|J#Ml|*qH2V=~{bmSZKN2 zWIMz1xXGR%W=NNHm}auAoO!w!lRc%2-DIz zHQA<$Jtzv3o!PC){(rTv}zU`LiOil!Y|C_`Tw-3l_i zsY1RqdMQe3KQ6d(bwc*+d~dT~4_Q>mmsN;%WciB7gdJI|Y%5e>8husi9OGs7;@}K% z+x>bbep`-QYX)EQv|zK33B#S++ThlT^6#u}tE;NMokD4Udyyp`%Da}nu56~g7TK8g zXNo56$t~^g02$s!A=4tLTo3lI}OE>O1SIs_&vuy5Ch~X&=*l%IGGu zM)z@$;hhvRx?i3~H(ZTwNEqE@88f=ABr770?#xZ2d!Mui+30cYUPM$I#`cL=qpl>!c~t# z_U!y{)1zcjAv$-59{sV%gdVlBtx)yoPn6DkG_w~6KNYtf&ktYN_?WzJ#*?1e?wf&J zYX(2_w9R;Sz3;6kAJ6yIm3E6!DDCervb1KV_T-lKOOWAx6r%krllE|>JtSyPmbtXI zvaQfU`^-+-&)Am?sS4fiqqS@YS)V^ZQF_mMut<8(+F$QH!ErCENjJ|-MoS(y&s`G_M$tT5v?MI9dmdP)BDu!fI7P#5TGjX)$j_-aLEZK_rv z5|sjxrY{ib3V|LJ1Uj=7XmN1gMSZjOhK>0{$@mqeMZPXX_P(Ngn2Hr7emJD&NB;~b z;_^Ez&7NA?4&+?FjHszW5(oLT8<6sq@3{{VC%)%W^5XKDhiP`%_he4$yj&8`{axj0 z443#_?+_G)?@VRBnvkZebX~ZtwS;5(Q zLq9>nsgG(%&5zz2I?Un?-Q;+ynsIw{s+ZixsZQqk-q0=on^Y>FTjp%V8+wPGUY1L4 z>Sju6KDT_Rgh+4bT#kD~Z_DVuq4y%Xm9FLueJClCoUf6bM?6V3tQs>U;Bn`x2oRI{l=vQ(i?hLLY<|e zhc5||gmb*1yM&uZk0O^#s5kVJkkFm#MDT_V4R7csVSGdPAzR7{FTJ62*}kE-f@`Rc z6fw^m`lFRDy`fuK^Sr+ChVBY(A3a9-lY)9fe>DoaQ=JIj(4pZC-4u*(=m=WXglVjt zqyaI}sgAf+O<2C6JKy_=aTnjvJ73tgn>X~FWy%|R*(qd6Z|HV6`6rf? z&l|ec<8SCB)EoLQ1ad}?&~;UNXu13i-5Hk0-_R$B8Pa7P@*DauRYmDkw{qs`V&2fF zbg{poudIt**ltI^Mk8kFR}$2n>eHGoy`fV=enT%ifjZI~I+yJmx~XEfq2ADcO>O2> z&+H9@--vr?`+k13eCK!9^GbJY;Zwhh@D|@I@O^-$$J_5pKQ0V*h<^W6^s<4EPyLd@ zaYySv_|$o1tr`5*s?@v7;=;2Pe_q3Sk5!Z&H~%A&u-@f_^Ul!!ajN@8hV>q=$Z=Q? zKF|s}8|$^HT4)6_DWMf<`p}AW1+;oX5C|}H{MLO8PQphZ=xnUlrfLQ1V?EOJ1?phE z^dwn5rhAHN(L?m9keVMyJW3teU9doO7uH#$7O>8=N}SrD(i4^MsTwT@mDuh{u+J|r zZfxy{r{A5m4rVb|gzY{nC^rV%A!a~i8PR zUIiq~*$PP5VJCD}a#PzyNcdz4ksu+L;~-&MMi&zHBD$5X1`<9)QY1M8BxKK=k5dRFd~Jq=L;wk)0TPn0g@oMcy9EjTzDIxr3A++HBn%SH0SR5g z&7@HhWaxVF%KksuF@q)Xl2cV z7l4GW;P%n;ls_pbNcj2;35fs_LIWf;1tTOx(5fa(V`VBNMBJ(-EFq!uy^k1o5fXZw zHzf5$NN74|IMqPHoMj3mEIWlP2@)bknzW&OAfeUckdTCegufRa7(GkZRqdhWa!BY5 z%j1x6f|wy))*(Z}Kd6cl5?VR)bTN={N*6mMTv->pu-%S+1Ca2K64W8#w5CgtkP zgqwx!x|r}5;vH9FLY`S`27mE7n{^hB37@YhVZs-QOk8L2LPa*1u(!_QC5qG&;H8k7 zAN_R}#APt!>ntd<#3(0<6EO<8rmVBD0`}TEiY_f^KWJ80=HU*=}Mo{g0tZ*Kajkr}!Sek6-dml0GqRI9+Z%FEiCfjt*=B_c> zIm;B2U3LmtlF3GlWU?tAlWq05$tGcAvR|d^s`k)wxyg2h<#CfeLClaY>oCn^TRHP| zF(!LT7rV(`Sr@yo-Hz^<>}gGxOg1HClU;TKbtIF`Woxoc6?;$=COflRlik|v|L{4U zJhXz%_PuV;XMUX5DN6H|+Vl4fx~l3oTKFal->gt`mnVxXXQj6f01gr{x^ zVZF$NcCfOoP_@IN(s?^%_TpfJxU<>;sn!fOlG4{Cd`xa5Z-;j&%IB}&qpPZZuR`hm zK9MCYKbfIBxuyI2A;WhoMEAEQ-Qh}iNYI@ubLnnnTcL&SnO*2UaXki71>M&z9J7!7 zq&5aVpeW(j4~gu%e)nD1A9&(*%f+^m+DBZh?TUhir5fbhw$=`e+kbKJFjcg% zszcQyRqC6KkE!}9)q#4VPOh5uPqXXgdA6SO=&T@hzGTw$1?u^d86*?e2Uz6P z^#PwzErN2Nh1C3LcWP|EEGN$2z1U@$7D?@HZsWzYKEPB;9RE7*bmfb0W0bSF{H7~~ zZ_Q1<6?u$5rR-xo#`Ip{8a~>5*$7pz-DBJ~ONeWy{o4i&KHiqs@d%%-Y5&hjI5qv} zAvHgizkE3<_f2*T))#}iEnpTej3$Ro`^QhvOKvmmPv-6ma|Eq^oZpR*M&j2(7* zcPqL6#9E3z-cL)2^uoxczc7}&EVpIot?4J|ZU9-kEcYV1m8J|L;aj>HyDWb}QY1Np zkC&mEUKp)0eA*uYbSMIH&+!R5k1{?%{}Ocge+u~o{S==0chZBcs)^tebZB^CBwzap zy4``oC4N65Kzd>9O6V_)BsegM_!zSde^3iKpX8Bcc{cN<<>~ z1|1sS7)`|Z4Z4rnQdoHDjgiatjj@$nWBrSY&>N#|t(>-5ey(iAk<&h``-<|Uw?`|t z`)V=i8+2E8$LOodpOn=%=%=FW7gT3e6Tvs=(D3$X%EoWd5xS}g)4<6N-!b2yBW_g_ zmfxT|--i@~Fupx{oHr`<#J5M&Ilp-|Z;v_4l()ySgUFKJ9uXtGJyJezk5-SrJ(BQ* z;~xva(YMa&M&zxLAC`_c#;xm9Pwv@g>2XS%qB^45H|ZT6^4sI%EuV?0Z_*j`{cqB( zAMJk9d({(^!NG54Zy5ZKxPr9pH|aW+#^%TG(D8*HntY)@5d~|+eV4ZilN_x7fLpkS z*9@NMh4bEUZH=1?8g4m5QPTM9BEpRK5@tM8LmVBPVc|C|{Fa5^RycU9A;(Pu z;0E9J$Z>YPEpoJiOm_9=W=Z5dmf0HyTg26RhJYLQ1vB!mc1&j-qy3tJ zI;MGFIaEIB3t9VrM^S43ABZHMGq~~o!j1pb|7FyVI=e%Wv1-vn{U?x`A1!ulzmFs?`|TY& zT8kP|Y}S^VN{Qpx@rTM6u_NVlR+5^b-W%8vc>)k@RvREx!9FKp$Dc|#HT};ZH9vZj z4KOEQ$GBuPW5>7;1DU(nar{0E1$NBY3hdZnCm2_9$6&`FNr;3Uxg0my(3a7iZ0JRF zD_zZG!_Or}A3HKs``8fys+zcn9VhL>z~hX`hF?L4-&M$D!#jEEAED=(4*U>{$p&b^ zj^t}68|)4gcJ%uZ0TOoXO6b@zNI1u2gG;!1^lKHHB-CWXyO7YAj1s|Q12jNKlQ2#; z_>e7Sg_ocsmo0Q`1=mpjg(BveZ1|1RCAes1b>ZTqeHdK9?W5l+e^OAB4ev%lUouJr zlMT=S7fr!9*?^!rut;GKE{@rU0dcFEu$*jgzV{L1F2Y5R^M<6J2p3J~4hFl3SD@oq zlz0kUEIWl-5?n-#1Q#g+xM)Q=TqL0;8@9<#kAA6Zou6T$yY8%c2$waK-!1F%9*E&nQWNS#Xi}vvMzREyB+-=jhLk!64ciROl!I{*+2<-vZ3q* z>PV9fT(*-9riwi%1d21n%IpSWwQ~(Rxy>-~T{@Wff(a9!)xpG%6NWlOSnPG8-Sq*# z7Vn?>4_J+7R)N)ir}YMh7*_k8qJ-7{BocglV6~g7P8~_3h;cX#KClQn8>h9YT3FP_ zX{71Hq8?8BV-P6fH24SvosHAlRINaLoJN|yKzkdf{Z+N-3Hmok&5stR;YIqQJO&o$ zIBmn$4avu6Eo!K2L-O&NN{Qn*?awML;xy`5T>jV*^6_mLd_^UvXW)u(+Lx4ljE@g_ z3P9#QK7=aR=Omo=cL}Ga{|BVz$MTO4FMWJ4C*U-B>jr134R>EHwW4|c;5I%!GIw#> zzT0%N*x@YHRj|pwze)KUA79Q^;Is}qL8g)$N@_ms`HO@|IE_okY5VCUwf+1gHNDxl zWysN0`1pDe-AYpik>KOouiP(dzs`PH|CAI-&fw!?sP=Ih0#r3|5vOt1$*=IFvESsc zb&=lAd6ZRK4;cLmI{dxDZQ4}(y?}(ZdcNv}6|vY<8yavL`Bc(xRZ_YGh12|gM1X|T zx)M503lavLwr$(C!5@(jU*DfxLZ*LQ!mXn{DmF>DwHmw+3GZSqJ|ebnt%lHm(@esx z1MS+kNe;lRThfrVr$s9(!#LqIE?b<|3cf=QqvYPZ89uhVFtq5%Q z?uUdQOAi!h*V5k*WD-_$CAW_jwzf(NtGyp3M^sxA0ak+stY%6kthWBJ#Yfy$RcW%T zc6q#^89WheWm&hbk3h?$&mg5iFgf`YpjEaiSrX7fgaouGAE0IRIM5>i<{5 zBA=IUNN30>!8j}dAJYw;jV0Ptt?BM#3DWdUcMnUf4FW|h0Uv>&v#~^*suie@B}mg3 zsDmYR8dDJHE0>ooN*}|(XS_j|9=K^?eR_gU`b@=M{HIPWZd6IKeVZUPKiW@^+e1W% zbJ)Qla5P@(A_E!g66`ST69?=m8O!6M#rO7A`xC;5I;n%v~TNhtez{lCu>+q{B{_pyZAL zA{!(`0wP>G5Gjv^Ys=`KKhlfnR=S$=NA{N#K3KJ*jb9|O+fR;0o`&kHn(M(^^w>RK zyC-Z~dYc08tff=<{dNV*zZHHQXj9!yOQ$L5!yImeKFsm*iHk62(&;8VZ8_a!D|A>X zvIU+dS1R7ut`Q%u0m}7Umpo8E42#{b-S3-w5LBarYCLKEG5*{$xrec$X z0%9LT!V}G5Mg%|%8eon|7*99x8={mIp2Hj+2%~GmIimw~rE}bfJ4E0_H`8V~HT-zG ziT!@2V91g2&^fqW7_?oyvnx~s_ zS54_=Kiy4g7uA+o|x=B0QSE?bWn@rKr9ddhHLv4&Y zuZHdECgo706_Z1b%hn-hs@T0KhupboPy1jevo{RRBd+E=hmMUWeZ&1N;aR@nKC$z? z&eer)@yFd=H2UK%B8&|GI--#e#(su)FV%nW)A2B0GdRdZv3;qSQ@w~`?463zm_4`1 z#5vUi6*&%H!w1enXXEQORSRcs0`>7V zY5D?n@O65Qt{ya>SGCBroDWj-qxIFbbE?F3=Txml4G=eTs-{xnI7B{=@srcG8?Gk2B^}4}lJMDP&IdBcLRoQze2qRcHXQtK+iu)wP0as9#VK z^USGUMClSxwX(VhW|E)I72H0$sPZQT<)`~73i_NX5%}q#0jQdSaZVLMb!Lge9#9=K zr;4~bG)7@Lr|Nv~BgS0>svhSJNj(v$n$8*IHLkv#WeQL&JB2I>s3JxJs+120&_YlrDA%x3VsF zVY?muF+i#o=cPH-X-$_vDkbDO)v^<)BSAPWTL@>W*n>h4?gG?i5H7Pf3@#|{q4}HZ z|L~kD�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

ehf1Trulvrn=vrW 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 literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Websites.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Websites.dll new file mode 100644 index 0000000000000000000000000000000000000000..4bf3ee9bd78d5020dd05c14ca19f72ff85f421ae GIT binary patch literal 3272080 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

s7=jzf#LUAG++HRg z!|e7j1UH|=lt{2yRwW^e_asul>}+5ZuuAQx8KVLs>KRFvJ7atpwfk1mg`R z7)&%+)L@dqVg?v+QVt9_3EA6LS8sFAl3plxM{mPPX-{@KoP##>bC3vxja(4nspmoO ztq-xc?rptw=!fPuQm5Kd%iXj*Ldz4m#0iDxU(WMBSLa`@ZCeKOyqU>2&*u@1AZ;}1&){j2Mf61R!r!s(s za2lZ$&QLfF;Y?vEoGok&=L*Z=d|^}guCO^=C~OHA3tPjb!nSa^usvKM92u?@jtW-+ z+00!%L=gzPxgY{zcNat;?BRk4ggsplfv}egA`td=K?K5=T@Zn=j|(CY_H{u7!dF}n zfq)x3*55=ReANXJ2>ZJr0^tA`M7)di7GKJBEjJRLPm0^tm*FP z7dYzDNyz%cv^acpBg^MQJ3>6P6D#WRaz#+l!7hkEIK%}JZvf}TC37b8^WtucRsAYf zb%(Gi+$n4hcMDs>y~5V;8zB2duU8}jVV(;j5Ds-g1j1o1h(I{p1rZ3i!DD+&1j5%` z5b@>|&GthvrXziA5kH*L6W3#GLqou|jz`dMW3Hn-mk28Db3p_`zY8Kf2|w;9;U{S@*ARO6^L0+<8g?4y+^XaUJbZekkcWTLPSAqxc>Tf7-Y5@41yrVH`M7+DFcIh2%jfU`ET>T7RT?8%r zjte55|IFlq^AF4a5up_RMZh@Te`0ZGdTtREca{qx5YBc%1j0Eki1^WbL*W8krwxn7D0g!5bwfpESHA`mWcL4^D8kG>C|;XZ6)(L)Wi9;sbwM$k;* zx8m+i##z6o{mT_?mtveXJ(e-fn)*SEvog1>rg7Fk*`614&l8L{U_V$V*AM7FlXJP| zm*M%^c5b7FFp5wL6#{lur?3>dgpFaGupGtVgP_%UlqFaJdU2 z5Weq%2!tzK5P|Rm7epXj>4FIN%Co*#p5tDb#PH_#U?w~UPp?`YuO;>|lxw)mp1&^C z{^9Dj;c@?3RoUlF#4uL?(o1B9c(K|pSYyFDNg2=}-k0^wd4L?GPff(V4)xF7=IeiuX_ zJm7)|ga=&^f$)$EA`l*SK?K4hE{I^$rT39$V5leUC&_ary=rS?I8;~;hYOp+*M!aC zC}B(J7q*6@g>B&*!uIe@;mB~Da8x)!I69mptb|j99pO}AXE;qbCY&Mc3TFz(hO>p^ z!nwlkaK3PS_^xn5xKKDTTr6BPTq>LtE*CBqt`JTRR|=RVI;cXX0ApFe*5eR>GK?K4(E{H&Q*98$jNQXGD{Zf6hG2AXJhhGbu!d=4V zaF4Jh+$U@e_Y2#?gF<{$S%_~c3-L{5Ap7=v9*78p_gxTy@PP{=5I%H41j0XD5P|Sd z7epX@7WF+43Shd&6L!ZX6= z@T{;UJTGhwe-^fd7lrNNW#P#1s&G{Jt8jF9Ls$uK0l5wT>ye2-_{0Sf2%owj0->%U zjv9zSSi}Vp2=y+AKp5eI2!sX~L?D!05P{I>f(V4N3nCDjTo8fK?1Bgl?kn_q?I5p$ zguk)P^E0@|!+pBJwUuylTPTTBPej18x*@qO;jhVUVw6#hwoYy6lE#ReJe8$<*`#RU-v9WIDK=yXBE zdunmO3?mV!s4;vhEQdwxle~RnJhupn>vBN^!dMqXxR3to`{;GuAF%o`^HVX_M%5T>{w0%36%L|BSF!=!dq{oUEg3Ned>fLSD} z9-c5eRc#5P`6U3nCEKbU_5dS}urqXF)$1;##?t_Df^f zMpzEp37f(W!sf7}5O>dotpVeJ*xzkoH(`6&LpU<*B^(vLEF2y76;{H2K<@9gJvI>t z>$o5SVO&?78|LxfFXUfd#^c_|_&c5@d*AZ+1+2!t(N5b=s_|0d_Vycaqm zMuEXT?6-30i%|>+o5RupBTVsTg7h(TT%gWS{06F~)gxgg@(K-bvh z{S`j8do>Gd2-gxy;W`!F5Uv-N!VSX4aFehcZWcC$TZGNwRv@?2-d>{!gfF`w0%0E) zL?GZJr0^tA`M7-r`@420EH-uluun+XrMUej>7essq z#PjhW$Ll@X7LDOPVL99{Yzhwwo5RDxmhh;sH9QXFHtX@aL?9gOf(V2|To8fK>w*Y` zc`k@RIMf9Z2#2{KQoTik@f(V48T@Zor zbr(b+e8UA1kG(gE{T)VyTVRAz_#no1jOP+TG2e7S1j4Z{h*X#Rk(K)|EB8OK+~Yi# z2#Pu01rZ1*xFB+0efTG``iTYe4U@MPe4NqW#-9!8gn`1%z(qQ3d!OPZiy&hC!4Qv& zz1`OqJ}y>5W?sO`#D>tUpG~1v*c{r0En$?fHB^Lcp;Oo%x`ZRcIN_);9>{(FEssS6 z!l^EZK=`%`A`nhk6;h39DtOnXnI#{q-u}d?FBj zs=6m@KYB=Al%@B2!tD55P@)$ z3nCDH=7I=>n_Uor@N*YLAl%}D2!vm_AOhi57epZ3=7I=>U%DUy;a4t*K)Brn5eRp< zAOhjnE{H(5(*+R-cex+};cgd1Al&1E2!wlG5P@)?3nCDH+qn$ zKYw4%Ty!QrltJt%kHL`@c8C(O=NP?8X2&QId%n@7{%5CZ{ylk*6E6OIf6!cpPt!qMRvVI>?Z>G2vuk zSNN82Z1}ctTsU3W9lj$RAI=g^27epXDWgA6yWD z@JAO!AUxxO2!ubmAOhi87epXD=Yj}?=Uoti@PZ2>9MOE!M>OB!h~@>{JA;jA!jE9I z8NL8ZT;4Nth&iTtiN-X!PBNy+Rg*DI=CB_c(|p^;GzH!B1RT@cz{fOYWzI~@+QsZX z4dGHkDO^r~(Y%7;qFFC{vqT`g;(`c-S6vW+@R|!Ee)&xQ*0{L?CpzAOc~m3nDo0OoZ>)0(dFU!{K8b zGISioo>BZ$G%SLngnyb4d(gY>JId(Q@jJ@fWAf&Z-%(zsZqfDgf17BW+s}3RanM#B zn~kAeSPr9vO`#%e4xPf5&?RgQH;k2-waC+E5I3w&RoEdf&&I-E- zmkYZImk)agXNSFjJm-z`ejoy&+XWE_<6RJeFu?^82oqfpfv~6xA`m9IAOc}A7epXT zc0mNf6c~x z0%5ufA`oV{AOc~g3nCC^xgY{zITu7Az{1-xE&^e;3nCC!a6tsZiY|yiSjhzu2>6t= z6)FN@6&FMxtm=XYggGvVKv>NM5eTchAOc~o3nCEKa6tsZnl6YySjzn)7Od<8}G53sKSc|d;7 zgA{?VfeRvViZ=Sjb7%5i%>23YpjhO=!gA;pHibil&EariOZb|wH5?^u3;n|OaI|n_ z_=a#)_@;1lI8ImzCkQ*jNy5%>if~LgRoE3y6OIjM2*-sph27z7Ae*?Mw@3uSMlOgz z*w_UT2%ESd0^##6h(OrX1rZ3FxgY{za~DJ)Y~g|kge_eVf$#+vL?CSCf(V4IT@Zn= zjSC_Wwsk=S!gel*K-k^|5ePfDAOhiwE{H(b(FGCyAqF>T(|_P1Tf({A)VU`|*4E!$ zTju`m;F+M4+Fw_Ac7!Y04?Q~q7s^RH0{)G)vHy*wj#wOD{9fG2yLf~m{s&HP z@)y}9>=X^*GD0bQKjzxibBUm#ySX3&VRsiq*m9U+YdOqtOZWjxn%~5y-Lx?<8xcGpqf;yeF1mKQOPK1=$bHdx9(HCKPlV zj5nBI!0oz8ZoA%4I8R*74TbZ>wZd|^PS_N#XM3?-_Vw)|0^utzh(OrS1rZ2ebwT9f z`tT!^#WNtW=PG;!3{MwEiP$sEp3kwnvgse!KSLUJ<{X> zM9dE%7f(m^7+>b;s6ki`jl!nTWaG|#r+WY*i0BL#L?C>}1rZ2mx*+0LjP#CFTP*r4 zUr%J8`p}95znNAZ<2TcAR1~L=R2U?lU5f>s?FES-f^%FD@$=4;g){LumV%~_7nZ|B zVN;kSYz~uwJS5Nc(nKJf=Yj}?^IZ^uaDfXV5Weezh_@&`^-g7-_{J3h-?&l)c->Qs z;Cr511jSwGf(V3*To8e9u?r$zA+CirpADR8)h}n&&yLlvC@h7Qg^giVVL7ZOYzlLM z+(4IjT_O-JbwLCI%!&PdA_4(dWD`UneBT8T2v@iu0^tWPh(Nf~1rcvz>P*&Vm>_Lpy8*fXZuXi)ApG0~ z5eT=qAOhhRE{H(5)ddjFm_-0La*ItaOA$*xo3j4;`e&xADP|WQvh(Nf* z1(E7<_qTEnv~qi5xxe;YA}Hog7epZ3<${QB|E&wVab7I%ZeLr(*M2fL85?{12u6X~ z6h{(Agg*Uj3IjsS3IuYG+~cK*K)BZh5eWCWAOhhxE{H(5-vtpCTRe>($66c039-@# zJc9^Ic+dqA&;MRx{ZFy{rxHrxGy?qM8NyOHQ`i{J7M8=gK(_56FI5D>!!C$Gc*F$} z2#>lT0^ugdz3tGYtS=V42%HH9B zAU9F(v0U2UT-;7LZDTtnZ*!lC?Zowx?ZnkH+X;6fxSa&u2HZ}Y`gSVZ2fUVB0&iC# zl*07{biErGE86sew@C!TpIs1v@D~?EAiU^;i1+pM>~ynLc#BndYpm!c&n1FlUUoqQ z!YeL_c)9U9ye*Lbk|XMNtL4{L%UuLC>mDKANH)V$ zYzU?^5=!9@YF0ydMpz2Z0@=KGyc7`#@46rY;XM~bAiVE_2!sz@5Ml4f9Wd+txbuZa z)mYbHz29D{YhS0p_=nvHr@vzV|AG2{`WjvIf3BJIe`d(^f817M{}*%{u>Wu7{a+s9 zhT=v)mkS~g{_TPYg#Wl8a$kLT5oNh4zY#Ip zEJM6Isj}UOY z{3qtFZ;U2W1dSWvf(V2L7epYGToB>D+(btxkI@fNtZ#|tE^jgBXJ+)N8U5po4rg85 zLPbNk$XG_-7)AiO^BO%A5eQ`$M0{hUzO>8&FheuuZ}QbekiXdlk-;{7d(7VAYm4~W z_RK>vS2RCfU10!dL8q`Bx`a((oUl2J7q*0n!qzZJ*cK)W+r#3*kzuNER9FhgEz#gV7qbq?k_cBaKSn5!n|;KIAJ7D0752Mf9lcn;oN z=U@g_j}`Q2?g$39o&}b9uOj}IV>DbQad2$@hl+!#RyD@vxsv_R*nERkEnuBn)j4?6(aUxM!i5eUn=AOc~U z3nCDvyC4E#h6^GPX1X8(VU`Ob5SDX61j6zzh;XBqe4{sVqwmOgb2mh6I@&qD(Yf!r z&9BlnPv@awn{%DaHZR*Y7jT=P<_=oj3PzpBvHv!y+pYzy7AZ*}*NOk@bEdNO{|AxN0 z2=Z^_f{5o&ZPBTg|1<(#14_WIKQk7$vF8>+ahtdx0^##6h(OrX1re_>wI1hMh3Cf_ zHuKd*kbiR*L_B{Q@P(HDVnQigNOkHqpHi{(EdYzn`P_3YuLh@jX#T@Zn=mkS~g_I5$UD=r%O-^Yso7%Td+=Mq6N z`?w%7STWDVVqS>F?CZHiP|R0c5b(!dG1ofv~>|A`lL6K?K5qE{H%l$ORDyJuZkqIM@XdT7o9G1kJPr z?=!rdCHOZElxe+{u|*&DBY6U*CO(WSWjsNPc>)1F!57>U=sKH@P<+Hq(-8heD24wJ zaKidTSPFIHY=a%@k&B=yhq)jE;cyp3AROU>2!yY>AmV$uc-%LjMjrQ#!g6R5HiZ^p zb7&K`gpok*$|Jp05eP@QAOfM!1rZ4SE{H%Fa6tsZ(JqK^N45HnYU7R?&C2b4i;L7H z@6g+zjH~!i-*uRduZQB%x@o=mdl1XnTH>z)aJXG8x6%?$*2f=PF}L7q`GO8q+0r=W zgz1l#SDxB9W%uxCY3>hEAHMs!?4ylyzb(qtS%=SgOh1lZ{@L;TX2ZF=-QGNF{l+Q$ zJ!`_88pKokDYjWe1Z7=!OyR%lF!&mKNDhYzKF0|Vmek`C~fts@I^!|E9Y(F=f zejvW4gh1`*=ceykuQu4vHKuQg@#7?QrRnR`_p()%I%E3mvGdxke+s(o*LZ^o1``by zHQ<}_w?Y>#+dJuJAi8U~U1lsZ<=%@HJ*H)B>+~`8<(`o!wQ-LrXDw2<$WATgabIjL z*Y{ik|FgnNjngJB-%xi6cG0!W*LNazaSQHs16mt5Xh3=E;)|wug;?Do`0>NWy1H_} zzHIFIZ*zLx+68T}VWZx&K-=rXC{#FbDhjC|Gw^LfAAii)x;~6XN@r6CCJ1vCrp@c1 zRIZeJe}v4pzL92UlLOFO|H-7ev$D*^L($IU|xVnQgEejKvI#H?f z7A2ILXN;?qdLPGn%}NcExXNN!R7yRQ0b^$`S7A}_V3nRJ5Kuok>i+dtYlo;s<%>3zW?r09nK%22n zQ4Lh5S?-=?@uRn{8{1(TSZ7N|%O_(O=XT{L=$Vei(lP(1*pxH2$Yz^`Y&|ou%8ap9 z@=WF|s+p3kXv~d3yH?{TRgCt`LcY${={t6`hUG}xGG%n&aZ_kkWp|B)Vx=(yU^eru zfW^`%ctzmMi=Xdk9J^e5N9!kJx5JUrgQvt>p2g-q0|CW2|BV)}b~0n@XMYPTAzvoR z0 zYB-4SOfsa-_WFL}CtXWnFVuI%d?;ykloXE_9FTVOuvdh+OsI-*4%(B8a1E?Bwr5Q& zJ1ZTPuolVaj?rOl5JWgGiE#A5*(f$fIJ%xU(563k9u9RpB+Up%*Y^`Y>Dm$7Esbz= zScgT9s;`WSeOAYI5-a<0SQo3{0dCNq^|*FpCU9*0?;xRq4;5pZ&pjO{^ZMQ`(8nr` zr%u7f(2+H7ePkOr2kX@}cF#h0R9T;c*s}o^V|zAav0WWqVIz_;9r)Zk2pZU(G;qwo zxyT^dXM0hWkI6>1ZFi8w6_2W) z_eJ~|I1?PxeY8}r9kq%HifyN)m`o%(Qy|RDdbPsb8F^zLSm#Nd7*ynNcJcV3ckypk z+Jfz33%0nUafftz&zBJB^DB1xxo?n7*ZU}Tk#&{I*m=7k&r!vrn016*waG}^o*&;i zu72_-cEZq!qB1V*#@fc@WxQ?|>a@CbG003ObqE&w0Dlkc0Q$dkaeDa`er!{!tHW_z zhp|%4!u%N5?Wy>^D6aD>X7rKZdqFz{|8bG6n~wEYvEyY#*h5v~d83B9b&&pJ`GfNi zH#+Ti0q_T`18+60I~w)2p-xPULW2J}J9fO=0@K;knBK#8568o47&hV}WWg!pVnQE( z%-B2H2wwUsh*D{0Bbq8ry{tFZBrnmFH5N_LSbPr!WsL=kFZXVStd*vPHWtUR#sB{? z7MF07jTyL<(8nLWhfK&D3yOmo3s{62#)7IF3+65wi&kD}hc*^zww$pj$nhGVS7WcC zMR8+sA%cj;g4B#f8;nJp8H;vny5hvuHD@f6!abo_Y19F;(a)l>z)St`BQX|j1!Hj; zqKF-S`+6fW?0@pwu_rsMt;6aucMi+27u0!svyLxg5kuaGzxTzWw-5U*e1$*v!y*=! zu`TS))wadTXIj>_jOrL=wuSyBV_SG=*H=ake4p5VK9(IL>jNfiOn+{D9OIb62dQ&p zeLpc{TbK_enQhVW2`gYnD+7qOr5K^vmP~{h+tSg|VYY?-C1YDG!pguEC^kljp<&$6 zpZ?rsx~emwvr^wr%-9x1STWl&y1p_x9ufIid6Y!kLYml?Byb!_mm>j}tcP*h8`8G? z0P98DqOywDw6Ps{kt24b{7c5RSOdETu0;OWz^?j$i3-!7`!!us9}_ye>idZq+oA?` znQa+UU$He{3V&!lvnsVhTRd4O zjX4eL02C6hJ2;iFU*j)NUc@WqTUQUcX1< zxXNC?ar)8q`;Ef&o7d?ET!TCE*J&Q3BSH^L=5xUfbvrlJ#lPe6mpZT0R|DeT@pzYV z9scI8V;#KaV;(FL{aSq+FAV$RPYIY7>N5^8)G)#1oo0_a`cnSo%+)6El({*QS!>*K zV~@VfSIXW%v2}W1;5qDatT40d= z4lFS27^xgV&7p>CkR|H~SVXzEdE);x)G!;_3yxrgMLn48D8pww2JsU#7Mt{XLLYxr zjX_Wx%qq-(41&3fR$&-p5NWoYRVc{us-0J3cgk9YYY{}W3Z%8hAd)hQV-Qsd#Yz`u z4C1GVqWWUaj#zy$X8@Rc&bWs$2EpT>V-PnH`>(>1V-T2q=3@{{;1~okb1`Q=xE;Hg z>(Ii*+zvDb5HIG%2<>8?i7<09A8ZW5A{;&NGZY&m#25sohWHo+6F3Gz%v{VBVRj6{ z`fNT{YVl%Dnq172z|q%lK*DgwAa2Hb@nWvBiWl?2#vrVLV+MYX{IP);gTRy*AA?{5 z#~_HAi@6$@9fM$?cl?^i#Y}{#4ffmhy~ll7Hn}x7seol+H`RYf+eJ55c!?JI^q}vX<}j26rCt? zV-Tra9D|q%Kfy7GvkD#t8&@7?6viBol#D_A44z{ue*Xbj9D|q)-!c>bGh+}uW#z^o zE=Kxw8iTk6N$@tm1VnGM4t&jv_XMBL;vMOfv3a*dv}o zXpinA_WuG)+9OO1b$i4F+9P7d9x-2Hk8~8m9@#O;0HQrAMrigZ6X7uIkwrLq;5R5X zMhJU^394?7m_U0(%-ADEn6*dNXY;XAi}r{#u}4YZ=`9|aUA3WY8W9u{9 zzoG7W?7tst`~Mb6*#5r<#Cv4!Py4a&@fukq)bgg(=}n3A_om5OLwHlJGYoI~bS9vM z@utrpKdu;mBJ}Y`;!Tq~bWBU{(AjvLS|D%Q)N9_9ftWX~dC%?-NX~jw7FzCo9ft9L zxMw%0H)VJQ3u@k!Q5F(DOKND3_jm`axWrJ^re2pdvXjKkFH}`%|n%_ap5`8Meh(49&)2FH)^Ql}hdrwYl`#m|WXWq0{Xu2m?NJxFD-IG&TxF^Rx zUVTqa`%Q;W?w(vK7w*X&5d9jyC!F(Z7e&9eQ^Bv%7aWRf{x|VI;|qAa=I+TY*HTw^ zy?nvTNP;hT9ROc|V(T8lnAL$G<52ci^nJ}dzF)-(wfq5f`UB$p{Xw$U5dMJc48tG1 zmI)~J2Y95cS)?sIG$`FsM7K%!iUzN0D~m z&wy32(*OgAR;3uBS(QwL8LPqx&YI~=SCyGEWD$-U_z=a$2uI;Xbd2xovGm3669Dx6MK$xJ6=xcIOEmXJ5YK8~}XO}G8W9-Or< zmS!87^<=G!+FWg2(kw$*m;4T6mS|lVMzk(0pVme7n04WbKE(DuINmIyrE=L2n+eKe zHfE48GwY>oNUaQq*fM=14zsDO;p}D(vkkGEf2N+cV7u7@F7E6G^co*#>x$<`n+eTW zbDJ*?v$2Fqm(PS&?`Lmc&=yV@x`j57_EnCm@M2g$ZDnd_bJYTSx(Adxf~NYu{K zsWLZ^n99lcQ$J1$*j|@KUs}fLDmzzf9e760_5N?cm;Mkwaw_x(=_i3c2mEAsOX}AG zvpRk3`_LAFPtEvPo-K0YTfG1JQ~B7Bkc2+_AHbmZU;l-~S{{}*@j5%kYB0o;$b!DCm_#+wPO6Hs~t$6=cEs#+yN2AI>hPeNV-I=qc zEVSIaBW>xzKk(K^4_E8{E5j?ePqU?rvXJmu+R{b1*~bjjYwPnz)%{nBgW1ygPfug+ zqAeZ9^t3cv&XyMB=n(U24O{vNwt2Lrq_yt9CS?@wzg8s_D_xlTuOqNkVw{<|=Io)> z#*qQwvqFqJGsZR8BXT^2@cwHfbM=3WU%da?PG@3|$T5NUUx^vx$b9gkW*l`C!Z_M7 z$pE5pEJkR?F%x0NI1V;F%_1BoRv0`I>PGsaO7X79gRpUuZgEsk-K zCSzPl;OOg^@0*Nq4fTjz6V{97P-PWe!(h|Xtbt<&nvp;50^ENc#Rl3Va!la;S7OE- zs)5=2uM8A#TEnu+9M+hg#&GcsCoJ>#Uro1t#D14Ghn8j=lJ#WGq1v1pD<9WNvkYMl z^E-uEqB&$3(HydTx*OGF=8!AG91g&_4V1v~Ryi$|%gmt(%46nmkT5grrEN&f;nAof zfB#kG3}+Y97!I+E%{DFAF1BEcJ9;#Y;n(T%^@!Y1n=aZWmXO|m&F=)(5p5G`Vw=qgyA&V$r#h8RPS}2aHCB>=+-bDfd2#tp9_VdW&13mYHI} z1Yq+cm zf`~4Qw3f?C$|$<5s)S;t3*)lJB8qC4#jacJvKRnfZOOQY;j(xlqRSdj>~F=AE~}Ed zEGE!p5i>4}`4X4KW0pf+b_6qk=(36tn#;;WI1HC%5sn_1fMR2Wa9JIx%VGju7BS

Yp6{ZT^377T~>Z4u#V`m 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�R{M~k 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 z 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⁡t$Fe3a$p9*ZI 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∓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%0DitnquS$_Wp@;&5I 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 z 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/vj)q2{*&xew!F1wnY|9F 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

g?3N_wNVEhphGkoxBD1F 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⪙n~(`@f;j&td!n`W34mdyLhej0dKS1 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

@jU|NNQmnsC zW*bb8SbNZ5JqnyySXv3Yak9a%c(*I#oz14Fr$u~ZA;$%im8)1`8MXZ7*fJvVDGPn|U_@rzLjuZIZ?gN+QO7o0~LhV%?x)C214ZCvh z_*~s(zkx%Eho)xoem{T3&cCx&%4bHDElI-)5=<@D2Y%@^Mm?9XjPmW9+oz3|T z^;Jbx8N#&+l(B}1|HKPA)KT6VCd|4_lG4iuo&GKr;rbU++*Pu61awZ1aOS2*xAicg0NBJpz=|` zL$2bvQU(gs6=s;s=3`jh$?*&f#x%9B$VUKQS!!PxMdYHOS800eGjfA9K0s6YFwKWR zZnXO+LK&u!GS7SrhvQbXvy5mu6+=3^=+zBFAUop?SDa-*ww z8?lpaOrX>KBf8ihlM;kAeuMYC11rL~TebsgW0GpBPu7V?93Bjl&wA!OqJ_c;} z+k9<1Ldp+K)QZK3=zcS(qu3y}uu@@m-9I1fD78&IVI^bI?EWNmN6ALb#zPA8!n(f1 z{x$ZcN4{+?h0xt^X?AR{(6ni?6HU%`6-QY+3b)D*2bG=*9Fh{eoE%(6`5_KoP&gDY zz3!iuEL$6L60))>Dk{+of?-b6juQ^fip}ugH{mchrr2F%9svkVb34>XSIWxOaBy-TIG?;Cnck7%(bVF)^kgP=nvCADlXTxIQ_`$L+G8v|zdZM(7ht_E&`==|i$>IZ$5k%DG5DU)o^ih+s?992?Gc9>>`!>zAkM?O!lZ2~ka z6~41Xseyr8sc>H<^(Pck|c$PT#H>V zNG)c?UaplelmeH9Qg-{O%Sz@cXBAIK^TwlZJZ(I%Ls6bb%8av|aF|$0?l3dJa>8MC zV||r_C5$8vt(+j3*eV{-<@Ix$pvsD+jq>i_Z%74<(y~oBY()*!}Xno#1q%zl+y7>xVO!C#&lAXq~G7UoxzBC}~=vEc)6 z*NP!lR`2?H_N0<=cfSN*X@ixrJpi9#>V7tLRjp_XQQ}@$Yj!=9I4D-pv#GB(2 z^x1<G=AOdkGc!RauDnspB;IBqVAW#hqLz{d4Klc%=k3Dxt|FOHn@rtjK0j& z^P64R6_}bi3M}enwM-Orf^ij36+6JN+4a$Pk4*4q%{$)GK)Wj;D1KVM=#{U^P>YgBEE`q0UczAgEt=wX3^Dr-=hN-n;nked{FSY-9JsRGQ&|UqYLUJ z8%bb{lwb)`Trh5}WZ2+pKKHV$re=-~G0j*&Fo*6>%q$BIX+AVjE1qVxRUF7zHUL{N zv`dQwGfBycXfvf)=@e?M;&_a0UfvK0Y|_pp4g^_e_p8}ufoMO8I0)pP$~K710YYyr z&mNsT_-ms-_`x=qX7|s1mZb|baX6V2&UAlBYS}`=;pj#Eyc4{NkL)cQg)JD4NgvLt zmYlHpsUtH7>$~bB6LVwu;MoXH?2O1jk2)bUW*}=^#qUroPkOMamkDNddriy5LN5?y zLLhhD{gSjZ1bByU9nD2R3y@Vj748gy>_K6mbLN?vppjZC4y%e>7`*f-vqy}N%2Wi; zTqm(!{=IJ3%gY&|!5GPpCh6?LD&9I=iH+m~q4~52?t=ylSxG(^EJC{9#OkCI8T*pS zxG4=PSj_@G-#9|CftgqorOqK~5Y!=7Hs+A-p9rl)@77~j(QwzR*-Bff?u{K<`EZiG zk#C#sy&FWXsW+-OUedOlKk2cmCI3p5Z!G0IGgC*Vy$FgvVpZa--QN6t1Qa*)(hC?% z^ijYZyWh^QQv(?d~cI+4jPUx_@`0iw_QV|4=tWSP+TjxvK7u1+|f# z=N8eU-Jg7FBg;S6mf1vjrS3gK8?hZ;QGw}n|AtB%ah={!!NafaC!03%`2Et~sK0Rp zk0cN8!gtgrM-FH2NbvHr`_Q7D{ORcl{-OciGy7ot(7q`=Ngq9OF!$jsJ?kn|>EFU> zrz6vuCPm?8_n}OiMw9nbGP56yZ^H_*d+*;yDE46wPT^56X(QJ4u4?e!`oWpJ-;du0m(~4ue%k=( z*u!vIg-=0h{2u9agpa@M)_v62rnUM&IsC}@L4F{!w>~$A-`mI@TC05Frws-U)mMT5 z9<0zF&`LNmH`clJs|qXIG@e4%WeKJS^Cfh>8sMJ&Wx8_u^~Yi{sQ6$-7~to+->7Nd z0V|SUxW`l0haQ;3r*LtsYVX`k{s4r>D>RCs@wWo;@PDg$?Ag8x+$TMDPaT?Fo;kiq zXPLTx1lb0N>WX$)GRFkHEYSUN?o15k@n5!FIKe{ad$NMgQsMrJ^#CMx&yn{h#_^8# zwOJ%H+U+K1b7WVZ7ZKtE6VTYZ)J?w%pF>2XrQ@}<+G)k2M) z#p98TH|XBMLMEpR$O*3EkzyMq=uTK64!FYZPe-*uf!WwoL-z0^FIebW&R?M~55+J% zVD}q8ZQ5_=BCIBLG@7Xb`i9eLo?W&PPp0U#eDCDQ^z7Kw+*^|$Ol1S1hp6431!{vM zGy?-88v^;oRXjs!gMp5mV8Ka_p{+`?u~4K~=$Z`b06>idCu;FU4w|L25m201sE^7( z@DIkb_Z@~;^<<$gdQ67UK2y|MRK$b94X~S?JJIHt9*v?g043LZ?U-r^61H zDIeak&=3`S0W;(omM8utxWz(e=)H4O)616*zgXxN5Ei<1lQnyqdM09SGBG)p+YO5EO6EWiLG2KineHm`D(2WAo_&k5{GMr?gvjR;= zZyuTCy{hc^=Vf@vLPHQV*GheT^ziuPzNsJ9v)@5{8E&%B$4)|ib|1qd7TU+k$V|Jl z<-!9NDpxt1&T`@A3Jr3lZFPF`^GeZC9to$1xU~22t?|jx++A4uDfdDjLcqQP;hEk2 z3OTb?oEmQ9N&N|L*+Aga3XSuX-7Q-@Tw9^$M}2Vg{h9Gm1p9h7KD!fWky~sW7Ieb0 zk-*gz>S}c_EL%RjUZL_;e6jqVp!l!Q{U7!OLG%A^{b=@V_e#+V-gXGG#c!t=uh88{ zlK*afV&v%F`pl2V57HKt9uPSwXhX2jN0b`u8F zoh!vbn}WsSP@{CEILK=j8i$jmzBM^JH!^v!zMO9aZ>RNh(N<~zygj?D)yQ^QITyPo zQ*(#Kp;twnmnGYa-YUeH4N>GRPqvrgISl|DhdWrG&HG{BSK&E}4&wspnZD{(_{$Qa zr)7(Wt1NWd7Co;Ozw^l9><#)?$u$=Glt8)yjo@vZhs4)evipGiVxh4^S_=w8HUx5s zW$R(z*i3z7G)E8Q6-(BG!jP>8IK@I&>~GD!F)=k+r|%eL3oRvf+>00U&Ek3A%=n>0 zc^`3l6&|qAaY(}eCpl)u5ALjgFg`g>hl;X$e%n^Kz%ovfKz^Q7IKM)llDs{B2*)S! z@x`f`kwe)XzHKYqUZMM8TJYOP_x@-i)6TYSg|{oTm*HomUm z0vHjjg0bmu&&*8G5rsD=MzSBIZKDqo6dL={kf86M;x|fOA07Q}p3|jwK?;3ziN;IO z*}YEhe-tViO(okknZn`!3f&@Co!x1Dv5nqnE;Op)j%KkreGFGuXk(40 zJIRHAD|AwKjm=$3Y@@e83N>=QdYY=Eg81an;<2% zyTejp+Y7YKSNJv(pF=+QMtz2UX9};w zgP?_Mp}Pop5sqRC^Fk?ot^`j3a4bm{_iOc)voI4r;_NS2~0GrDN3lYQqbSLm&eLQNa~ zo(y<+=BD@455-$4^_f`!IYa0c?T0v)8o5td>R${l#d z*#QYHYm2o_>6li6gch}h9;veac_k={_m#>tfx-XWK!<*TuPio5BA2~V5ac>n@wM+Z zfj|1B-P``lik4m?KU(Y|9@RJP5ao9dz2i~nQb7SRp9AP1yy#UhnZ`0j(>7qS?t+B3 z{T@LFC6Eg()Lp19pcS$FDnSPnAjCqH%3>2g}i2= z8>7~FyZ7@uSOodZVxKr`&n*y$m-IWJA(vU~iwi01&|va`(7Pk6`Ei>zQ%R@y^*aEf z5VY7u5i|psG*hz`Oe$ppZ)~bYn(auJ;mohdqK<$fFiIgq6X1 z7&_>o@JLjJ#AFrnTLv9akY6pdH~0k43PF%VEp&cs_hx?wMZlvLx>O^pbgzDQvPXE( zLeH$g9G&p|meX4%h0g41Lwecb;UWtauZF?0#ltfedVtUGcbr!0pnYpE9NZ} za}2(NJ9(Aj&O+DEP=S^0z8BD;AIQfR9qomh=m3HIYN3iy7P&$cCB>X8L_zMe(C#41 zG*+>!heWRy9&r+c;05m z1RZRo@MU{D9GyUr6D{`Zn1rJJtLL4tkTWgzkpTv7dng^chMejtEL#4cq(w_Np!i2R zi(S^KQQQ?6^0CE&QG>ZFFyw8E-JvBTHW88dbV0t^@Xz%XZomeH{{e#zNXXR|yPEW4 z)s?NHUf>@OEHre+$hL~nUsUL{oO*$Nh^5%*M4E|yt-apC%h4}_7alSiRcH(yjD!4a zq5H+kkE{#?x!AHSLaTvZOv+aU|7uII&s5r&gnmt_0~GS8#l|IKjA)H0BprZ|H!WQ! z`W2=QP$+IKTPF%h2O#jLg}#|7K7i0cayj8@yU!qW08)zcOnnUD|8MU-z@sX1T$61PD(<*8z8{i~~n( z#~Cg(VRx24C4e)16q<&5wm5&?Q32smAUC@hyCq4sQOSqX=LK*OL3wGc(O1Et0USI~ zTwce`^~`Jw=imSiMuvwl-BQni4zkiv=(^JcIM5A`jLJslznDJ=OGESV^6D$c3WT3MHVp~tw&wr_sc7h= zRjQL|b6|rcG&)sQX-ghEhKzNqsO7Gd0pA;Bo}on$WVaK#SH^7bjfSG3sR)Vym9o|i zzt$y0fXdkDz0t8Y)T1N>(096X?8M$E_YAFrLMrHy;A})R6GcRSGQ4t-?qA{~pqWS! zOaG2831~7t3}M~-4GZfAS%ln?2hytiQ3T=F3U7unxYbR*oGM&(MI2rXW9(ibM-t#v zD_?{imjDve;JN$oOaczYg$PPCPD2M1a4-P7&}dDefzJVtg3?eCMIwK?6ACyupqMn& zla(dHzafJVXBwxS>d4EJyb_#x%uyED9AxN$huI}o67dXA{6wRTM3jQ+MSQ#|gS<1G z_uT<6IS1YEbvrpzN5N-ozEhi+&;A#H1xy}5>Dc9 z0Z2fv*;Hhh8Gw-^4oDDqhB`+W!OfC9Zl42=RW0QJM^R^}#Q*p4W75}SC=Muflp}m4 zJA~2j(#P<0z?)%=^^w3h*P+0{0HcKha&P|*2^50HXLxit42R|6awciwF+64de}swQ zW?@#qr9*_n8z2b{4I1GF8SR53mwDR)4MIb;074$)BHf|t-6Wj3gLpJFR0|tZivR~c zN=RetS+sV+zd?rF8DprZl#Szmg#(I8LvfHTgMWns3QJ>iP372P7@Q?p0(a?zb(j01 zz%({+5RN-4hZ9!%dUwNrS%?% zdfi13Q?duhjgA!_mlcOM#TaYXsE#DUtP}82$8Va4^K!$-1LeOnCO*PPw3wNezTt5(W zF0;vDAUwFI0QT5$zu%J%_aULNmgEE1ZjgP-l(>FITZCGtF$`c3Z-z!`SpH%d@F33& z1&`81XN!juDj>`Z_0>VB=%80P_jqifG1L;4w{zv;qv2uYGWd8H9CTK2Jgzc6$F*=MNeWjPfUgC|WchPs{QctG)J!r*`sP-OaC%L;saP!<|% zXtEZCj|YfDL({b=9274v%xZufG&DZ|3?Tyz1Jh_Rm@MTxTv~Y$20DmAL$iVex^e_= z7_cY-jg1Nuz_`lHWBbCOg8rk_b z3clK|^DoGO*UA`Aj!Iq+7>_s07-}96V$e1CVU_}9pNKt4YIVYZ#UP)d=^`>`R=q|T zBtRM(n;xLJP%SA78*Yn_1CeNGn1^6cnNz{z@xB;?Tlop_3dJIa5-1vtO;k{;QBD?c zkOA>%a15G4Mio%1pbU=-X-qM;XPbe`za)_1*U%7@)blLExC&Q*S8gkym=uLU<#qrHNyAf><(k_#(kTH&q~UbXG_vq80QqQq z@eO#F9JtuNVz|Yk7_jI?h2MSH#bW&GYb;1oH_O2SO-Eyoe?Z-&L4!7AD?t|&jK(_t z3Pzec2`WPyv?&euu_%+a62w3;xd=k&_Zb#KM`BcX7f^yUN^-)c`ppjb%;-LIA zHqC;>(ObHeKm=w0Lsn>}N6aow^VqgKd2C&EDB%QW$bSuXV=DpI}7y=KxBZ$IsWHAH@ zn8v_fE_$N4(Umx62pq7Efi(^^xKxLa)DbH6Y(bD%t|~?vA@?CBrkib0#Hson$ zDLEy-q+7%|U>5@m18I1nMU>~LTuK$1D)7%#vq=&l3(74d@Qy%bp$RsJ+7GdK%|N4= zrmZ6EKpr@3R=>mT%9i{PUCyU~10xAs*rafvfu{sfTbXyjUr>I+z)s>eYZ4PAu$9mS zmN%=0y@K1Pw>a*Sb#_?bz+DEKmo#e!C1VBC7ALS|<^r(Fkt^ALuVzc(0jYva3Y3*$ z00W;HnFrF5JJn&$cYzt>u)z&5J~r9$=uZQEY#IZZ>?|aLypG3hPBWXF0#t%fkcS5+q6x9tq>$-DgZs+;R!(p-Vx zUDqxq$i^UbV=br|4NMf#b0uKiMIewfNgo(ldcuJIZMy9F=1quVykVdxg z&}7isMU}w@*iV$cR``!k5)9mnLP9pxDnSXniB`~_0LD<8V0E$ISiI#`kgX>3f(kgp zBY8>KFvN*?t*RiAPR&>&0%C#P1bOu+0fL2`p-EyuUz{x%0%$LCxN_Wul8XWj93?2A z0Q6NsQ}BS71g)pcOAL_WSV)#043NM=f(#&tVSL|{Qd(ifDT9s!MC zfT;q30#Jn=?2QPC0D)NoYSIc|3M{ajpb5*nT{mS4vN#=Ee!{7NqEK`?whu6vpo9>; zzZGID4Jg#ifyo4^`0_KCp@)EDV&K0wcctxx0uTK5Uz@uOodOOlC&&>_^QAc5F3Fnf zq{=b-inZlf2eVU?6)VchHQR+CV`@MUnQ?n5?R6A9;3+}z2JQKl6iDDCK`8OOm#MT9ESMC&sA@m$6`1b;(@8eMp@KDT*DxN zA$~z7jv_TGCO~iCG(!(+p-r6Nvdeaj*PZ8ZO5=*0c!sS$n-xd`@r6mtLxFM~R=b&sGjO`1Xsm~90uZ3oc(R_gd3~jj3ic?^P3NQ^+ z3Mg=pASps(XHI8DfPtL^+2`^Gt_UtLQjytIAYjYj)jAM+&3u0Rk(g-ZHlo)## z#J1X`rw%M|kRWqWSxD_Hfo}wXlhZ4@*#WxEYEZEmqtM^6GGF${@)RF`-R^!E{k#NZTB(BQ5ZiAh;kH6zcjRDy5q*2G9jr z$?|SxEiB$*EigTsg(EFT#S z%-Y#w0A1i}^Wg)x38KD20ji~0H+5h%al4vsrPjd(h7-H$@*dN0o(=_pj7LkBicyHi zn7bft8I-Bvz>AY|GT#AgZG*LD1>!Bhe1c3BRG&QP$bv>5@D_5By59ukXSF%AjFxx{ zGNPdV2zeb?sA!i0Bk_VvaTx`*4O#~lI8cysM-Hd}D6pL<*@IA-9oV{g1Mdmi_%gZC zm!#XUb>M;H1m*gW0O5gSv|f+{54$dmxWl;pekm363yQ^G(CR@1T$K1xGD z+NS~ppmkY?1BgShhJdDFCq*9| z=)ih{)DWwuSx0%`IYFKeio#I)t&ZC;FCeJq0k|y$Ry$kF5C~Gba;UXJz`$XG0Lu(s zAz)xGK^0uu^@XYy9j!$=76f)ht+hH zuMQ(L1dY76g2qVU%1Y7(m9HpF6yL9sm;loX+AbiL)NW+C*ip9{z@>tsZ!&kNz=N$1 zTKHl+0aW1Sq(mQasuyL1+6SOE(&|J5W-bKT9kAR%ph>~@XdTUg+r*h%`nl_11HTEH zy3B9k!3%5%kVOv%Jg}W0$|KvUE3XuOXer-UoV|yzbzQwWju)8X0FKwe*3BFBuqeM< zs{zB}fq4!=*1pVo;h~G;JX`=>ud8+i@JJzHv0mK@ghvDfpCI9*EJ1ki;$)v}ZG>Hh z-k9$Y75E_%KsR~pw$?C0Z)`LWv;|lQ=%FJU8h8&aZFeGgcB8Ex33N{c9q<4fk&T0H z6;L1=d8G|a2<>*P3_9c-B0+wVyelh(1+bq9$vk{c0}5THeXGIyl~M27>)LIW>~ru9R4 z8ptTa0dSiji>rd( zXB~W$bVlANtrfPM{%0L7z=r}kLDvJVgDq6;lA0K8AG8)crbz?^;Bnj2y}CMw5Zf>W zWkO-|(|~m|2F4QvSJxA*g9}V1sN7bz?!rtNcuY|8S6*b&RV(Qh7&9Eg+lRF@#_Wcm ziK;XvQ`JEQjuKSGNI02*EN?MmONJnZqE?k@DE9$|5|myK&6s5$V;V#JoS9}ZHfIQ* zGs_yr{DmNQoUF6HfmgSU1s-pNYpsW_-CE?PU9mxt3Y)04mu7in{mnxgM>H+ zQ<%GA*qBQY#N2XrDa^bvks#;@0}^A=E;S|&oMuzLfCCdSprQi?d?m=`z(8e|?;i01h6PS_E0Ur)4QI74%NlM~s2P%UCrUwMAe^$Vy!$7#)Fq>qI3*$}RmcI3=zGZi}E#R!K-eVfWv;Elo=ZHa5tQg6g(dtHDG969fYD zf=p$LsR2PpT>>A-AhiomZbT4OD@z;`trs@b>n?&y1mz&Nkbx!eQUui>!vpe|pn=;2 z5uFe~>4*&-`jvnQ0zqx~u*@3AAVgtI5eUkAYGr&y@IlB4N2l*+62L6IARoB zU@M2&WEbKV(Z>-cU~ZtmY_bV~;2rxo=-`Iti(!62)~CEZD~1eQB`CzrptRy=Q4ujQ4<8s$ zP`(g1y5clZlm~tj6zPU#m%)XgVN73;7)zG&9WL$Wrr-j92})KGxXKxo6hM?qvLr54BVDw)k2`adNDiK5f zf)qC)09_(Y5gu4h>^>tE9uz>}FhRB_nI%oGTc@`#42;q_2~`2@vg5UTDJ96fO0I6-n9fvd(1 zb-;p_7B14hURhjqOIte|6x2#e{XN zqZZL1KpT$?QUJe+a+MWSv=$@-1>ie@ZVP2amWPcQh&lI}O>_Pupx6WFU*VCy489;2 zJO~O~(8fj3tYpvwSySNQC3@SEfdMk4pjt(m2$X@zKmyIY|H4WHHE($oNYX;2kE646 zsrGEGw8E5yP-jbr2-P#KLj-wK;G&c>IvI-s%qdV|QD@uerVjil(CN|{pXKL`nGHe3 zOt>e*Yy-?|2vpTtBa|_5!PcOc9LZ22%i|T$B3-@m)+mDnzhf2aov-fvk@J zbxp0>t%nH=fvm4uXAE$d4of23Po(0W)Tx%??k2mDL!uMCw#jrK`iOcM_G z`#tHBkF+TUQ*^PGI9ToLsvTgXAlLU*8VlU=*Tr*eEXZ!Bv$Vc2l;{mOT$jRO;{cU^ znjV%g7$7@bm-ENQfYDeI28l#K;`(xXY%Ed=BwOJqYmt;xY;`!TxelkpUm6Av)V_-$ zHu1p!acqK(2d+mT*JtxOJbs7U6$+4ybla@>NjM(qd!5!G8zp4ZVUjxwsy4%eN74Kk z(BvV5X+ri1h!QF+kmU0@@?DZW$E`*!DqgEt3*dEqmQuxpq0i&X!1GtatPh4%ud86Z zVl=V~1K|Lp7`?u_BR1$UlGl+}ic8>dc9TyI2YX z6a=UM;*YU99d_t44g(nE=5?7%?AfY-IkQH2DT?cd;&HL4Vh*6 z1%ZQHx~}{lZ`$Pzz94825{64Bdfs|FF9;a+<#i=^cynf$cR|>|^Vb!<;=yJbbwTK; zj<53^2p$4_Yc7NhFyD2>GkCaYC1nUMn)M4oC@wHmDAK%FDf=yi5OCym1r;kpi1HFK z1RuEax>D_xfsgiD5F$x*8t>H5OAyXb3*iAQcwG%Q(`^2}o5T(O2Z~H=sX@N|jut+D}HgU6S^bp{=Xi97U2nBjDF!BKMx^CZ1jB@OUJ9Tl%#PGvV+Nht=sU4ZgoM{e6A8Lp+42 zmKO52GP+s}xRx$(*P0Rx(oR;5*SDilY@9SB;FWMailtPC zSF+*Bd)nuQT5VFU+g+%o@-VkM-zjOQ8#ED;Y&Lhmr6X%jiNo)gylrUk4N@eaAgnO> z$Z0-bK(cqDziv)_o#C}h-V`gGUkj_-ksj5o+$gUE@6)XnH7H9eb{FbF$>lzZj0WyZ zaTj@J%amMpc%uWB4p&CYBJzT2-=dIS%VFxOY99yb=8)`Kc2VGYVFBfM zr7S>lwC{-Y87)7#Y`<%UKnzXNA+*pUx zo&xd|#+QRA?*L%B`t+M3lROUXZXZ$vvQ0}+5Ssv}-5p3@ziq zG6jh?JdmrEfcR>MO-c^wTT}U{i1~;cx{{6-)r^4FfFYztv=XB+RtR=p#xH4h1t9EwM--La}eLn zY1p+$&8rVpfKEN9I(*2px=)8pw>bl#%C&aRaLK8|3sNE=xL3)9{DsNo)JRk@4(*oPY<%5tvNK);)N4r2l0~-2IJq+aJ_=r84CRn3ee5jsW z1Q##Met-oGIIUhSnX}z_(3gcO&90ResaBm8IUKT%+LZ&d53qv;)pA>wWVM%SshMp9 zp4W3c0bA}<;&pVgC}N{p{Dw8WiIMLk7*mc8Wx1D?0x|2WVqmJ>oI7ECeVYs z60xFCd9=$K@E5qfjv1JO17i?uboD7MA=OV)-O#S(_79m3a!0Fm)e+f}%_~7oc4(Yd z+$!eD5UO0VjpQoD@K)e z#RwW&&P;RprF<_6IqmZ)PLQb%oAyJc)?o5o6x`~rZG1r84Ulk3pUWuye4(1M1E`n1NY@|Dj6d2$I| zPc4?}n{(WLAieDPYI#t3?QoDsS_0l0aM%j7-Od2gRtq#$l00dkDuC?ygnPA5Cc_t* zUMu*2ut~KHo9%K8aS{EiU6M2pL<=Ol@|~Um!1Dq@uO%e$j(t8YSD-zG{w6XK9Qc$8 zWk6auNlvG`B+2D=l@__nS#r~5cV3Gz=tQMsMY|hU4-JP!#;IN3?Eyk7y7@ zK3LL$v6dL}UytY%ki6ir4|GWZu+W@6qUAzhkZL*L)4B%6Tdelpc~W9-oHfx3ArF&D z@zHBTw8R6}ODS52HHbZlJgCrI^KCV-X7D?ORW#pK1rx~S_px89aG+1oy_yHBTkUoX z*2ISUGEQN5&680!D7InZNumtiQibC+57mU*D_|d`z*bijh34xj@TFf;!U&pg>Vp(Q z?;*_tS2-fWN<>04sDT5dIVzRlC`D^&Mm2H={JAJ6f}aHr<)9=2m&Xfof{82{mF#rq zDub9)1@Dy2@!;EeoK`j`*(GA$yKJS3z}C#FPLXx0+pBC;RpM(#)Xeh&*b=w5ko|R` zVo;^2rkv*KhU(X{1%$hoNhMf^Vh0Kf;G%3~?(U4$YDTS=Efjk5Sr}tmQDcETDAofG zUx8#t6cQN^w5J~+$1ng@f?hfiPce+gT2hY{W4#RQ_B7XR5cE=gR4qNI;Xs;fFfw_3 z2~XfD>p7(!sVf74#?%|Za0R2sC6(|f0?%m4UD2YT%*D-t0w=&Fv|P7FS?5Y1QA2{d z6v8&2m$%SFRzaZK0ZgHI0h-sG4qwQ=S1tZwjA!DhXF%jC9t(vcxFLiAP~L!l z3u@cfhw+{c)O%bKoaLi34%lvhF6_V}j}nsA5W5NWoVv5q?6C|8tr;UjGJvT?ok~=c ztwaa|GM_7kf;`;SOoZ`E2!{|ABp)9HBbjW8BO!RIyo^1>;q?cAc_cr|LnaHTs&%B> zYEQO0fn7lIpvlg(If}p@a-a}kf+OE%xt&r9<|CN87x9q1nQphU0!{Dn`J9R=K;FXK zLa0M?!7LsE(hFp;;z(;&zPUO^;kk_5sbKy>-i3*Izyr>rU6KQGKIRY~RSBGCXHv)R z@?{4ggEpP1cX4ydsW_%a4SfyE4`gOaI545zC6YZ|T?V$yRz{5_w8qu)F@;Q#b-JS{ zP$Y|%j6B8f^D)^{3e}UQSUpy-5kbl_=??sei!8?>&_{qP`YV6QLaV7y}sz(IEc`6V!mvoKfY zW4@1)erUBZaihklqK`LD6?MHC5;vN9A5-cv<(2NCkO1V4*2u!X41_vT@2*fRGTE4V zFeo8;_-KVCldGuLQgV}LD>?Kcl*!=KyH!c4NK>BvRfp>ZD{sPD8Os~36}LR92PH34 zcu{i=Nm(V0s8Jd>Fh|Prm`C<kJ;J2h|5} zE(}e=69hV?!ehq@^b2oi%c3mDA$idVW?Ci`m1sG@TWhPm$l=1eKzuPz!WWcll*#nE zF*d?mH{C9jtt=mJ-SX9@EgpHmgT*N*nLXZ=A)*O>VMZQ4!nUX>S~`5$9=D$-mmp#e zsUg}MVYNApjwIh9n0j9-`fp)hG0})Cv zT=Q6M8&w_0WJBO4;0es94Vf<4NVp%pO=h%Bnl3SMfJ81ZBbaLJFfGIh@eW)cGmI$X z&wkLWBt4kEghx)kC6@wIq`5{UGhHz`M1mn(HCLb|j}Kf8HMPPF>N+7f?PNQ@R^Mo^ zlWAx|S`i}JuquDU8G8UqId~cvts$^(fJ!7rM8YUMnquG^ zmdCbUUs&H}p~>*QJupUOD}>|hRK@LYWP8BF#XUx zvhN@`orWn12%s{VG&pKBBng4Hr`* zr+A!6#8R4_XB9yEHP)D5ZWz~)IUS00J}5;X;Vq^}r3U7C;Rph|lVr$vV^u2-WjRw8 z!Ab5Df<$$Bw;F6ZGUw#|#Ni=3pH*zK=Uja^{V6xC)tz zPl0t{Wv`bv3o=U2cD}1T{4hGa?P&Cgp)VW0Dz@BoJ|fx^-thR2lgT zikLcIW;-TgUTX>Pj+Oa#ig6{Zw@tJ2IM=TR{CNWv&70(B%4m&RV$uw&S4v>QY>8mQ zUI4jRRz3EBEfL7TY!a7L!l6uCK#p8O6$})?Rgjx3@3JsSKoTu-TrdNs;Ds7IA5;F> z+^#%FKCG-J_|N2VsD7YYLo#JgDb3Cl9?Y>Q;h0T=8=TADc%PXVwjbIC$9hOz=bsaul;9#7eT*$QSg z({iES2~~5@;86rEPRvE1Mncg7lmDn8kpA;pu|N<2^F#`+1S~z1ap+fK9V1V*1$@9E z+4e%-IG+-eXHHcK`elII=WzL$uacc!Fv~-!45oNeZ6bCN3rK2!z?2WDq@d&`+auY6 z^#V+01PT>{@bEIfRKYWGL+wrYkm-3+l`BkDBG-O0w}4C>JeG|qOgw-Uh9bs5Op+-G z0$`9c)d6Oef#z^gF{l^jyKQpaT$qi5&3Xk{Qp&RN`5zLk97Wn~4|oDzN%Md*y-o>2tt zH!%Qrr2tb;CE2`gALK_v=PB{x%BY?Y9&9_%iLf|iL!{Yx0>U;5sEgI7UOPLPNg?RR zRVO2vdyyJxRmSl`=#az2S~b5!nnRR_c){A>Lpecwm^`S408pqg_qJXeA}N?}0_o%T zLYWS55IdKOpk%9MwAaDpcQ7s7YN5PF$3@v7sKm4c!E3@(<(Ru(-rCH^WSzt|4;-NW zy#y7d3{`_lghTCK)O=juF1KdjW`{Ufk%vhmI`+(zCJ-X?^Hh*BWu79HYxsFg2*q(u zcd6uMnsYR>l8yksq!FTQn|`Zxx5kg9xu=YT}y?$6>|8LN&v1D$pupy%B+#A z}}kr)LTFWC!b1L+e;S5}zGm*{v_EG(eR1r#ZK4+VEjap}iS1EzRWGD__4AlwQ? zI!yWG@FnF#GbD5xNbG_n#CVw38tj_T$iS*3X2vd&Rtj{(Xb+;~oH&3fi~R0n36e+< z3Y6?a-QMg1H*~d6=W1@Kwt=Ka66W!EehO$h9GfghCwWn8WwhFB>GCtNrg&F*AV;zl z@Um2}0#INh+q>DMIEnXi7mzI*?NolzElK6rN_lToVjZ~idGTC1=nqA=atyye!-S)2 zN{NvQO9yn`|=B zgNP5qV<|X(0Qj@O0nsR?$7BW3L(UQgkZfg2M%a_t%2fU`i5&)k*egbn*%}7KrR)YF zKNi733LxRpjAhD5aO+@zWJl67HHBiIAH9#aj>#gLgGQ!Z|Bdzo*5VhwUi ziI2Gm(BA-oTWF>A!HGVe06XiTrncCXDWr!;b?Z?&Vd&Rnr7@6^>`p z54{5fSsBSKi{CVEwSfjxd^yi3(L8{d@N{vQS@KM)e=}hy!ACoW9buq03>-0x?FDI> zOm9hj3zNCRKk9eOCowSJi!(uD@w_1=%n9d`5aR=i*0~eHIt7xC=IKTO52;p}b*=TfI~R$n1gW@CT=j(U;oWOhs@0i|zs`P0;MoHUM4EzCRH93J3Yw%Zg` z*G$oYHA1NY+1%$XDu$bRzBOP|Wc8M+t{jGRfxCIxY1#Ru4#)>Zz+4c;l}inEi!zb6 zDxRbQo*Cuz1w6>5P*Ntlxg)UvjKZ5~FU$2g=y`56Tn*n*^+4Fpkh+WzHOI2AFL~WehIGK3WsjHnwH@3p7b;t}9gK(V zK#UB-O_&T80cy&{y(}D{`XE3NPo;QS%sAOvCAgV7;Tw z$(tVJ>fuBb$USo-rr;Pu!4$iv9OFF9JwTBMTqXL1J&i=HDp#5^!&cyiNnWNP^pfLB zAfp4an&+n|`hJw$9EKa0$Bf!1Qi6QXGpY(obD`oPG~UOv6Usd>CXQ*UlN;mU)S~%Xq?)Ea}GW9aQHQ&cohBoq$(JdrU^Ew=i zL`ZXHLjNr|L>Sg45e**xN^mgK4QbL+a7uYn%n7k#XAYcgi{;rofdMgCM{1zR!$Sgl z!Aau;oYRHJA@KGa=u-V7JPJ9258(EIb3W2sP?hI)+1ZXIwE$3l4}z07RXFg-38#;^ zcuehw$c5GJ0q!NBFvP1hkMaC0 z2vZhfU6ABY?9JOL9?4pW-7o5R-cBLg8*Xg_J?kY$ZzT5SJ)&q$`VsEL0jn{xC;zV= z!_dBbjtu=6Z!1G4(Zha{x1!`R8Whtn?*V)n1OE) zX?C6whj9~LYELfEr_P5_yH0pi1p^`AD^Pq&-d+H6GI%Zmo)pKEJZOH(79U7%IC`dl zwz z0p)PPJJ~V~Ouj5VOr|pep}legnfqRbo(h$wC`nSF{1qFq!1`q3N--R9sW5HUy8q^kAOUdE7ATH!1_|sf?$}@K{VV6Vg8KT1r8p|U?Q4YEHfu|x= zcGf?~i&Et}W`O+-+m>AjO5(Z9kb@t1Ocgy$#et%gyA_o1DKExE8kL+>NSuAZph|=^ z^_*{wQBhkC8tN10o^!%q;)1LX8jzer5rN3;0Btt&^Qy zcKC))v#UqcYNlBetK#JHUfvc7wn6duUhd=p-cqZ!RprJtq2wnqUWx{fkEuyQ1dM^8 zX|~+MfB_SpJP1aoF|ERLhOG9fa4LX)fB1N;he_bAQWHG5K^OmOZg8OPX3m($! z(4q|R5SYza#t2pJ{OsGJMX9!Wbic$iA_W;rb#Ti_~LB?}~u~?jzPDM*c z`)$1GVvzwdog<&OxZ1|FAb0W>*C#u7Nlu>|PCLb0Ab1Qa7lvh*SUuRO!t+yYLT9o81@cTW!3|9pe zOXRW#U|}9iXa_{YK#2hGm?}W-H$a1jTw0PM?-mju=WP-{9@32`6idn`;lWbc^M)vw z7^tVFgTKPnVah>JnM%(bPgxSwvLrYu0^C-tQAGcU7>QhSh!CI>ZBS&K+`Z28ppK#2c7t9?CMd9 zoAZ>r)<~r#@9orJ86BSdR3D%a;_Y_7d}$l(bsv=8VJ$CjA#_j3nDN{IxHAfR@!*_% zr4&P5k^v0Mlx{&}KPSWF?JWJX6jfR>z*dEQ0f(G2Jx2&6*)WDa6b{yb?nSo$5C9UA zY8B`|P{uLkvihZ67{exMI|tiQ^WvVX(bm=GIuj1%!gvVHYN`g zDaZ`%cnUnq*Gvb%QwsOKxReph!etlaDwXeyV zqk_3vbR#uKh%wctTtGnLyU?o))-!o`WrivUGo!tzqd+S0-UyxRU14c6lbb^S4=Dk7%3Q|M1J`Kw%Q8B>xtAa(#L z8!%I|s7ebaUMNZ8Ea3!mMl!^)H`N*n?;MmDgK5IBXThv&6z^ zGaicN6&sHgC>_VN87QtPr|x*%8`6Bdou^ZROhb^ugw}^_1s|$~S5za9bD3I_N0D+0 zlc`-O#8utNTNO%;@;1IkU-D8+n!yU&^CW;)&+>#EL*?=wVQ638q&13|M@&j5Gu0Bc zKC*h|ajU9@6~)6tRvk{1Hjmm`{mrx(DST0t^Twc7=b}g}c%I(V>w2CPWGi$YN*dkH z8>~_DJc3|oi)qAAgoQMplUu6-F#v1~;Ypxkxk`s8)PiYI2xjplD`1Kz3BpJoa0f{3 zO1u#4UWjl(p*{D7d2owfC58c$z&WGbb_r7Q?353mP4eb*FN9JQ9Gr0h*%J&c^Ekr} zUD7BmNEIVbJQ4#n%{LO>?NjTYm`)1CDdZU}@Zu>8WvU_6c}pkvPP0QS5dRKUouqgI zO!F89$uW5BYG&>V7y;RaLise`^jxms3pq&OWwYZt6loNLi5skx?_teS4$M{p89arp zv69lkrG=at+X07?dk17wA$-fEQs`@N(V0;mJ9JN%5{HWUg3#CS0-k&)>;lA-o7H&) zFCq;E!Qs68nfB%B*6AZ9SH8c18*bD>2|ma49t-?M>}w01coS?+0h~C%j29BzxFQvk zsUTf=dO8=5<*^m;3=4-Z-Ri>rSLLo@-~e8In|yu~`tNW}7Ab`a7xbcd9biEf7`Uw! z93i7Pi_EqTAKrC@@f&7H0eU%frN;CUfR+-Xc(jh$wX&lTi>>juld7JX=D|V4{ZPNhB=J0~4iGo+nR5 zDx)EWM^2_CI5We9P)cFN8Wyglg(*PZI?H)Na)Tq-g?1%z#zb11%lzv;q`(X~z z=0BNB5zPBCRRY+fp-WJi!c3{ufTj)Q6ba^g$dOd)2&Qzvu0bdl#n2{GcVPxY&e=1$ zH}rJ{2|sB%TsmWy;GVT26^|si<4%r}G6gUkdL^3)P-g(g62WK))2cYK`){#A1ZTjc zH1wKdX-a_I*;nFl#mC9t^D?^RGzYAO$AdC8fqR}B4n3I-StxF2qz|%$wgRjMB8PUT zt1Z4fM~S4m#^Qn2koNn8K7&%A_N-63z;o zLX5JRXOJuN;h~486v4F}0T<7UD}Yocl#Ky`JeOO&FvN>yH;m^CL0RkItaxLU_J}cf zY%Wh&llTbF<JnM2-^N&08^U4VbAD# zD;6|!iV6%h&kOzYOcrz~hdT_1gij`%aKTim^dKLOVhTow3v#|p4@ExIgvZ^*9#>}Y z$OE2jMPHj)!D0NAxPnVEz=2Zl-Qcbrj82A@9VRWPw~`hWZtV})Or9SkvAYIalgSkIl=oZPdqZ1xc1BFs{qi+e+W7a;QV5sr|M6A3xCf!D>}A9`HT=+2Eba zrgmw0`b4!ouiP>2ma4g(^1gq&RsY-H>74Y>p*jZ}r)>BE-;vsXqIF{I zMBhZ8*ESIvLs0?wCc1N{PRxSSsi6>lA}}}jesI2_*B%#RnV7EDZN((bfWoJkOt=dg zj#ibN&KS9b%NL`*CdOmWHDwP^ic3f|sjx3AuyKB^x=o0GVVccZ=k+f4lYx4fnS9yYWST>L2tT5w zX);+DpX0dU@ORvou_k*J{7wF2uhJWS7-PydO@V)hn6lufG*gCY6#SkB{|<$p@z2hv zAO6PoM-mAAg8#pnd<%RB|Ht*F|D?h%W_YXBOo`@&@N5dauL%B= z;AuZVF`3fgO*VL+8-8;GHhv&>l4*u10G~?-r#`eCHQ|d`92q(!ugh(V&Ibufa!#vqsg4T@c#geL>MLHxdQmfPheCA11~&{ zb8wK^;QL1brieXK2C;CN?C`H0K0z8IynOO0&c#Y*f!`OyUnhL;2~tJHD~6DLq^W6; zZXU8Wr2xrFM&ke${gBFDcq9Hxui_k24|tcl`l$ffM`-VWvGiJ(e`gG}CNa!4iP5b| zOu02N!75av;Ew_LUb1E?kHx}>c=(%O>O1&SiwLbDfxXAG;LCatf@A<!sFkBEBQ4FSPwH7} zM4C-2qgF?N%!}1M8x@`S`QqJ;3u+hdx^}jx`n_?FwYjuE_T{Ucd)D9lps&IDZUZuv(*P&^}TGhZM!Ov9!WZYBp*TwBVw_ zdV;eQNqjrDtEDr3AK9oa{k>g^&W6TFcx!ZKN>X&3B{tU5rdgf1SW7=kTx{R?xP*S= z;nz6$HCFl6;unISf`4QM_*=@%?P)^6+C`R`>%m%^Yetlr&89-O@2CrZI z?3sIZ_5AZl?eES`+x6^A>CsgmsGGFz#gxq4h3)T1ynO0Pa>7jas9wA7-8N*c&-rc3 zRwrA3^2heY-|oKQNbjS)_HX#^uDZuYeg5;=Nxh!A<<565r!KiR>BlGE*!|$Xnh~W7 zC!Ra;h4W~W+gg1#BX0gfO|tK<=`y{sVaOdpiE7Gx4L2S-vUS=RDi@4zsOYqwG(bWDctCy}9A6d~^4`J6_v3?2kLw&pY{} z|IWel(vohRb$rybpN&nA07f-GU1pvI6q#XZ3v1oFQ&e+H(;zpGtZuGa9eBM;m1>cZ zmex3+ZdB8##t9FPZ;*7~vBDR(Z5xb2SK)tO1F%#q^%sba>%?C%)R&T)vKhWB&I0nl|Znq zm#5I-_V{|)Am|AAz*%X)!@$1Cy;Ja?o|Zm6Eq!C)dy7?_v)LRq+LCR#RsG!(F>eSL z08Gor0pYjQM#LML&HqG2fNiba%#mdgW>eF&KCkt#j~s0M_{88PFXrx;+rylH`;_sI zUmJE??7TzW);GT}KdYyI?wtz*mZW7b=sV>3jI9OV_W!-v^0Jk! zXWY87_rr@?y|QR~gL_}yVmWtP^jk-^{8sDu#@YLdd&P{L-}J^6_cwRP+MeFC>)Myw zjvczCMgE|zCATg#@2F)yvpT4g& z_0^rRr+@Bi?)A{6{hebr6d$QFVZ_JduAM#m)IZO4u66v`U9ac9?YjE&1BXkBTX!C~ z;$-gBOAj6lOno_N{`i-lPnuD;?VEjX|ET+h&+0CVzispVAAQ?sVf=+aS?|J~bN0TL zcU}s#>Rb5WZ6B@d`tWCM58e3SJF(q&ZD{`B+`f|^d-;zKKKk?LoQa>UxU_Ix+Ni&; zzCI%PZ1Z9F_nFq=?5ihU*s<-eIW11!^T^cr*IL&7q-ouVpQ=4@_pJ9O$GuQ_HQ09-FZ{mx%zR>A8qKclvSGnY9Lou0X404A38#mYov}@ zEOX}z5v_3+3vS8CM%_ZY7uztRsWWh*lSr`>RICS;0H}gKmcDV8gnkyH1QN-ws2Tc= z|DP+VvWW8PAOh7v1gHbpbL%hv?ycV{X2UVpy0ZG|y|@3gbzHj@$v50scyWB@x>u|A zZ5freefGZEZ9eZ)_-4anwJ!JF`*_tC-|lzR+&DJ*qXl(J?f1-j# z$f+l?x76&hZ`1L$-8astvFX#tZaa8;%PJT1iZ8@vb#B<}{QBydAHI~jZPKy*F_D4w z1y|lJy3&8*s-{+D+DsASh8 z1AqAAZ1?f?+oq4{x_XB9%ZB~8rAYYQr+Oy9)<4f=Pj;D4Hef+==ds~e?an}RirKee* zTmRsx?HnlI*k5Dhfsfau^zuLYtLxhI=y5$7O}hQjWrH%}@BZw? z`OUsqKI-aYFYXw+(z*1=m!HhPzm}>FFM&F|XsKVdhGOM4F-L(RW}@^TQyH}gKF~NK zs&<>25akGfFOy<7cwV$|D@OwebqbqN``NqO=X|}dC9Io+8AN%UAt8Xm4GPL^_e-1db zGvNnUr;T54>T>DO=U3`(dc5nBrRjAC*7~XXf=}A+i)()7@`0WoOj!PMTECia*4+E% zhK*luIewza{9A{N>l-(%OUv1tuXefiMUVc`j-^{}TTtL~Kex@lZ*Y~W&zf)SI;iaC zM(KIA-gqhf=hF*kw{ka`Ipn$GuLs{KJ-u&IR_?rgt!;@*=AHWN%C(=Gu3FaR^!sa; z9QuBeE$QrpYERxXsA@^o!&Ns2+BV*0wZ3xsSab7`k~Rr%9$CG5#f%y4e;@v6+x348>oDi% z<=1u>ZX2=W%(sE*Ex-Gw&*P=dNBr~2OC1UV=QjQR=Y8MSn)8igz@|Sfm!d{Kc{@T-I8#b;14&{ocgVEA(JgZ2PF_IWs5snObl6=`(jc{oV0T#*N>! zsCNCC1brYZ*7&lP-I7c_UOTq8C2nQoIStFl$yT+T)4ZZRO>aAJ%%aN7rng2; zOij9>W1Y8t>sagVZpVJyQ|0y9tG;UAc;@dTSD!8EeIRe(pp(}Yx9ON&`|<6YkCb*y zIQreHw$r+2#Fu@R5jZ~KwrX#U7?HC%!#a53f+bn+-0}GN{*rHLk#%#)#V(n1woO}= zw=uaxorC8uw%y;h`sjK^lbYnWDcLyW+)F(+<$}~@ zohMD6TXR%{=0AJ<7g|i*x#09Wr30_*xM}_1Do@|=+`wbQA6XtK?*8XtTdhL_B6|GP zD`CO$d#vrJzgzt4!A^%q+;icPefRfSRn`oQk*0qJi5nSdjxB5Y9ej2nxI!44XnGtz zIvQb)EFYUFGv8XZmdXY7Av{rL9t^a-2~=8N;AZ93ci&bs(#!}>Jiokp=j8qG4{O?J z*_wiNGjCpYb>nY;x0x_+YSr(bJ0-nXC8BC>)7#H~RI7QTI14!V@o~K^@xA-T^@-`z z8|=HNIT7ZoE9V}1X72lzxd(-qrJXDtK%Ib7*(zj~Cc%jWkdKcJIhV1WEgj`yt#b;X z#?%*`lbszsBzsiPFaL?GJp((M->mupbk=jA1tb)5&mBXA?mNgg)_IPbe zS=7}~NXGnF+JxNGy*~dn1A><(^J6qaV@T#sAp}rn7TKtEhyWDENqAQKNu)>rxU|5NJ&27GwK{zzMA{aWq~f8X@RH*vrBT->hqk)cQK_<7nb%dgF< z-TZ~S=QhpR`_#A>O9Smt8lJ@cq`}A3Kb{;jOo7&)l$N?%PBE@(h*s6t(!gaq`b!9T?hc^{_XO-ZVFE z?b~@*6JtK@-16rBk3M}k@vDO3q}rE8=M0!yd$@OkBi?p&=QE~WJ=RU!(01avSub}R zS?62(cXvP0qtRK<;aU5n$&NZ*-+t`7rYjPs9q(a%({V6&>8RE#<6}16xw`G|Wwlx_ z9B}XOb%Xnl+x&2!_f}cgpG*xEN%+!Ng((emWdMne-y z?w|9*)b_|ISE{dtr0_r|Z5= zPd-1kU(@fiewt+My8YcNxp%BN>D!xpZ~YNv$3FJllF{+VtiwyrKYROtL5CNge_`jg z?$?gJyQ9AMQpxknYQ*fjb#~V4uRpqC@UYYMT}u<6y?jsFy7!XICuZNeWKfHgk#}~S z@lJ#L2H6Jn{`RQzpV>bo=eH@?_3?qjs$ri9QZSA(eol4=WfVOXmQbNnIc=`<1Aw=IV-bPX3iT`k&e>^o#eAk zI>lK+8y0?nEerpGX>REn+l`pyPSvCZll*qeWQaE_F*q>EGr6!-tGsg1^r5ImIJr(y zwJkMOppn&el8so%n{KaF|J8P5j&;j1xBA=n@{*euU2FK-wp!;JA1=K$;q|CTZ(LEF z_Ur8E`wq;px7u^tVCloi*IrsR>TPLQ{*fj>ZU6m1{K|bBXCLX=b@I7W3kTiu*!1&D z=a0N;@ton`Om2KGeZZdC?W#pSAKS`#^y%e)F1GjZZGZT+(uJGew9oh|z12sXn>6nH z)R1Qb@%J@qD?_D|kK-1aPGW$I`Va3w! z|3tpKwncWk=op9G*X`YV1jhf<^zNhp24HHfc zvZs!jGJ8PI9iOG=PS1TXX<4#A+x5oONh`}@Y#;v;Q?GtW-Ggo8zyG4>gZMd5Rc&_P z_BvHw9((V}KPSC(@ObeHz1wCwGG0C!_xRA!MY$82zR>?npB>3>bcsFvN|%G}-c0ON zy5UTZ+Hdadw*2%b?~Q0zZRNS6yW{E{K9$tvgV@nuAKa1p^AD?5*{&S9*!Z2iPOsf` zZB<^|o0@qidq$jo^xfG_wr37H_3Yj8a|hR6cmD%L{>Gi6MvuMnFRes?O3|A?$NT3{`&sOYSoUcb&d+W zeK29{FXq|KTfRKA^R+?EZjb+GV#Zr}zdo8hZTy*8w~YV$)x`Y&4DC?+l?NJqSQ7U} z{pJ^LpE)(_uGDSMJ~*_nTH`ARihrJ$d2&zc+tViA8rx@O&AzS&E`3_>Sm*3J`&lDq z>|ghn*RiSf`WJpl+?CMT{@Kz2+gsidzhTaVS@+j(^;Fj1TQB5xIytr8hm)@U{b2To zpM3Y9G3h^izT<&s&MsQGrC*O*pS^qphdh(}TizCj&H}`(} zT=eC=zc;M;sm)#cokaV66IMQZSG!45EdE80JaX){%-?D)uwF^5n$Z02VJA-BaQLq+ zAGbPC_{+qsTPHO<(P{gp%qlaS2O6~Y{_wzWS^NLfZ1Ed6H966;&s)`-G{1TJ`XO6? zZgbD%&lWCk>UF%i@s4fV22DK^vq9BnpMy3#ZfO_{s6d#i3i%Ff%kurXH^fHwSO+^kn`2_>_Eq{uYJDa%7X*nyi#yV`sJB1>wbN7YuC|T4t3l)c;)UE zTN^fPFlk_yF9$!?_k~}7>$YIuj%F|B{3rRPKWi_)uf>A%mupR(yLWDjj2^eDW;b#spz(;Hu0v}NstQ)y58Yw!4O(VQa#&)qU8Z$QTD^L~$OdHk`f3x8Q; z{^f%={eS&3((A6jK43Y}`^6c@GXJhQ?(@Mny_Hk+l+8c9$L3MPdhTf)HEp;3w~o7f zMF$_OvGXPK*t8t`ao?x2+e}C`KRCX{qQW{Wp6PlrzeU%M+xw1K=K7;uPT|xc4Ti1# zaofhXFD#gx@zjw+Ba2@dn^R-6!<;(n&Q(^Y@9&zgf0vXu(DB#1dy>*-&04(c-D?BB z+SX+E%O4C{6MO63J9bCxDO-ItaVd7`oNB;K2KQ%A*zSc1z zzx$VUUOjjJH&jE$eU_FK8gr%;n`v0D% zy}Cn9m|C@}Rl3)WjA$9z#B}KQ&dWyM<~VWh%dubHGa$*{=iHdTS3=l$?wn_4{g2f& zm9(u=#S~G+^!3+orC8cGuNMrBpi$p%eDH$=i~ND5#4<1xhlw)B_5zVoQ+WaA8EV2m z5fSY^jDXxgHS%+V4f25V&G+GeMC$PftkMX^^DwXzv9hM6IzARzZB_It^=I?Em9$6! zlq2WPHN~{M_+5TxjmX7u>)tp!q5F}}N4jjxEqm{ujziAfy(Oh#>z4O4*-|+B)3eo9 zfAh%SAOA9Dv#;Ohw>&*y$M|pm$!z{s$%U?)eoorar~Zk>t9LKoxpmF+kDOaJY0cJ4 zTNmAZdj4x?Ck*~#nE#1+ErzYD)*$p{zYn$#q15Eae_~^z?s?+adjoO@Zu{d> zi~Q{6GY`Gi?)c#gD@>!_pJ$o-JN1HyUa@n(vCKVhnfsMx?#`&_;;2s|uC-41=;7jF zF=exg{T=Jom^CIdWqqw@ynT9Z+4+!V?$ZAYwgQ`Q5Jz5BwZ_Y9*I#L0b#~Iay{Byx zC$|_d=Ejx_KkmGu<={uYNPeGYNC=rll|`5)H1cFGUUu>1NmG+9Z>&4HV@b`;!_J_)ERmHe+x9BK@l> zd*_~=^2fJx&y@B))7m09X^V`qx5}g_OScU4g76Phrs^-+`MvIe&a?P=g#bT zs?8097Pa5dqsp8sV-~*YU9fLn(bbk$x^BNVZ~FL26Mp%w*@=BkXXP!9&VO*`r<=0k zi~p(Cc<+h#7iaa`^wh!*@ummH^*&g0O6|g*UKn><-Hg}2T=dhLtrPEVaOUELmz)2& zf6m&1!R^-m_S_3i?u$vTHt~}t!**AfCO_Sysd?X^kuOe3{c&8i{rxt~dT4`h=Bw+9 zZtS_XTK~Rz#p4$>JF|TE?u?#85=V}D?)zcW_Po3Ht#$XlJ*HRtAJRYm>)QGBU-w<^ zJJH#p-q^H;t(UJiwfV93{AM3K+^g`|qWMdD_nPDz_SnyNPJR7wW+%_fgC~!kI(yo0 z%Pr4MjyP0(#e11`B2WMD+N{$bo$YgQLGD)D3pq~?-#xTekH@`js{FP0u}yLNX0N+e zZQse2jnAiicy7=SU0=PjantP|9kn)^6;-9i<(m7ykDeG?vUUE{jo-GYv!h|#dzN+2 z`cIn$U$vN&{P^wfK00x)`{QSKr!9G}?jt9TEkCvIaFzQ%zHo8Kmcj2Iee3PvQ;M(L l`9bH~r#(Dt^6%?AeLi5&o)@Ezf7PJOcQ#|=vKil){~rsSFOmQN literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Cmdlets.Accounts.deps.json b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Cmdlets.Accounts.deps.json new file mode 100644 index 000000000000..54274e52ee76 --- /dev/null +++ b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Cmdlets.Accounts.deps.json @@ -0,0 +1,2413 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v2.0/", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v2.0": {}, + ".NETStandard,Version=v2.0/": { + "Microsoft.Azure.PowerShell.Cmdlets.Accounts/1.0.0": { + "dependencies": { + "Azure.Core": "1.22.0", + "Hyak.Common": "1.2.2", + "Microsoft.ApplicationInsights": "2.12.0", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Azure.PowerShell.Authentication": "1.0.0", + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Authentication.ResourceManager": "1.0.0", + "Microsoft.Azure.PowerShell.Authenticators": "1.0.0", + "Microsoft.Azure.PowerShell.Clients.Aks": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Authorization": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Compute": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.KeyVault": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Monitor": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Network": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.PolicyInsights": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.ResourceManager": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Storage.Management": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Websites": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common.Share": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Storage": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Strategies": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "NETStandard.Library": "2.0.3", + "Newtonsoft.Json": "10.0.3", + "PowerShellStandard.Library": "5.1.0", + "System.Security.Permissions": "4.5.0" + }, + "runtime": { + "Microsoft.Azure.PowerShell.Cmdlets.Accounts.dll": {} + } + }, + "Azure.Core/1.22.0": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Diagnostics.DiagnosticSource": "4.6.0", + "System.Memory.Data": "1.0.2", + "System.Numerics.Vectors": "4.5.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/Azure.Core.dll": { + "assemblyVersion": "1.22.0.0", + "fileVersion": "1.2200.22.6212" + } + } + }, + "Azure.Identity/1.5.0": { + "dependencies": { + "Azure.Core": "1.22.0", + "Microsoft.Identity.Client": "4.30.1", + "Microsoft.Identity.Client.Extensions.Msal": "2.18.4", + "System.Memory": "4.5.4", + "System.Security.Cryptography.ProtectedData": "4.5.0", + "System.Text.Json": "4.7.2", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/Azure.Identity.dll": { + "assemblyVersion": "1.5.0.0", + "fileVersion": "1.500.21.51401" + } + } + }, + "Hyak.Common/1.2.2": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "Newtonsoft.Json": "10.0.3", + "System.Reflection": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.4/Hyak.Common.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.2.2.0" + } + } + }, + "Microsoft.ApplicationInsights/2.12.0": { + "dependencies": { + "System.Diagnostics.DiagnosticSource": "4.6.0", + "System.Runtime.InteropServices": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.ApplicationInsights.dll": { + "assemblyVersion": "2.12.0.21496", + "fileVersion": "2.12.0.21496" + } + } + }, + "Microsoft.Azure.Common/2.2.1": { + "dependencies": { + "Hyak.Common": "1.2.2", + "NETStandard.Library": "2.0.3" + }, + "runtime": { + "lib/netstandard1.4/Microsoft.Azure.Common.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.2.1.0" + } + } + }, + "Microsoft.Azure.PowerShell.Authentication.Abstractions/1.3.57-preview": { + "dependencies": { + "Hyak.Common": "1.2.2", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Authentication.Abstractions.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Aks/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Aks.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Authorization/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Authorization.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Compute/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Compute.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.ResourceManager": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Graph.Rbac.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.KeyVault/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "System.Collections.NonGeneric": "4.3.0", + "System.Collections.Specialized": "4.3.0", + "System.Reflection": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.KeyVault.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Monitor/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "System.Collections.Specialized": "4.3.0", + "System.Reflection": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Monitor.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Network/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Network.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.PolicyInsights/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.PolicyInsights.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.ResourceManager/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.ResourceManager.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Storage.Management/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "System.Collections.NonGeneric": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Storage.Management.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Websites/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "System.Collections.Specialized": "4.3.0", + "System.Reflection": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Websites.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Common/1.3.57-preview": { + "dependencies": { + "Hyak.Common": "1.2.2", + "Microsoft.ApplicationInsights": "2.12.0", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common.Share": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Common.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Common.Share/1.3.57-preview": { + "dependencies": { + "Hyak.Common": "1.2.2", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Common.Share.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Storage/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Storage.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Strategies/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Strategies.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Bcl.AsyncInterfaces/1.1.1": { + "dependencies": { + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "4.700.20.21406" + } + } + }, + "Microsoft.CSharp/4.5.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.CSharp.dll": { + "assemblyVersion": "4.0.4.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "Microsoft.Identity.Client/4.30.1": { + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "NETStandard.Library": "2.0.3", + "System.ComponentModel.TypeConverter": "4.3.0", + "System.Diagnostics.Process": "4.3.0", + "System.Dynamic.Runtime": "4.3.0", + "System.Private.Uri": "4.3.2", + "System.Runtime.Serialization.Formatters": "4.3.0", + "System.Runtime.Serialization.Json": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XDocument": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.Identity.Client.dll": { + "assemblyVersion": "4.30.1.0", + "fileVersion": "4.30.1.0" + } + } + }, + "Microsoft.Identity.Client.Extensions.Msal/2.18.4": { + "dependencies": { + "Microsoft.Identity.Client": "4.30.1", + "System.Security.Cryptography.ProtectedData": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Identity.Client.Extensions.Msal.dll": { + "assemblyVersion": "2.18.4.0", + "fileVersion": "2.18.4.0" + } + } + }, + "Microsoft.NETCore.Platforms/1.1.1": {}, + "Microsoft.NETCore.Targets/1.1.3": {}, + "Microsoft.Rest.ClientRuntime/2.3.23": { + "dependencies": { + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Rest.ClientRuntime.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.3.23.0" + } + } + }, + "Microsoft.Rest.ClientRuntime.Azure/3.3.19": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Rest.ClientRuntime.Azure.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.3.18.0" + } + } + }, + "Microsoft.Win32.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "Microsoft.Win32.Registry/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "NETStandard.Library/2.0.3": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1" + } + }, + "Newtonsoft.Json/10.0.3": { + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "NETStandard.Library": "2.0.3", + "System.ComponentModel.TypeConverter": "4.3.0", + "System.Runtime.Serialization.Formatters": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/Newtonsoft.Json.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.3.21018" + } + } + }, + "PowerShellStandard.Library/5.1.0": {}, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.native.System/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "runtime.native.System.Net.Http/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "dependencies": { + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": {}, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "System.Buffers/4.5.1": { + "runtime": { + "lib/netstandard2.0/System.Buffers.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.28619.1" + } + } + }, + "System.Collections/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.Concurrent.dll": { + "assemblyVersion": "4.0.13.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Collections.NonGeneric/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.NonGeneric.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Collections.Specialized/4.3.0": { + "dependencies": { + "System.Collections.NonGeneric": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.Specialized.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.ComponentModel/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.ComponentModel.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.ComponentModel.Primitives/4.3.0": { + "dependencies": { + "System.ComponentModel": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/System.ComponentModel.Primitives.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.ComponentModel.TypeConverter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Collections.NonGeneric": "4.3.0", + "System.Collections.Specialized": "4.3.0", + "System.ComponentModel": "4.3.0", + "System.ComponentModel.Primitives": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.5/System.ComponentModel.TypeConverter.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Diagnostics.Debug/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource/4.6.0": { + "dependencies": { + "System.Memory": "4.5.4" + }, + "runtime": { + "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": { + "assemblyVersion": "4.0.4.0", + "fileVersion": "4.700.19.46214" + } + } + }, + "System.Diagnostics.Process/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.Win32.Primitives": "4.3.0", + "Microsoft.Win32.Registry": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Thread": "4.3.0", + "System.Threading.ThreadPool": "4.3.0", + "runtime.native.System": "4.3.0" + } + }, + "System.Diagnostics.Tools/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Dynamic.Runtime/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Dynamic.Runtime.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Globalization/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Globalization": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "System.IO/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.IO": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Linq/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Linq.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Linq.Expressions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Linq.Expressions.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Memory/4.5.4": { + "dependencies": { + "System.Buffers": "4.5.1", + "System.Numerics.Vectors": "4.5.0", + "System.Runtime.CompilerServices.Unsafe": "4.7.1" + }, + "runtime": { + "lib/netstandard2.0/System.Memory.dll": { + "assemblyVersion": "4.0.1.1", + "fileVersion": "4.6.28619.1" + } + } + }, + "System.Memory.Data/1.0.2": { + "dependencies": { + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2" + }, + "runtime": { + "lib/netstandard2.0/System.Memory.Data.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.221.20802" + } + } + }, + "System.Numerics.Vectors/4.5.0": { + "runtime": { + "lib/netstandard2.0/System.Numerics.Vectors.dll": { + "assemblyVersion": "4.1.4.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.ObjectModel/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.ObjectModel.dll": { + "assemblyVersion": "4.0.13.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Private.DataContractSerialization/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Private.DataContractSerialization.dll": { + "assemblyVersion": "4.1.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Private.Uri/4.3.2": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "System.Reflection/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.5/System.Reflection.TypeExtensions.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Resources.ResourceManager/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "System.Runtime.CompilerServices.Unsafe/4.7.1": { + "runtime": { + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll": { + "assemblyVersion": "4.0.6.0", + "fileVersion": "4.700.20.12001" + } + } + }, + "System.Runtime.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Runtime.Numerics/4.3.0": { + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Numerics.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Runtime.Serialization.Formatters/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0" + }, + "runtime": { + "lib/netstandard1.4/System.Runtime.Serialization.Formatters.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Runtime.Serialization.Json/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.Private.DataContractSerialization": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Serialization.Json.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Runtime.Serialization.Primitives/4.3.0": { + "dependencies": { + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll": { + "assemblyVersion": "4.1.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.AccessControl/4.5.0": { + "dependencies": { + "System.Security.Principal.Windows": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/System.Security.AccessControl.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.Apple": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.Cryptography.Cng/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Security.Cryptography.Csp/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.Cryptography.OpenSsl/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "1.0.24212.1" + } + } + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Cryptography.ProtectedData/4.5.0": { + "dependencies": { + "System.Memory": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Cng": "4.3.0", + "System.Security.Cryptography.Csp": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.Permissions/4.5.0": { + "dependencies": { + "System.Security.AccessControl": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/System.Security.Permissions.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Security.Principal.Windows/4.5.0": { + "runtime": { + "lib/netstandard2.0/System.Security.Principal.Windows.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Security.SecureString/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Text.Encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Text.Encodings.Web/4.7.2": { + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/System.Text.Encodings.Web.dll": { + "assemblyVersion": "4.0.5.1", + "fileVersion": "4.700.21.11602" + } + } + }, + "System.Text.Json/4.7.2": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4", + "System.Numerics.Vectors": "4.5.0", + "System.Runtime.CompilerServices.Unsafe": "4.7.1", + "System.Text.Encodings.Web": "4.7.2", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/System.Text.Json.dll": { + "assemblyVersion": "4.0.1.2", + "fileVersion": "4.700.20.21406" + } + } + }, + "System.Text.RegularExpressions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Text.RegularExpressions.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.Tasks/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Extensions/4.5.4": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "4.7.1" + }, + "runtime": { + "lib/netstandard2.0/System.Threading.Tasks.Extensions.dll": { + "assemblyVersion": "4.2.0.1", + "fileVersion": "4.6.28619.1" + } + } + }, + "System.Threading.Thread/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.Thread.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.ThreadPool/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.ThreadPool.dll": { + "assemblyVersion": "4.0.11.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.ReaderWriter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.ReaderWriter.dll": { + "assemblyVersion": "4.1.0.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XDocument/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XDocument.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XmlDocument/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XmlDocument.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XmlSerializer/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XmlSerializer.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "Microsoft.Azure.PowerShell.Authentication/1.0.0": { + "dependencies": { + "Azure.Core": "1.22.0", + "Azure.Identity": "1.5.0", + "Hyak.Common": "1.2.2", + "Microsoft.ApplicationInsights": "2.12.0", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Aks": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Authorization": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Compute": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.KeyVault": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Monitor": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Network": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.PolicyInsights": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.ResourceManager": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Storage.Management": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Websites": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common.Share": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Storage": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Strategies": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "Microsoft.Azure.PowerShell.Authentication.dll": {} + } + }, + "Microsoft.Azure.PowerShell.Authentication.ResourceManager/1.0.0": { + "dependencies": { + "Azure.Core": "1.22.0", + "Hyak.Common": "1.2.2", + "Microsoft.ApplicationInsights": "2.12.0", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Azure.PowerShell.Authentication": "1.0.0", + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Aks": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Authorization": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Compute": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.KeyVault": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Monitor": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Network": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.PolicyInsights": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.ResourceManager": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Storage.Management": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Websites": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common.Share": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Storage": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Strategies": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "Microsoft.Azure.PowerShell.Authentication.ResourceManager.dll": {} + } + }, + "Microsoft.Azure.PowerShell.Authenticators/1.0.0": { + "dependencies": { + "Azure.Identity": "1.5.0", + "Microsoft.Azure.PowerShell.Authentication": "1.0.0" + }, + "runtime": { + "Microsoft.Azure.PowerShell.Authenticators.dll": {} + } + } + } + }, + "libraries": { + "Microsoft.Azure.PowerShell.Cmdlets.Accounts/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Azure.Core/1.22.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ze/xRCHSSDe5TIk5vBDbVrauW1EN7UIbnBvIBfMH8KSt/I9+/7yPAjTBDgNBk0IwG6WBV+BBHp4IUtS/PGAQwQ==", + "path": "azure.core/1.22.0", + "hashPath": "azure.core.1.22.0.nupkg.sha512" + }, + "Azure.Identity/1.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VfF88dqrgKXZNOS/y4XrX/jmIfP3pkY+hBUzBNpoKml1nR+QshX6XlXWyToLtWV80TDQ1CmUVCJksktDg5+j1w==", + "path": "azure.identity/1.5.0", + "hashPath": "azure.identity.1.5.0.nupkg.sha512" + }, + "Hyak.Common/1.2.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uZpnFn48nSQwHcO0/GSBZ7ExaO0sTXKv8KariXXEWLaB4Q3AeQoprYG4WpKsCT0ByW3YffETivgc5rcH5RRDvQ==", + "path": "hyak.common/1.2.2", + "hashPath": "hyak.common.1.2.2.nupkg.sha512" + }, + "Microsoft.ApplicationInsights/2.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4vZcVaxywAzfLm5mAc2/llaZQTzbCqu9KirxxI/t49AkZH5Qxf7JxuAMUuv2/6JEdOOkGDzpvdrrIlf6LkFGcg==", + "path": "microsoft.applicationinsights/2.12.0", + "hashPath": "microsoft.applicationinsights.2.12.0.nupkg.sha512" + }, + "Microsoft.Azure.Common/2.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-abzRooh4ACKjzAKxRB6r+SHKW3d+IrLcgtVG81D+3kQU/OMjAZS1oDp9CDalhSbmxa84u0MHM5N+AKeTtKPoiw==", + "path": "microsoft.azure.common/2.2.1", + "hashPath": "microsoft.azure.common.2.2.1.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Authentication.Abstractions/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bKDPidNeqBpTDikPnIuoMoGd26pD2PNE41cut0ASwL5exJwLNggYO55U+f/cJkgjCUMR8i5nqnlfpGHSS1I0vw==", + "path": "microsoft.azure.powershell.authentication.abstractions/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.authentication.abstractions.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Aks/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sUGkvOvpqlEK5zdZ7HWaou3GY5bnlNrE0LuZ137+TsNfgx2E3+0Ika3a02i/9+niDDf60xj4LaNOYDSuK5zdJA==", + "path": "microsoft.azure.powershell.clients.aks/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.aks.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Authorization/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Q760F40/qfas2Al+GQhhE4gJt768pQPxlCjqrjjkukgVsq+X/M8IqpCeBzbRTiiyerhcjJoyNxqlGuZpUhqGxw==", + "path": "microsoft.azure.powershell.clients.authorization/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.authorization.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Compute/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1fcsBdYMmEJPMPN8EAgJkaJ2WxxTKH3VcLECYdL2cfg2bgN8CKbbjSvarrXEezhyduE+LdYnL0e8Pigsnaj55Q==", + "path": "microsoft.azure.powershell.clients.compute/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.compute.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BIMthJ1x2vQAN3iWChnNj8BfgrXvKXn+n06E0/h2MNurMXbAOn5eiPIfE8bnj2BO99uSh1ns09yEgOTPJIvZBQ==", + "path": "microsoft.azure.powershell.clients.graph.rbac/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.graph.rbac.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.KeyVault/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MfvwM8ABj/EswmYu0Bf/8kyAO6kUv2zYSihVn384SVmypomVKUu69GN0VXKbmGaovPI8v3H41Ldp7DqbPRun5A==", + "path": "microsoft.azure.powershell.clients.keyvault/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.keyvault.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Monitor/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UyCKG5BWVjYFRtH2JNx6f4KdccaSqww2y0OE2PYgib8VhLqkoPr/BQg6vKzaGsghLIerZ/egQ7ntPPw3PCtS3w==", + "path": "microsoft.azure.powershell.clients.monitor/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.monitor.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Network/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YAAHxw+zzvkGNWAi668NSoTR+V/7vf+gRhu1oFa1O1/f2NGpz5XuqPrQyAPrri64hKqB/k3OMrM7sjlIv16dAg==", + "path": "microsoft.azure.powershell.clients.network/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.network.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.PolicyInsights/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-urRIwRVzzOwpk8HhKq/b785DiL/arnmGUHbN4HvRN6ZsBkE1PU431YwgUlofb9pfB3buLcl0XJFRPLBJ0yZJUw==", + "path": "microsoft.azure.powershell.clients.policyinsights/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.policyinsights.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.ResourceManager/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-juWnd63Z2Sp+6bvtOPOF0Gj1v2AfpxXcuyodd9+U7euBro2G7Yfo2UHmHo/uaYyQUbM3HaXJPvse7BLDKjhe6w==", + "path": "microsoft.azure.powershell.clients.resourcemanager/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.resourcemanager.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Storage.Management/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HPpTWIlN+5ALqJssL7+6BD/vYrWi3eWKQ3QpWYjCFk5c9HVLTNpP+M2dq9jbsxLsZj+5Pt6gC4FIS22Q13Uhag==", + "path": "microsoft.azure.powershell.clients.storage.management/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.storage.management.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Websites/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-b5yBD9FrY02r0kdNNgZ+uU0/QsW3AtmnCE/x1mUG5j8ka/V04AYUo+sDokQBzu+vnK6Y6OrVDtyWjmnKTDHpWA==", + "path": "microsoft.azure.powershell.clients.websites/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.websites.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Common/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9jZYZ9LKbx16r69y7cO9d7bDjpE0/HgeBU386Y/O6q05VRaq2wAsB2rbQ9AjxcPGHfwS0+2US/RImSSqjVABRQ==", + "path": "microsoft.azure.powershell.common/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.common.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Common.Share/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4mJSjnwZVLQYWhP47eDzdt0yaLIf2I4pqaEIqcfAjkjdbKpnCXCnJUEFRId061yuKpq1LtfBZkHDRi68I5CJxg==", + "path": "microsoft.azure.powershell.common.share/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.common.share.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Storage/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fObXEcuhk1JUoQ0fiCV4nK4NJWqvsfsKCzapF7SFEQ87X6AasL6m5KGT8JQSnHmc849xxxaixPTxyWaf9BBlpw==", + "path": "microsoft.azure.powershell.storage/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.storage.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Strategies/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HwyxUwDHCmY6Zdxg2xpFC9Gqmu92Xr0cAr4ElWYwz8Z7PE9uYVkTpKMIKd7oIJJgsIANTfqEU1HKoeI3FXPLqw==", + "path": "microsoft.azure.powershell.strategies/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.strategies.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Bcl.AsyncInterfaces/1.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==", + "path": "microsoft.bcl.asyncinterfaces/1.1.1", + "hashPath": "microsoft.bcl.asyncinterfaces.1.1.1.nupkg.sha512" + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==", + "path": "microsoft.csharp/4.5.0", + "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.Identity.Client/4.30.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xk8tJeGfB2yD3+d7a0DXyV7/HYyEG10IofUHYHoPYKmDbroi/j9t1BqSHgbq1nARDjg7m8Ki6e21AyNU7e/R4Q==", + "path": "microsoft.identity.client/4.30.1", + "hashPath": "microsoft.identity.client.4.30.1.nupkg.sha512" + }, + "Microsoft.Identity.Client.Extensions.Msal/2.18.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HpG4oLwhQsy0ce7OWq9iDdLtJKOvKRStIKoSEOeBMKuohfuOWNDyhg8fMAJkpG/kFeoe4J329fiMHcJmmB+FPw==", + "path": "microsoft.identity.client.extensions.msal/2.18.4", + "hashPath": "microsoft.identity.client.extensions.msal.2.18.4.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TMBuzAHpTenGbGgk0SMTwyEkyijY/Eae4ZGsFNYJvAr/LDn1ku3Etp3FPxChmDp5HHF3kzJuoaa08N0xjqAJfQ==", + "path": "microsoft.netcore.platforms/1.1.1", + "hashPath": "microsoft.netcore.platforms.1.1.1.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.1.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==", + "path": "microsoft.netcore.targets/1.1.3", + "hashPath": "microsoft.netcore.targets.1.1.3.nupkg.sha512" + }, + "Microsoft.Rest.ClientRuntime/2.3.23": { + "type": "package", + "serviceable": true, + "sha512": "sha512-92kNTi1N7zI5wwI2ZXswBRnk61OUYnuYJXrlgOhes5IsAqGmgw9DPGmhUzeY8OaZ8TTrQdDzvgXFnbCHwLzSVA==", + "path": "microsoft.rest.clientruntime/2.3.23", + "hashPath": "microsoft.rest.clientruntime.2.3.23.nupkg.sha512" + }, + "Microsoft.Rest.ClientRuntime.Azure/3.3.19": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+NVBWvRXNwaAPTZUxjUlQggsrf3X0GbiRoxYfgc3kG9E55ZxZxvZPT3nIfC4DNqzGSXUEvmLbckdXgBBzGdUaA==", + "path": "microsoft.rest.clientruntime.azure/3.3.19", + "hashPath": "microsoft.rest.clientruntime.azure.3.3.19.nupkg.sha512" + }, + "Microsoft.Win32.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "path": "microsoft.win32.primitives/4.3.0", + "hashPath": "microsoft.win32.primitives.4.3.0.nupkg.sha512" + }, + "Microsoft.Win32.Registry/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Lw1/VwLH1yxz6SfFEjVRCN0pnflLEsWgnV4qsdJ512/HhTwnKXUG+zDQ4yTO3K/EJQemGoNaBHX5InISNKTzUQ==", + "path": "microsoft.win32.registry/4.3.0", + "hashPath": "microsoft.win32.registry.4.3.0.nupkg.sha512" + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "path": "netstandard.library/2.0.3", + "hashPath": "netstandard.library.2.0.3.nupkg.sha512" + }, + "Newtonsoft.Json/10.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hSXaFmh7hNCuEoC4XNY5DrRkLDzYHqPx/Ik23R4J86Z7PE/Y6YidhG602dFVdLBRSdG6xp9NabH3dXpcoxWvww==", + "path": "newtonsoft.json/10.0.3", + "hashPath": "newtonsoft.json.10.0.3.nupkg.sha512" + }, + "PowerShellStandard.Library/5.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iYaRvQsM1fow9h3uEmio+2m2VXfulgI16AYHaTZ8Sf7erGe27Qc8w/h6QL5UPuwv1aXR40QfzMEwcCeiYJp2cw==", + "path": "powershellstandard.library/5.1.0", + "hashPath": "powershellstandard.library.5.1.0.nupkg.sha512" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==", + "path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==", + "path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==", + "path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.native.System/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "path": "runtime.native.system/4.3.0", + "hashPath": "runtime.native.system.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Net.Http/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "path": "runtime.native.system.net.http/4.3.0", + "hashPath": "runtime.native.system.net.http.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "path": "runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "path": "runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==", + "path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==", + "path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==", + "path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==", + "path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==", + "path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==", + "path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "System.Buffers/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==", + "path": "system.buffers/4.5.1", + "hashPath": "system.buffers.4.5.1.nupkg.sha512" + }, + "System.Collections/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "path": "system.collections/4.3.0", + "hashPath": "system.collections.4.3.0.nupkg.sha512" + }, + "System.Collections.Concurrent/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "path": "system.collections.concurrent/4.3.0", + "hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512" + }, + "System.Collections.NonGeneric/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-prtjIEMhGUnQq6RnPEYLpFt8AtLbp9yq2zxOSrY7KJJZrw25Fi97IzBqY7iqssbM61Ek5b8f3MG/sG1N2sN5KA==", + "path": "system.collections.nongeneric/4.3.0", + "hashPath": "system.collections.nongeneric.4.3.0.nupkg.sha512" + }, + "System.Collections.Specialized/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Epx8PoVZR0iuOnJJDzp7pWvdfMMOAvpUo95pC4ScH2mJuXkKA2Y4aR3cG9qt2klHgSons1WFh4kcGW7cSXvrxg==", + "path": "system.collections.specialized/4.3.0", + "hashPath": "system.collections.specialized.4.3.0.nupkg.sha512" + }, + "System.ComponentModel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VyGn1jGRZVfxnh8EdvDCi71v3bMXrsu8aYJOwoV7SNDLVhiEqwP86pPMyRGsDsxhXAm2b3o9OIqeETfN5qfezw==", + "path": "system.componentmodel/4.3.0", + "hashPath": "system.componentmodel.4.3.0.nupkg.sha512" + }, + "System.ComponentModel.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-j8GUkCpM8V4d4vhLIIoBLGey2Z5bCkMVNjEZseyAlm4n5arcsJOeI3zkUP+zvZgzsbLTYh4lYeP/ZD/gdIAPrw==", + "path": "system.componentmodel.primitives/4.3.0", + "hashPath": "system.componentmodel.primitives.4.3.0.nupkg.sha512" + }, + "System.ComponentModel.TypeConverter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-16pQ6P+EdhcXzPiEK4kbA953Fu0MNG2ovxTZU81/qsCd1zPRsKc3uif5NgvllCY598k6bI0KUyKW8fanlfaDQg==", + "path": "system.componentmodel.typeconverter/4.3.0", + "hashPath": "system.componentmodel.typeconverter.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "path": "system.diagnostics.debug/4.3.0", + "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/4.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mbBgoR0rRfl2uimsZ2avZY8g7Xnh1Mza0rJZLPcxqiMWlkGukjmRkuMJ/er+AhQuiRIh80CR/Hpeztr80seV5g==", + "path": "system.diagnostics.diagnosticsource/4.6.0", + "hashPath": "system.diagnostics.diagnosticsource.4.6.0.nupkg.sha512" + }, + "System.Diagnostics.Process/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", + "path": "system.diagnostics.process/4.3.0", + "hashPath": "system.diagnostics.process.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "path": "system.diagnostics.tools/4.3.0", + "hashPath": "system.diagnostics.tools.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Tracing/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "path": "system.diagnostics.tracing/4.3.0", + "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512" + }, + "System.Dynamic.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-SNVi1E/vfWUAs/WYKhE9+qlS6KqK0YVhnlT0HQtr8pMIA8YX3lwy3uPMownDwdYISBdmAF/2holEIldVp85Wag==", + "path": "system.dynamic.runtime/4.3.0", + "hashPath": "system.dynamic.runtime.4.3.0.nupkg.sha512" + }, + "System.Globalization/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "path": "system.globalization/4.3.0", + "hashPath": "system.globalization.4.3.0.nupkg.sha512" + }, + "System.Globalization.Calendars/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "path": "system.globalization.calendars/4.3.0", + "hashPath": "system.globalization.calendars.4.3.0.nupkg.sha512" + }, + "System.Globalization.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "path": "system.globalization.extensions/4.3.0", + "hashPath": "system.globalization.extensions.4.3.0.nupkg.sha512" + }, + "System.IO/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "path": "system.io/4.3.0", + "hashPath": "system.io.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "path": "system.io.filesystem/4.3.0", + "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "path": "system.io.filesystem.primitives/4.3.0", + "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512" + }, + "System.Linq/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "path": "system.linq/4.3.0", + "hashPath": "system.linq.4.3.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "path": "system.linq.expressions/4.3.0", + "hashPath": "system.linq.expressions.4.3.0.nupkg.sha512" + }, + "System.Memory/4.5.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==", + "path": "system.memory/4.5.4", + "hashPath": "system.memory.4.5.4.nupkg.sha512" + }, + "System.Memory.Data/1.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JGkzeqgBsiZwKJZ1IxPNsDFZDhUvuEdX8L8BDC8N3KOj+6zMcNU28CNN59TpZE/VJYy9cP+5M+sbxtWJx3/xtw==", + "path": "system.memory.data/1.0.2", + "hashPath": "system.memory.data.1.0.2.nupkg.sha512" + }, + "System.Numerics.Vectors/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==", + "path": "system.numerics.vectors/4.5.0", + "hashPath": "system.numerics.vectors.4.5.0.nupkg.sha512" + }, + "System.ObjectModel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "path": "system.objectmodel/4.3.0", + "hashPath": "system.objectmodel.4.3.0.nupkg.sha512" + }, + "System.Private.DataContractSerialization/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yDaJ2x3mMmjdZEDB4IbezSnCsnjQ4BxinKhRAaP6kEgL6Bb6jANWphs5SzyD8imqeC/3FxgsuXT6ykkiH1uUmA==", + "path": "system.private.datacontractserialization/4.3.0", + "hashPath": "system.private.datacontractserialization.4.3.0.nupkg.sha512" + }, + "System.Private.Uri/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-o1+7RJnu3Ik3PazR7Z7tJhjPdE000Eq2KGLLWhqJJKXj04wrS8lwb1OFtDF9jzXXADhUuZNJZlPc98uwwqmpFA==", + "path": "system.private.uri/4.3.2", + "hashPath": "system.private.uri.4.3.2.nupkg.sha512" + }, + "System.Reflection/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "path": "system.reflection/4.3.0", + "hashPath": "system.reflection.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "path": "system.reflection.emit/4.3.0", + "hashPath": "system.reflection.emit.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "path": "system.reflection.emit.ilgeneration/4.3.0", + "hashPath": "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "path": "system.reflection.emit.lightweight/4.3.0", + "hashPath": "system.reflection.emit.lightweight.4.3.0.nupkg.sha512" + }, + "System.Reflection.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "path": "system.reflection.extensions/4.3.0", + "hashPath": "system.reflection.extensions.4.3.0.nupkg.sha512" + }, + "System.Reflection.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "path": "system.reflection.primitives/4.3.0", + "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "path": "system.reflection.typeextensions/4.3.0", + "hashPath": "system.reflection.typeextensions.4.3.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "path": "system.resources.resourcemanager/4.3.0", + "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512" + }, + "System.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "path": "system.runtime/4.3.0", + "hashPath": "system.runtime.4.3.0.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/4.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zOHkQmzPCn5zm/BH+cxC1XbUS3P4Yoi3xzW7eRgVpDR2tPGSzyMZ17Ig1iRkfJuY0nhxkQQde8pgePNiA7z7TQ==", + "path": "system.runtime.compilerservices.unsafe/4.7.1", + "hashPath": "system.runtime.compilerservices.unsafe.4.7.1.nupkg.sha512" + }, + "System.Runtime.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "path": "system.runtime.extensions/4.3.0", + "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512" + }, + "System.Runtime.Handles/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "path": "system.runtime.handles/4.3.0", + "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512" + }, + "System.Runtime.InteropServices/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "path": "system.runtime.interopservices/4.3.0", + "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512" + }, + "System.Runtime.Numerics/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "path": "system.runtime.numerics/4.3.0", + "hashPath": "system.runtime.numerics.4.3.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Formatters/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KT591AkTNFOTbhZlaeMVvfax3RqhH1EJlcwF50Wm7sfnBLuHiOeZRRKrr1ns3NESkM20KPZ5Ol/ueMq5vg4QoQ==", + "path": "system.runtime.serialization.formatters/4.3.0", + "hashPath": "system.runtime.serialization.formatters.4.3.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Json/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CpVfOH0M/uZ5PH+M9+Gu56K0j9lJw3M+PKRegTkcrY/stOIvRUeonggxNrfBYLA5WOHL2j15KNJuTuld3x4o9w==", + "path": "system.runtime.serialization.json/4.3.0", + "hashPath": "system.runtime.serialization.json.4.3.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Wz+0KOukJGAlXjtKr+5Xpuxf8+c8739RI1C+A2BoQZT+wMCCoMDDdO8/4IRHfaVINqL78GO8dW8G2lW/e45Mcw==", + "path": "system.runtime.serialization.primitives/4.3.0", + "hashPath": "system.runtime.serialization.primitives.4.3.0.nupkg.sha512" + }, + "System.Security.AccessControl/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vW8Eoq0TMyz5vAG/6ce483x/CP83fgm4SJe5P8Tb1tZaobcvPrbMEL7rhH1DRdrYbbb6F0vq3OlzmK0Pkwks5A==", + "path": "system.security.accesscontrol/4.5.0", + "hashPath": "system.security.accesscontrol.4.5.0.nupkg.sha512" + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "path": "system.security.cryptography.algorithms/4.3.0", + "hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Cng/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "path": "system.security.cryptography.cng/4.3.0", + "hashPath": "system.security.cryptography.cng.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Csp/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "path": "system.security.cryptography.csp/4.3.0", + "hashPath": "system.security.cryptography.csp.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "path": "system.security.cryptography.encoding/4.3.0", + "hashPath": "system.security.cryptography.encoding.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "path": "system.security.cryptography.openssl/4.3.0", + "hashPath": "system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "path": "system.security.cryptography.primitives/4.3.0", + "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.ProtectedData/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==", + "path": "system.security.cryptography.protecteddata/4.5.0", + "hashPath": "system.security.cryptography.protecteddata.4.5.0.nupkg.sha512" + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "path": "system.security.cryptography.x509certificates/4.3.0", + "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512" + }, + "System.Security.Permissions/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9gdyuARhUR7H+p5CjyUB/zPk7/Xut3wUSP8NJQB6iZr8L3XUXTMdoLeVAg9N4rqF8oIpE7MpdqHdDHQ7XgJe0g==", + "path": "system.security.permissions/4.5.0", + "hashPath": "system.security.permissions.4.5.0.nupkg.sha512" + }, + "System.Security.Principal.Windows/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==", + "path": "system.security.principal.windows/4.5.0", + "hashPath": "system.security.principal.windows.4.5.0.nupkg.sha512" + }, + "System.Security.SecureString/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PnXp38O9q/2Oe4iZHMH60kinScv6QiiL2XH54Pj2t0Y6c2zKPEiAZsM/M3wBOHLNTBDFP0zfy13WN2M0qFz5jg==", + "path": "system.security.securestring/4.3.0", + "hashPath": "system.security.securestring.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "path": "system.text.encoding/4.3.0", + "hashPath": "system.text.encoding.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "path": "system.text.encoding.extensions/4.3.0", + "hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512" + }, + "System.Text.Encodings.Web/4.7.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iTUgB/WtrZ1sWZs84F2hwyQhiRH6QNjQv2DkwrH+WP6RoFga2Q1m3f9/Q7FG8cck8AdHitQkmkXSY8qylcDmuA==", + "path": "system.text.encodings.web/4.7.2", + "hashPath": "system.text.encodings.web.4.7.2.nupkg.sha512" + }, + "System.Text.Json/4.7.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TcMd95wcrubm9nHvJEQs70rC0H/8omiSGGpU4FQ/ZA1URIqD4pjmFJh2Mfv1yH1eHgJDWTi2hMDXwTET+zOOyg==", + "path": "system.text.json/4.7.2", + "hashPath": "system.text.json.4.7.2.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "path": "system.text.regularexpressions/4.3.0", + "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512" + }, + "System.Threading/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "path": "system.threading/4.3.0", + "hashPath": "system.threading.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "path": "system.threading.tasks/4.3.0", + "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks.Extensions/4.5.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==", + "path": "system.threading.tasks.extensions/4.5.4", + "hashPath": "system.threading.tasks.extensions.4.5.4.nupkg.sha512" + }, + "System.Threading.Thread/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "path": "system.threading.thread/4.3.0", + "hashPath": "system.threading.thread.4.3.0.nupkg.sha512" + }, + "System.Threading.ThreadPool/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k/+g4b7vjdd4aix83sTgC9VG6oXYKAktSfNIJUNGxPEj7ryEOfzHHhfnmsZvjxawwcD9HyWXKCXmPjX8U4zeSw==", + "path": "system.threading.threadpool/4.3.0", + "hashPath": "system.threading.threadpool.4.3.0.nupkg.sha512" + }, + "System.Xml.ReaderWriter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "path": "system.xml.readerwriter/4.3.0", + "hashPath": "system.xml.readerwriter.4.3.0.nupkg.sha512" + }, + "System.Xml.XDocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "path": "system.xml.xdocument/4.3.0", + "hashPath": "system.xml.xdocument.4.3.0.nupkg.sha512" + }, + "System.Xml.XmlDocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lJ8AxvkX7GQxpC6GFCeBj8ThYVyQczx2+f/cWHJU8tjS7YfI6Cv6bon70jVEgs2CiFbmmM8b9j1oZVx0dSI2Ww==", + "path": "system.xml.xmldocument/4.3.0", + "hashPath": "system.xml.xmldocument.4.3.0.nupkg.sha512" + }, + "System.Xml.XmlSerializer/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MYoTCP7EZ98RrANESW05J5ZwskKDoN0AuZ06ZflnowE50LTpbR5yRg3tHckTVm5j/m47stuGgCrCHWePyHS70Q==", + "path": "system.xml.xmlserializer/4.3.0", + "hashPath": "system.xml.xmlserializer.4.3.0.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Authentication/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Azure.PowerShell.Authentication.ResourceManager/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Azure.PowerShell.Authenticators/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Cmdlets.Accounts.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Cmdlets.Accounts.dll new file mode 100644 index 0000000000000000000000000000000000000000..2eff02a0138e8b7f4b1dd9ed2166bf818dffa7ce GIT binary patch literal 461744 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 + + + + Add-AzEnvironment + Add + AzEnvironment + + Adds endpoints and metadata for an instance of Azure Resource Manager. + + + + The Add-AzEnvironment cmdlet adds endpoints and metadata to enable Azure Resource Manager cmdlets to connect with a new instance of Azure Resource Manager. The built-in environments AzureCloud and AzureChinaCloud target existing public instances of Azure Resource Manager. + + + + Add-AzEnvironment + + Name + + Specifies the name of the environment to add. + + System.String + + System.String + + + None + + + PublishSettingsFileUrl + + Specifies the URL from which .publishsettings files can be downloaded. + + System.String + + System.String + + + None + + + AzureKeyVaultDnsSuffix + + Dns suffix of Azure Key Vault service. Example is vault-int.azure-int.net + + System.String + + System.String + + + None + + + AzureKeyVaultServiceEndpointResourceId + + Resource identifier of Azure Key Vault data service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + TrafficManagerDnsSuffix + + Specifies the domain-name suffix for Azure Traffic Manager services. + + System.String + + System.String + + + None + + + SqlDatabaseDnsSuffix + + Specifies the domain-name suffix for Azure SQL Database servers. + + System.String + + System.String + + + None + + + AzureDataLakeStoreFileSystemEndpointSuffix + + Dns Suffix of Azure Data Lake Store FileSystem. Example: azuredatalake.net + + System.String + + System.String + + + None + + + AzureDataLakeAnalyticsCatalogAndJobEndpointSuffix + + Dns Suffix of Azure Data Lake Analytics job and catalog services + + System.String + + System.String + + + None + + + EnableAdfsAuthentication + + Indicates that Active Directory Federation Services (ADFS) on-premise authentication is allowed. + + + System.Management.Automation.SwitchParameter + + + False + + + AdTenant + + Specifies the default Active Directory tenant. + + System.String + + System.String + + + None + + + GraphAudience + + The audience for tokens authenticating with the AD Graph Endpoint. + + System.String + + System.String + + + None + + + DataLakeAudience + + The audience for tokens authenticating with the AD Data Lake services Endpoint. + + System.String + + System.String + + + None + + + ServiceEndpoint + + Specifies the endpoint for Service Management (RDFE) requests. + + System.String + + System.String + + + None + + + BatchEndpointResourceId + + The resource identifier of the Azure Batch service that is the recipient of the requested token + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpointResourceId + + The audience for tokens authenticating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpoint + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + ManagementPortalUrl + + Specifies the URL for the Management Portal. + + System.String + + System.String + + + None + + + StorageEndpoint + + Specifies the endpoint for storage (blob, table, queue, and file) access. + + System.String + + System.String + + + None + + + ActiveDirectoryEndpoint + + Specifies the base authority for Azure Active Directory authentication. + + System.String + + System.String + + + None + + + ResourceManagerEndpoint + + Specifies the URL for Azure Resource Manager requests. + + System.String + + System.String + + + None + + + GalleryEndpoint + + Specifies the endpoint for the Azure Resource Manager gallery of deployment templates. + + System.String + + System.String + + + None + + + ActiveDirectoryServiceEndpointResourceId + + Specifies the audience for tokens that authenticate requests to Azure Resource Manager or Service Management (RDFE) endpoints. + + System.String + + System.String + + + None + + + GraphEndpoint + + Specifies the URL for Graph (Active Directory metadata) requests. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointResourceId + + The resource identifier of the Azure Analysis Services resource. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointSuffix + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointResourceId + + The The resource identifier of the Azure Attestation service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointSuffix + + Dns suffix of Azure Attestation service. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointResourceId + + The The resource identifier of the Azure Synapse Analytics that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointSuffix + + Dns suffix of Azure Synapse Analytics. + + System.String + + System.String + + + None + + + ContainerRegistryEndpointSuffix + + Suffix of Azure Container Registry. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + MicrosoftGraphEndpointResourceId + + The resource identifier of Microsoft Graph + + System.String + + System.String + + + None + + + MicrosoftGraphUrl + + Microsoft Graph Url + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Add-AzEnvironment + + Name + + Specifies the name of the environment to add. + + System.String + + System.String + + + None + + + ARMEndpoint + + The Azure Resource Manager endpoint + + System.String + + System.String + + + None + + + AzureKeyVaultDnsSuffix + + Dns suffix of Azure Key Vault service. Example is vault-int.azure-int.net + + System.String + + System.String + + + None + + + AzureKeyVaultServiceEndpointResourceId + + Resource identifier of Azure Key Vault data service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + DataLakeAudience + + The audience for tokens authenticating with the AD Data Lake services Endpoint. + + System.String + + System.String + + + None + + + BatchEndpointResourceId + + The resource identifier of the Azure Batch service that is the recipient of the requested token + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpointResourceId + + The audience for tokens authenticating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpoint + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + StorageEndpoint + + Specifies the endpoint for storage (blob, table, queue, and file) access. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointResourceId + + The resource identifier of the Azure Analysis Services resource. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointSuffix + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointResourceId + + The The resource identifier of the Azure Attestation service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointSuffix + + Dns suffix of Azure Attestation service. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointResourceId + + The The resource identifier of the Azure Synapse Analytics that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointSuffix + + Dns suffix of Azure Synapse Analytics. + + System.String + + System.String + + + None + + + ContainerRegistryEndpointSuffix + + Suffix of Azure Container Registry. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Add-AzEnvironment + + AutoDiscover + + Discovers environments via default or configured endpoint. + + + System.Management.Automation.SwitchParameter + + + False + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Uri + + Specifies URI of the internet resource to fetch environments. + + System.Uri + + System.Uri + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + ActiveDirectoryEndpoint + + Specifies the base authority for Azure Active Directory authentication. + + System.String + + System.String + + + None + + + ActiveDirectoryServiceEndpointResourceId + + Specifies the audience for tokens that authenticate requests to Azure Resource Manager or Service Management (RDFE) endpoints. + + System.String + + System.String + + + None + + + AdTenant + + Specifies the default Active Directory tenant. + + System.String + + System.String + + + None + + + ARMEndpoint + + The Azure Resource Manager endpoint + + System.String + + System.String + + + None + + + AutoDiscover + + Discovers environments via default or configured endpoint. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + AzureAnalysisServicesEndpointResourceId + + The resource identifier of the Azure Analysis Services resource. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointSuffix + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointResourceId + + The The resource identifier of the Azure Attestation service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointSuffix + + Dns suffix of Azure Attestation service. + + System.String + + System.String + + + None + + + AzureDataLakeAnalyticsCatalogAndJobEndpointSuffix + + Dns Suffix of Azure Data Lake Analytics job and catalog services + + System.String + + System.String + + + None + + + AzureDataLakeStoreFileSystemEndpointSuffix + + Dns Suffix of Azure Data Lake Store FileSystem. Example: azuredatalake.net + + System.String + + System.String + + + None + + + AzureKeyVaultDnsSuffix + + Dns suffix of Azure Key Vault service. Example is vault-int.azure-int.net + + System.String + + System.String + + + None + + + AzureKeyVaultServiceEndpointResourceId + + Resource identifier of Azure Key Vault data service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpoint + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpointResourceId + + The audience for tokens authenticating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointResourceId + + The The resource identifier of the Azure Synapse Analytics that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointSuffix + + Dns suffix of Azure Synapse Analytics. + + System.String + + System.String + + + None + + + BatchEndpointResourceId + + The resource identifier of the Azure Batch service that is the recipient of the requested token + + System.String + + System.String + + + None + + + ContainerRegistryEndpointSuffix + + Suffix of Azure Container Registry. + + System.String + + System.String + + + None + + + DataLakeAudience + + The audience for tokens authenticating with the AD Data Lake services Endpoint. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + EnableAdfsAuthentication + + Indicates that Active Directory Federation Services (ADFS) on-premise authentication is allowed. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + GalleryEndpoint + + Specifies the endpoint for the Azure Resource Manager gallery of deployment templates. + + System.String + + System.String + + + None + + + GraphAudience + + The audience for tokens authenticating with the AD Graph Endpoint. + + System.String + + System.String + + + None + + + GraphEndpoint + + Specifies the URL for Graph (Active Directory metadata) requests. + + System.String + + System.String + + + None + + + ManagementPortalUrl + + Specifies the URL for the Management Portal. + + System.String + + System.String + + + None + + + MicrosoftGraphEndpointResourceId + + The resource identifier of Microsoft Graph + + System.String + + System.String + + + None + + + MicrosoftGraphUrl + + Microsoft Graph Url + + System.String + + System.String + + + None + + + Name + + Specifies the name of the environment to add. + + System.String + + System.String + + + None + + + PublishSettingsFileUrl + + Specifies the URL from which .publishsettings files can be downloaded. + + System.String + + System.String + + + None + + + ResourceManagerEndpoint + + Specifies the URL for Azure Resource Manager requests. + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + ServiceEndpoint + + Specifies the endpoint for Service Management (RDFE) requests. + + System.String + + System.String + + + None + + + SqlDatabaseDnsSuffix + + Specifies the domain-name suffix for Azure SQL Database servers. + + System.String + + System.String + + + None + + + StorageEndpoint + + Specifies the endpoint for storage (blob, table, queue, and file) access. + + System.String + + System.String + + + None + + + TrafficManagerDnsSuffix + + Specifies the domain-name suffix for Azure Traffic Manager services. + + System.String + + System.String + + + None + + + Uri + + Specifies URI of the internet resource to fetch environments. + + System.Uri + + System.Uri + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + System.String + + + + + + + + System.Management.Automation.SwitchParameter + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureEnvironment + + + + + + + + + + + + + + ----- Example 1: Creating and modifying a new environment ----- + Add-AzEnvironment -Name TestEnvironment ` + -ActiveDirectoryEndpoint TestADEndpoint ` + -ActiveDirectoryServiceEndpointResourceId TestADApplicationId ` + -ResourceManagerEndpoint TestRMEndpoint ` + -GalleryEndpoint TestGalleryEndpoint ` + -GraphEndpoint TestGraphEndpoint + +Name Resource Manager Url ActiveDirectory Authority +---- -------------------- ------------------------- +TestEnvironment TestRMEndpoint TestADEndpoint/ + +Set-AzEnvironment -Name TestEnvironment ` + -ActiveDirectoryEndpoint NewTestADEndpoint ` + -GraphEndpoint NewTestGraphEndpoint | Format-List + +Name : TestEnvironment +EnableAdfsAuthentication : False +OnPremise : False +ActiveDirectoryServiceEndpointResourceId : TestADApplicationId +AdTenant : +GalleryUrl : TestGalleryEndpoint +ManagementPortalUrl : +ServiceManagementUrl : +PublishSettingsFileUrl : +ResourceManagerUrl : TestRMEndpoint +SqlDatabaseDnsSuffix : +StorageEndpointSuffix : +ActiveDirectoryAuthority : NewTestADEndpoint +GraphUrl : NewTestGraphEndpoint +GraphEndpointResourceId : +TrafficManagerDnsSuffix : +AzureKeyVaultDnsSuffix : +DataLakeEndpointResourceId : +AzureDataLakeStoreFileSystemEndpointSuffix : +AzureDataLakeAnalyticsCatalogAndJobEndpointSuffix : +AzureKeyVaultServiceEndpointResourceId : +AzureOperationalInsightsEndpointResourceId : +AzureOperationalInsightsEndpoint : +AzureAnalysisServicesEndpointSuffix : +AzureAttestationServiceEndpointSuffix : +AzureAttestationServiceEndpointResourceId : +AzureSynapseAnalyticsEndpointSuffix : +AzureSynapseAnalyticsEndpointResourceId : +VersionProfiles : {} +ExtendedProperties : {} +BatchEndpointResourceId : + + In this example we are creating a new Azure environment with sample endpoints using Add-AzEnvironment, and then we are changing the value of the ActiveDirectoryEndpoint and GraphEndpoint attributes of the created environment using the cmdlet Set-AzEnvironment. + + + + + + ------- Example 2: Discovering a new environment via Uri ------- + <# +Uri https://configuredmetadata.net returns an array of environment metadata. The following example contains a payload for the AzureCloud default environment. + +[ + { + "portal": "https://portal.azure.com", + "authentication": { + "loginEndpoint": "https://login.microsoftonline.com/", + "audiences": [ + "https://management.core.windows.net/" + ], + "tenant": "common", + "identityProvider": "AAD" + }, + "media": "https://rest.media.azure.net", + "graphAudience": "https://graph.windows.net/", + "graph": "https://graph.windows.net/", + "name": "AzureCloud", + "suffixes": { + "azureDataLakeStoreFileSystem": "azuredatalakestore.net", + "acrLoginServer": "azurecr.io", + "sqlServerHostname": ".database.windows.net", + "azureDataLakeAnalyticsCatalogAndJob": "azuredatalakeanalytics.net", + "keyVaultDns": "vault.azure.net", + "storage": "core.windows.net", + "azureFrontDoorEndpointSuffix": "azurefd.net" + }, + "batch": "https://batch.core.windows.net/", + "resourceManager": "https://management.azure.com/", + "vmImageAliasDoc": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json", + "activeDirectoryDataLake": "https://datalake.azure.net/", + "sqlManagement": "https://management.core.windows.net:8443/", + "gallery": "https://gallery.azure.com/" + }, +…… +] +#> + +Add-AzEnvironment -AutoDiscover -Uri https://configuredmetadata.net + +Name Resource Manager Url ActiveDirectory Authority +---- -------------------- ------------------------- +TestEnvironment TestRMEndpoint TestADEndpoint/ + + In this example, we are discovering a new Azure environment from the `https://configuredmetadata.net` Uri. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/add-azenvironment + + + Get-AzEnvironment + + + + Remove-AzEnvironment + + + + Set-AzEnvironment + + + + + + + Clear-AzContext + Clear + AzContext + + Remove all Azure credentials, account, and subscription information. + + + + Remove all Azure Credentials, account, and subscription information. + + + + Clear-AzContext + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Delete all users and groups from the global scope without prompting + + + System.Management.Automation.SwitchParameter + + + False + + + PassThru + + Return a value indicating success or failure + + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Clear the context only for the current PowerShell session, or for all sessions. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Delete all users and groups from the global scope without prompting + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + PassThru + + Return a value indicating success or failure + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Clear the context only for the current PowerShell session, or for all sessions. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Boolean + + + + + + + + + + + + + + --------------- Example 1: Clear global context --------------- + Clear-AzContext -Scope CurrentUser + + Remove all account, subscription, and credential information for any powershell session. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/clear-azcontext + + + + + + Clear-AzDefault + Clear + AzDefault + + Clears the defaults set by the user in the current context. + + + + The Clear-AzDefault cmdlet removes the defaults set by the user depending on the switch parameters specified by the user. + + + + Clear-AzDefault + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Remove all defaults if no default is specified + + + System.Management.Automation.SwitchParameter + + + False + + + PassThru + + {{Fill PassThru Description}} + + + System.Management.Automation.SwitchParameter + + + False + + + ResourceGroup + + Clear Default Resource Group + + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Remove all defaults if no default is specified + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + PassThru + + {{Fill PassThru Description}} + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + ResourceGroup + + Clear Default Resource Group + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + System.Management.Automation.SwitchParameter + + + + + + + + + + System.Boolean + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Clear-AzDefault + + This command removes all the defaults set by the user in the current context. + + + + + + -------------------------- Example 2 -------------------------- + Clear-AzDefault -ResourceGroup + + This command removes the default resource group set by the user in the current context. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/clear-azdefault + + + + + + Connect-AzAccount + Connect + AzAccount + + Connect to Azure with an authenticated account for use with cmdlets from the Az PowerShell modules. + + + + The `Connect-AzAccount` cmdlet connects to Azure with an authenticated account for use with cmdlets from the Az PowerShell modules. You can use this authenticated account only with Azure Resource Manager requests. To add an authenticated account for use with Service Management, use the `Add-AzureAccount` cmdlet from the Azure PowerShell module. If no context is found for the current user, the user's context list is populated with a context for each of their first 25 subscriptions. The list of contexts created for the user can be found by running `Get-AzContext -ListAvailable`. To skip this context population, specify the SkipContextPopulation switch parameter. After executing this cmdlet, you can disconnect from an Azure account using `Disconnect-AzAccount`. + + + + Connect-AzAccount + + AccessToken + + Specifies an access token. + > [!CAUTION] > Access tokens are a type of credential. You should take the appropriate security precautions to > keep them confidential. Access tokens also timeout and may prevent long running tasks from > completing. + + System.String + + System.String + + + None + + + AccountId + + Account Id / User Id / User Name to login with in Default (UserWithSubscriptionId) parameter set; Account ID for access token in AccessToken parameter set; Account ID for managed service in ManagedService parameter set. Can be a managed service resource ID, or the associated client ID. To use the system assigned identity, leave this field blank. + + System.String + + System.String + + + None + + + ContextName + + Name of the default Azure context for this login. For more information about Azure contexts, see Azure PowerShell context objects (/powershell/azure/context-persistence). + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Environment + + Environment containing the Azure account. + + System.String + + System.String + + + None + + + Force + + Overwrite the existing context with the same name without prompting. + + + System.Management.Automation.SwitchParameter + + + False + + + GraphAccessToken + + AccessToken for Graph Service. + + System.String + + System.String + + + None + + + KeyVaultAccessToken + + AccessToken for KeyVault Service. + + System.String + + System.String + + + None + + + MaxContextPopulation + + Max subscription number to populate contexts after login. Default is 25. To populate all subscriptions to contexts, set to -1. + + System.Int32 + + System.Int32 + + + None + + + MicrosoftGraphAccessToken + + Access token to Microsoft Graph + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + SkipContextPopulation + + Skips context population if no contexts are found. + + + System.Management.Automation.SwitchParameter + + + False + + + SkipValidation + + Skip validation for access token. + + + System.Management.Automation.SwitchParameter + + + False + + + Subscription + + Subscription Name or ID. + + System.String + + System.String + + + None + + + Tenant + + Optional tenant name or ID. + > [!NOTE] > Due to limitations of the current API, you must use a tenant ID instead of a tenant name when > connecting with a business-to-business (B2B) account. + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Connect-AzAccount + + AccountId + + Account Id / User Id / User Name to login with in Default (UserWithSubscriptionId) parameter set; Account ID for access token in AccessToken parameter set; Account ID for managed service in ManagedService parameter set. Can be a managed service resource ID, or the associated client ID. To use the system assigned identity, leave this field blank. + + System.String + + System.String + + + None + + + AuthScope + + Optional OAuth scope for login, supported pre-defined values: AadGraph, AnalysisServices, Attestation, Batch, DataLake, KeyVault, OperationalInsights, Storage, Synapse. It also supports resource id like `https://storage.azure.com/`. + + System.String + + System.String + + + None + + + ContextName + + Name of the default Azure context for this login. For more information about Azure contexts, see Azure PowerShell context objects (/powershell/azure/context-persistence). + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Environment + + Environment containing the Azure account. + + System.String + + System.String + + + None + + + Force + + Overwrite the existing context with the same name without prompting. + + + System.Management.Automation.SwitchParameter + + + False + + + MaxContextPopulation + + Max subscription number to populate contexts after login. Default is 25. To populate all subscriptions to contexts, set to -1. + + System.Int32 + + System.Int32 + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + SkipContextPopulation + + Skips context population if no contexts are found. + + + System.Management.Automation.SwitchParameter + + + False + + + Subscription + + Subscription Name or ID. + + System.String + + System.String + + + None + + + Tenant + + Optional tenant name or ID. + > [!NOTE] > Due to limitations of the current API, you must use a tenant ID instead of a tenant name when > connecting with a business-to-business (B2B) account. + + System.String + + System.String + + + None + + + UseDeviceAuthentication + + Use device code authentication instead of a browser control. + + + System.Management.Automation.SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Connect-AzAccount + + AccountId + + Account Id / User Id / User Name to login with in Default (UserWithSubscriptionId) parameter set; Account ID for access token in AccessToken parameter set; Account ID for managed service in ManagedService parameter set. Can be a managed service resource ID, or the associated client ID. To use the system assigned identity, leave this field blank. + + System.String + + System.String + + + None + + + AuthScope + + Optional OAuth scope for login, supported pre-defined values: AadGraph, AnalysisServices, Attestation, Batch, DataLake, KeyVault, OperationalInsights, Storage, Synapse. It also supports resource id like `https://storage.azure.com/`. + + System.String + + System.String + + + None + + + ContextName + + Name of the default Azure context for this login. For more information about Azure contexts, see Azure PowerShell context objects (/powershell/azure/context-persistence). + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Environment + + Environment containing the Azure account. + + System.String + + System.String + + + None + + + Force + + Overwrite the existing context with the same name without prompting. + + + System.Management.Automation.SwitchParameter + + + False + + + Identity + + Login using a Managed Service Identity. + + + System.Management.Automation.SwitchParameter + + + False + + + MaxContextPopulation + + Max subscription number to populate contexts after login. Default is 25. To populate all subscriptions to contexts, set to -1. + + System.Int32 + + System.Int32 + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + SkipContextPopulation + + Skips context population if no contexts are found. + + + System.Management.Automation.SwitchParameter + + + False + + + Subscription + + Subscription Name or ID. + + System.String + + System.String + + + None + + + Tenant + + Optional tenant name or ID. + > [!NOTE] > Due to limitations of the current API, you must use a tenant ID instead of a tenant name when > connecting with a business-to-business (B2B) account. + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Connect-AzAccount + + ApplicationId + + Application ID of the service principal. + + System.String + + System.String + + + None + + + AuthScope + + Optional OAuth scope for login, supported pre-defined values: AadGraph, AnalysisServices, Attestation, Batch, DataLake, KeyVault, OperationalInsights, Storage, Synapse. It also supports resource id like `https://storage.azure.com/`. + + System.String + + System.String + + + None + + + CertificateThumbprint + + Certificate Hash or Thumbprint. + + System.String + + System.String + + + None + + + ContextName + + Name of the default Azure context for this login. For more information about Azure contexts, see Azure PowerShell context objects (/powershell/azure/context-persistence). + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Environment + + Environment containing the Azure account. + + System.String + + System.String + + + None + + + Force + + Overwrite the existing context with the same name without prompting. + + + System.Management.Automation.SwitchParameter + + + False + + + MaxContextPopulation + + Max subscription number to populate contexts after login. Default is 25. To populate all subscriptions to contexts, set to -1. + + System.Int32 + + System.Int32 + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + SendCertificateChain + + Specifies if the x5c claim (public key of the certificate) should be sent to the STS to achieve easy certificate rollover in Azure AD. + + + System.Management.Automation.SwitchParameter + + + False + + + ServicePrincipal + + Indicates that this account authenticates by providing service principal credentials. + + + System.Management.Automation.SwitchParameter + + + False + + + SkipContextPopulation + + Skips context population if no contexts are found. + + + System.Management.Automation.SwitchParameter + + + False + + + Subscription + + Subscription Name or ID. + + System.String + + System.String + + + None + + + Tenant + + Optional tenant name or ID. + > [!NOTE] > Due to limitations of the current API, you must use a tenant ID instead of a tenant name when > connecting with a business-to-business (B2B) account. + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Connect-AzAccount + + ApplicationId + + Application ID of the service principal. + + System.String + + System.String + + + None + + + ContextName + + Name of the default Azure context for this login. For more information about Azure contexts, see Azure PowerShell context objects (/powershell/azure/context-persistence). + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Environment + + Environment containing the Azure account. + + System.String + + System.String + + + None + + + FederatedToken + + Specifies a token provided by another identity provider. The issuer and subject in this token must be first configured to be trusted by the ApplicationId. + > [!CAUTION] > Federated tokens are a type of credential. You should take the appropriate security precautions to keep them confidential. Federated tokens also timeout and may prevent long running tasks from completing. + + System.String + + System.String + + + None + + + Force + + Overwrite the existing context with the same name without prompting. + + + System.Management.Automation.SwitchParameter + + + False + + + MaxContextPopulation + + Max subscription number to populate contexts after login. Default is 25. To populate all subscriptions to contexts, set to -1. + + System.Int32 + + System.Int32 + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + ServicePrincipal + + Indicates that this account authenticates by providing service principal credentials. + + + System.Management.Automation.SwitchParameter + + + False + + + SkipContextPopulation + + Skips context population if no contexts are found. + + + System.Management.Automation.SwitchParameter + + + False + + + Subscription + + Subscription Name or ID. + + System.String + + System.String + + + None + + + Tenant + + Optional tenant name or ID. + > [!NOTE] > Due to limitations of the current API, you must use a tenant ID instead of a tenant name when > connecting with a business-to-business (B2B) account. + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Connect-AzAccount + + ApplicationId + + Application ID of the service principal. + + System.String + + System.String + + + None + + + CertificatePassword + + The password required to access the pkcs#12 certificate file. + + System.Security.SecureString + + System.Security.SecureString + + + None + + + CertificatePath + + The path of certficate file in pkcs#12 format. + + System.String + + System.String + + + None + + + ContextName + + Name of the default Azure context for this login. For more information about Azure contexts, see Azure PowerShell context objects (/powershell/azure/context-persistence). + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Environment + + Environment containing the Azure account. + + System.String + + System.String + + + None + + + Force + + Overwrite the existing context with the same name without prompting. + + + System.Management.Automation.SwitchParameter + + + False + + + MaxContextPopulation + + Max subscription number to populate contexts after login. Default is 25. To populate all subscriptions to contexts, set to -1. + + System.Int32 + + System.Int32 + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + SendCertificateChain + + Specifies if the x5c claim (public key of the certificate) should be sent to the STS to achieve easy certificate rollover in Azure AD. + + + System.Management.Automation.SwitchParameter + + + False + + + ServicePrincipal + + Indicates that this account authenticates by providing service principal credentials. + + + System.Management.Automation.SwitchParameter + + + False + + + SkipContextPopulation + + Skips context population if no contexts are found. + + + System.Management.Automation.SwitchParameter + + + False + + + Subscription + + Subscription Name or ID. + + System.String + + System.String + + + None + + + Tenant + + Optional tenant name or ID. + > [!NOTE] > Due to limitations of the current API, you must use a tenant ID instead of a tenant name when > connecting with a business-to-business (B2B) account. + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Connect-AzAccount + + AuthScope + + Optional OAuth scope for login, supported pre-defined values: AadGraph, AnalysisServices, Attestation, Batch, DataLake, KeyVault, OperationalInsights, Storage, Synapse. It also supports resource id like `https://storage.azure.com/`. + + System.String + + System.String + + + None + + + ContextName + + Name of the default Azure context for this login. For more information about Azure contexts, see Azure PowerShell context objects (/powershell/azure/context-persistence). + + System.String + + System.String + + + None + + + Credential + + Specifies a PSCredential object. For more information about the PSCredential object, type `Get-Help Get-Credential`. The PSCredential object provides the user ID and password for organizational ID credentials, or the application ID and secret for service principal credentials. + + System.Management.Automation.PSCredential + + System.Management.Automation.PSCredential + + + None + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Environment + + Environment containing the Azure account. + + System.String + + System.String + + + None + + + Force + + Overwrite the existing context with the same name without prompting. + + + System.Management.Automation.SwitchParameter + + + False + + + MaxContextPopulation + + Max subscription number to populate contexts after login. Default is 25. To populate all subscriptions to contexts, set to -1. + + System.Int32 + + System.Int32 + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + ServicePrincipal + + Indicates that this account authenticates by providing service principal credentials. + + + System.Management.Automation.SwitchParameter + + + False + + + SkipContextPopulation + + Skips context population if no contexts are found. + + + System.Management.Automation.SwitchParameter + + + False + + + Subscription + + Subscription Name or ID. + + System.String + + System.String + + + None + + + Tenant + + Optional tenant name or ID. + > [!NOTE] > Due to limitations of the current API, you must use a tenant ID instead of a tenant name when > connecting with a business-to-business (B2B) account. + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Connect-AzAccount + + AuthScope + + Optional OAuth scope for login, supported pre-defined values: AadGraph, AnalysisServices, Attestation, Batch, DataLake, KeyVault, OperationalInsights, Storage, Synapse. It also supports resource id like `https://storage.azure.com/`. + + System.String + + System.String + + + None + + + ContextName + + Name of the default Azure context for this login. For more information about Azure contexts, see Azure PowerShell context objects (/powershell/azure/context-persistence). + + System.String + + System.String + + + None + + + Credential + + Specifies a PSCredential object. For more information about the PSCredential object, type `Get-Help Get-Credential`. The PSCredential object provides the user ID and password for organizational ID credentials, or the application ID and secret for service principal credentials. + + System.Management.Automation.PSCredential + + System.Management.Automation.PSCredential + + + None + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Environment + + Environment containing the Azure account. + + System.String + + System.String + + + None + + + Force + + Overwrite the existing context with the same name without prompting. + + + System.Management.Automation.SwitchParameter + + + False + + + MaxContextPopulation + + Max subscription number to populate contexts after login. Default is 25. To populate all subscriptions to contexts, set to -1. + + System.Int32 + + System.Int32 + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + SkipContextPopulation + + Skips context population if no contexts are found. + + + System.Management.Automation.SwitchParameter + + + False + + + Subscription + + Subscription Name or ID. + + System.String + + System.String + + + None + + + Tenant + + Optional tenant name or ID. + > [!NOTE] > Due to limitations of the current API, you must use a tenant ID instead of a tenant name when > connecting with a business-to-business (B2B) account. + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + AccessToken + + Specifies an access token. + > [!CAUTION] > Access tokens are a type of credential. You should take the appropriate security precautions to > keep them confidential. Access tokens also timeout and may prevent long running tasks from > completing. + + System.String + + System.String + + + None + + + AccountId + + Account Id / User Id / User Name to login with in Default (UserWithSubscriptionId) parameter set; Account ID for access token in AccessToken parameter set; Account ID for managed service in ManagedService parameter set. Can be a managed service resource ID, or the associated client ID. To use the system assigned identity, leave this field blank. + + System.String + + System.String + + + None + + + ApplicationId + + Application ID of the service principal. + + System.String + + System.String + + + None + + + AuthScope + + Optional OAuth scope for login, supported pre-defined values: AadGraph, AnalysisServices, Attestation, Batch, DataLake, KeyVault, OperationalInsights, Storage, Synapse. It also supports resource id like `https://storage.azure.com/`. + + System.String + + System.String + + + None + + + CertificatePassword + + The password required to access the pkcs#12 certificate file. + + System.Security.SecureString + + System.Security.SecureString + + + None + + + CertificatePath + + The path of certficate file in pkcs#12 format. + + System.String + + System.String + + + None + + + CertificateThumbprint + + Certificate Hash or Thumbprint. + + System.String + + System.String + + + None + + + ContextName + + Name of the default Azure context for this login. For more information about Azure contexts, see Azure PowerShell context objects (/powershell/azure/context-persistence). + + System.String + + System.String + + + None + + + Credential + + Specifies a PSCredential object. For more information about the PSCredential object, type `Get-Help Get-Credential`. The PSCredential object provides the user ID and password for organizational ID credentials, or the application ID and secret for service principal credentials. + + System.Management.Automation.PSCredential + + System.Management.Automation.PSCredential + + + None + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Environment + + Environment containing the Azure account. + + System.String + + System.String + + + None + + + FederatedToken + + Specifies a token provided by another identity provider. The issuer and subject in this token must be first configured to be trusted by the ApplicationId. + > [!CAUTION] > Federated tokens are a type of credential. You should take the appropriate security precautions to keep them confidential. Federated tokens also timeout and may prevent long running tasks from completing. + + System.String + + System.String + + + None + + + Force + + Overwrite the existing context with the same name without prompting. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + GraphAccessToken + + AccessToken for Graph Service. + + System.String + + System.String + + + None + + + Identity + + Login using a Managed Service Identity. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + KeyVaultAccessToken + + AccessToken for KeyVault Service. + + System.String + + System.String + + + None + + + MaxContextPopulation + + Max subscription number to populate contexts after login. Default is 25. To populate all subscriptions to contexts, set to -1. + + System.Int32 + + System.Int32 + + + None + + + MicrosoftGraphAccessToken + + Access token to Microsoft Graph + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + SendCertificateChain + + Specifies if the x5c claim (public key of the certificate) should be sent to the STS to achieve easy certificate rollover in Azure AD. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + ServicePrincipal + + Indicates that this account authenticates by providing service principal credentials. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + SkipContextPopulation + + Skips context population if no contexts are found. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + SkipValidation + + Skip validation for access token. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Subscription + + Subscription Name or ID. + + System.String + + System.String + + + None + + + Tenant + + Optional tenant name or ID. + > [!NOTE] > Due to limitations of the current API, you must use a tenant ID instead of a tenant name when > connecting with a business-to-business (B2B) account. + + System.String + + System.String + + + None + + + UseDeviceAuthentication + + Use device code authentication instead of a browser control. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureProfile + + + + + + + + + + + + + + ------------ Example 1: Connect to an Azure account ------------ + Connect-AzAccount + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +azureuser@contoso.com Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud + + + + + + + + Example 2: Connect to Azure using organizational ID credentials + $Credential = Get-Credential +Connect-AzAccount -Credential $Credential + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +azureuser@contoso.com Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud + + + + + + + + Example 3: Connect to Azure using a service principal account + $Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $ApplicationId, $SecuredPassword +Connect-AzAccount -ServicePrincipal -TenantId $TenantId -Credential $Credential + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +xxxx-xxxx-xxxx-xxxx Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud + + + + + + + + Example 4: Use an interactive login to connect to a specific tenant and subscription + Connect-AzAccount -Tenant 'xxxx-xxxx-xxxx-xxxx' -SubscriptionId 'yyyy-yyyy-yyyy-yyyy' + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +azureuser@contoso.com Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud + + + + + + + + ----- Example 5: Connect using a Managed Service Identity ----- + Connect-AzAccount -Identity + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +MSI@50342 Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud + + + + + + + + Example 6: Connect using Managed Service Identity login and ClientId + $identity = Get-AzUserAssignedIdentity -ResourceGroupName 'myResourceGroup' -Name 'myUserAssignedIdentity' +Get-AzVM -ResourceGroupName contoso -Name testvm | Update-AzVM -IdentityType UserAssigned -IdentityId $identity.Id +Connect-AzAccount -Identity -AccountId $identity.ClientId # Run on the virtual machine + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +yyyy-yyyy-yyyy-yyyy Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud + + + + + + + + ------------ Example 7: Connect using certificates ------------ + $Thumbprint = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' +$TenantId = 'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy' +$ApplicationId = '00000000-0000-0000-0000-00000000' +Connect-AzAccount -CertificateThumbprint $Thumbprint -ApplicationId $ApplicationId -Tenant $TenantId -ServicePrincipal + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +xxxxxxxx-xxxx-xxxx-xxxxxxxxx Subscription1 yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy AzureCloud + +Account : xxxxxxxx-xxxx-xxxx-xxxxxxxx +SubscriptionName : MyTestSubscription +SubscriptionId : zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzz +TenantId : yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy +Environment : AzureCloud + + + + + + + + -------------- Example 8: Connect with AuthScope -------------- + Connect-AzAccount -AuthScope Storage + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +yyyy-yyyy-yyyy-yyyy Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud + + + + + + + + ---------- Example 9: Connect using certificate file ---------- + $securePassword = $plainPassword | ConvertTo-SecureString -AsPlainText -Force +$TenantId = 'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy' +$ApplicationId = 'zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzz' +Connect-AzAccount -ServicePrincipal -ApplicationId $ApplicationId -TenantId $TenantId -CertificatePath './certificatefortest.pfx' -CertificatePassword $securePassword + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +xxxxxxxx-xxxx-xxxx-xxxxxxxx Subscription1 yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy AzureCloud + + + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/connect-azaccount + + + + + + Disable-AzContextAutosave + Disable + AzContextAutosave + + Turn off autosaving Azure credentials. Your login information will be forgotten the next time you open a PowerShell window + + + + Turn off autosaving Azure credentials. Your login information will be forgotten the next time you open a PowerShell window + + + + Disable-AzContextAutosave + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + Microsoft.Azure.Commands.Common.Authentication.ContextAutosaveSettings + + + + + + + + + + + + + + ---------- Example 1: Disable autosaving the context ---------- + Disable-AzContextAutosave + + Disable autosave for the current user. + + + + + + -------------------------- Example 2 -------------------------- + <!-- Aladdin Generated Example --> +Disable-AzContextAutosave -Scope Process + + + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/disable-azcontextautosave + + + + + + Disable-AzDataCollection + Disable + AzDataCollection + + Opts out of collecting data to improve the Azure PowerShell cmdlets. Data is collected by default unless you explicitly opt out. + + + + The `Disable-AzDataCollection` cmdlet is used to opt out of data collection. Azure PowerShell automatically collects telemetry data by default. To disable data collection, you must explicitly opt-out. Microsoft aggregates collected data to identify patterns of usage, to identify common issues, and to improve the experience of Azure PowerShell. Microsoft Azure PowerShell doesn't collect any private or personal data. If you've previously opted out, run the `Enable-AzDataCollection` cmdlet to re-enable data collection for the current user on the current machine. + + + + Disable-AzDataCollection + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Void + + + + + + + + + + + + + + -- Example 1: Disabling data collection for the current user -- + Disable-AzDataCollection + + + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/disable-azdatacollection + + + Enable-AzDataCollection + + + + + + + Disable-AzureRmAlias + Disable + AzureRmAlias + + Disables AzureRm prefix aliases for Az modules. + + + + Disables AzureRm prefix aliases for Az modules. If -Module is specified, only modules listed will have aliases disabled. Otherwise all AzureRm aliases are disabled. + + + + Disable-AzureRmAlias + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Module + + Indicates which modules to disable aliases for. If none are specified, default is all enabled modules. + + System.String[] + + System.String[] + + + None + + + PassThru + + If specified, cmdlet will return all disabled aliases + + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Indicates what scope aliases should be disabled for. Default is 'Process' + + + Process + CurrentUser + LocalMachine + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Module + + Indicates which modules to disable aliases for. If none are specified, default is all enabled modules. + + System.String[] + + System.String[] + + + None + + + PassThru + + If specified, cmdlet will return all disabled aliases + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Indicates what scope aliases should be disabled for. Default is 'Process' + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.String + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Disable-AzureRmAlias + + Disables all AzureRm prefixes for the current PowerShell session. + + + + + + -------------------------- Example 2 -------------------------- + Disable-AzureRmAlias -Module Az.Accounts -Scope CurrentUser + + Disables AzureRm aliases for the Az.Accounts module for both the current process and for the current user. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/disable-azurermalias + + + + + + Disconnect-AzAccount + Disconnect + AzAccount + + Disconnects a connected Azure account and removes all credentials and contexts associated with that account. + + + + The Disconnect-AzAccount cmdlet disconnects a connected Azure account and removes all credentials and contexts (subscription and tenant information) associated with that account. After executing this cmdlet, you will need to login again using Connect-AzAccount. + + + + Disconnect-AzAccount + + ApplicationId + + ServicePrincipal id (globally unique id) + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + TenantId + + Tenant id (globally unique id) + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not executed. + + + System.Management.Automation.SwitchParameter + + + False + + + + Disconnect-AzAccount + + AzureContext + + Context + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not executed. + + + System.Management.Automation.SwitchParameter + + + False + + + + Disconnect-AzAccount + + ContextName + + Name of the context to log out of + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not executed. + + + System.Management.Automation.SwitchParameter + + + False + + + + Disconnect-AzAccount + + InputObject + + The account object to remove + + Microsoft.Azure.Commands.Profile.Models.PSAzureRmAccount + + Microsoft.Azure.Commands.Profile.Models.PSAzureRmAccount + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not executed. + + + System.Management.Automation.SwitchParameter + + + False + + + + Disconnect-AzAccount + + Username + + User name of the form 'user@contoso.org' + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not executed. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + ApplicationId + + ServicePrincipal id (globally unique id) + + System.String + + System.String + + + None + + + AzureContext + + Context + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + ContextName + + Name of the context to log out of + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + InputObject + + The account object to remove + + Microsoft.Azure.Commands.Profile.Models.PSAzureRmAccount + + Microsoft.Azure.Commands.Profile.Models.PSAzureRmAccount + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + TenantId + + Tenant id (globally unique id) + + System.String + + System.String + + + None + + + Username + + User name of the form 'user@contoso.org' + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not executed. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureRmAccount + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureRmAccount + + + + + + + + + + + + + + ----------- Example 1: Logout of the current account ----------- + Disconnect-AzAccount + + Logs out of the Azure account associated with the current context. + + + + + + Example 2: Logout of the account associated with a particular context + Get-AzContext "Work" | Disconnect-AzAccount -Scope CurrentUser + + Logs out the account associated with the given context (named 'Work'). Because this uses the 'CurrentUser' scope, all credentials and contexts will be permanently deleted. + + + + + + ------------- Example 3: Log out a particular user ------------- + Disconnect-AzAccount -Username 'user1@contoso.org' + + Logs out the 'user1@contoso.org' user - all credentials and all contexts associated with this user will be removed. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/disconnect-azaccount + + + + + + Enable-AzContextAutosave + Enable + AzContextAutosave + + Azure contexts are PowerShell objects representing your active subscription to run commands against, and the authentication information needed to connect to an Azure cloud. With Azure contexts, Azure PowerShell doesn't need to reauthenticate your account each time you switch subscriptions. For more information, see Azure PowerShell context objects (https://docs.microsoft.com/powershell/azure/context-persistence). + This cmdlet allows the Azure context information to be saved and automatically loaded when you start a PowerShell process. For example, when opening a new window. + + + + Allows the Azure context information to be saved and automatically loaded when a PowerShell process starts. The context is saved at the end of the execution of any cmdlet that affects the context. For example, any profile cmdlet. If you're using user authentication, then tokens can be updated during the course of running any cmdlet. + + + + Enable-AzContextAutosave + + DefaultProfile + + The credentials, tenant, and subscription used for communication with Azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes. For example, whether changes apply only to the current process, or to all sessions started by this user. Changes made with the scope `CurrentUser` will affect all PowerShell sessions started by the user. If a particular session needs to have different settings, use the scope `Process`. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + CurrentUser + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet isn't run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with Azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes. For example, whether changes apply only to the current process, or to all sessions started by this user. Changes made with the scope `CurrentUser` will affect all PowerShell sessions started by the user. If a particular session needs to have different settings, use the scope `Process`. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + CurrentUser + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet isn't run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + Microsoft.Azure.Commands.Common.Authentication.ContextAutosaveSettings + + + + + + + + + + + + + + Example 1: Enable autosaving credentials for the current user + Enable-AzContextAutosave + + + + + + + + -------------------------- Example 2 -------------------------- + <!-- Aladdin Generated Example --> +Enable-AzContextAutosave -Scope Process + + + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/enable-azcontextautosave + + + + + + Enable-AzDataCollection + Enable + AzDataCollection + + Enables Azure PowerShell to collect data to improve the user experience with the Azure PowerShell cmdlets. Executing this cmdlet opts in to data collection for the current user on the current machine. Data is collected by default unless you explicitly opt out. + + + + The `Enable-AzDataCollection` cmdlet is used to opt in to data collection. Azure PowerShell automatically collects telemetry data by default. Microsoft aggregates collected data to identify patterns of usage, to identify common issues, and to improve the experience of Azure PowerShell. Microsoft Azure PowerShell doesn't collect any private or personal data. To disable data collection, you must explicitly opt out by executing `Disable-AzDataCollection`. + + + + Enable-AzDataCollection + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Void + + + + + + + + + + + + + + --- Example 1: Enabling data collection for the current user --- + Enable-AzDataCollection + + + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/enable-azdatacollection + + + Disable-AzDataCollection + + + + + + + Enable-AzureRmAlias + Enable + AzureRmAlias + + Enables AzureRm prefix aliases for Az modules. + + + + Enables AzureRm prefix aliases for Az modules. If -Module is specified, only modules listed will have aliases enabled. Otherwise all AzureRm aliases are enabled. + + + + Enable-AzureRmAlias + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Module + + Indicates which modules to enable aliases for. If none are specified, default is all modules. + + System.String[] + + System.String[] + + + None + + + PassThru + + If specified, cmdlet will return all aliases enabled + + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Indicates what scope aliases should be enabled for. Default is 'Local' + + + Local + Process + CurrentUser + LocalMachine + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Module + + Indicates which modules to enable aliases for. If none are specified, default is all modules. + + System.String[] + + System.String[] + + + None + + + PassThru + + If specified, cmdlet will return all aliases enabled + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Indicates what scope aliases should be enabled for. Default is 'Local' + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.String + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Enable-AzureRmAlias + + Enables all AzureRm prefixes for the current PowerShell session. + + + + + + -------------------------- Example 2 -------------------------- + Enable-AzureRmAlias -Module Az.Accounts -Scope CurrentUser + + Enables AzureRm aliases for the Az.Accounts module for both the current process and for the current user. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/enable-azurermalias + + + + + + Get-AzAccessToken + Get + AzAccessToken + + Get raw access token. When using -ResourceUrl, please make sure the value does match current Azure environment. You may refer to the value of `(Get-AzContext).Environment`. + + + + Get access token + + + + Get-AzAccessToken + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ResourceTypeName + + Optional resource type name, supported values: AadGraph, AnalysisServices, Arm, Attestation, Batch, DataLake, KeyVault, MSGraph, OperationalInsights, ResourceManager, Storage, Synapse. Default value is Arm if not specified. + + System.String + + System.String + + + None + + + TenantId + + Optional Tenant Id. Use tenant id of default context if not specified. + + System.String + + System.String + + + None + + + + Get-AzAccessToken + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ResourceUrl + + Resource url for that you're requesting token, e.g. 'https://graph.microsoft.com/'. + + System.String + + System.String + + + None + + + TenantId + + Optional Tenant Id. Use tenant id of default context if not specified. + + System.String + + System.String + + + None + + + + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ResourceTypeName + + Optional resource type name, supported values: AadGraph, AnalysisServices, Arm, Attestation, Batch, DataLake, KeyVault, MSGraph, OperationalInsights, ResourceManager, Storage, Synapse. Default value is Arm if not specified. + + System.String + + System.String + + + None + + + ResourceUrl + + Resource url for that you're requesting token, e.g. 'https://graph.microsoft.com/'. + + System.String + + System.String + + + None + + + TenantId + + Optional Tenant Id. Use tenant id of default context if not specified. + + System.String + + System.String + + + None + + + + + + None + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAccessToken + + + + + + + + + + + + + + ------- Example 1 Get the access token for ARM endpoint ------- + Get-AzAccessToken + + Get access token of current account for ResourceManager endpoint + + + + + + - Example 2 Get the access token for Microsoft Graph endpoint - + Get-AzAccessToken -ResourceTypeName MSGraph + + Get access token of Microsoft Graph endpoint for current account + + + + + + - Example 3 Get the access token for Microsoft Graph endpoint - + Get-AzAccessToken -ResourceUrl "https://graph.microsoft.com/" + + Get access token of Microsoft Graph endpoint for current account + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/get-azaccesstoken + + + + + + Get-AzContext + Get + AzContext + + Gets the metadata used to authenticate Azure Resource Manager requests. + + + + The Get-AzContext cmdlet gets the current metadata used to authenticate Azure Resource Manager requests. This cmdlet gets the Active Directory account, Active Directory tenant, Azure subscription, and the targeted Azure environment. Azure Resource Manager cmdlets use these settings by default when making Azure Resource Manager requests. When the available amount of subscription exceeds the default limit of 25, some subscriptions may not show up in the results of `Get-AzContext -ListAvailable`. Please run `Connect-AzAccount -MaxContextPopulation <int>` to get more contexts. + + + + Get-AzContext + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ListAvailable + + List all available contexts in the current session. + + + System.Management.Automation.SwitchParameter + + + False + + + RefreshContextFromTokenCache + + Refresh contexts from token cache + + + System.Management.Automation.SwitchParameter + + + False + + + + Get-AzContext + + Name + + The name of the context + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + + + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ListAvailable + + List all available contexts in the current session. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Name + + The name of the context + + System.String + + System.String + + + None + + + RefreshContextFromTokenCache + + Refresh contexts from token cache + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + + + + + + + ------------ Example 1: Getting the current context ------------ + Connect-AzAccount +Get-AzContext + +Name Account SubscriptionName Environment TenantId +---- ------- ---------------- ----------- -------- +Subscription1 (xxxxxxxx-xxxx-xxxx-xxx... test@outlook.com Subscription1 AzureCloud xxxxxxxx-x... + + In this example we are logging into our account with an Azure subscription using Connect-AzAccount, and then we are getting the context of the current session by calling Get-AzContext. + + + + + + ---------- Example 2: Listing all available contexts ---------- + Get-AzContext -ListAvailable + +Name Account SubscriptionName Environment TenantId +---- ------- ---------------- ----------- -------- +Subscription1 (xxxxxxxx-xxxx-xxxx-xxx... test@outlook.com Subscription1 AzureCloud xxxxxxxx-x... +Subscription2 (xxxxxxxx-xxxx-xxxx-xxx... test@outlook.com Subscription2 AzureCloud xxxxxxxx-x... +Subscription3 (xxxxxxxx-xxxx-xxxx-xxx... test@outlook.com Subscription3 AzureCloud xxxxxxxx-x... + + In this example, all currently available contexts are displayed. The user may select one of these contexts using Select-AzContext. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/get-azcontext + + + Set-AzContext + + + + Connect-AzAccount + + + + + + + Get-AzContextAutosaveSetting + Get + AzContextAutosaveSetting + + Display metadata about the context autosave feature, including whether the context is automatically saved, and where saved context and credential information can be found. + + + + Display metadata about the context autosave feature, including whether the context is automatically saved, and where saved context and credential information can be found. + + + + Get-AzContextAutosaveSetting + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + + + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + + + + None + + + + + + + + + + Microsoft.Azure.Commands.Common.Authentication.ContextAutosaveSettings + + + + + + + + + + + + + + ------ Get context save metadata for the current session ------ + Get-AzContextAutosaveSetting + +Mode : Process +ContextDirectory : None +ContextFile : None +CacheDirectory : None +CacheFile : None +Settings : {} + + Get details about whether and where the context is saved. In the above example, the autosave feature has been disabled. + + + + + + -------- Get context save metadata for the current user -------- + Get-AzContextAutosaveSetting -Scope CurrentUser + +Mode : CurrentUser +ContextDirectory : C:\Users\contoso\AppData\Roaming\Windows Azure Powershell +ContextFile : AzureRmContext.json +CacheDirectory : C:\Users\contoso\AppData\Roaming\Windows Azure Powershell +CacheFile : TokenCache.dat +Settings : {} + + Get details about whether and where the context is saved by default for the current user. Note that this may be different than the settings that are active in the current session. In the above example, the autosave feature has been enabled, and data is saved to the default location. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/get-azcontextautosavesetting + + + + + + Get-AzDefault + Get + AzDefault + + Get the defaults set by the user in the current context. + + + + The Get-AzDefault cmdlet gets the Resource Group that the user has set as default in the current context. + + + + Get-AzDefault + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ResourceGroup + + Display Default Resource Group + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ResourceGroup + + Display Default Resource Group + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + System.Management.Automation.SwitchParameter + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSResourceGroup + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-AzDefault + +Id : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup +Name : myResourceGroup +Properties : Microsoft.Azure.Management.Internal.Resources.Models.ResourceGroupProperties +Location : eastus +ManagedBy : +Tags : + + This command returns the current defaults if there are defaults set, or returns nothing if no default is set. + + + + + + -------------------------- Example 2 -------------------------- + Get-AzDefault -ResourceGroup + +Id : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup +Name : myResourceGroup +Properties : Microsoft.Azure.Management.Internal.Resources.Models.ResourceGroupProperties +Location : eastus +ManagedBy : +Tags : + + This command returns the current default Resource Group if there is a default set, or returns nothing if no default is set. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/get-azdefault + + + + + + Get-AzEnvironment + Get + AzEnvironment + + Get endpoints and metadata for an instance of Azure services. + + + + The Get-AzEnvironment cmdlet gets endpoints and metadata for an instance of Azure services. + + + + Get-AzEnvironment + + Name + + Specifies the name of the Azure instance to get. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + + + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Name + + Specifies the name of the Azure instance to get. + + System.String + + System.String + + + None + + + + + + System.String + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureEnvironment + + + + + + + + + + + + + + ---------- Example 1: Getting all Azure environments ---------- + Get-AzEnvironment + +Name Resource Manager Url ActiveDirectory Authority Type +---- -------------------- ------------------------- ---- +AzureUSGovernment https://management.usgovcloudapi.net/ https://login.microsoftonline.us/ Built-in +AzureGermanCloud https://management.microsoftazure.de/ https://login.microsoftonline.de/ Built-in +AzureCloud https://management.azure.com/ https://login.microsoftonline.com/ Built-in +AzureChinaCloud https://management.chinacloudapi.cn/ https://login.chinacloudapi.cn/ Built-in + + This example shows how to get the endpoints and metadata for the AzureCloud (default) environment. + + + + + + -------- Example 2: Getting the AzureCloud environment -------- + Get-AzEnvironment -Name AzureCloud + +Name Resource Manager Url ActiveDirectory Authority Type +---- -------------------- ------------------------- ---- +AzureCloud https://management.azure.com/ https://login.microsoftonline.com/ Built-in + + This example shows how to get the endpoints and metadata for the AzureCloud (default) environment. + + + + + + ------ Example 3: Getting the AzureChinaCloud environment ------ + Get-AzEnvironment -Name AzureChinaCloud | Format-List + +Name : AzureChinaCloud +Type : Built-in +EnableAdfsAuthentication : False +OnPremise : False +ActiveDirectoryServiceEndpointResourceId : https://management.core.chinacloudapi.cn/ +AdTenant : Common +GalleryUrl : https://gallery.azure.com/ +ManagementPortalUrl : https://go.microsoft.com/fwlink/?LinkId=301902 +ServiceManagementUrl : https://management.core.chinacloudapi.cn/ +PublishSettingsFileUrl : https://go.microsoft.com/fwlink/?LinkID=301776 +ResourceManagerUrl : https://management.chinacloudapi.cn/ +SqlDatabaseDnsSuffix : .database.chinacloudapi.cn +StorageEndpointSuffix : core.chinacloudapi.cn +ActiveDirectoryAuthority : https://login.chinacloudapi.cn/ +GraphUrl : https://graph.chinacloudapi.cn/ +GraphEndpointResourceId : https://graph.chinacloudapi.cn/ +TrafficManagerDnsSuffix : trafficmanager.cn +AzureKeyVaultDnsSuffix : vault.azure.cn +DataLakeEndpointResourceId : +AzureDataLakeStoreFileSystemEndpointSuffix : +AzureDataLakeAnalyticsCatalogAndJobEndpointSuffix : +AzureKeyVaultServiceEndpointResourceId : https://vault.azure.cn +ContainerRegistryEndpointSuffix : azurecr.cn +AzureOperationalInsightsEndpointResourceId : +AzureOperationalInsightsEndpoint : +AzureAnalysisServicesEndpointSuffix : asazure.chinacloudapi.cn +AnalysisServicesEndpointResourceId : https://region.asazure.chinacloudapi.cn +AzureAttestationServiceEndpointSuffix : +AzureAttestationServiceEndpointResourceId : +AzureSynapseAnalyticsEndpointSuffix : dev.azuresynapse.azure.cn +AzureSynapseAnalyticsEndpointResourceId : https://dev.azuresynapse.azure.cn + + This example shows how to get the endpoints and metadata for the AzureChinaCloud environment. + + + + + + ----- Example 4: Getting the AzureUSGovernment environment ----- + Get-AzEnvironment -Name AzureUSGovernment + +Name Resource Manager Url ActiveDirectory Authority Type +---- -------------------- ------------------------- ---- +AzureUSGovernment https://management.usgovcloudapi.net/ https://login.microsoftonline.us/ Built-in + + This example shows how to get the endpoints and metadata for the AzureUSGovernment environment. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/get-azenvironment + + + Add-AzEnvironment + + + + Remove-AzEnvironment + + + + Set-AzEnvironment + + + + + + + Get-AzSubscription + Get + AzSubscription + + Get subscriptions that the current account can access. + + + + The Get-AzSubscription cmdlet gets the subscription ID, subscription name, and home tenant for subscriptions that the current account can access. + + + + Get-AzSubscription + + AsJob + + Run cmdlet in the background and return a Job to track progress. + + + System.Management.Automation.SwitchParameter + + + False + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + SubscriptionId + + Specifies the ID of the subscription to get. + + System.String + + System.String + + + None + + + TenantId + + Specifies the ID of the tenant that contains subscriptions to get. + + System.String + + System.String + + + None + + + + Get-AzSubscription + + AsJob + + Run cmdlet in the background and return a Job to track progress. + + + System.Management.Automation.SwitchParameter + + + False + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + SubscriptionName + + Specifies the name of the subscription to get. + + System.String + + System.String + + + None + + + TenantId + + Specifies the ID of the tenant that contains subscriptions to get. + + System.String + + System.String + + + None + + + + + + AsJob + + Run cmdlet in the background and return a Job to track progress. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + SubscriptionId + + Specifies the ID of the subscription to get. + + System.String + + System.String + + + None + + + SubscriptionName + + Specifies the name of the subscription to get. + + System.String + + System.String + + + None + + + TenantId + + Specifies the ID of the tenant that contains subscriptions to get. + + System.String + + System.String + + + None + + + + + + System.String + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscription + + + + + + + + + + + + + + ------- Example 1: Get all subscriptions in all tenants ------- + Get-AzSubscription + +Name Id TenantId State +---- -- -------- ----- +Subscription1 yyyy-yyyy-yyyy-yyyy aaaa-aaaa-aaaa-aaaa Enabled +Subscription2 xxxx-xxxx-xxxx-xxxx aaaa-aaaa-aaaa-aaaa Enabled +Subscription3 zzzz-zzzz-zzzz-zzzz bbbb-bbbb-bbbb-bbbb Enabled + + This command gets all subscriptions in all tenants that are authorized for the current account. + + + + + + ---- Example 2: Get all subscriptions for a specific tenant ---- + Get-AzSubscription -TenantId "aaaa-aaaa-aaaa-aaaa" + +Name Id TenantId State +---- -- -------- ----- +Subscription1 yyyy-yyyy-yyyy-yyyy aaaa-aaaa-aaaa-aaaa Enabled +Subscription2 xxxx-xxxx-xxxx-xxxx aaaa-aaaa-aaaa-aaaa Enabled + + List all subscriptions in the given tenant that are authorized for the current account. + + + + + + ---- Example 3: Get all subscriptions in the current tenant ---- + Get-AzSubscription + +Name Id TenantId State +---- -- -------- ----- +Subscription1 yyyy-yyyy-yyyy-yyyy aaaa-aaaa-aaaa-aaaa Enabled +Subscription2 xxxx-xxxx-xxxx-xxxx aaaa-aaaa-aaaa-aaaa Enabled + + This command gets all subscriptions in the current tenant that are authorized for the current user. + + + + + + Example 4: Change the current context to use a specific subscription + Get-AzSubscription -SubscriptionId "xxxx-xxxx-xxxx-xxxx" -TenantId "yyyy-yyyy-yyyy-yyyy" | Set-AzContext + +Name Account SubscriptionName Environment TenantId +---- ------- ---------------- ----------- -------- +Subscription1 (xxxx-xxxx-xxxx-xxxx) azureuser@micros... Subscription1 AzureCloud yyyy-yyyy-yyyy-yyyy + + This command gets the specified subscription, and then sets the current context to use it. All subsequent cmdlets in this session use the new subscription (Contoso Subscription 1) by default. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/get-azsubscription + + + + + + Get-AzTenant + Get + AzTenant + + Gets tenants that are authorized for the current user. + + + + The Get-AzTenant cmdlet gets tenants authorized for the current user. + + + + Get-AzTenant + + TenantId + + Specifies the ID of the tenant that this cmdlet gets. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + TenantId + + Specifies the ID of the tenant that this cmdlet gets. + + System.String + + System.String + + + None + + + + + + System.String + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureTenant + + + + + + + + + + + + + + ---------------- Example 1: Getting all tenants ---------------- + Connect-AzAccount +Get-AzTenant + +Id Name Category Domains +-- ----------- -------- ------- +xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Microsoft Home {test0.com, test1.com, test2.microsoft.com, test3.microsoft.com...} +yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy Testhost Home testhost.onmicrosoft.com + + This example shows how to get all of the authorized tenants of an Azure account. + + + + + + ------------- Example 2: Getting a specific tenant ------------- + Connect-AzAccount +Get-AzTenant -TenantId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + +Id Name Category Domains +-- ----------- -------- ------- +xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Microsoft Home {test0.com, test1.com, test2.microsoft.com, test3.microsoft.com...} + + This example shows how to get a specific authorized tenant of an Azure account. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/get-aztenant + + + + + + Import-AzContext + Import + AzContext + + Loads Azure authentication information from a file. + + + + The Import-AzContext cmdlet loads authentication information from a file to set the Azure environment and context. Cmdlets that you run in the current session use this information to authenticate requests to Azure Resource Manager. + + + + Import-AzContext + + AzureContext + + {{Fill AzureContext Description}} + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + + None + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Import-AzContext + + Path + + Specifies the path to context information saved by using Save-AzContext. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + AzureContext + + {{Fill AzureContext Description}} + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + + None + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Path + + Specifies the path to context information saved by using Save-AzContext. + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + + + + + + + System.String + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureProfile + + + + + + + + + + + + + + ----- Example 1: Importing a context from a AzureRmProfile ----- + Import-AzContext -AzContext (Connect-AzAccount) + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +azureuser@contoso.com Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud + + This example imports a context from a PSAzureProfile that is passed through to the cmdlet. + + + + + + ------- Example 2: Importing a context from a JSON file ------- + Import-AzContext -Path C:\test.json + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +azureuser@contoso.com Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud + + This example selects a context from a JSON file that is passed through to the cmdlet. This JSON file can be created from Save-AzContext. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/import-azcontext + + + + + + Invoke-AzRestMethod + Invoke + AzRestMethod + + Construct and perform HTTP request to Azure resource management endpoint only + + + + Construct and perform HTTP request to Azure resource management endpoint only + + + + Invoke-AzRestMethod + + ApiVersion + + Api Version + + System.String + + System.String + + + None + + + AsJob + + Run cmdlet in the background + + + System.Management.Automation.SwitchParameter + + + False + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Method + + Http Method + + + GET + POST + PUT + PATCH + DELETE + + System.String + + System.String + + + None + + + Name + + list of Target Resource Name + + System.String[] + + System.String[] + + + None + + + Payload + + JSON format payload + + System.String + + System.String + + + None + + + ResourceGroupName + + Target Resource Group Name + + System.String + + System.String + + + None + + + ResourceProviderName + + Target Resource Provider Name + + System.String + + System.String + + + None + + + ResourceType + + List of Target Resource Type + + System.String[] + + System.String[] + + + None + + + SubscriptionId + + Target Subscription Id + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Invoke-AzRestMethod + + AsJob + + Run cmdlet in the background + + + System.Management.Automation.SwitchParameter + + + False + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Method + + Http Method + + + GET + POST + PUT + PATCH + DELETE + + System.String + + System.String + + + None + + + Path + + Path of target resource URL. Hostname of Resource Manager should not be added. + + System.String + + System.String + + + None + + + Payload + + JSON format payload + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Invoke-AzRestMethod + + Uri + + Uniform Resource Identifier of the Azure resources. The target resource needs to support Azure AD authentication and the access token is derived according to resource id. If resource id is not set, its value is derived according to built-in service suffixes in current Azure Environment. + + System.Uri + + System.Uri + + + None + + + AsJob + + Run cmdlet in the background + + + System.Management.Automation.SwitchParameter + + + False + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Method + + Http Method + + + GET + POST + PUT + PATCH + DELETE + + System.String + + System.String + + + None + + + Payload + + JSON format payload + + System.String + + System.String + + + None + + + ResourceId + + Identifier URI specified by the REST API you are calling. It shouldn't be the resource id of Azure Resource Manager. + + System.Uri + + System.Uri + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + ApiVersion + + Api Version + + System.String + + System.String + + + None + + + AsJob + + Run cmdlet in the background + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Method + + Http Method + + System.String + + System.String + + + None + + + Name + + list of Target Resource Name + + System.String[] + + System.String[] + + + None + + + Path + + Path of target resource URL. Hostname of Resource Manager should not be added. + + System.String + + System.String + + + None + + + Payload + + JSON format payload + + System.String + + System.String + + + None + + + ResourceGroupName + + Target Resource Group Name + + System.String + + System.String + + + None + + + ResourceId + + Identifier URI specified by the REST API you are calling. It shouldn't be the resource id of Azure Resource Manager. + + System.Uri + + System.Uri + + + None + + + ResourceProviderName + + Target Resource Provider Name + + System.String + + System.String + + + None + + + ResourceType + + List of Target Resource Type + + System.String[] + + System.String[] + + + None + + + SubscriptionId + + Target Subscription Id + + System.String + + System.String + + + None + + + Uri + + Uniform Resource Identifier of the Azure resources. The target resource needs to support Azure AD authentication and the access token is derived according to resource id. If resource id is not set, its value is derived according to built-in service suffixes in current Azure Environment. + + System.Uri + + System.Uri + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + System.string + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSHttpResponse + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Invoke-AzRestMethod -Path "/subscriptions/{subscription}/resourcegroups/{resourcegroup}/providers/microsoft.operationalinsights/workspaces/{workspace}?api-version={API}" -Method GET + +Headers : {[Cache-Control, System.String[]], [Pragma, System.String[]], [x-ms-request-id, System.String[]], [Strict-Transport-Security, System.String[]]…} +Version : 1.1 +StatusCode : 200 +Method : GET +Content : { + "properties": { + "source": "Azure", + "customerId": "{customerId}", + "provisioningState": "Succeeded", + "sku": { + "name": "pergb2018", + "maxCapacityReservationLevel": 3000, + "lastSkuUpdate": "Mon, 25 May 2020 11:10:01 GMT" + }, + "retentionInDays": 30, + "features": { + "legacy": 0, + "searchVersion": 1, + "enableLogAccessUsingOnlyResourcePermissions": true + }, + "workspaceCapping": { + "dailyQuotaGb": -1.0, + "quotaNextResetTime": "Thu, 18 Jun 2020 05:00:00 GMT", + "dataIngestionStatus": "RespectQuota" + }, + "enableFailover": false, + "publicNetworkAccessForIngestion": "Enabled", + "publicNetworkAccessForQuery": "Enabled", + "createdDate": "Mon, 25 May 2020 11:10:01 GMT", + "modifiedDate": "Mon, 25 May 2020 11:10:02 GMT" + }, + "id": "/subscriptions/{subscription}/resourcegroups/{resourcegroup}/providers/microsoft.operationalinsights/workspaces/{workspace}", + "name": "{workspace}", + "type": "Microsoft.OperationalInsights/workspaces", + "location": "eastasia", + "tags": {} + } + + Get log analytics workspace by path. It only supports management plane API and Hostname of Azure Resource Manager is added according to Azure environment setting. + + + + + + + -------------------------- Example 2 -------------------------- + Invoke-AzRestMethod https://graph.microsoft.com/v1.0/me + +Headers : {[Date, System.String[]], [Cache-Control, System.String[]], [Transfer-Encoding, System.String[]], [Strict-Transport-Security, System.String[]]…} +Version : 1.1 +StatusCode : 200 +Method : GET +Content : {"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users/$entity","businessPhones":["......} + + Get current signed in user via MicrosoftGraph API. This example is equivalent to `Get-AzADUser -SignedIn`. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/invoke-azrestmethod + + + + + + Open-AzSurveyLink + Open + AzSurveyLink + + Open survey link in default browser. + + + + Open survey link in default browser. + + + + Open-AzSurveyLink + + + + + + + None + + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Open-AzSurveyLink + +Opening the default browser to https://aka.ms/azpssurvey?Q_CHL=INTERCEPT + + + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/open-azsurveylink + + + + + + Register-AzModule + Register + AzModule + + FOR INTERNAL USE ONLY - Provide Runtime Support for AutoRest Generated cmdlets + + + + FOR INTERNAL USE ONLY - Provide Runtime Support for AutoRest Generated cmdlets + + + + Register-AzModule + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Register-AzModule + + Used Internally by AutoRest-generated cmdlets + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/register-azmodule + + + + + + Remove-AzContext + Remove + AzContext + + Remove a context from the set of available contexts + + + + Remove an azure context from the set of contexts + + + + Remove-AzContext + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Remove context even if it is the default + + + System.Management.Automation.SwitchParameter + + + False + + + InputObject + + A context object, normally passed through the pipeline. + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + PassThru + + Return the removed context + + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Remove-AzContext + + Name + + The name of the context + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Remove context even if it is the default + + + System.Management.Automation.SwitchParameter + + + False + + + PassThru + + Return the removed context + + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Remove context even if it is the default + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + InputObject + + A context object, normally passed through the pipeline. + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + Name + + The name of the context + + System.String + + System.String + + + None + + + PassThru + + Return the removed context + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-AzContext -Name Default + + Remove the context named default + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/remove-azcontext + + + + + + Remove-AzEnvironment + Remove + AzEnvironment + + Removes endpoints and metadata for connecting to a given Azure instance. + + + + The Remove-AzEnvironment cmdlet removes endpoints and metadata information for connecting to a given Azure instance. + + + + Remove-AzEnvironment + + Name + + Specifies the name of the environment to remove. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Name + + Specifies the name of the environment to remove. + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureEnvironment + + + + + + + + + + + + + + ----- Example 1: Creating and removing a test environment ----- + Add-AzEnvironment -Name TestEnvironment ` + -ActiveDirectoryEndpoint TestADEndpoint ` + -ActiveDirectoryServiceEndpointResourceId TestADApplicationId ` + -ResourceManagerEndpoint TestRMEndpoint ` + -GalleryEndpoint TestGalleryEndpoint ` + -GraphEndpoint TestGraphEndpoint + +Name Resource Manager Url ActiveDirectory Authority +---- -------------------- ------------------------- +TestEnvironment TestRMEndpoint TestADEndpoint/ + +Remove-AzEnvironment -Name TestEnvironment + +Name Resource Manager Url ActiveDirectory Authority +---- -------------------- ------------------------- +TestEnvironment TestRMEndpoint TestADEndpoint/ + + This example shows how to create an environment using Add-AzEnvironment, and then how to delete the environment using Remove-AzEnvironment. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/remove-azenvironment + + + Add-AzEnvironment + + + + Get-AzEnvironment + + + + Set-AzEnvironment + + + + + + + Rename-AzContext + Rename + AzContext + + Rename an Azure context. By default contexts are named by user account and subscription. + + + + Rename an Azure context. By default contexts are named by user account and subscription. + + + + Rename-AzContext + + TargetName + + The new name of the context + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Rename the context even if the target context already exists + + + System.Management.Automation.SwitchParameter + + + False + + + InputObject + + A context object, normally passed through the pipeline. + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + PassThru + + Return the renamed context. + + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Rename-AzContext + + SourceName + + The name of the context + + System.String + + System.String + + + None + + + TargetName + + The new name of the context + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Rename the context even if the target context already exists + + + System.Management.Automation.SwitchParameter + + + False + + + PassThru + + Return the renamed context. + + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Rename the context even if the target context already exists + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + InputObject + + A context object, normally passed through the pipeline. + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + PassThru + + Return the renamed context. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + SourceName + + The name of the context + + System.String + + System.String + + + None + + + TargetName + + The new name of the context + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + + + + + + + ------ Example 1: Rename a context using named parameters ------ + Rename-AzContext -SourceName "[user1@contoso.org; 12345-6789-2345-3567890]" -TargetName "Work" + + Rename the context for 'user1@contoso.org' with subscription '12345-6789-2345-3567890' to 'Work'. After this command, you will be able to target the context using 'Select-AzContext Work'. Note that you can tab through the values for 'SourceName' using tab completion. + + + + + + --- Example 2: Rename a context using positional parameters --- + Rename-AzContext "My context" "Work" + + Rename the context named "My context" to "Work". After this command, you will be able to target the context using Select-AzContext Work + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/rename-azcontext + + + + + + Resolve-AzError + Resolve + AzError + + Display detailed information about PowerShell errors, with extended details for Azure PowerShell errors. + + + + Resolves and displays detailed information about errors in the current PowerShell session, including where the error occurred in script, stack trace, and all inner and aggregate exceptions. For Azure PowerShell errors provides additional detail in debugging service issues, including complete detail about the request and server response that caused the error. + + + + Resolve-AzError + + Error + + One or more error records to resolve. If no parameters are specified, all errors in the session are resolved. + + System.Management.Automation.ErrorRecord[] + + System.Management.Automation.ErrorRecord[] + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + + Resolve-AzError + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Last + + Resolve only the last error that occurred in the session. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Error + + One or more error records to resolve. If no parameters are specified, all errors in the session are resolved. + + System.Management.Automation.ErrorRecord[] + + System.Management.Automation.ErrorRecord[] + + + None + + + Last + + Resolve only the last error that occurred in the session. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + System.Management.Automation.ErrorRecord[] + + + + + + + + + + Microsoft.Azure.Commands.Profile.Errors.AzureErrorRecord + + + + + + + + Microsoft.Azure.Commands.Profile.Errors.AzureExceptionRecord + + + + + + + + Microsoft.Azure.Commands.Profile.Errors.AzureRestExceptionRecord + + + + + + + + + + + + + + -------------- Example 1: Resolve the Last Error -------------- + Resolve-AzError -Last + +HistoryId: 3 + + +Message : Run Connect-AzAccount to login. +StackTrace : at Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet.get_DefaultContext() in AzureRmCmdlet.cs:line 85 + at Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet.LogCmdletStartInvocationInfo() in AzureRmCmdlet.cs:line 269 + at Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet.BeginProcessing() inAzurePSCmdlet.cs:line 299 + at Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet.BeginProcessing() in AzureRmCmdlet.cs:line 320 + at Microsoft.Azure.Commands.Profile.GetAzureRMSubscriptionCommand.BeginProcessing() in GetAzureRMSubscription.cs:line 49 + at System.Management.Automation.Cmdlet.DoBeginProcessing() + at System.Management.Automation.CommandProcessorBase.DoBegin() +Exception : System.Management.Automation.PSInvalidOperationException +InvocationInfo : {Get-AzSubscription} +Line : Get-AzSubscription +Position : At line:1 char:1 + + Get-AzSubscription + + ~~~~~~~~~~~~~~~~~~~~~~~ +HistoryId : 3 + + Get details of the last error. + + + + + + --------- Example 2: Resolve all Errors in the Session --------- + Resolve-AzError + +HistoryId: 8 + + +RequestId : b61309e8-09c9-4f0d-ba56-08a6b28c731d +Message : Resource group 'contoso' could not be found. +ServerMessage : ResourceGroupNotFound: Resource group 'contoso' could not be found. + (System.Collections.Generic.List`1[Microsoft.Rest.Azure.CloudError]) +ServerResponse : {NotFound} +RequestMessage : {GET https://management.azure.com/subscriptions/00977cdb-163f-435f-9c32-39ec8ae61f4d/resourceGroups/co + ntoso/providers/Microsoft.Storage/storageAccounts/contoso?api-version=2016-12-01} +InvocationInfo : {Get-AzStorageAccount} +Line : Get-AzStorageAccount -ResourceGroupName contoso -Name contoso +Position : At line:1 char:1 + + Get-AzStorageAccount -ResourceGroupName contoso -Name contoso + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +StackTrace : at Microsoft.Azure.Management.Storage.StorageAccountsOperations.<GetPropertiesWithHttpMessagesAsync + >d__8.MoveNext() + --- End of stack trace from previous location where exception was thrown --- + at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) + at Microsoft.Azure.Management.Storage.StorageAccountsOperationsExtensions.<GetPropertiesAsync>d__7. + MoveNext() + --- End of stack trace from previous location where exception was thrown --- + at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) + at Microsoft.Azure.Management.Storage.StorageAccountsOperationsExtensions.GetProperties(IStorageAcc + ountsOperations operations, String resourceGroupName, String accountName) + at Microsoft.Azure.Commands.Management.Storage.GetAzureStorageAccountCommand.ExecuteCmdlet() in C:\ + zd\azure-powershell\src\ResourceManager\Storage\Commands.Management.Storage\StorageAccount\GetAzureSto + rageAccount.cs:line 70 + at Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet.ProcessRecord() in + C:\zd\azure-powershell\src\Common\Commands.Common\AzurePSCmdlet.cs:line 642 +HistoryId : 8 + + + HistoryId: 5 + + +Message : Run Connect-AzAccount to login. +StackTrace : at Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet.get_DefaultContext() in C:\zd\azur + e-powershell\src\ResourceManager\Common\Commands.ResourceManager.Common\AzureRmCmdlet.cs:line 85 + at Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet.LogCmdletStartInvocationInfo() in + C:\zd\azure-powershell\src\ResourceManager\Common\Commands.ResourceManager.Common\AzureRmCmdlet.cs:lin + e 269 + at Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet.BeginProcessing() in + C:\zd\azure-powershell\src\Common\Commands.Common\AzurePSCmdlet.cs:line 299 + at Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet.BeginProcessing() in C:\zd\azure-p + owershell\src\ResourceManager\Common\Commands.ResourceManager.Common\AzureRmCmdlet.cs:line 320 + at Microsoft.Azure.Commands.Profile.GetAzureRMSubscriptionCommand.BeginProcessing() in C:\zd\azure- + powershell\src\ResourceManager\Profile\Commands.Profile\Subscription\GetAzureRMSubscription.cs:line 49 + at System.Management.Automation.Cmdlet.DoBeginProcessing() + at System.Management.Automation.CommandProcessorBase.DoBegin() +Exception : System.Management.Automation.PSInvalidOperationException +InvocationInfo : {Get-AzSubscription} +Line : Get-AzSubscription +Position : At line:1 char:1 + + Get-AzSubscription + + ~~~~~~~~~~~~~~~~~~~~~~~ +HistoryId : 5 + + Get details of all errors that have occurred in the current session. + + + + + + ------------- Example 3: Resolve a Specific Error ------------- + Resolve-AzError $Error[0] + +HistoryId: 8 + + +RequestId : b61309e8-09c9-4f0d-ba56-08a6b28c731d +Message : Resource group 'contoso' could not be found. +ServerMessage : ResourceGroupNotFound: Resource group 'contoso' could not be found. + (System.Collections.Generic.List`1[Microsoft.Rest.Azure.CloudError]) +ServerResponse : {NotFound} +RequestMessage : {GET https://management.azure.com/subscriptions/00977cdb-163f-435f-9c32-39ec8ae61f4d/resourceGroups/co + ntoso/providers/Microsoft.Storage/storageAccounts/contoso?api-version=2016-12-01} +InvocationInfo : {Get-AzStorageAccount} +Line : Get-AzStorageAccount -ResourceGroupName contoso -Name contoso +Position : At line:1 char:1 + + Get-AzStorageAccount -ResourceGroupName contoso -Name contoso + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +StackTrace : at Microsoft.Azure.Management.Storage.StorageAccountsOperations.<GetPropertiesWithHttpMessagesAsync + >d__8.MoveNext() + --- End of stack trace from previous location where exception was thrown --- + at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) + at Microsoft.Azure.Management.Storage.StorageAccountsOperationsExtensions.<GetPropertiesAsync>d__7. + MoveNext() + --- End of stack trace from previous location where exception was thrown --- + at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) + at Microsoft.Azure.Management.Storage.StorageAccountsOperationsExtensions.GetProperties(IStorageAcc + ountsOperations operations, String resourceGroupName, String accountName) + at Microsoft.Azure.Commands.Management.Storage.GetAzureStorageAccountCommand.ExecuteCmdlet() in C:\ + zd\azure-powershell\src\ResourceManager\Storage\Commands.Management.Storage\StorageAccount\GetAzureSto + rageAccount.cs:line 70 + at Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet.ProcessRecord() in + C:\zd\azure-powershell\src\Common\Commands.Common\AzurePSCmdlet.cs:line 642 +HistoryId : 8 + + Get details of the specified error. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/resolve-azerror + + + + + + Save-AzContext + Save + AzContext + + Saves the current authentication information for use in other PowerShell sessions. + + + + The Save-AzContext cmdlet saves the current authentication information for use in other PowerShell sessions. + + + + Save-AzContext + + Profile + + Specifies the Azure context from which this cmdlet reads. If you do not specify a context, this cmdlet reads from the local default context. + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + + None + + + Path + + Specifies the path of the file to which to save authentication information. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Overwrite the given file if it exists + + + System.Management.Automation.SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Overwrite the given file if it exists + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Path + + Specifies the path of the file to which to save authentication information. + + System.String + + System.String + + + None + + + Profile + + Specifies the Azure context from which this cmdlet reads. If you do not specify a context, this cmdlet reads from the local default context. + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureProfile + + + + + + + + + + + + + + ------- Example 1: Saving the current session's context ------- + Connect-AzAccount +Save-AzContext -Path C:\test.json + + This example saves the current session's Azure context to the JSON file provided. + + + + + + -------------- Example 2: Saving a given context -------------- + Save-AzContext -Profile (Connect-AzAccount) -Path C:\test.json + + This example saves the Azure context that is passed through to the cmdlet to the JSON file provided. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/save-azcontext + + + + + + Select-AzContext + Select + AzContext + + Select a subscription and account to target in Azure PowerShell cmdlets + + + + Select a subscription to target (or account or tenant) in Azure PowerShell cmdlets. After this cmdlet, future cmdlets will target the selected context. + + + + Select-AzContext + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + InputObject + + A context object, normally passed through the pipeline. + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Select-AzContext + + Name + + The name of the context + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + InputObject + + A context object, normally passed through the pipeline. + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + Name + + The name of the context + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + + + + + + + -------------- Example 1: Target a named context -------------- + Select-AzContext "Work" + +Name Account SubscriptionName Environment TenantId +---- ------- ---------------- ----------- -------- +Work test@outlook.com Subscription1 AzureCloud xxxxxxxx-x... + + Target future Azure PowerShell cmdlets at the account, tenant, and subscription in the 'Work' context. + + + + + + -------------------------- Example 2 -------------------------- + <!-- Aladdin Generated Example --> +Select-AzContext -Name TestEnvironment -Scope Process + + + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/select-azcontext + + + + + + Send-Feedback + Send + Feedback + + Sends feedback to the Azure PowerShell team via a set of guided prompts. + + + + The Send-Feedback cmdlet sends feedback to the Azure PowerShell team. + + + + Send-Feedback + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + + + + None + + + + + + + + + + System.Void + + + + + + + + + + + + + + -------------------------- Example 1: -------------------------- + Send-Feedback + +With zero (0) being the least and ten (10) being the most, how likely are you to recommend Azure PowerShell to a friend or colleague? + +10 + +What does Azure PowerShell do well? + +Response. + +Upon what could Azure PowerShell improve? + +Response. + +Please enter your email if you are interested in providing follow up information: + +your@email.com + + + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/send-feedback + + + + + + Set-AzContext + Set + AzContext + + Sets the tenant, subscription, and environment for cmdlets to use in the current session. + + + + The Set-AzContext cmdlet sets authentication information for cmdlets that you run in the current session. The context includes tenant, subscription, and environment information. + + + + Set-AzContext + + Context + + Specifies the context for the current session. + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ExtendedProperty + + Additional context properties + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + + None + + + Force + + Overwrite the existing context with the same name, if any. + + + System.Management.Automation.SwitchParameter + + + False + + + Name + + Name of the context + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Set-AzContext + + Subscription + + The name or id of the subscription that the context should be set to. This parameter has aliases to -SubscriptionName and -SubscriptionId, so, for clarity, either of these can be used instead of -Subscription when specifying name and id, respectively. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ExtendedProperty + + Additional context properties + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + + None + + + Force + + Overwrite the existing context with the same name, if any. + + + System.Management.Automation.SwitchParameter + + + False + + + Name + + Name of the context + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Tenant + + Tenant domain name or ID + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Set-AzContext + + SubscriptionObject + + A subscription object + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscription + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscription + + + None + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ExtendedProperty + + Additional context properties + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + + None + + + Force + + Overwrite the existing context with the same name, if any. + + + System.Management.Automation.SwitchParameter + + + False + + + Name + + Name of the context + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Set-AzContext + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ExtendedProperty + + Additional context properties + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + + None + + + Force + + Overwrite the existing context with the same name, if any. + + + System.Management.Automation.SwitchParameter + + + False + + + Name + + Name of the context + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Tenant + + Tenant domain name or ID + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Set-AzContext + + TenantObject + + A Tenant Object + + Microsoft.Azure.Commands.Profile.Models.PSAzureTenant + + Microsoft.Azure.Commands.Profile.Models.PSAzureTenant + + + None + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ExtendedProperty + + Additional context properties + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + + None + + + Force + + Overwrite the existing context with the same name, if any. + + + System.Management.Automation.SwitchParameter + + + False + + + Name + + Name of the context + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + Context + + Specifies the context for the current session. + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ExtendedProperty + + Additional context properties + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + + None + + + Force + + Overwrite the existing context with the same name, if any. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Name + + Name of the context + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Subscription + + The name or id of the subscription that the context should be set to. This parameter has aliases to -SubscriptionName and -SubscriptionId, so, for clarity, either of these can be used instead of -Subscription when specifying name and id, respectively. + + System.String + + System.String + + + None + + + SubscriptionObject + + A subscription object + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscription + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscription + + + None + + + Tenant + + Tenant domain name or ID + + System.String + + System.String + + + None + + + TenantObject + + A Tenant Object + + Microsoft.Azure.Commands.Profile.Models.PSAzureTenant + + Microsoft.Azure.Commands.Profile.Models.PSAzureTenant + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureTenant + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscription + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + + + + + + + ----------- Example 1: Set the subscription context ----------- + Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx" + +Name Account SubscriptionName Environment TenantId +---- ------- ---------------- ----------- -------- +Work test@outlook.com Subscription1 AzureCloud xxxxxxxx-x... + + This command sets the context to use the specified subscription. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/set-azcontext + + + Get-AzContext + + + + + + + Set-AzDefault + Set + AzDefault + + Sets a default in the current context + + + + The Set-AzDefault cmdlet adds or changes the defaults in the current context. + + + + Set-AzDefault + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Create a new resource group if specified default does not exist + + + System.Management.Automation.SwitchParameter + + + False + + + ResourceGroupName + + Name of the resource group being set as default + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Create a new resource group if specified default does not exist + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + ResourceGroupName + + Name of the resource group being set as default + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSResourceGroup + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-AzDefault -ResourceGroupName myResourceGroup + +Id : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup +Name : myResourceGroup +Properties : Microsoft.Azure.Management.Internal.Resources.Models.ResourceGroupProperties +Location : eastus +ManagedBy : +Tags : + + This command sets the default resource group to the resource group specified by the user. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/set-azdefault + + + + + + Set-AzEnvironment + Set + AzEnvironment + + Sets properties for an Azure environment. + + + + The Set-AzEnvironment cmdlet sets endpoints and metadata for connecting to an instance of Azure. + + + + Set-AzEnvironment + + Name + + Specifies the name of the environment to modify. + + System.String + + System.String + + + None + + + PublishSettingsFileUrl + + Specifies the URL from which .publishsettings files can be downloaded. + + System.String + + System.String + + + None + + + AzureKeyVaultDnsSuffix + + Dns suffix of Azure Key Vault service. Example is vault-int.azure-int.net + + System.String + + System.String + + + None + + + AzureKeyVaultServiceEndpointResourceId + + Resource identifier of Azure Key Vault data service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + TrafficManagerDnsSuffix + + Specifies the domain-name suffix for Azure Traffic Manager services. + + System.String + + System.String + + + None + + + SqlDatabaseDnsSuffix + + Specifies the domain-name suffix for Azure SQL Database servers. + + System.String + + System.String + + + None + + + AzureDataLakeStoreFileSystemEndpointSuffix + + Dns Suffix of Azure Data Lake Store FileSystem. Example: azuredatalake.net + + System.String + + System.String + + + None + + + AzureDataLakeAnalyticsCatalogAndJobEndpointSuffix + + Dns Suffix of Azure Data Lake Analytics job and catalog services + + System.String + + System.String + + + None + + + EnableAdfsAuthentication + + Indicates that Active Directory Federation Services (ADFS) on-premise authentication is allowed. + + + System.Management.Automation.SwitchParameter + + + False + + + AdTenant + + Specifies the default Active Directory tenant. + + System.String + + System.String + + + None + + + GraphAudience + + The audience for tokens authenticating with the AD Graph Endpoint. + + System.String + + System.String + + + None + + + DataLakeAudience + + The audience for tokens authenticating with the AD Data Lake services Endpoint. + + System.String + + System.String + + + None + + + ServiceEndpoint + + Specifies the endpoint for Service Management (RDFE) requests. + + System.String + + System.String + + + None + + + BatchEndpointResourceId + + The resource identifier of the Azure Batch service that is the recipient of the requested token + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpointResourceId + + The audience for tokens authenticating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpoint + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + ManagementPortalUrl + + Specifies the URL for the Management Portal. + + System.String + + System.String + + + None + + + StorageEndpoint + + Specifies the endpoint for storage (blob, table, queue, and file) access. + + System.String + + System.String + + + None + + + ActiveDirectoryEndpoint + + Specifies the base authority for Azure Active Directory authentication. + + System.String + + System.String + + + None + + + ResourceManagerEndpoint + + Specifies the URL for Azure Resource Manager requests. + + System.String + + System.String + + + None + + + GalleryEndpoint + + Specifies the endpoint for the Azure Resource Manager gallery of deployment templates. + + System.String + + System.String + + + None + + + ActiveDirectoryServiceEndpointResourceId + + Specifies the audience for tokens that authenticate requests to Azure Resource Manager or Service Management (RDFE) endpoints. + + System.String + + System.String + + + None + + + GraphEndpoint + + Specifies the URL for Graph (Active Directory metadata) requests. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointResourceId + + The resource identifier of the Azure Analysis Services resource. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointSuffix + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointResourceId + + The The resource identifier of the Azure Attestation service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointSuffix + + Dns suffix of Azure Attestation service. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointResourceId + + The The resource identifier of the Azure Synapse Analytics that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointSuffix + + Dns suffix of Azure Synapse Analytics. + + System.String + + System.String + + + None + + + ContainerRegistryEndpointSuffix + + Suffix of Azure Container Registry. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + MicrosoftGraphEndpointResourceId + + The resource identifier of Microsoft Graph + + System.String + + System.String + + + None + + + MicrosoftGraphUrl + + Microsoft Graph Url + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Set-AzEnvironment + + Name + + Specifies the name of the environment to modify. + + System.String + + System.String + + + None + + + ARMEndpoint + + The Azure Resource Manager endpoint. + + System.String + + System.String + + + None + + + AzureKeyVaultDnsSuffix + + Dns suffix of Azure Key Vault service. Example is vault-int.azure-int.net + + System.String + + System.String + + + None + + + AzureKeyVaultServiceEndpointResourceId + + Resource identifier of Azure Key Vault data service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + DataLakeAudience + + The audience for tokens authenticating with the AD Data Lake services Endpoint. + + System.String + + System.String + + + None + + + BatchEndpointResourceId + + The resource identifier of the Azure Batch service that is the recipient of the requested token + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpointResourceId + + The audience for tokens authenticating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpoint + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + StorageEndpoint + + Specifies the endpoint for storage (blob, table, queue, and file) access. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointResourceId + + The resource identifier of the Azure Analysis Services resource. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointSuffix + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointResourceId + + The The resource identifier of the Azure Attestation service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointSuffix + + Dns suffix of Azure Attestation service. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointResourceId + + The The resource identifier of the Azure Synapse Analytics that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointSuffix + + Dns suffix of Azure Synapse Analytics. + + System.String + + System.String + + + None + + + ContainerRegistryEndpointSuffix + + Suffix of Azure Container Registry. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + ActiveDirectoryEndpoint + + Specifies the base authority for Azure Active Directory authentication. + + System.String + + System.String + + + None + + + ActiveDirectoryServiceEndpointResourceId + + Specifies the audience for tokens that authenticate requests to Azure Resource Manager or Service Management (RDFE) endpoints. + + System.String + + System.String + + + None + + + AdTenant + + Specifies the default Active Directory tenant. + + System.String + + System.String + + + None + + + ARMEndpoint + + The Azure Resource Manager endpoint. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointResourceId + + The resource identifier of the Azure Analysis Services resource. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointSuffix + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointResourceId + + The The resource identifier of the Azure Attestation service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointSuffix + + Dns suffix of Azure Attestation service. + + System.String + + System.String + + + None + + + AzureDataLakeAnalyticsCatalogAndJobEndpointSuffix + + Dns Suffix of Azure Data Lake Analytics job and catalog services + + System.String + + System.String + + + None + + + AzureDataLakeStoreFileSystemEndpointSuffix + + Dns Suffix of Azure Data Lake Store FileSystem. Example: azuredatalake.net + + System.String + + System.String + + + None + + + AzureKeyVaultDnsSuffix + + Dns suffix of Azure Key Vault service. Example is vault-int.azure-int.net + + System.String + + System.String + + + None + + + AzureKeyVaultServiceEndpointResourceId + + Resource identifier of Azure Key Vault data service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpoint + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpointResourceId + + The audience for tokens authenticating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointResourceId + + The The resource identifier of the Azure Synapse Analytics that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointSuffix + + Dns suffix of Azure Synapse Analytics. + + System.String + + System.String + + + None + + + BatchEndpointResourceId + + The resource identifier of the Azure Batch service that is the recipient of the requested token + + System.String + + System.String + + + None + + + ContainerRegistryEndpointSuffix + + Suffix of Azure Container Registry. + + System.String + + System.String + + + None + + + DataLakeAudience + + The audience for tokens authenticating with the AD Data Lake services Endpoint. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + EnableAdfsAuthentication + + Indicates that Active Directory Federation Services (ADFS) on-premise authentication is allowed. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + GalleryEndpoint + + Specifies the endpoint for the Azure Resource Manager gallery of deployment templates. + + System.String + + System.String + + + None + + + GraphAudience + + The audience for tokens authenticating with the AD Graph Endpoint. + + System.String + + System.String + + + None + + + GraphEndpoint + + Specifies the URL for Graph (Active Directory metadata) requests. + + System.String + + System.String + + + None + + + ManagementPortalUrl + + Specifies the URL for the Management Portal. + + System.String + + System.String + + + None + + + MicrosoftGraphEndpointResourceId + + The resource identifier of Microsoft Graph + + System.String + + System.String + + + None + + + MicrosoftGraphUrl + + Microsoft Graph Url + + System.String + + System.String + + + None + + + Name + + Specifies the name of the environment to modify. + + System.String + + System.String + + + None + + + PublishSettingsFileUrl + + Specifies the URL from which .publishsettings files can be downloaded. + + System.String + + System.String + + + None + + + ResourceManagerEndpoint + + Specifies the URL for Azure Resource Manager requests. + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + ServiceEndpoint + + Specifies the endpoint for Service Management (RDFE) requests. + + System.String + + System.String + + + None + + + SqlDatabaseDnsSuffix + + Specifies the domain-name suffix for Azure SQL Database servers. + + System.String + + System.String + + + None + + + StorageEndpoint + + Specifies the endpoint for storage (blob, table, queue, and file) access. + + System.String + + System.String + + + None + + + TrafficManagerDnsSuffix + + Specifies the domain-name suffix for Azure Traffic Manager services. + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + System.String + + + + + + + + System.Management.Automation.SwitchParameter + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureEnvironment + + + + + + + + + + + + + + ----- Example 1: Creating and modifying a new environment ----- + Add-AzEnvironment -Name TestEnvironment ` + -ActiveDirectoryEndpoint TestADEndpoint ` + -ActiveDirectoryServiceEndpointResourceId TestADApplicationId ` + -ResourceManagerEndpoint TestRMEndpoint ` + -GalleryEndpoint TestGalleryEndpoint ` + -GraphEndpoint TestGraphEndpoint + +Name Resource Manager Url ActiveDirectory Authority +---- -------------------- ------------------------- +TestEnvironment TestRMEndpoint TestADEndpoint/ + +Set-AzEnvironment -Name TestEnvironment ` + -ActiveDirectoryEndpoint NewTestADEndpoint ` + -GraphEndpoint NewTestGraphEndpoint | Format-List + +Name : TestEnvironment +EnableAdfsAuthentication : False +ActiveDirectoryServiceEndpointResourceId : TestADApplicationId +AdTenant : +GalleryUrl : TestGalleryEndpoint +ManagementPortalUrl : +ServiceManagementUrl : +PublishSettingsFileUrl : +ResourceManagerUrl : TestRMEndpoint +SqlDatabaseDnsSuffix : +StorageEndpointSuffix : +ActiveDirectoryAuthority : NewTestADEndpoint +GraphUrl : NewTestGraphEndpoint +GraphEndpointResourceId : +TrafficManagerDnsSuffix : +AzureKeyVaultDnsSuffix : +AzureDataLakeStoreFileSystemEndpointSuffix : +AzureDataLakeAnalyticsCatalogAndJobEndpointSuffix : +AzureKeyVaultServiceEndpointResourceId : +BatchEndpointResourceId : +AzureOperationalInsightsEndpoint : +AzureOperationalInsightsEndpointResourceId : +AzureAttestationServiceEndpointSuffix : +AzureAttestationServiceEndpointResourceId : +AzureSynapseAnalyticsEndpointSuffix : +AzureSynapseAnalyticsEndpointResourceId : + + In this example we are creating a new Azure environment with sample endpoints using Add-AzEnvironment, and then we are changing the value of the ActiveDirectoryEndpoint and GraphEndpoint attributes of the created environment using the cmdlet Set-AzEnvironment. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/set-azenvironment + + + Add-AzEnvironment + + + + Get-AzEnvironment + + + + Remove-AzEnvironment + + + + + + + Uninstall-AzureRm + Uninstall + AzureRm + + Removes all AzureRm modules from a machine. + + + + Removes all AzureRm modules from a machine. + + + + Uninstall-AzureRm + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + PassThru + + Return list of Modules removed if specified. + + + System.Management.Automation.SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + PassThru + + Return list of Modules removed if specified. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.String + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Uninstall-AzureRm + + Running this command will remove all AzureRm modules from the machine for the version of PowerShell in which the cmdlet is run. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/uninstall-azurerm + + + + \ No newline at end of file diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Common.Share.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Common.Share.dll new file mode 100644 index 0000000000000000000000000000000000000000..e45ac91a1264184fd86bf3750d545a800176437c GIT binary patch literal 27048 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 F{x6v;GWY-h literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Common.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Common.dll new file mode 100644 index 0000000000000000000000000000000000000000..a705c3fd25a8824c3a6cffa9ae5fdb1098d658c4 GIT binary patch literal 276368 zcmeFad7M$le)WkI=uUTB)On%RE>fY|2p)e-jfAW4lzxhDbsi&$= zojSFhTeoiY0rM|bu2L$3|Ns1_Qjfsr-z0Ir+UY`c-O$JC)Psqi4u7O-|DO(@b=>iV zVN3J=;`~u34O@8B$tU~Eh8=zEu>A6qhaG?Nu)PkNIqW3=m}5uR)+V5 zb?;;8--o6BMvWL&UA3)J9;AvJbWtnlVW1~bQdKXsW8@|vD2Xmmz>j$_f_hCln@Rbv z><2+Y_-g{+gGhkyp-~dSUwuSfybb6hBdP{ocI$|m6~=uXe^^O$NgYRc-->*rmmRxe z8N$n=LA_X4$X)q245g3G7xD`MifoWkc?iVeSNu(a^rQ2~p6DYXWu?r*t8TM&lPj_b zxi9sKKg#B)sQT4MN_}fzMa6WurT++QWJGlZ*jIT&oDQ~1`v}J^3IPE9%K$Lz0ss_m03iUNmIe?4Kr94=0DyjBQV0P65*t7W0Lc�zh>L2mt`fGFgNGP#Xe5 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�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νlU^l#*fHK1WpW8B>~?Q3Wke&Z+5(W237u8pN&C^G6=V&zKbw zn!k4{whntZPdPqmwcektbNxe)4Q^ngwrZWx6I_Xf!Y3D^3Nw7Lw)@0)%hL|EsYMw3|!XBYWMXraF+c z7$$-hEa!!_?mi)d;^N$HU-0-$m$=-f62jbhK+WYi(VlS3%-u$O>l>wH)^KWs7fb9S zN8VHmt75`9&%2XofvZ_kPI$5Uh}9znQP9oznmxu znZe2CD(yWZr^J}WSZE^|wMuYg{!tT+w{qW+B`_u)vMVU;*ilUvSUGE6@5(F>Gpwv5 zlDk)ebB_^W)u)HstD`WVRv($1csHAW3^{2r~G_RAZoHQeJR?@o?O-ndCB z^x}N|q*!UTC$B)_%X%1-hCqjL1TjQfTs^dFs=iH$IV5>m9O<$rY+GLXBQLLXauMlp z;2Y|^B#r#jdUB-Vuh_!6hGQg|_mHaw&3S!%TJ4m&{YzRHOWa<|ypEaPNW6qRy+iI9 zm-mx~AqVz>F%vB=;Y#qzsa8FfxR))L^Pcy#a3oa5eEc1PzY&P7Xcvq(FV>^a41#%f zfp0!n%d{V+u17Ru0$!Lc_lVC%+w`Z@F1Fi_cX4v{TBlzI<;yRQjd=*K66XKD!R3II zJrsE@BVYH3S2p6me{8zrt#^ODe&J=4Z#nb)kCx@}Rp!3Tkk6Oh3m^G|co@)!bF&5o zyUz3l^Pt7SuJico2K?#`fMD0IULn6P;OEJgeMLSw`A>f3cYmp`1@w>Y!!of&wYK-5 zVAvlBWQJ7!#*8dqptr)W!h+r^BM>Mk=*3?FFcQ#51-bZ3Cl$9`d@OuowHYngnlkgwJJ z3T|JY4MNZ3U}Fw`4+@^hL%jAqc7&_lYk6u=mVZ!wbfT|F4a)C&h^^m?n@b@mr?495BKtDGU-qfXk4p6zho$~{fzjt;PdzM$E`sDax zlr<||clidWJk7xr!+|u;pI`zU6{&2YHXw%0OW9fe{OFAQuHC&bCiu+p;in$mM}*uQ zn;d^i+xjRATy#B)bC5FI34##-Ksr1eaNcGcrvD1{qvlJh% z^vd$(cfAUJ_^F_CH-oGE=wZ4;fVtNf=<7Px>>s8<7I{xE(x;btPcPM{mwQhy&vls9 zjj(4F&%XQ?LdFpvbSjR3IP^Py>9NK_nyR z^5f@76UGAokT3!JgkTDyrTN=W>y_mXR>NYc;PxnWCt8iE47I7wf&6hLfBVh?J-MT+ z`(^bS0JVBD7@b<+&kp$m`d4pSvS2k#lCL1okG}c{@6Q{c4$A6<(Ib!fT@TZ!IA35? z|AeIklYk!pwt8h{_zT3?M5{BiaID8~rv9AU7c({(tpZ%InhL`sHWZ9D^uft2 z&KE&GO@0n(v|Nj+49Z#nNo%f-iBsp1oI5Uljz@B?Hhzvra&Alf9FJh&qAOr0wT`aN z%)$`lV4!0?ie2a~hB{=MA7c&pyRhfJ0`x5yT^o$9hxS~kMYkT%1qNuN4CY3IT{<)i zhtWo~P06+58()}V(G!DRj}`doqx97*t-+jXB7Z{asZ3P1?B_h|poSFynM5^}zS$XR!HU+S*)Mh=OVZNYS=rJY?h86niD=5gOWm%6?u*Uq-7NTH4Rz@%y6=XcSwmO}pOcSp33l z3|8yWxqVPphRlX9U0>NUOt;4-3St77^)G2X0+?(%Ldcd5U6GTOS%3zf4@T*jg4-X; zp6KW?&S!_f`|e=$OGp$kM3z60P1}b7659v25zWOY({Xoz0)F-4m;|y!`2H+fnDstt z0^N59M=JWNmcpyl%~5bHY~v9*X0NtC(woj#ENj=foJw80^0)8K;>hieP3)(1|3Bns zcONa9?mjruzxAZw{*>;}v(PDj09UjUn9(dk9s$j|B(jQ-R851rP-A|@ne z+Fyo7yh_E_2MAGc_y)8$&`;(c={Fjw!psCHYFx#Lj+L~+wHcyP=2`C_9fg&|9&zC7j zMJ6JEE9Jc2ky}9MQw{p5K$lro3jap+*)d4l+3tLFY7oo5*fbV<&>p%OjIPF6G+d+($>Q}LII>zSghtSVL&W;q0Fem8Z~zC;I=>2Z z{J~yC-_{4O@Xi{*Ez`CWPthA9|51DK8+Vx-6dFG!dV z^=9yf4wh=wYocxF9!0y?y_0qiGpC@Sus|EaQl8)ffQlXKQS1w`El4>(8~{yxE;!p! zhOQOD%wmOtkNk}otHNHeYWU=6cTa_l3>5Z)#zF5gG600j_{2H%j~cFRN}=}pJ5~e= z^b|hVbh;rQt{{KM+WhXhF)=mh>A=NLu)924o1*+38%dY?j2TwQ){AIQPt(&o8}kke zi~+tJtiyDViej$54U%9YKSjU-@FepU{wxoBCZnGDfg0bbq zT|rrOT?JPw)}o-GAcxXE5tcjH(T7tC%?3NrJlN3R`Zwi;9>G1p(P(*xb*PD0o<@XU z`fP)yf3rSr!nF1W81xmOF$Q|u%V?=~bOwgOtI5g@tuTl;gRPr|sk@-Bjt%AK09sHF zNPfZ@N({EuKY)Rn5sO$=KbAtA96}DH^`enY_n}MQQwZCo?Ib)HqYm_P$7%UHqI&fA zP!?-36k34mwbj_k4tB5SXY^(Ld5(^(E(vyT3`WnE6~>M;DVgUXAb5%3j&m{*xMZ7X z6fh8Guse*4Fbr2|^_Mz9MP9FC+8(okR2C-UF}WZ&Cb^2 zgek6#J-#rM2tah#Zh~4uWWnwZ?WA^Gp`BEW#qJLOfk~84yD1&(c6aEW?_{KrzvC(` zo}D=|t&vLDl@|iv(2QW$&R|y*OLKznxE3AG4tAeMq2%wlLCdE5ygpP2L=}FmDLNp_ z^7qdu4?t59?f8BDGqMq!48byg2-+JG?7k3s6&S*~K1AyoloOE-;&d(ZVD}Ylt@{Su z=IuE~vAeIpb!xUgplWwtk;k}6>x6vf=Em#~t_8cVg$)r);>%yFWeMexA??1lh&CA# z%+24Z^-*J7p-;he(Pi->BJ5lyUkVEH(NwV7-InI>Ui~TZc}NfIBTKRl@aL}uS;SWP zYxU)4j0E&Hh zij!#<7}JYTuozpIYG$$8gxS=xm?`8RFjO88D)`c~=3b~xVXwko+N=b-u0T=?j0Lh0 zZByd0;khb{DuI3srnAQR0zF9i-H+g3u=}9`+R#|<=!CJb>wZM^Lk^%HIFKQZdB|v| z7|DA$!$6MT)cNQh{6m@vGI|wJ>>haOD5V;`p8!wkq% zGK=EE245gl1Z0|ZPC8$aKRYKw(+%jLg&hiZ@1{xZ-c7OP?|5S<=TW?;V)bw}evoIG zQsRNQF~0cOCk}~~kk$#287|?U*fR+u^xWA^ec>e9&Gn3i;pj8N2OGM*tPqDob)evC zBi=-eD1GN{#wZX-_wGzQ^)mx1mL2oOUm`3-a7Z`e=b|Qm$Gh;Xu%~+hJe5Hihy59T zthO?8vM8VKH-g>&gm{BHK98B+&+!YQ`e$D(FmM%P)s1)^T8tq=v%#Idf@~TAv_G{! z@)E)B4>b_ri0aGV*{iQY|2~(q8nyd#uEuj2PT~vydV}%c_T1QjZqM~&^1%JZ^h?GN zX&Q$1V`@e812V;yY{CtFlB29>D3nKAa$haNlX1;@8iufBOFVp4^TN1{eC9E z^NM@}b0FC`RIF|4XxC0GBf507(-q}m6c(2};yfG>*BCxF0KTQ201`pEGyP*E(JS2( zNs|Hd3JR`kkDf#DJDh%9QJJSZi{0(tPRz!AGJ9v$$&~F7GTw z&*5bur%74a7z3uN%;rE0$>}66#w8~?!~EzJ5XjMEr8g9CXwc(nbq*?p7?ZjDhz)9N zk0JgGV+diRA-8bZu5PF}3prlsiD^P}h-JMQ1s=v)DL|SMmt$G;0@s-9<5+_QdG2-! zu=y}0tIxiP!3bhbQm%P6oHfX3H&X?$A@ntn6ebNb0hpq&g!(7?sUz+aso3$u{OE!C z(LuVKL}wrIP1ScMK();Ko3TfM(PoscS7@RmIH!mFDws!Ha*?LJG+sszAOsa}7yc+7 zSwrP$=rx@kVQq@b=}~qri>cwVzHsPWk4Vr8FmTLF5qQteLI2Q$!(!7QN^_zkT$mH- z3lBbIr*dQCfkPmO-Uj-bX(6Yev;m_DVkzSK5Z43>$IS6ywKd9t{OBU@iKX5X%lm|2 z8v}X%JSg*^iwv;H%xm zFR#un{mqPZH&0tRHGAUCtN!uJpWgCr*Oh9dQkh*!U4Y%z-hO=G_nOMGQk9A1G5){( zi*w)ff4lzlqOG&O|H_#&9xi;we|Pw z^yG)$J8oEg@x?>lF1`MidvmYMnlS1wr`_H1NdGU_fA5(Wrv82T%(KfEX1(?L>>Y;; zoO{b7doJ4Ea`D5TE~$9q;$v!G8}j4wSN?Uvq2q!}ZvI_(+@9ZM_u6s)P7{G3t_5;FEU*6r-MGDgG};9Yhm8S#?p2eQ5sgpR4@i zlz)Qq7c2iJ^mdF=L)eUz{mHFerf4>pSm8e<@l?oF(h)+zZDLW!p{xqxvz%D#Qja}y zRyy2(zeHj=rSZNEcUOvVpPZF7tO6{F@41)op@b~KV4HSniH)!gf@oCJ_6@uQm4K`$ z8OU-HKEkO48~iL2V6nkup3M3Jf$AZN(6hJSV1IjdypZD!i(VC%0EN7DbqH^j(`Kb>@W%c0{2X?AH#B{?%^znnUFcVs@ zGI=udUpSe0#sHAq_nG8v+gZtS@ccR3?2QyD{4Ap z;2bp!15>PWQ4A7_{a>NG&k{S9xKI@G!bvH6krEesdZ*XE$pZ zQOV_|22;W!w;F}?%;K$lrd-Y`i7L_jxp`!<=2p<|nI?;!sO#pYln_+91?M{SJf^90 zxbyaiDJt*G1UaK5{(rGvv_R+*=?4#u*H)t9nW2bMt%Z$+Rl zq0QplNVHd8N6y>3IOBQS4EM2y393z2wDl?BEQHURh;lrmg@9c{&U)NP7zOK_N zJ0tDkrjp8VO-EZpduK^SxUH!n5@~2@j>Jzo=gQjK+Zr}^w1>xsn#1jp_Uh)^>bBbP zp>^RlqRgFCGLip}4=wCyZ0~3b&utEOw6|3^jt^CIY;J6*IU?Ly)pA0(d2UV3^v$J{ z>*{K1C)L*0PAwhetMcbnp3u+=N)2@lHP!7P=R+mWij3a*YnjmD76gtr_SVOK7W-f^ z7r;+l34$-~A2L65serKFrRxfQTm?D>_{(Fi=n)+B8JSdtiN{# zzPqRLVH{v3KLn{gIKg(XYwfq0PO`p^zwvg%l$ z%j4y|@e_SW514Eh()nFCOWsopms>a{MS>m011GZd1He-G;kq&~l!+7$i)dUY3nwC5 zDc~gQAvO@i66nNQUTRII8lF}6P$uQ8&>@QSCk@pMW0YFW_Ym$-!Ie~ zN6{}FSC%j8Sy)t;3f&qAS5`k~dj16wI9k19msz87kJ z$>^7PU@~?n#v``>6h(0bs#dEhZj`cM1o9wYIf9vB-4pjZv9H80{NiZfD|QW~dmN3i z9J|Ta?U)5=-y%aG$Ds6n-MB%Cr6CqMnL!(?KJ)pHXs#enB66{=N!%Nfg!OAz{c& zY?_S3_E%NmTno~KW>&INb zWAqMSEnUobFa?ccT1V_NVf?yR$9~4@^mt{k>g7x^7e;@5-a&ydBy+BfEoKAq!*VVv zO+WxNvU%Kb)3%Gmh>!EGGn7-;RY;AafG)t2O>P~tOr<}!!dM1Dr-E9P!4S3np?d}r zq?g})B8EWJl4Hjcd93lpMR+H8VK^$S%U##%QS7=2S$WWb_u%#`l;>q~(0!r&>b_8b z-;xqD5|R1ceFe)>gV}yR3Qw`cTEt3qXazh3GysJlQUMa3+fRe(4x-3|Ep*?-Zb_)2 ztqTf>WqL`uitb;7zaPlOI@_Sr^j!}V3f^B>dQ7{Z#{{zhqLxjIVE03QOdc@$kZx2a zNq|!hqbe`~Xr?fL-Q%b9F?1Wp&w@dGJx`h73jSf28j?ZbCuGS%Va*ftOq)=uDGoSe z(SKUhg5dT(x)g9dtB4dzVh;pG>oh<)pB3Yh&n(KcKK4;>hIm=*ls*vi)f`qFlK4QM0pf5KP4 z%rU4|$sQ96arkRv#u)5`jzQI$ob}@*EIEGYK!;~_Ji~8JtX{a>b!iMZTmQO3e_lnz z0)FK65hT==^GbB4{+x?O2oF!De`~Dh?OEB&lkq@@+NYRz~hsTiRN-Mtp!{W>%?bK6PNp%JQm8vtlp{hLf;j0ENK7 z#ckD1;jJxgCoF1+v^G|EuEbAu5Xuu*G}N@UL|W?FLknBlT3g!m%0Q`pK9#j5+!(Ho zgz>NwpBlcfrM0uIp?*ty=(jh7QXqAmsO!_Bqf zT8&p9ZVqGp6RHiL6mD#3Z3;KHlNN3)?CVp#OG_q~Or5UOAwD%M&Q*yfU*d38B3vnT zq))B!f-OU9ZOzqXp-a}HU=txga1};%fOMI%V zq9u|h83UL|XPFPLXsT|n*^<_{Igp8z>U^qt|J2J;+9P2-7I!o@g0EIg$}nf&q^U|Z z_*CuwHRGLpNn4txRHIMT?_Wzv=3>&uVAA%#u_Ti-X=5``oeQ&$xu#T^504v^jFujM zjB2E$s->k7$*lIamgf4#&Z^GVaILwxprfI&Hr$q7I#m)^N*##&7zoj;<(4%zwrpL2 zOjZM?x(`>_Nb)PmaY$`Pa-0c1b!g?5mX5|+Z9ufmuc%zuR10h8vi&hX366%nr_|$r zeE&Z7^E~`DCiK&EY7IDN@tY23O{!=cc5ap4&WqdiB(rsnbelPM#8;IAi9B z#Ky$snKmoK?ez2?=uuFrqHGcWeZRe`t6${@T{qvB7Y)3Af3&)B>Gnt8x_)# z@OD+xg@^w4vJ3zC-#ae+))5sKow2OyqQ6}>_~N3{?HB*)#etXnZQbBYPhD~K59^M6 z?T5!VFS>lXOP#~7-TbZ5*Dm?nW7lr| zXxvYqxpB@<=e&6IPp^9XuAhGX%jbTYQJ;6+7qt_w`wD-%j%m8?s?$EcZqtObuU~NW zrPpWmx$^q{6S8i2fBStm9I@rb8!z1auNx}|e0Aejr}}^P*%!zB?CwiG_}O=VTz$)g z;n&{s^U8;Ax!~l2pWpI9#m{|Le)#iqE3$SK`ugwcd*Jk4pUgaJ*JsC7@47nk$GfKA zJ@J=+n0&!6Zy)#lTkm-Nsar4ey?5KwM{T+N&+DGJz4uo2tKS?P{?+2&9dt+G(}j0b zk6d}j-+vUoWBA$E+;QiI{&(K>r=@p}_|c1Z=3I8!U4y>8_U`AO`uOf!-~0WqFRsYA zS3MiLcUkMB_ilK0jn1Kv|#AZ}ZN(|F;YO`u6YU z9CO5j1#chy;GvhE`QY>K&w6OUJvD!*JnH5@Yy?a zyR$zy=<&b4QvUc;*PQnFuydw8anrS%pV&F%4^P}&kon~D6NWtX-}|rr)7pu9{1L;lWZ7M%OSGbgpH!KK1d7({}q_dVhK0OKtDm{L;3MX`1%=#wY_orL7%=6J^7P=T$1H~^OLLkzxnUc z6>lE($o4lMDZJ&)7xGrW_17~Vd287-|9z|1(I5VE<57XP&wg*i+q0^>-tO$Z?EfY& zyzrg&UKhQSz4nXuD$2UvAC&Wp_kC~t`~AhyJ3ff||N22_Y2kw*tn{@0HiKKj?T2iNUcIp?xHxp&^YXZ4O*pLE^U`AOfg zU7zgEy!ex0Km60DU5^)j_FQx6XFs|6p3hDgJL>a;URw0|v)fPleA9qeK3{q6lz%_7 z;PihlKI4r4?D_41Uz9$4#257sJ^RIz(|_^h$jEy2hld|f727uXzI^Qu{-#YIWxOGoA~a)%H}8~>}Yy^;Cs(y4Ekj3v_Xgd;-Nu*8}sp?AKfr~ zaOdx54Ve?E9rE#Qzd!JYKl%K?+7Avt=*g$55Bg!@c?U&aee$3U$JH19@TGGKH#R(0 z_{T@iDthX;=AlK0UNrQgv(^tgcEEeX?o@XUulZ!~h>54)G4h!CpN)L`BC_>P)e51;t&JD1;5I&4MB zWm{JKsp?lNimHdKJZ0XPl`lW|i<68;gy*;ZJ1v7(uNP8 zdv(Jj13o_Ho%%h;yl~~xjX!K%zVXWg%Qr=KmK-`_k zbJ<6uYjeie*Y=-teQndZPlV@Pb6MTpr;M!6`SbYt9hDc=SABJV{qv7kZJGAL>08wI zcWrs&;lDLZI_Qmtkr&N7epR4%W8ZCeHq}n(Y~ES%QuC9m2ed#-T8{hgC9OZ0efNnQ zep%brR`F2V-w%DS?e&UdBIlk}8+o#AN&790AGDu#_V+sifBHeks_*^2P_O`p$-LmbWslVK|`akb&dt=XSom+GM z-udC>Lr&@HHTRSQZ=8S1zx`LAa&p;or_B4_kW*Wp>OS?fU!QsEloNALTU9dPTL`4S z)$-J?Z+}*!)Gtuw7aXY6SqCfihb>CoQ>;`$p;C)iDAh4Ysr-DUmRBk@5#?61Ml1F5 zMx_oww3%}(Viv5@Hdo;VujNYp<|w6(TBFo|=Ycx#Hvs;`#dsj`YCN-MEh;EyV}ZLs zsTT{BYFmz%EX-2sHqd&mLa8pCd#6aLixFOY=V+yFUa!<;$Ux+eQtCl`*CPfz=QyRN zlqq$}9HrjFmgj?j`vkn*agb7%;QHH0pkIV`>qAPNaimg<5U5z1BS|8V^6Bb0g{ZJe`7srKWQx^M&VKz}^e@3$^dYVCna9XCR$pF%$W9j4Ua z2}+%Gh*InNDfKxvS#u9p>ig)!k(1GX@c$@s6N(>0~X>7 zmHKXuQa=Zs`#|r(I;ASdD>WJ4@1xKE0G|yjmAVVO+zA@jK;EbrQu86}wP<(YW~Dv? z{;8lh3Exw}r0vRAo9oic!XFR-U24u5)sZu||xvg^nze=gQL8lz!wHCZS ziFT2KQNKVie>2AOTY&um_!vD@sa=E7&pt}Mf;LA&mLt)R-O!K4fQ^h%>UWTLE82-H zQ|iibh*c*kbpv?9az`CqkNZ9$gEqAF22T7R`m+V{>5Kk63;L5l=Th`(*#T%1*KY&v zbhLdQ#$+~R)fY0jc%4#J=+8a4-i`4oMt=?hjaQ%_AD5yJS-59m3uFd5g8}y{c-jQK zHpqijtIq%jFI7}4k5cLcjO8C8qiZ4W7tps>{AJ)8YL(P)Hlf`^m6`(`x(I(e^Uwy` zxwRa+QmxbjA@Dg*skhMI`kCl&UyK{t{|fXbINWy(bRIBO zpnE*}amQHD25++u!+d~FUJHJo#(1m+kKYCCv7j**Ff+4}ZYuzP{grwcy0CjRctgJr zfu0vZ&Y5WM(!+rdx%LB3cUPhh_^)}EQad1z0*q_k37DfH$Om%Sf$=>Pe0+(1Jq4Om zq1#VG7B!IfMznJbu3ZJ%hhU7mM}mLw_Opd}93RI1jvA%Dz<9g>+F|f906Kmk`gRD$ z;|1u-9Q5a4@IDT3r(|G^(btcT2TUK>1jzaN1>gm;eSHvg2ecPtDs>Z%cMnji1nuvE zT)sCE@M!Z?^yR6==o8uq_X^&xR}2G6XsZewP-*Zh`08=Uwb_g^VL;jON>k;t%#*vse7{e`)>8EJtx8QXo z`u8^aJPYmI6NLSPJbY6z5Al5{^y*&pvmNsK3fB$;|Cgb!`QT#)+WTM$`hmW^4?36U zLk5sbU&#FnjMsgT)tlg ztp@KuMSm^=+{T09N6^pTLVjb1V>t<38VcFrp|)xmt{;bUpFz&2g3k*<^GN9Ft^LqX zKkOFz``2S(yD(N49R_&x=e3ba-H3K)0%y)Jh0b7pfVTq3WkgV^=OL%Q_`M9{(E&LO z#eDc+Ipz}dYgd_4S6~bl0qz;-$*$f?{S7qFhRimh46y#C#hJ*`lxi z3PHEQ@>0yBKg~xU(Z++zAhQMF3CHusz+ZsxUxIcwaK@~JK7h`@!RHC5psQu5?^^+D z#@eZBRB1{*s=M-P1uBtTkLX8ZGs;ko#3$PEG>bO*h7*=GCO)^;MjnC@I82aP8OhpO zK3dhhxPZU;N|AP5?ZisxWG_Qo10s`bBI!KMH43yMd9i_wEa%Anl>kBCc&CF6;x6`0 z#nx|tyeJtm>)iMVS@w=qz}4s->y23vzXW}x7~4@L*rpci+Od8Z$_2>?RiXrp1#6Ue z9mw#Oiqvmldcclf^X?25HL`TF9ZD)s_2q;)5hP}r z+f}4i-g$^6EB!gRdvipO6*|DjOq0|#Kre7^SxJ0%%N`qmcL4F>rL3do<82#N zUba%h9SVs6yf9cEHEVAAN&Tqzg*Np{^!NnKKIdtyWT#Wr18j~%ov;6s zmy4I-GV3;FuG@3MJrY|%U`;Xt3$>t{(QV3|LNssWAoKOm51JG6ELmg33CS|^dqEbX zV|wlI<<@vFkIsD_ZvuUJGIZ*u^CVch4D$r)p85GSm7I82nB0g)ElEvqB!ViK*u)O; zNyQusd7I7x^q!@*sRh0Sgcc_wL_U0Ap9P4)ZLYa5iU+1a7qPE8G%9P@LXKY18=zbea zrEY&YTB%pQ9GIK*2+=RM?}gk%kVBvMCS~f0+!A1W(_?^MWYE3lMP%>;fQ;-JL}vCK z0Icxdo#S@bW$2AOuAaBK(S;?7%7GW5J`JKr?JrTWqO}-l(M@@i?NAmgH|+CwZF}nm-RVPhpE~d|GWj$JCOFW#2A9Q|tDyo_d-?|ZY1P#IoP z1?*Y;`PU=36r>nFBod5bJ%7x;b4WK@t``EbDqn!eKtjE+hvQ$Ofga6s@_C)C0sGki zFN5&c&=#)yBqVd22wTd-kW8uFccG+1S^`PNS&W8PqoE=O)HMi~!m!Vhf8fh@!?D%G zMF1I|3S=En8-Wy7*8yyNYA_DGS(?cUxNZSLiGyIv)_(T{mq**6j=uxS9HKPif9j`O zg60(~G+ERQhT~k6FrYM^W;l|D1KkA7`r!y%7?bRRmmY=uIXE3Q{Mv-ru3ilxe>Tqz?oI)$g&dsM4W-I+Tn`c$MzTpk z*5R)P?b8&LYmG6YG!|wwa(ss*M=-rGpz{DaB{`_Pxlk6ew8ZvwSd|))Q3aQQk~!mR z&z+YFh1F?5JS=&O^m1H+O5a2!B_fv$UOBE)dD_&2Ld3b#FquwpEhMCW%^vPd+pHCj6CrBS;GR`i`v=&_j%y4qVE(Xe^^iitNQWIEv185V|N0awTjlu57f}W80 zBnHkdGb*&dbzsswt3y<-4P*{6WNH9z(*7o!u^JjlpVO&s1?Vi>mXraUDLy8OIATOj z<-h(6^pQ5YVa<*(7GeKtiVe6FeA8+)qfeAr1P_B^c*B?FQA?yRhXe5d8_{G~zk^E{ zeYYJnA%RgGv6Yn43gpqw27-rMy6k#%Q=(;gOjKB%55NMOvb@~PG<^vG`VoLp9aZ>p zoWO8PM#LSx*a<*#;`pv>QX$z(GJ7t)03-}F}D3xW%JCYa7P>qj6nD-{{@?s6&%eR1M@aStxQ3`>P>$G`IdIwm=&^LBP4iv|Es zb6lk355-DxPn6okm$Ef#VbS&RT3DR|)I|;|l~fYS47LQ_UQDueY8I8m9gY0Z=D}I9 z?45^afO@FgRm=Nh9j`S&9JMQU1fKIYO?Fb`z4&z5aTf7XtrZUmc zdDklu7y-(}3H<7HC)tl$J%GGchd%j2u(V%?lwWwUU`{ndOZZhF+@B`qcA8lK@}5MlFu@h?Ii$@^a8Uz zuWuZJ(xZv#0J^v9F9OnVFOsufG0Jo+z@Q;E$C9X^t>oU91e&&K_yA~HLQY5N_v--M zb8$=c@C3GqD4VxV`s!_f9cr_c49vX7JTL;Grx%>I#BkpT08~@DyD7TL6@CNGx2y93 z;u$+*i0Qtm3Zy6j_RWd(46tePHGp`!AQnkn80`U@<>YDv-Hef19o-zV#)vBPolyy6 zIc!0Eg{#OL?W%Sh}D#*emC$UIWG;9;RScn=wupx7K7DjC;+RPj{n{%Jt<*jjrgaC;z<5PhBxG><0PXhtN#@d;yO z1M-&>>e$)S=6yr9#eV^iJ>pL#gx>(vGhtJKGVNAeoG?35fg3R#1C%+ow(SkY?#&tL z6JU5mi%Xm4=zDPq$|Y?MSi?p4d@_ch9+y3?SrR3-y}cD+o>}7tb31#+!_DfiK=4>_ zL7>;7YUWRX-H=AS(ds%}8h<#nkA&zNO*k6S*4jyL7%6uEVc>EEHLH}NC9%*=^f;5Yp>T3(6p!8B3o~#l z3S0UQ4o338S;!uVUv02n97_|&MbuXSJje!=Qd|NytHzmddUBbQntPKhYT^2kA-c&V zXU~GU5-|5xiVOgK7*}GFr8Az_T~kyD^ch5_HQoDa)b4XFkoysNDOjS3d3oUw{ zOCa71y0o1f0v3*&QE9y6PcZ4v=SJ)7^*Fqc~M$PPtzt5{a+Io&|{R zDY3*L%eE37i7ebiOw1fo+su6VHxNUHwjJm@lOOLjaTrJ*O=JTE^H{LN*boFpuMho=?;wt_QhDN;adOlV)gE8&f!ITYaa_(=$vER>5r^ z56aX}8*DYeU=sz*Okb~-+9)Ri1&SpowhdW?HtO_rVTdVK(MG-u$YWLkh)Dttp}iSk z13wPnX^BZ@cLF_?h1>(w@jav3ZH4Az@DmZL(2FLpN?*!i0a^5$LYo>Q$*n-rb(8S& zY9ae-vPJg;sX&mDE7>0aP|_1Xq87deltTq29UUBd7$zvg7bn2&!YOd&K4p7^GXXH( z1~4lGyYFVQ-T?&M^X{f-5DbW!!RM7>1{0JU9A>{ubc5!DF_aisaQiS@OIIvH(tyC!N~VQ6VJW3!V&=soQ9<0@ zy9H>A#iX)K*-TA3E}BxO9@p(Q4bO`dLm(4JsWw) z-jMB8xQ%=@kY}Z8S>ooN+P)9ym?Cb0QA@=bQx%zV5HfbVj{*^TX>EK?P$G5VcqI1m@ueU<6g3INV5 z>eSwqWNc#l_RxsHXasD=Yk>%JDMO7+ggQhTM3T>$$gM{;v&(jZ1o_xCjD+pb%)%6P21sKcDYvo zd}Pr+=rBpSLnF72uzZp+qEWj|%l1hGUeXod*^b7eAXt&U2xyrYSjmnPCoxwMqZJ;3#TM0t(YJ|3B^GW%tLi;z^z8c z^sVfP+of-g7=?R#1V0=VNohK4G2Z-R_xp%QlyI4~L;Mg`h&v~U`j%$gNfNrDN zU40V3C3YJo5o+jD#oc+-*MNeDjk(z}C^qf?0&toQXdWuC0MBHph_8)gAl+7@a1{cj z^il10mjHQA`p8b`A_HElHtt*N_HbVYkIq!796U94*8#y%iU_?Ya_+`F4@U z-_s>Sk~Sf?ASYK~nk&%q=9M5eD>*R+liK2R-&nVU|m>NbXllf!Lz?gaWocYl+k+r6A$8MD5|8p;MZ+mLEPCpTmx zu1z1&R+eTUhTLpQi#GM^lLOh5egzlDro~bVkvs#{M@z(;n9hqm5<@ckNn_(X*$6q(>5al&b9$ zLC$L1CT9!(Isj{LZy5CgrxN*}foORxPWWU`W=q9p?{yx@rXpYqYc|jpyT_{v(@v_u z>8V!WxEX(pbP^v^Wp9+P0V&J%^+d`ZK(~{*9%L*dnLe3BBl$9jS*AOEV)noubfjlW zaLu1;ENl@U3)CXFh>2>0oCApGl(#z+l1S8esUb4(V7%=$Aicq~AM8;}K>A@`cm2(BGq zP%NRuK1G0SvcDWt2@E1=p%b9sUO+kTx5f8H3_?Vm1)w|wWE%ONyAf}H?E$+Kpor|H z5g8uJl~U*3adsa~>ch12J0L@!1=-vpn`%SqSpdVJx*tH1EL7o`OF%9gqUDfw8_u<< zk3eAj-U(1KWEjhjPCyU?DNzj5QuZwB00Okv&EhJ(WFrf#CO0d}fgA7uGaJw;#~Oo+ zSgyLM7}>~%{}BLyOLhZD(p4_6!)3%(?#r^wHW^HsYG+4FkTwJ90PhCrQHa+X)v2V% zOLEgU!$~utoV=S?>}LUK8ug(DvgeH{6lr?fXMY9i6rws2ZyDNb!x`C9a5gFNJVp>_ zGK{5;2OR^~XCq2%U>>$eE#RIEXPjsU#l-G-m3$>g%}7RyR*=ZNH`|Pg7x_{kFGz-L z^xlcOY=>)4t%pEnj7`SzPu|BE4%!IwVFQc#=3FGZ(%|I8yH0@Y$+e z3QKZk4@&m3WoqvM@!Gu;CqZhs^IQXS$3Js4M&`~V1QQD$E7*E4Pr&}%{0hSS_KhTY9A_9%ZW`sh9*z?=9^5Xx38gTST%QVjgEeS zOP&d1E;-tXbnm8w31h%|n!9U&Hr{Sn63U{LiRt@q0l_oF7(kd+hqpxV5`cR;MnB48 zgS&C5$Zndy+`E~(0pig*FUTg(vkiFLu{%9(Cn1eUHtC7$cm;F*uV}Eu%M*9#+F`tt z8-{Nkmtg(OprG}4 zKi1ba*#8H@aFmoabtAos)Zx`JM=7_72{yVcr@{4qV0BlV1sjfZXZi0au2 zJyR`uvlZQa5ho!kI#YHh`7-1U0KssH21(S$r+Ra+8NV^6;EF|_g|Px;(1^+r1TKAg z<0oP;6GHQd^G^~E97M{M?uch88a{)F+R9QU`zF9#kb)sIq^N&h0s{epE*TI}8ZS^G zfU<>=Ry7$v5Sp<4)&z3)T;UrW78y|a{(2o*1wvY;Y?BT-u_JcNYk>fLb&D>!y*<{U zY*_OG+7+KoiIlzKl33#*0K!PRS?~fnwuY-{Q}jSxVI&X%E;S~$Cczj>Vc%at7y(~T zgp-qa2Z(UkZp35@nV}8w0X8C`d8omFJIfGZsu-XMhLfk|QZG5?0&PwzG_xyd?3OH1 z+cXEV&_}`-1mGulI15NcOPb3glU-TI8*M-X)B!kFNtgrJ#8C2?tw9 zFxWNK%6(7J6DT>$reBV0slpH?f4<3~AT%!(`wk(y&vqB8KqBR!rNhIwKp;RKxOk)Q zsa03w6z26-=yoeI0qzHcnVaM7{J>2>fJGC8)|ij85&sJih(dZ6L*wPrgukmt#k52`@7K6Zh3Z)OSEAt8v#yALW zj%nBI)!*=Dm?8(5X2-^GTHw+Zq{cBTIKy>xOW<*f=U??NZpRgSQnHz1W=^RBG zC61`MF>jihqQh*nB>f8zhkFsl&{8!_efP8$NQq$1<2xm8;a(i+dmqx<41|8H<)DLS zG;lUf6uD3EMrwP_Z~;I@u7&oKoSAc6s>{5WTR+&`%K$`gZNPM9*e5_NSf|4SzWGJM z4tMd;kX9^uIHMTC*weclmloTTjqwoYsqHcnofw}wLwChA17ps$AXOlf(s@#$6U5c4 z3jr|60MM({0W&e7YdnCF)pbByDQGf-skz2Kx^HR}7!#=3#W{8ieJe;#6L7g;?mA)G zi^*;0B??uLh2#cg#P0=aKv2!v;Y*yFWuKBs%(#v@_bP~U|<2TN~Zm zs8=LIffD22bXN$t1;o^51KPIv9}m%>`BTK+i+WVvfGhrapACJ7xra*T0vw=G9q5ldPnJO zAoiBWJzkE(fE=3p^sd6G;oH;OqQd>3ZwcXEd+TDFGUDz}6i8$&fM zjg8@&_6XkCU0ojz)mFDxhZ>qgEp2$+cBs82)X>!0)^buf)Y;O}77A}`4YxIfn`^=) zxj9u^40t3|-Q3dL+0@d(quNkyOE?m0ZfOUhn#PXWFdAuU!iC0$=5VOGt-hlv+}s{I zsk*TPZ!)(D#n=hghBkMGoEN+2=H%wAjf6w(Xme3RqxVY@(MPPQJ@ZZqV9IDYT z8Yk239c|4Twk}+a<8WwIU0q3t498$vl5W|_C1o`=I0IocwbXVr zhJn%&s+HzMGBNhh+N@ATWoTYXX3#CeZ+Y{+v)lZ2xee>aQZSo>lM>$yil!~x)Y2Xf zMZ#?-Vd&e!6e7j}k_xxAwY1F&jhQmBbZlsCb9G1imX@}Llf$(ozT%k3LJczP&7<2x zP1Wr+TS6@uYe+WIu{l!H*3jAxnU(ko4R~`nTpQs~VH6^*;hKiJhH$NOdH5+4Pa7WE zQXRqd@c(P?JHVr=y0x=YD4`R29YP5unM@Kw2@ptyNSaCLL72=;k|D`Vn3)g)1R)@b zN=Fby1Vm}lt5l_kiUkmmDoq7c1Zkpz{_ooRoHJ*VfO^0CJ>UKBb5TNO&hC5FcdfmT zMWZ(wsk6S=4tt@QT1QPiwk9*vWFuNq_u{X?o9*==mIC}uH4$}#RzL-*E<@SMQgh7t z`DRNN$l77DS@gLY2bK@5p>uz9Y|v8+Abij)wMIqtnk*2l1N?zsGp#n0Im@ESw}H^j z`DnnJF#_FTF)%2zqe!cXQ?ZiXU@+M+>1;E8@Sc>R+6pY12%}MqQ(hy?G}~I>(D(*K z*-X4eeXg&TbyLqnBUTD6+WAar!>9|erYTcjkn6fMTGk6oILd4))ab$cR7|~cc4a&? z@!qC#*R3UuGs!}Wq(Qd^8(0jz+6(yXG7EBZi?obS1}tgO=b7Y^`dkz>7SXm~FYBtB zAyL6uQOkJis3^5gG&!nF>!pTJkPoR`l=}SqT(dz>L=WL-H2H%S><)R&6}cugV913` zb!c+U88*GGh{#Hlh)UWKApar_Xv0FJcX`6Ami#=WAwBhddBOrM`}lwEG?M!ytEb?b zZ_?W|1I!kqwb0HNFHrpf#J!3^zCgMYgWF9Gjg2-DN+-{3w_`EwT1~QG?kqEu5)rUp zqRCNcwdH`-`8N0wf!Q>EDIhjY8}PQtP~b56amD19V1>*m@>93S^#zGP>M7Hj3%%!0 z>`g4G(v#pSNWutXp4noyJ8XJ~)dngTwK$dgfn?E(MC7K?C}n3s$u?`I84VLX%g;!x zkyN!9^Q~s=JMp>1DM7_7X-E{bC4^-J#4L#sK}JKvH0m!v4@4#)N>W(7dEN{ODOx>A zkP($Pl$KZ`Ha;gi>Hc)qJlo;Ow}%A=LOVnIYYWBBaMIF3X|tLUgZrh#3`$d=`MFlmDqkPgJBAZ1%_>um@xTz06p>z&p*Q4Y*|^Q($R=TmNfqQ8`Ql?Y^70*g zDT)5I%qNm`U_YB#QwVx9;UVO50MTKFDGQ1j6-XVCWZ{&9X^WLl1>5;SKKf}{`^Oe1 zy`-+8WubgAcvG~WisYB6UT}nLY)OQxWxg^AqAP6%))RDRQz%huF*yQRBSD3c@kx=X zX-O#&y<>)@#Uv!hN2JBDHr2cXxMk<0oG@uiNIPZgEtqVUmg$~Y4r^=$XJ^57v4EJY zHmp^|U(}%DHdB7C-awmFq#|7!0AIhp|F8+A_wpL+E-Yn7QNBrI&Ez}noU>}KLJbLS z0~1L@X-Y$hqU9jdKrzWQoT4=>nzM*7pwU)_iDqXs<=a4f(5>7Yg{mtw!)zcvx5`uJ zraXxvV$t@hR>T0%mRKWdk6S*%0@t!Md2K*S`Jg5~uQJmhQsR`u>(kW3l$midgDJyn z;%h89Yh7Ne%1~r-aPBPxey$Z_FN^pAdd6Xf9w&28tN=GWWeuSoXc&u?dn&gH$)`|P zaklDQS4|j;6x*sUsf@SuHgHZwNk}Y-@@Vnd71&~l0&P)R}A~Ew~-Cv&$Xx(3y=M_pgv4} zl2rJ=R1G^Zx=;g7C8}kC{qiM7E3Z6lsN|rDB?x2f#45{lAyJ@1p98Xh@ef-Yee=S! zkU|njV@4hFR}EwuV#ew^+)$(5pkTD2n z6O+;}F)c13hIFi#L2t-5F`p>1Yj#omQiM#)xx=*BsFWM*2dJa zixs0~ouVNctwoA>kc?!frGiz|*mGev5L!TPBWH6Kj&|`OlaxFV0=Si>tz~YgVMvAo z8~6Q;W(X+~*2WiVcjT(VxwXmAuGG}405;)2nnZlX&%xC@>or(U+iHacqoB?f|**^4gU4pJcb#cGf;B+iHc~SD0-EO2UU> z&n8dGfnmWzB|{wT!$b^Y-4)K#s=Y96a&7@^CcBoz4{Cuq$UTiV>$5CYJN%J&(UyjQv+KA^FxjY3Hr^hT?wJZ5RWDFTm0%1HdSP z9N;8qnaR1)5l&!&C=ZT;yvrO+#Z*jUyX~nEs+f(xQ~qinUpWfg$~r6El+pYeYF(qk zYB_aC<^zi-VPz16OWXkhg+v6U0aL?*f!m(YGWY$QxGe1UG+I@@Q?h-M2g8Q^HQ9Ux zrb~bVDL%=101=>uv8}zGR;%SQMjp_=Hkh7Vk_+}zJZ1&gv_ohK;{+S1vLm5Sgh2xT zC@_$`A`H%<2YhZD(u*c+07IH=J-AF6%5vbc5q}F?z7+mPfV`}6)WpQWZ4Lzrdrtj~ zq5+Qq0GTJCeiIAByda>-riCw%4Y@!LpIwqW3WuT@BWH82Fgbf@nP(SW7aj8q(&_LM zpoW#X<8y^*0GMFBj>*JIo1#DNf8oZRWzq=KQ7AaPfq_aTyI5MCCHlB5--FZow&>!Jq=$k5Spt zvM1b{wntr0mYKEw zJn*mFlG;zNrC2|jRLIu?dl+jfvx+@E)u7KLUj@sZ-rEGFq|ar25iTMfM5e9AxpSqZ z3YmUM76h6&v*bY(a=$zi4l(dI0QGj#zbz7>Ot53gHgg_DMEaVF@CgxZPLpg1`!z}E*O$ih?7d>o!5LkS9@h#UvN4}`KI*n;>ZZ7_swl!Bsix3jd>ti&8B zBoN0vEWymlWaZnlCGBe`n$fZFGAeX6$Qv`shv_ zon`cKPS-vzE|o$+F0MVMAP^N2HUmri4%NoZaDIp6cEXd!c2ZCec zK9|_8x^ZOtP`FlDuo}+J@WRB@Ap0qPlxNB_z?vl)?Xbc;B%DYO;s+CIC|m^Zo&yP> zD=ix*d-Q4-k=R4;z~+lxb~;f+wa|dTsci-M+}Vbkt5L$Go8QUtZ+d8Hhz2h?&D?gF8p- z_P7YWCIHw8k6?FKo2Dcg!f8F>({eg1uQ#YO75v0e1d{)X1tnG|omNL>GjfBIuM!n@ zt`r0*;Z*#I95RvsB40>HiZA#QisPGXL)r+p_Ylc!r9|dc{%Le#s%VE;82X1bl=t2) z8M$B^9u0q$Uqf0zVmM_R zpr}9_s*P36290;rY9fJH$Rftt`i$a+l_GSd5m6GU3=+4?ZW}k@v1`~4!n5MJV&ObM3JKN*5~3)`3!#_AX@+cF zP&H^6<^=??j_X>d6Qeu`*0Fqyk)S+~BdYLJBBvF|X%Cpk2*my5spb*5Zx=Q{a2q}@ zo5jRkfY8Ja2onO`l0?z64*e+&Pvwg85WX|E z%X^c`S5# zZDP~>;7-!==j%DD!;N)`#Yobc9jrNDoF@pzA6T-807ALzvowA5_G|(kVM!3_gA@pV zfk0A%uTH!Maz$1CG~A9dk7Yptg2WtPp%}|6MHUZIjbImx zgfnMpe~s{ZQLAj@5h6{5hLL8?F~44#ycwUQ`S2v!7&tXUSyT%`0K zaw&Q6m^G2x&P9B@fRI9U8-rofs7(-h=nT2Yd3P?>jC%7qKtzZKVVQcDmb7fV%RVTs zZ7Dgx?G;&JIh`xHcxkvUGM-{k9E!#=!9@{{nc_|>^|Wko8T}#~B7B)qy^Jd4!BhBI zq`EO3Nic!-dFrDQje`X=NVYU2$slc@P<`A20{Gt!+(YBDb5vbrb`fj4usqA9#d6sR z8l;ptqY`0~ODL?%a*`NnM|e~Y@x?L1yLM@n5LWmsE?eVLfWmJONRqNdJbvg>lLoA1OPNe?Wge<2kFqX^)*u|AdZk4)sthtsK&nd0K>EqaQ&>9iq_nbv zQPc%Tnf3h3R2i0XX-2THND5XuRS#5(BRx(&u%{FQqJIKx3M{c5iL3~NV-_)^kvx~0 z2b92HBmI+LGMWqW{5A1N4Tp5Ki8B0?lu`ld%qJ~|BDY!o28 zK!uQ9u4NTXl!9ckvwA}H##=2}0Vz^a=Tp`Uwx1EDNrF>K`hu!aWqXMvMliHi1Crq2 zt4Pik<`i|tH7OoT{4AwC@?Dl%7N(1aqnYHw5)eq7;4DhCCbAjqMHT}9CSc6=+#=*c z7io|lCGZ^w`u7Wnuw&%Nqm(I5%Ys#?kYrGzJ+(lkbuEIKMdn{Ucvm3kIt+j^iJtBg1eAe{o6nR(EUaLQ{#W~F{i$Doj|9YeIEtlB&TnLrVg z(?$qUprnIjTXdLC+gTf`4d!@hQu5!hM)Vp#)rkDKDNH$1egi{wT~$wl0X4#C;MU0# z%^Nf*n;(7x%Y^KKJz_PO$z#{}$z}@rLXK@|a|GRV{+r#XB~F|X75x&Bt!~bT!6jjY z0@;I8!+}QOHq%O*hyw%~TE5+)INor%05TxX3JVdO4Hy*UjxS*bi>c+fTwpX{{?E~Y`qvn%V8f@Kwl{>jm= zMAEVpCx#H)%*Oh16wU4%He{?Xt(9+>uLQ#Q`upZvF{L8ku(7@-SgK@%(C?I@=NpD& z6~0KxGK;u6eJ|BZON;jn3)1=fn(Z1p>~KdmvV9R z%oxNcS6PA#nR}v@<)mRcGVLoMi^v=U%2*~ifG`yzbKK__`UbOx&gQ3aBr+hT=Vl!j zj{|sMfvjIGTfop8fG?~XG9-Zf@DM+F-=ZTaaIQAXq22t2WEc5;&eIV}H6*)uaL!1nt(E3Ic0>F9Tv6{Es(ks zf)TQg05YtAG%l?#QjOKkl!wlfCR5rYt%j3)aqGF~W0QSm`E?X^-lOpLp= zJV(YQ&rxxa#o;|1olvisdZ*N;7w-pTB%k-uvL6{nr7kXV+EnHmuj2sGW7o1E`G`WK z7VxWZM^YtSkf7vzYTBkm$Hugiq->r^kAxAPLg(5N7yX>NDbxy1f$D%ncMBy5VYyGbW1cSovbtJg|M#@lDPga3!<`H&EKr)(GCHkpFan@3iKN_4k zvZwQDVZ*2}{uvdl3koV#xl#GCY^uXzmF8THB1%z&@IqQ7B|S>3rd2sTN}F2V&Tv&U zm%ey>D3^Q7s&s9a(%cU!KUcd#_r#>cm~b{!ps3t0hKF5FlvAte4-uXTQ-m@h5uqR{ z30V%bvaHl2tkZe6O3NCl90@WPME;LB>D3G(3*}YmnsUlCKXAm_I@3BxlEQYSjB1)N zI9jj=Hl3{cAlH&)5Qkl+gJ2p9=ZVtH<8AVS$N%1p*UB|0cFjlDv(9kn{v zP$4y!R16%pWHJ9b^-?qaRK!bXIOWs=+HPXw(j==c^8|{mC`AUCf3nCKrfI7bwXB;t zn#*Gr=upePVq?eB!3kesHT#BXe0}}tKnA`N4v5%Ue1~tOu~I3W7XMLEd=1YEu~pn% zz@37zW8o)A-;auZ%p(CJ>2qD5Yn*i@WCvY|0n&It3eq&iW1A=V_#84X-WiulSB#? ztU(IkmbMvHq*a5~%+?$j#^9U0H>2 z9_03A!vr`j9e)xDIyN}{rb4nDK!*hu?*9X1cN8Ju3d9kzkQ9_`a>`pLhfrLM89+&; zDOyekFtKa%>W5l6?0D1ae-;fc_25o=-~4#8KPCvawqPAFjU z=_H4VX}DM?+9$>V=W!KFVN}RrxNBPGh3dv4)-@UD3x%7mB4Swpab1Y@SK^yEYQYsK zO+G4FQs28kmDX}3NmY@ip{AWiRF;WQC34k@FbthMWn+eQ|n{}+FR%#y1Cm#4n zMddFzdRnQCjLSBZ$}24?2bEZ3>2Q0$$oRO_K5>b?lT(sntTvI>Zi?UXyzPLs;7iYd|r;35YkJtPu_M@>jsnd+9H7T{Qr8=_ihsH$MP!Ujhw zpiQJPaHAN-D8NslW04V#q9N@x33T^Sxvlf~CpXo3VH$f`L$Iks zDL)P|QH)7Cx~R%MQYGN_p@3QXNx=~T-U|%vAB^|!T#!|IxKd^?MfV{U__b${ zEYd|@j~@qO&?(U4ly4>Ttx6|yT`1@+&Zz0h+D2fJ2+`mfZ1js9c(R$Yc&s!6a1v|JltQlPBUJI)>`R68W%LGC5H`s!pfGe;ow!uU1Uzm{mE(I zb^~d%k^i;D;`1nf#ds&O-HpEZ)l}T8<2GDRi9^eqtb;}VqlpSLT*Ac^Lc%#6P#(2k zZZgAEM!s3OcsqOmap8zf(5_2H8#ljQZ2t1mcUoF0Kc8;ilRT^P`a{TH87hn!wYSV2 z4H!ZaJ+jG6DG66jb+!!q3?EpGSDZX@<|>pz#v#TeA&Id4Uu}D-UbuYksp5Op5LkU> zY?K7#R4lB^U-d#_)wPbmu~=1glR$PJC*q`u%kA*Q2j>5Gic3oY6%ru@1Vme~;>P}q zF;^w9CbAY`xIw&>`jTWfPu#@~G%7z5uCp?8SeURs`ON}cLc&6u<0J!`vWQ;*#^yHP z6DUEoTL|f?JERETKO&4W{i+$d%tO}kv3sFtCv~`5qO-p=16(+}Ckx<<2J?g>6Ef3? ziGe%J4g~C-7K@#QJa$kLJ*ihnRx5RtjZr@pClKT_E3{7pwn#XSXbo{rx)xF1CITDe zSUn#Z6_y}8sSGmN#e{?^PP5^(q1hnfQ#L?5e7nnP5!{REyn<5Ezfx_DR9zVd7oJ=$ zlOx3<|7uNWZy(nd=R0h}W7|+|HbM^4E?12vKbiz}{{$_ot*kGAAH)#IBWeHG2F22H z;UTr=GzBFzkOlo!ZJLr)Sdu$}kZ4F8RB^q)1nPnIO3B{Cn3WmOLh_6Y)*ZI86~GnU z$0OGus8gJxmU9j%Pamp*XU;nDRV|wc4kw`x!vwA#-y<3&DHZA7FV5x&sOKV!5+Ve! z9*Bo5M|~!lc2wF)>ofwf_EJI%BoV$sJ~Y=FQct99$W^vcJHY=GFoO5bum9lsNxs#X z%QfV6q8wpFtO9<)mBy@2Ai-&2DBH~!WFClLd^OA?!)#$Sc))~OLHA^MxZ`9@Wsbhl z(utGRAb)W}U-_OhlndMslV24)<5*W?-ZsAkO&+H6I;E$jjij_3Tu2kGTu0Cyky>mt zvTmhZ@o-HF;c#}7`~?Q80aDXVq-(%U0T$OyQ_QqZY*0#IRIfNKrff!X(qs$SfQXbt zz-t;Lz4Dy<1YEyCcLd`~OSNX>IE>n3l8`;u_OMArpwQ4l{>x*K0TkYfqHe?q8Z?S6 zrc6;K?_Vn36O1P=-b(5pladk_%`f0;Q93nK{%n_jVU?w7ana0Mb#+$*>31}i8kdxq zoD!E1kus=n%pg|PE}fd@o0cj=B{V9IRO4g?vM=D!B#VP@iuWUzKpry*QfE#Q^6>}+ zv&kFAx|Rmar4!R&#lM2ggHt6tl1NC-mg0m?snT=_Ha{>YkA>549MTV@YLRsFx0KQ* zrbB0voD592wE~QnPxAsMGaHaP0qmaRq2l5|nQZ8c6IO$w2AqOqIU+%)iGSNZDJRP- zkY6MV`f*CEx^lnV6O`{1Wwqt6RT1a<(sZMhAT%+W~a&oiAavqit7$id1C++jN+129Ez1FMpZn9-|--o zK~PeYAOhw?Mz&nMQDlZSab?WK$&sVPoY9FeB=bdB(^268umRYBiiD(T`n zCAFRREt^etl{v#|$#tETYRX?JF_MMcw<`^B(m0)rWEQ8t0of4lLIDfO6%ZVu9Q4e9 z>q=Lzhj6kA?&xG*9_h-J z%t5B1i?Tz&!=<=9VJb*^G`N_7BOT>t-iFGCBDJ8X0}0xu%L&BY%V-MTppim5ggvos z9*J~gSO5pKaU0Kh_OU7A zEx7edOwOZTh;2g(!K#E%By^W-?JkIV7my3dZ`p_Ng+SzDNjfb|ATZA>k-#chIB40> zh`bEkGERrata3tF80UM)dl5t>;p)`(viNcy+~(3(&T)|{iMK=`R6f?1ZkE9L2^^e| ztvK;1RfUR3-w1In!8M8Km%fJtbh@ zu&WMr;jIOk&TI`FGeM%nC@YfMkOOU^d}g|v2P=Ui;7ES27$uN&mhpEwrt@TcCHv*)*-B2H~dgw}T*#AZbW`ot8n?pd0`Y zW~*>6`~svl!dme&B{&PkGe#aiB2K}jRvHv2&fGEmKUG}un+N1Mg9p#rR(rtNFBxG6~G_1+6aU2gqe^} z&#cnBQq<32YUEP`c!mb5$xtE@XBg`*Mf>@kN+{`KYzV_XU!-Gm-<4}q;wCT)!LRfJ z1sY7Lnn*(sP_$@J87gH0R{^6_;G0q|SWs$GY#Kbzm~7u5cmlBP4j@r>yMWsQ@SKY_GI1y~-HRAmKM^bE)P=j5xSUm z5-QWCOnJyFxuAlJAPr01o3MH%*pkwXSzDLKT!=sB;=HzHI^?Cx>9VD3o2v91MS(zy zrWW9n#mJIfun{#ZVlUL^bI~b-cM>xxw+{(llA~ArP9rJu)G8Gf`5iWLMQoXLVUegp z44=X&7nKd!f*_D;qbLp+lI1c_wvnGirA$AB6C|B{1_ne%Fc40>(L|9rl3o%56hV2Q z^g@?$%95TMgnp6m1u4ZwzM3TLFS}VJ2FhZ13r#lZ17;(i1=vAPbV%h0jwx$!VeUh}W z`hp>)Bq&=t2#EYpWQn5@ag-ld**ja8;1z&K+`^+xc?x$yQ+K%d3!5Mv|0lPSH6czC zQW0heH&Jm@hlNhpS+uM|KmOV()?55baU1DG1W~Dr#N$hYWG^Xe%;g!zEhPum??=`T z7e4rsgc*m|al+mC;4w0+Luuf!e>_w$@>$BuuB|RDBVkY^Fv4k?T-7ML+9VkXGIA#+ zq|vcbJ6^g5v>my@{BCj7uQ|X3r6n%l=SgYI8}bQij1tsXrG!)oSfe)sa1o7n5(r-$ zYs>E(Q6nYFF596QaqNks6+*|VR3y;oT6mFKqADZY93JxkMeL9G`S{C?M9Se#He#uYd6D>uL2qsc_S~ z-t=MT8~*f4PU0Igp4HlZfAeC&s5h?IpPzHHUaQ>XgT~^4AwO=PWAw9+E82JX{_u`d zZ9i`PdDVvBPdF+kRC(``{kaQ!vVIHQ6`o#F7@!TUQ5QpSd%E@Nhi)t(*&V;*CC6?P zT6wxnsNhMD_#cL!KKSd0zc=vghUys=s7XIme^OGTQ8>YTSxemnJTm^_Gd+ zhz?8Frw66m)9p4xIy4Xtd#A%;OizK020@mNoDxV>I^Avz*6N(bt(L1;tuxtED=KUA zjTvsKeIkNGJGn{yEs*=eoW`yFb6Mc&6-~R>oqMBa_twt&^rzo7ssXEh?V~E^<~A(K zYKzXzO#r;*mS=|)HSx<&dHFwEqm7!rSe3^#rE2v*`77i5(*WD*Itu1Sd!j4ndn(rl ze+Tx$I(gA2>5o@O{L&wWdNEzT_ouW25Je-qte@jLz5?RoPLypq+;gZI!? z`L`#3>gGl}LA0j+6O9iHt?KbgUimGtar_0ycy%-WwBohI8?`NXRWQ9o*MS$@(o2%X zpY@)@(JPi~OWk=H9p)|m>xlP!V-4JJx)*ij*AI&q^V;!!0$MU)O!O{Z zD_*JVz-~L=o33$7##>wQQSO)%t78U4O01`s3BnZWUF1^+#Ve^yZ|UAe0Ef-%z*Cd>*-O zZBU-5kJiqHe`$@JGyT`cq{UtkrMO{_X&vIxPZsZm)+-|)tA|LJ-==Vs({6R&MHf<_IPjdK;tqnCf$7v7f6 z_tv$K(mPywf4jIfP8$Dz{Lpy1RVCUA{r_XQ|2NA2 z-W8ZhhMK#(o36xfa)rw6r}UZfOEp%}eQ}9j0lpgPju#x&&{eBYdH9q*%;e$e&b-`o z=@q;?RA8R0q_aEoT%4$j*VR{jQ$ttTgSjpCTsgwV`cTQodjL#w_@}rGFQ}%jI(=Eu z2PsQN*ptSfX1XTyjkix-1sp|a--c_NIl2Q{g5tzn_PR?m6o^7DHF9v-Xu9f)04mNnDfKl#>YCI2t2Un$4S*sC7!=`WoY2Cr^bDJD|-He zp+7HtfA94D-tI*+(!V?Vb?%9}gPNQf6a2!=x~Y@BEpG3xdHd`~dxl3BwEC&iJ86fm zytMAKXR~8%y|WLW{A^acw?b}T4oN(v`#x`f?v*ZMnW2SG>dCsv;gxJXYmd)j9ro>d zZ*A}2$E}`n?q|oiUQ^;C+K)e-_|BOD3GN_N_ErfSj};lCYmU8c+S;>$uAV~8@s(JG zN}zQwuZkWXx~5d1x@SGlI-#=%*NS-QRL=TsTNB-XYBnyme$i1~GCi*48K>*LEJha< z)K2F|#8bsbb?{S3>#*axZoEd$s!1^$tU>j3b*QM9Pqp9>oh~T2L&r{?L%VhsBWg(_ znoy^Y#rSQq*Ow)$>UZw!yCrYMCk5`W=+dam=AH?Z_v13}D4P5}*re2IF8(T@OK=Kx(7EuQQ2@|+p-?59iBJuQFM zxlf7t%MLIt`(Je7&{d^@`!M#Wr#ozGS7!Doac6Gz;yS_&gSc432eX!@j z#cijKJk>BOd~4y;GuYm$JJz+klwR+ZqeFe-cWZo_ef|9HEpP4j9kFxAraumT^43d5 z(c5aT?i+VJw1KlscDxmHlpF=zLLeeY#n zH5D}Jk~4kKmy6rZKGXb2`{^GCb=b3}!Ssn;o|(7#_s_q4crPve%$ql6tcpwgDd$B(f;tgO@emy{jB`aebm-dNf%?0n9_lVkRO_=Cak zO~*s`%NIVo9J9T`g|01X9opz+yg4fQxB5OqCcnHVclJ$3P8a2o>P1uRik_S9~6&h($N?g@21^ z4c6(1B|UuFIYoa8UAL~j1|~w}`XNJ4Rsv83opoJ;b)j8#TnTjIA4xNG9sD0xQYG$X z)qy*y19zwc@Z9QKzu9Uw(XKgVSyfUqq2rF*TL-pyGqQ2}oa=*=S8cD*rIBacj%W8* zZFatM&WE*6Rk_t=-+~J3Kk9md)d`CHa%#0A)Fp7yYPDIMsNT9 z>rSuiuy#!4bzjXJ^vUo>Ue_~6T?PpF9Y>M7C^wa^ZN5SgsJBRb`grzU3 zcQ7zsoCjCFu2}6vdePf)?XFhav)HF_&)gn2f4|aUaLwik z{o5`bW4l;8Y+Kwjr*7PcnlOhg?ADQ# zy)Vywe%Jdg9Ib~nXuI`OzqVakzuNVwPG5}MFnev2mdjUW{-|$0;!@kVH-^1%x%JR5 zTl5W2Ik06w&sH9{j*b};c%tQ%{Gm0TjxF5u!0pnmcil^doqfOVrrnK?_v?GL>yjGR zTgL5buswQQ%r_tGw~e`IyV~l)-q-~PZ|-X{;OwMnKPJTKmam?E;m09wu6uZXedgs4 z=1&}ZH9%Y)IHf&M;2hrjY#cv8sZGwWZd|MjB8yYtrXid~%h>amL_ zUwFBStPXEL9bVVftWa69^6D~A7-DWJ{a3CsYN%AG5>*FEbcoc zPSQfqR%O*3*Ktxzk82|EEw~oUswlf*x{zVP!CcurBP%y3yA)lrE>ZprWf%D*Wfy3W zHQf{1cjzX*NrTsTPMoisI9E4uma<4%58cE`x}I`(?yO$Ole#12ZL}KffjARNZ-X-A z+qKz_JY6rP0e4-;X2F`KDu7@Z2U7@AG5{tR1{c-==beBG8MM)AnwAo%T>EC-p7Qpq z7t@LwX}>(>$nt%?%Dh^a46_$R&MQ7vRCVSDreRwD@CW;CNAo8Av8U%X?@zkz?Y;7? zJLa>7y}qGu&mU@lw~udW zS~$1stM`ZA`#xN=_S=o8&(?k6>6n3Cf=Bu_dUnHIzXxCYhiS~O zZX7f<+hSe5&9T3iSA}<2`?ldFJ$(`~tGvG{;ohYg&o;5vEsj|}>f2uJO>gZVnvyYP ze^W!J`BN^Ox%1$5y(O>tUHa_p`A2>lYKXWpq~gNo!z&b4I9g#tLGwC$^!hEg&VAU} zbI*l{L)F{<^tCDQ$NBe{q|ZC$c5+GV?m>6vzg@X+pPCCMG(Y0j?%;;k-|iVx*evwJ zV@sF5IcALSZ+%{AzWVpxEhpSt^k8q!w!ZT(|4=Zx(U0GEUQpDa@1G|(wahN~ZryJW zU;3fSgzwGW);-kS@Qj~+;X*;4VOEc$Z}d-0+B;!@?~>8Af?JHa8R5O5=kF^%T{iTC zB`>@_U}XQqJ~8h{e*F5VA>I@Ey+c)de~$dItG=YBHMs zIpC?jG4l($z0~Z-Do_1vy=hNu_vpgyZVPS&UccivR2QkLUNxwrE_iXB3AM{&Y)cwV zXz)0mR?{j|S z?oAUt0yfndoHt<3K)2%7ht_|7+H26x^BaHZW;yVxU(5;LzE@7|*_67maM*h_=0q>N z_kO+To&IaGbN{S7wEe3c9zAbp^V5Wd=a)T<{=VyqmZ^1%JFGaqaq7ByZtI#KZF$`N zp)Y&XXTUPww0`d{^td`c))ExCDzeg)@LqRzPdPKb+UtosXMVT$^=G|JBYIy8sxjr_ znUUR+?4d_f2fz1W=traTR-Tw}eS6)L*H6ukIJ$eu(OXxIf8J=5nz1ZkMd0BjUeE3* zoYc7c+_b9O=EwTjHn&|p{fC=%r)$~P?_RIj{%-eu1DBN4hcQy`p|ZFh9xSM&-jDe1 znzBQLP1HM$uTHo#kFwZA346Li6`2ZZ0-h*gy|A|3q0+j5nx&>E5Ayb4<$x2zBQGr( z<1_GAZ}aiD-)k_g1Iy{OuXoRH*CjU#S#WMw{>$zaGU^Rq^zG0FKEXOT_#wd^bs-(Q z1b5Qvx^@|?^PJ$$?k=8qWZA^ebQ3@Mx0t1^buFPz;8ZqonxzqWIH7OQJ5L7KgWBj? ziDFIDvh_%6(xj!PYGP6o!@5Lt2@Z$}=@=W(H99&XNNUbQ-CP>dv?&`3_nV}Ovki+& zY7KxrUR77(dDjWaumvB@Shr?t@t&6ekh-x2YJw(6X57DJ0i>CE_%wAcfNI1NAfpq2 zOb~V{sH-kCs1pG)A=t7m(#QW*`vU|1$%g%QpI-;0zvX}U%!!=LU3vBHy6^pB#*Ek7 zYc#>`uYGds<$A^E9V43m{OxlSURn9g{HLa6|FFokW!>4{Z|}c9bFkr=H|CDo{_A($ zib7x5qKi&n{9?F|b-;FiFSmWeHfLEkWWDzAn$GqGs>~O+~U*0>nwDQlt<_s_SC?cm?^!_;) zy1w7oz486{m#$9OG40iZ2fkUmKC?}~8dKK&wxCz!t&{CX-v8Xt@loHW=Bz9ZV)brr zyu0+X3I@g+)()S0aHc-Ep?`%&o^OO{C#Eh*>hROrHE(u47It(@#`ZRmmG2*KF*mEy zSJmHTPdEX_6T+>kZLqv!38clyM|9+^D6@`jtA zPsslBRGXnq zn-9MHAh_Xo(dqSScC6fId(+>0wVY7$#fj0O-9w&Fe>gQKNwfLAp(%YQF1r&t{@d}- z#NM3W)n{DY5t~}B?D>m!;Si5`y0xz*pC7PdTci5Fx4FON;ib#-&J2vQ=Wjcaab@|z z>fw8bfllcyv;PR9khf=&XBY8|X| zGAurTW$_cHxvnj)*CPBWS2k&3k`LEC1H4(n;9!y`|7BmYRsQ#SD-A{Y(BxWsR@HgS zoqAL%CE2)zJaW_Ern{%EPgpzc>ZT7m*Sz%M`t=2kyY@KRVqo&(jJYpuf4S4qpWeBd z{?)ieMbCaQ^O64w-T9uO)8Bn>^GEZRe?NNKgoruzqleOGuh`Oj@-u^iMzro7x@TmC z*r7uoPHp!Fi`eWvx9HH|PaU^ABz$@zc}Vr)Bi@<)T+K(vGt&0>GF#tD$FE#zdg}ej zO)CBFcrm!&i}sIn6+%1?J-S=(>lZ%`ZrQ7MgNlxsruwI*?S1Dvzxl0pZJm(icIwjE z^x?buzLu3`ja_|m&Vw!KQxkvKy7p22qM&YHO}_I&%7|S@6YeMa-8$cDspqoWFYftn ziT>V88}6^3>$Yh9$esRsAHD7|&NFJjt$^3U4eJ*B6xZ5c5W75b{tB2>Y~b)N zf5gSrE3QBFqXB_mtoiY+*FLsQ`K;2JYkqm&UEY1O)vo7uKIpz;@aV(Ce)zQVz@^hS z_02owK5V$w8n@w*Er~VivFOiM^=r-2-r4u-qn|(dwxHF+lKF?mozcb*NN6+qT)2kw2&@_O-!7k8ypT=i#zWkGdY{B*O$ur#lt2v9@UyobBfvUQtsOEnTP$elxUDps@P?zA~;7}+>z|Q<*2z~qy ztM0$jX5UE?(aK zUU>cCA%CVP9m@RWmDG`gFOPp}@E_YdWjz<$vg(#;K3^0DzhAS#wc*7hQYJ-jduMuV zPQ^NR4vxAvCHdS3(I1UWe>$l1V(%`NX*a&AajH$~xUPElF$Y#XvYFR4UH$I;PJ2Sz z7|*=gZAYWAA!{ZK8UJ$4CU2ztvGrO;>vJP&d@=OyAJbF6IQipq{S$7U-!*O7m02@3 zcJ+UH;q`oTwNE+)p|fLdla3`dZq>ZKt#^YP%dagM*E9a?x@Y#?IdRI~BP#KOkgoC5-FHQ1 zYioW#`RUlpM|Y2CFj&v*pJXk4=Bu`&+%JbTuzj^$b8FvkwY|SGSgU^A$@tQc#qUgN zF?5*DF>CJJQ|~4JT4k#KPNxc?4JP+Kd#>@(M;nhfIhb=lJ>}`4wa>QRu`bzbOzy#2 zO>H-){hD&%x%zY7?_T$8qt1sa)osvo^y-+c_nJNb%$XUB>e0np+kH{<&p^+gRBEtXEtgJ; zKqJLJs!B*${G?)d#1a1twTULw#(5tEM{UYgGyg3B+KK!956`%^G(98xXpgxwhkW(< zYYh(Q`U{nvq(h`=F(O4u80Q}XXcQ^Z1?V~j1cz`+#)F;hEi%c24;%xY6l(cW2z6#qNLpq2tm0c$>B6>H^)tj_b#qO8&!p;Q3zN52fY3 zVQ}>E-;mfl;Db7zBljAAZMDaq_sR6iyEm}`acRcW_OG68HYA!&AKY+OPPI3ewLO>B zux+ayUHZOe`MpJ2&WM;=y;uIcZS64^yFQ8-9IQKj+|8aH8k+zMd zR+-W1%#Qe9U;oqlddCN?LbEztthW8TmlvG8k5BQTUDVi-SUn zcOAYyc5j#b=%X`#{%CdBi(!>Ao;{s!NKKgbQ%T<2UNt`$Sz$!Y%}x7-4BWINKlApI z68F#H>>%v`u+)Pk|NA`cr7gWNwTczII#l;?Z{$(eZT8JO8P~3^T$OOGcCl`eVXNB@ zbAMP2*m&ZEW#j+DYFZVv_40Ca_j3F8+e006z71+9(1{+w&@F9p{|D$ zhw)@Vfe4F%65V8?y2x2_UZ z^QgE)vqb)#OayN- z2JF9^_0EqMTE+JHKKtuOQ8(M%{^jljkDuE4M%2D_H?s+;(YZsKlFO=hwA z*V{{{-7u~6>QsGA)D|zz?1gU~uJZHF_glVT&&VCGoA~Pg09Gh};eaE5e9XS`!$x-} zHXhdG`1$s&_g`z>M)&@buP$pp3wt^IwC@r%K>{-KEOB@1@$;T%d(`h8{_D@{l0&Pn z3yiPf(>vVf{Gc_KoUNJzP3~7;;*s|#??RvE6Q}n&RdoKVi<3SXyEq~*$FY0;(A&wa zziGbe;-qiBI2&0!XIXCUPgyJO%{@NMyZyE=qUJpuv?z8^*9p-Z^JYc$8`$ZENs%Yt z$hvL`oHAzjxvIJEhSuJ3sKSnRaj#BU`|0$FHT{zEpV0@MIP&WHO)=?E~BUuph4ztqHVd%yiRhuC_o>98Q(uS2Z^$Ga_F%0(Y0c~ z8VUaTxvvDS{jhkO&%|CY)TsHv7(;N>uLsAa6;3GmGC8_YP4f?(ujM{l)OygtKR#~r z%AV6ptJQ09{pi-g-XmV_rkS+#>ceM>YJ_h|^sC&W@yYdvHs8~x-aS%r{`xj~rnk@j z_S3?B(dp-Au>JA(CU)Lq+r7BKC$oE8Y1`HC{fW~VZ(gi6t>V2JS@W8|Rd2vIXb-bu`b6Dr?d&^;ht>D^JfZXcepd(Iere@k>n|nsi^CVs@9wtnVCOA9 zt&YVM4c|8@dEAj#C;fV)a`d5-+jE{-T>HWBZq2S9O20GaY*FjwRli^MutmawK}!o~ fzmk3AvmT9~8}6gCf3MR5N>FK3epj!30MIkK!89BvzhGkW-VOz1H zB8rOLT@?$fVnOT$bp`8M{%39yz_PpV{onU~@BO~tciDUHoHJ);&di*dbLLFk!141D z9U;Vk_sbWA_Q4lF?iBoMPypH5J*&0RZna-~?IQwy?G>KH6Eo99!bA}#l^Mqo2!s-5 zESD+D5HNWHrgv}{GgTPRWoc=tTga;p@j)nnprd)N&NCIQHKE>24T40-3@EBH>gXZx zWy0$YFG4z0nkJJQ6R`Z$QveX?DvJ>G%Y7PV#s77DLxXyQal#!Tz7kHzA4`Nb z_Jec`LYnX~9*j`9JnJ9&Fxy3^*i``^)~O&%!p)Wd9@zr`t6TWq6tJc6!`FdX|XG7Xl-e70Zmr0QH5p)8meiXD5_OI^l7J2g^o7N+_f^Li3Ff zQlqE{H93P$5C|+C<=HSoNmS^QZ(6Kol8)N|@0s^$=3GQhbl*(;?r+ zTmb71*uh z)ZIU%zWjzt6B`m>C{WDPoN28bS>>`GK%Upe#6P0WV%Eisgd05~du- z%L4O2RY(h7+y=&>F6xWWVg|->>0;UwC1uo|j^PXnTGM`0(nma~SQ(|!w$hc6kbaM$ zjBe8~45!kcsq{}2+)u&56nz|(c4O24CxLXKh7T$@eUo^iq>en*98{FiJE8*G>H@7O zqf#YxWo0x*={)e9A|?ZLr%h(4BMxw?qlrow5~{eAguwOOMHuc>#*zdnVYpcB9`LJB zoM)6V=Rjy3_f593;<+jZED^y{fwT;ZQ<7mSfa{=g!js_xDO^Ga=_+R{`@q;~p+Z6j zJy7nZvHO!R&LJ94XV>!eTz^digG~xtcN9EXP;uk_0U6o@< z4P(#cm>ZSH=!M`}f*z_~fV^()*l&a?vTw(36Y9uYjy2LB5}GJUj*+S@gch19$E1Mi zpsjLj3t;-_oE#emm=StOVI`@*bno^wf%HM0XlMYTqeDk&uoL`i zlwwLYT&Jv_4ycCkoazEpLMBwY7eIBy2B?EvDCj{!e+rJI;5Z6$D9EE=It5Dr;x$sQ zWQaCV>C*taqhc!k7`;Zl(0epO$r3$AC2Azv0dyyT4h%O`kKVvKG9j+0jzG)M33?d1 zhOnNR5Ou0Cs29@*D4oti5fqF=d5}&4 z=t0%F7EMI!>1)vxsCg|#siRs!1a6T@!T!W7XvLjM`%~!{DqTRs@|02VFa?_^i0GKk zq@X(mV<=ca!7>USreG5V5d-r_g0>K_QdMAmf*PSgs&pDcvnjZTf^if~CRBl*r=kfk zQOy9Lj8dv(0_kOh8Nl&`IY5RQhMthdHPfMf>;cgrr2>!vtzcXOpfc=sG}!;T0G}E_ z8d3+1A|Ou}(%MKLU>9Tv6diyxpmqhQ2l_^XyzYomfb~-L;O{h8dop_?C&I`^P)P+B zMkb+8*nCkBrgv9h0X(rJhK+^<3ga{QTsIV!BbIPeSzbaupBpFP2?b)7A6LK?@#4^s zAWkaREhReIlM|N$M%I_d<;SBTUP1wOK)=fna3x|1M-a~u#UuYPiBQBz)D3I*-#p&0@RFO?gflg1qe`FyH%jQNU$sd7ppR}zhThs276h$|Lmh~l_@B4I|F zEKAk}kGMD?)JTzVu`rG}T$sWYd`tHb2n9K*!VGce3;}Kfw~cU7uMEBf`bagZNGsY^ z;8fq_J@@2@fmtSouTYfAk%V(o)A$?-7x~2VfbJ=R(cr}LxnUAagn>xo@wp;u0)Y_k zAp!3wHUqNSNnUV>>L7b_V>1#HxuPJUU=+;Ak1}!f9RT_UL&fqYMu~X;+dk>YU$)FTlRAX>@h&q;f+vZ`RqQu- zyz$D$3W?;amr8%L_kp@(^5VIo_B~NP?(K9~AJOfj#1U{{IV!q<*Q2)(@6NJ?jeG?0 zX+oYrBHIlBB32yi0}6g`9w$*C6iawzs-}6b0>1g6o02@9vPA(&_`Yz zr9v!^Sg}OJk=ese10yR2L;02A`Kz)SV(u`BBuz}I;Ma^JxH&KjvfUk@O23|4MNT;0 ze}9~X_sJjUjLhI>e47;_qwDUPuX!JLtg|aXIlhKH1<7iTwrPNnAxy zj?CUuoN^VC8El!`^X)QL*k=W+Y-dqmaq>dAck*#m%ve}PLIN*arWbPCiTuSu8GL@Q z$R{;Tl7mpe^gzTzaY%%O;N%HW0+JvW8Ur)|iU&Lks2(U6WdH{ka=d_+3V$3bU)+fz z1PXT6CBPwq{6vaBgsM3W(jv&=!55barM^O{);KDS`g=fmTt^Pnj&pFkaqx%J0w@~< zb*2I@8te&S8X<~>d_E-=2PDlwJ}4XN7Xzml4j=*uhb95{*L9$NVNi=0@`NY_as}Vy zx3{5|1ocQz8bTV16vTgQCc<%pM0xNx2-(6P#@Q6klIP$rrr1J^GFC1p(nyCsaH$t* zNI(Ld13gho0EwxTuTk9K=fy_uJM2h$^>ku4qB9Y}U=oC?5&&I8oYYog(g1A3qcR$lKW}MrSV+*)uGk!WU)WGoRo}pWH+1oTO z*&lx%(<{-Y)c6T|Pj~q=Ztmslj`spwX8U-lJi0r0YF`7_ZKq!^ znIbGb_0})seraTUv+-)5TWu*;1N8iUuHz1PU8kxPwaNOQnUEo0>n7G@tXEvn8wsV? z0>HVTaad1r9_AN8S^&CC5Oig|K$@~Pe8#~Wg@@8rg^3LHJYYDPG(A<>)aV7m*yxSJ zAW8{}=|w>h0>&FAfu~K)1y3(f{!Il2Z9SeUqU*WprEAlGOB=ovHJxDz4bUx-wu+^! z5ljeVsN%{2MA21YKJmFrRTlb!7(JenaGKE=5ho42ZJ+EoF6DoQCt)9+06sj02sshR zgcaly4jw&ql(Lq)eXf~yEQl3{Ya6sX)80HW90qczlSwxM8Md1@rk7BZ2InvA-$E#r zKq}zSa`9mTq5-IPyPwKDx{3KGg$ia7s9;)0CT01U9fvcfd^cnAd9fmnD2K%i7VvYJ z;F~kSJK)K11@YW?s$3#Ic5?X4cy1=#N2FofgzI9# zGAEESn`O^(94PBRyI6mIW<>4;vX`H2JKU3Sp^z_zgCdx|L^!H|_ZF|n^vvM#!An!Y zF=zP0Q?Uys@Z6afhwwb&GdKUc`V@sj!Ip4E*349KoKOTKV$D>{n!Gw|rrbkx6>u}a zv*24ZLo#Cdyf|$2dnPwu`+3mvnY9|GqKV$SK+cqlYyH6qtHKJiPIL zX;qa6hF-RA%h9|r8q;my#c}gE=!E4zyo*DDLI3|7IgX3>{m1rlZ(t=fBHGW+QG_G5 z&K>%L575ksWFC_vGuTWnWwG&ZwsLt+{`j`0C7&8DEN?ZaDRO)*C>;`a zzHmU^I@Jkx9-1pbpOAf<-$6tKhTtg@!pk2FFI?Ct9;{PvRfX_1VI$->nO8M``kss)$! z?@+21aE{3GT1LwP&IbkS_}yAUNt% zt}`DbV^T77IP^@Q@t_?ny9k_a7H|YZ3w%g3sUC{pi=B5ae6xU80(CJdh$(;Ho=EQQ z^C)K@*B=CON#KheG3>74g9#Vjj`r|T1G{cmDl9Y3&x98r6Vj-9a7l$+VC_)=T*NBI zD2gtGiVqAOqxnBK&vw*2f8EZvv;FN{JHssy0a_)dR$wZ1 z(8MeAN99P+5!p*k+kYp34GsTJV{9ic;J;JQ|C8$9F#^*%%7VxMvTG+w7gCK* zpfbi9S^*;2-;`xAV>ue);a#IDZthv~EUJg`$_10p#+vdr?F?gB@2)s`byt~GtB{l` zeIcdvhh=mcL8Iy0g9{Kk%YO5_#jP%lco1lzxLUcega(L|&(SH+KBnV(jgaWn>sf~#$`f!qths(xzwi($2Q`Gf;eC%dhl6`SLUB73$%MHi! zcrG)HmneW*nIT>tOgoazCe6BP*|A9%(vIzHZ|CST9#A_#*>aSW{9ELc%TNCk`AI3! zyYoQ7+|i{(7no~8ohF4J%Urm3e%`Lve=r&=@AYgm-?FibYMaBtjh8oH@mzaA${3S= zy3grB4Ysobh8v$+(=ua6Rlly=UPe2*Z&|pZdHNxnj~6wc-AzBVVOJnid5*Tn=Ive~ zvGaOQbb5Ka)zdLg7-V~B=3bvoV*b-^J#Lsb{87E|X>Iq54p(fC{rqf-_SK-9ukS|L zt{Xn-^h@v3cTvCpbhvhIojNUNUgU$uTl_1A<9b}rwVN^DFl?&203H5$edDP^G2R&# z&s8^spS(M(^4G~pz9PS*vkkwN^j~ZLs@Xp1D)}U}j(^vAA`#b1Kdiwp#7$K+R4+e~ z7;v;^|2DrrCT%IY@w;S_dy&6~RsOZ04cEs6(m+v(wNfG~Xsh|(qL=B@(=_TH1a@k|D7F&U1V?8yiuN09zyeq}yIUP*9KG04_7D=UkY z+I}k^Crq_XOW_IA#I|uFzAY#-Xffz8s4v#uXbfz~fi|Qw3-U>hqR#}u7)6GWBNaGF zEAsi<2B2HwziC23YGT3l3E~Tb2EO&zi#<7bo^xtCqXhx`wB;Z(-$BpKdeiv&?PWE5W8rdzH-ZFdXh~jcJFT(Hsh;3T8 zU%ocKeb{x(k~ML{(`$kn;=>A-+t)kPSDbz{xYR$a*x6@ea8=UNK_9xVl9rj~jx2Ln zP|{;hNwx0GeLKkq?W`Q{eFxchUON-E^IMMf zW&NCaQ7K}?<+1PX-d*{nqOZoa4TlcIo)WaZo>QNdY1-Fy^^Mr%mbqs#l6QN|7{7a? zN3M3y6V5T02K;d8rN^N3H^wK@KQz`yMX2^%G z`VmuSAL1{F5(UoBvU||vtgZBNv#wM3W&=Vm`0%pd(5Wg!b^{9CqGJCejplCIysW9ttULb%fl-vFI6Fl3LHEwhoFcH)`{(ZgP&_Du{Q?-cT0T#paUx!gqIXsc2n^ z%vtZ>|Do2QGX1PWi(Fs)ad*IYot}ZCE!X6Vn)C+k^`CIHrNygc%C(6*Cl+kL?*V)Pnx9J~zVliuv8Ns4gRYvv$2hcWSoMq|uFs z4R;;vetFc0hc4w^9-I5u81M6*P_$vp|2cV$0my z&mvY=e!RIoq4`K@;l!4PmJtvA`&Z~&Zm7shEO;<8HamK!?bP4K{1jQ6Woh|)OKP3v zJnMPx1A~v;ndV)5OfBH}<@H{+lErTY@3NU=t@Wc~7B6=Twx4=^`;4x)Rt2>!*P4;fl|<&Clx2z_2$J6FeQ)L{8QkqDJ~Z@^ z`kBGCew)^|@*3l6dpoW#jp9z7pEt`lWYks71(Pmz8_}b6i07=(3)?@X+;vl7^HWG*-qF_Y-7V`uOy1I+ zU?X%K1<&jISqK0zcgX3CD*Q<>frn9V|=LOXN_>L9phx%lhIi9$!vz}@cJmC$l{7AMi z0_NVnosk+>;#$9QbWm_@!I<9V*}8VUa$k6;?-=^W#$VP&9Vwr&VodtzpkY3TJx{O5 zj8HEamhvfQ^^t?AsmZ59#rj&gA-}SvCbLPY$qYFDk%f!@(}wF$Pk@~crDcWNNZ5en zXF@ePTeIDXheIly^E!^K8f=!i3HDYK&SrmJ8j*9RbpMKz?){~e+b-BIMP?k`*rS_|9zLto!!gr& zYUActt1FHLE;i+@Efy_~H}30w=UDd~j_s*O%;%aF+GjcE_zw-=9#)@vxTtW`@yl89 zrbdJIc(qgr=4?GZE_sVMyO>{A8RO3w8XD|+_VO&3_$AT#(V?|-gNGN@T-Un7xqHY} z(5O-3#!tK(K5pWvsyF-BFPUVwc|b4K1?4xN7~LBiYcokw&3{JZY7plWXBz3Xu5P?B zc54;aCCskpv+h1#sTn2uOEV6HRB{t19DdoooW@$)r*6%`iWglQo+%rgd|ta=n*T?+ zw5t&*?W)&4xO6(fmUg9)Qlro9GlXLkMlXQ$lt$3Mk4;F4ampGBEzp7Rgp?QtW9tnj z%^kE^UiH**>U81b0F;dq6Baaxbat?_aq#qUvhlKW z@nH8M%`qQczeh*4;qd!w8~6o7Y8q4id&4rRE*JcA15(QP*b$l`rh6JCFd|#q=0IQ+ z5z{*>HV(~9`nL>(yk~TM(;rGK56qCVzzmzTb7s5P4Ya3xa(g&o!xcS+{;!-TaOnTq z(Lcn?Hi>hkudUZronAN}4cS)l-Z^(g^VP!}Gyo`boBX~_)Ba#d$$Xy|sv9he@2K^Al2A8oH?Q!xcIM&Mr8hp5q#r1J z)wA%d%fi7knV%~L&f?F0C+fP|Fw8gF-0PyoLUAe$KwxI_h0yNvB2rvwL^iy_tvj|nL4I>s||P6UOgU_DRwI1BXTzMS@6XmA zt0Nkg=Zy^Zx)ZxPetGG|MIReIuXemW@%x|S{&b2)hK&LL@~$g=dK@%SFT&N=ll6>n9AdrlfG zdEOl7g+A6VQd6B5UbOFpZ}W+Jv(JxNcgaXP_Kn0g#QJtyVUy2u;CQu-{gpw%^#|@eh%|1?|gNI zVHBDW8#Sfv{zYy@_b^A3$09NsJGea=W69BEcv)y!NKw$A*}QLpP_lnB(#MYM*lGZQ zr3(;Tb<&dEpK{Up3Kth#^cZpi#GmCcIdIWK{;MAMd5*8vW(}7kDt4A{aM9ki#3T>8qJ|Yhp}JQd<=J5YqqGaUv|C2 zfnT^q%tc_cTF$5>gHwPa&?G1H1^e=Z~9X@hiZQ+){IPAjYQ=iHKqc3K9u+^#(b z-?h@(7v5|y^h=d|KKPzy*TQ_9J~q#C4kNO>N>I#Gu}b!B^bHs&>7%B-`(*6!B~#Yj zd0Akt6&cL#{d`E#fQ6S1CH3BPvaiwJ7w79XJW{>j6vsK?cjZV;)5<~n&+I>={wS-_ zzA`$9-`8KV;PIJPqcv>1c#{^s_NS%c8}joO`FU2Znk^md{OlJ^E%nu>`{w9Yq>|aQ z#4Bz!J9U{BALZW`n41$zG#uX2GWL_Z+swVsJ~r(7$)@Y?MPXH+kM4dQ;HGV1;d-Fj zW#y&qgU{})wd;PRivCNfNL6dot*+}1MCtjxzuK&IAxYP!ucP&aBTdq!@0Y%9nytxq zdUpNrnkfsKuSy$qj!%A~IqUY$iI*E1S|T5{yj9+M?N-~99R(p(3&1UZ2pkt95|Jl8P0*Ygg`_S+aJ= zJEc2Eq^-L4F@J>iIHP*=Xy%i#8&=y~nA86qU-(Y*ey@lEH}?Ra*L=;ikWuMYZMO9n zb!md}+UzW?_`{S{v=#o#sKAxsH(K-G6S$Ha zNzw%jqqCizog>^{Kp2`r?J@cvHsOC~&FPGESXw9P@^l%pcy=d~m;8*BJXRk-;Yu-YyPHAK#omeEjEqPKnce%{BMT(LbMM zcUZ^xQA}QP=oIh08|M0^s2H>!&wO1Ja^r~isr1N^?15$K&Vo5Dzje9VH*As%hn9P6 z^CuCn(saw#H%^Bf`^H~iI=H&qMEjo$BJyYJ^jI1Cx$04DpBu?t&PTO%vpE0WZq5}>ybY_PUC5vak5F9%Rc33dGPM;=@xZOr|0GG37>c4gVLy_sY!#E z`yOmrw=K8-z^!MWPVsr@D>!3!6uf&n*oB2 zdLtjzDuFj3-ViuYvZ#lHw98AKS9|@8TPhwcn=~|_v2w!E)+<-Vu3kY$>|Fxp(rP@D zSUOLpj`VG=KbUMhoUd(wP zdTd(Pg@=b2Hg+3$Qq|CSX!aJLs@G=ICtRPm%1FdJv2Ehsy>7|Pte+Lu>?T;VYouO# zfCa)m;=x9y=U8os`&(3?aCNegu-gVLZh~LgF zH$Fy=mYM8e5^j#l;O40PTIZh(sNtI<(uQ=hv9qTv^>~Gm1WS$Yg@-F}u+(mUWvPD< zO#8ZS$v4|4Wpr1L%KK>b^BwD+i3Hms;?643h>x3uPa+Mf+=Be#vv(*jEOlku?{WF< zXu8wT>+$?a7cyK@4|HMQJ38+Vetr2Op3suSy{P14bbzFp~1 z@grVSwc7KEx08j3`kxhC9Xc$7xMqASRjT`e3+Q!rqH+^Zp<)yLj+A96B0b!D7nnDvezKbs>4jP%<0 z_ZEl5sb}V@9o$8X@ehx`CjM=*S%fz+cf3hSiq`6NmNybjEG?>?M=Tfo(JMS9*+jUwG*3yTSMN z8rJSU=eC|ba%xR2?TB>E#IB}>#dFd=KiqS{vRkpnJg4i`0q<9QQGe|4&cZQqK$F(K z2eX$o-0A(~Wj{~XK8qemBoWE=tK3@h%h>jLHD@1BtaVQFuAl$=sV#$M4pNPsd@U_5 zEO5?qY3h0dlwx&5yNSj{CP_EDXnD?PcAH2m;WEO*PU*2;eWY6Q$qLe{}N92 zHty0MGa((=j!xs-367+UKuX9#9RV5!!L}x?NOgGy_yR%&0F9>PDNpFWlI1>xe-#6{ zPMylq@NYNTqkK5rLn~7!RdIQ`N;$J!ktT}DI&Ul>FTJo3=@usFr_SAwJ^#iDN6}6< zr$UKc>w~KmK5KGR7J0gyyi6>9t~*I3&7*RiZ^R>()BU4Qy3XWgu6d$5CRr_2Mf5cJ z`38-3!?~k^=Woz{ti&_VGhB2&=_k!~!~D%A87%HQKlaG4=cm^Nd^zQCuIB!lDNWZj zF3jL`@f!SO3~vi(+Dd=6l%WMd7BwpTy6`_comBAkM=_qx!B;6Uob1*fqJ!wG)>lEe z?*gnU+3P=bS$un*eMCRI>xJUwTQ!NtDz$n&n(JTJzes*Gn=Jg$sREiUyYLBF_>e5T zM;0DrFppWkEYla1^~^kaxN3wE=X~Ln?gNe{Ofq(QXupoXe8pI@aOr=+I{5LxL3H^* zOVZn&TQ(UL#XT9ks4+P%#Vf4F_6$AZmHI@}Rabi|byi3SpfRL0v?ReHo;K#y$B>3l zgH+?yj#ZMx%Deib{A%|UyT5JQ!@N?MI(Wdnr&YS2RqsTzcQE32Em}%ijyqMbrO)%o z-l^5qeRJ6{YclQagJ+L1#7ib8pp<&9=hnQN^t{pFT!XV})4e37^1#KB(!=MjJ2y2)mTvs;z-s&C?Hd+&%vks--jr+b NYqnQo?fvTr{XYuy=!^gW literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Strategies.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Strategies.dll new file mode 100644 index 0000000000000000000000000000000000000000..f82770a9ceed0b7d84854e2ae98998d94a87a9f9 GIT binary patch literal 65424 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 literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Rest.ClientRuntime.Azure.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Rest.ClientRuntime.Azure.dll new file mode 100644 index 0000000000000000000000000000000000000000..1d99c70159127240fc66dcb4bec5e891d960a1ae GIT binary patch literal 97872 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 literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Rest.ClientRuntime.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Rest.ClientRuntime.dll new file mode 100644 index 0000000000000000000000000000000000000000..4b4be00999a44dc176b392f6ff32e0eac0fa40bf GIT binary patch literal 80248 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 N%es1F>FroV{C~6e!nFVZ literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.WindowsAzure.Storage.DataMovement.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.WindowsAzure.Storage.DataMovement.dll new file mode 100644 index 0000000000000000000000000000000000000000..6ac672abd48641e9dc4266d9fc3dfabcfad39110 GIT binary patch literal 302784 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

-$HGIUk^ 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 literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.WindowsAzure.Storage.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.WindowsAzure.Storage.dll new file mode 100644 index 0000000000000000000000000000000000000000..70c5ed6806c621bab9cb23092ee5c2a15507290f GIT binary patch literal 784496 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�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≫Zn-u5hbIohnjyer3n!(tuwXtqw>bzDs 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 _ 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

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

H;Oqm`#xdum); z9lAo)GI?Juo`=_nPv8}XnL3B@v&d87XL7%TE9K}2D;%lgTx_^f=45b|TwwTI!`H)` z(qDvg+FTUXTJvA3o1PG+X%3~0hr@=q$&=BU#-45Xl5`zswO9`SDA&U|ZJviWrEAV< zb3~TbnlF|Uvq{;UHAnp`h9^T!hfguQ$ne!l=QgL!zOD3Gn*T8IKM1YQ)%I9xZP&am zw__W=6CTo>)22JTDP8krCOmYb>ME2exP3Y50Y(&f!aj zSLJr>pz|=lqt3(Wn&p4@)%+Kn(^()ApyV!kyr4p(4Y>4Noy#VR(VzW$>HfHX z`%a^E8NL?N`F|~@@A0*m4t*`A?VG~dvPLXAK<7={H-)u561fRWPMh1|*J2wCYrR@L zd!Ua0Dm*Q$?Ub#y$lQbY)^emf{93FAUM<4^(lJ}X)56-aMjnsOX`|0wBkPTxZ}?RB zwV1ZQ7Sop3V%qY6DU)eo{YQmT>z+^>y{# zZ3{IRtxI5q$nD9uSleoyW$N&#be;a&8Ey0M6tSOE$3LK#=0bQ&c%;$O3||D_k*ni; z+FIATFAV3l(W&LM(Ux4pTchXq)-iW4(0mBIGkQ6^Ep&_F2Ms@E_;pxjZin9tt3sVl z20XT{t`B3|YP~6J>&7SOZJ{3w%Ob6F;Vt1V@EX}0&S|6DV@{jH&|}-`dmr0Y=XPvc zZ6DiK+jH7H(MM~|C7I*39~$wzYgHUc^mdecjb!J$j9J37!_#_HChW;hj-6K~x@0zm^*HrbSohDXyeX`o z@-)Mv!+K14!SKki9!HKe{9x!l&Uz+Sk08a_|3SYH)_QvOVI#HH9KDO{{eT6oj69HrAPd(vGwSBqZh|a%30UpA>EO6tKs|MO{VwW6xKcVCeydC z5$mu&o25CYjqab<$J&k4p;~W_jX`gXod9=@Ei(Kfd`@d!!d+vVjpakbKNVcqLaGrS|~QtUgj zo-zCyoYO}4s|7hdChC}4@5nk5y(6p4aJ8}Pesxn=_o&khZwl)^cADX|oF&BR8oSQ$ zD#I@r-fH+a!@J=bPRp4Mca2>HpPloo;oT=|OOfG`a9Ykxqfaut)$n)lyRG%Jc*pRE zhQBi0wpI73yjN;96aLt-T!B8v(JM@7Xd3U~jOBB~)vZQh=^DGj@GXY#HvF*RweTse zet{`ZdeKu_?RKPo7MvIPi9%XnMoYO}4dk?m{AHB)+ft$j*pPXiR zlj*g(##$ex^D_XhZq;P;sfO1Ze#!7VhJS#6jO{e~priF!y$p|l$q9X6b*p2I;?7)?Lh~yAJ`vs0|$VEz`>vo=nMLRL0~vImi;5g0ipkm&+94r53OvdD{CyDJ*~d7 zF<#uTpr(9aMQN!HnHVpt7*^9**|=azLuJjZBN}RJ#+TJM#Oo7djqlY{jL&ysdjS~6 z_XY)^kU*38__A5?1}};>PpPY_Evpz_Ut2xAvdX`B5kW(1=hf)I$+ay9#pgGA$#G6; z>7>T8#>(>I`ueg3B{h|elNZ#*Csi(t59mXJ!{%2uG&Yn}*HsOiq3^FJFERTMEH5q9 z1yEJCU`SP2LxW=;ACJ!&6K`lB!`=ybEu0XTOs~Mm`GMBF-o`wd>`gA4Q5A2{`Lni^ zJQoC>Z>=NZjg#W_b1Tc^rL(h(=f(K@y0Rn#9)Z^771?sclG?MR1b&!RFq^ysL_0W03zAtCEe8TKd7(yaIEskXJM1Jst2sXE14L0{S=3U*fjgflC!PdNjz^fDnTKfcA`x@(^<>igF z^}1gPjFi{2cVLO+1)GDd`GMwOYhG^?+3)fu#b;I1gV3Fr0Z4a%CdMwCMM2;d^Q?JS z&!8~y#9(Wmz_@*l)i2h-NY+T7nb)&Gm+$1-NsaXkq;~u-<;?g%;3YobytK%3y1uxyF$Ccv)lI3=nQF-zP9n!PdThMs>Lj zuWD+T?NtmDM!oR+Nj-lUT3OymZ(CNsz}!txbq>rxUeCgyxOsWjtRJ3H{!C>|Q&nRn z4>Dd>?d8ddol-(ASo4Fg*xQ)>-dWFOy#CAvHmeo|?l~=v9bOElM^8%C2BxO!Sh@8= zll=ImMl%BI*6Q7{4N5&V*jf~L!+ng^)|3fN@g{Gk)i*G@wVJA+pKxHDyq-nD4>Qo* zE6|#kA7~D?=JgJYoL6AYx(JQZGwC6<^$p2&_Q+~86}3@pK@6>|kL#{_f!l0sV6$=# zylhdRwU3vVzDAiTye>j}I5b`rZ;U5DfWUNY^nu)y2~KX5#-#6Z68&3MyreN+tuGOn zP+reI!A~jJ9BAzoXwA#FX7XrNVh?96e*5yDgRq?WV_wH<@)J$5dUINuNn1LYhQh7c520yZ3 zbAGV7cd)s@n01fde9~;gl9vXBfyopZYjVs!#x^|8>bAI%v2I3FqrWKX8<>o>nyL20 zvYJ`WnpC$IT>$=oZ%?M|v6|S$b#?KYisYpVVcb@;zS-+U3D<2#w-jV?Rn^4!iB0qX zu4Rl~m&Y5%)tD!vqco0=mo+r{hOxC?n8}5c)Uf&Sa_-eRN^Aur(hzSf)t4RIG;?OW zUayaxc#Qsy&h&(6Luza0vWy&DRzAlGA6I9FSkq|{!MTXJn-b=3^)+Q~kdtxl$WJ-n>v=9fmG9&czseH?M1XxB;h=+kYcgX zlBQtfe8_BFsdXhvJiEBuRJ&C3M4kf?Q_X|x<7IPFjT7TF@p-96(;X$`(vEQn2AjzQ zgIiUTObt}g1OxY~ACf7jhM|=+XC{OV)-5LCIH6T0Slt;-g2^lwPHfV3WNcIQjJVfr zQfNA?v8<+|tX{Y88I$pHB%c{zwYN$eYAma)Ns4dpIVdExvg&!Qp0*{Ou4iHTdfwEK z3?{g%63u?KOR@UJmvA3CVOyptMqRNQifby|xk-X!$reuYkrca5&eXodYq!u9JJHP~ zBr&>v(#^*N=c0iD`l?>hCMK0UFz6&|%IX?s*ES~HtbJwy0VOpJ^n?j9?UO2>qc4|W zcI#D&naWd7uIju=9hWbjQQOSM{reL?;@Fzv7JK5^!>h^~8{;)j=Q_E*tfm1=eAxW* zxap%?3>Zv%t{7+CxWnq}txteUaYJ<0{)2Q9aQg9K^UKN`tIW!ZxZ`W-NZPP2};cA^0YVEyP1-i_CeSo(D<42oB@yn&Yn`F|%nP=!_PIU|;<5hL>dYy-S%(gpd=5Ow;Q>9mHjF-$DTickDMID-AD%j-- zI#gEy(@ax58)T%A;8b6pWA;~>$xd(f0@sw+FEG!RhtybGURyOaPmHdeHH!gzDqdIC zz8Dx|>nqC}d_#XdU)N4;uGvE4b3&6Fh+{NoZu+>c_%!O?+x+iw;Q}qlJ6J#qC@Ux3*2FdEaM)QYXeHK0SZxv?UM6G%2Or zmo@79!sAS^zOUro&)Q9a;%6p`ZQY5ZwsuPspyS|lc2e0z?`tFJ=y;=vuDi>?fzbqy zoIH8Fi57TMz1%BnXR}SK*}T<%?p|y>%|uRq?p`2XVVhEm56{N1g<>M>a!VeBv=f_(0oTN##_Hfw@Ik)W1ah#CU2Z)o4_$E1ASV&u7x>(#RYL6EI&DSH^jim$3 z$k=Qef@jJLbd$mZg-u@#uM^5%ENKy911NYi-s?x?o@_(($+((0x%oQ7+HIoAh2~w? z2t6H0bwoM&(#|Jj!f2LIf+i@n1oNzwY-#rr=LRiMogkfg8_BO(&3hFaL&wE&M1s4D zYhyH%nPTz(l590WhNHN)l z2g$i0jv4lJNtME@Da{W7`M&iNc8e$zVZS7Ab@ zpJdz#sMk+vmUB?vRF5|!!7yV1j;)FDYSxHM9+oPSEad(^BaV(<2gNb)Y1E8g6zD&4>Ic)q(OH5+9Sx$W%IP%Ecz2Y7jESIURs%( zVp_v%9RG$!;8$fyZyXpplI~Yc9M{Xz($>7*I(DFo9$$kA)TK~Rpreg0Tex6YO;a`H z$;e>Juu$7|jQl>R;Y~H={Fyjx(&Qnv)z$byInq5aM|HeE)Pt27LNJeQs;bh-AWQs2 z&C!WXZ2Pi7w2hgSvzmCyW3zw$Z!)mh+AvDrd^C>c^)RmFQ)Zi^%B(;8_;u&HHL zP4T2K)A8%maTCn0<&{ch6(b!d4V%jVJ(7Z|GKZvCUB|LV2bBz?9IDt=nPBq@!Nf2% zVVK!@SzJ+8$Ey{cqB-VnYpd`Gn{@0W!wsj8XaTe8DJ1mBvWD4oTPUJ4tU5j@j?LCc z|In{;zO6(zQlk1{9OxRtpQifCJTbSdO4p5|($abLWp#O?tiC=^44JfFe?8{n#4D?6 z(BajkrNb+EB~-P5`V*f~-^AXGUOn@A1v*HR%1T!W^ z+WcN(SVgrJlWXnY7TtR!?u;3!?#BWh#5QXhS0@TO8ibcuU|g|{BT3r3ip!QkUU(HFMpNbzF$4j^}Y#J$DIREK~O zfNh=5<(oOH9Q&@_Pc~QnH51>);B;#7x_U1pfo67wzsV-k;u2fCq@36|jBMl_v1E!1v_jGsPoitpSfhyP=$u*$jx<)zxhb zQ+#aQBXYo;&j#q*G~Jz7t?(o{*U>xWka~>Wl_$xG&GtCdu5x8#=v=XBj=1iq@6|-_ z$~cB>S^))N!*ss&#LCOI_T4x+!99cWn}c2_dGTx@mrkD6GG;qxTeYj3_F}Z)(jg)D z)^s+#+jFxOW5t)Q$}2RQw4jzdV{x4s8tmWbh~a zA8~CA9T(?8Qrx6+wt)e&Xxs+&tbi3i0jAQj%15Rwx~x%$vpTm)1XT|cW*5(6h8F1M z9&sBhtK+pzEUpy#iN%VKQxW~ShtVb=K0L4&t2o;;g(IE~B<+$_~LmQ|U$VHUuo!d!uoGhXG* zaovD`)w9m8UjL8A!{8)nHj+D97bsDv9$dj&W@52*IMEWgNVMlBt^oD9`gb61#pgJ6 z1%@eU!DSN(c$@^#r342gFC&O)Cca5mWpJ*kFqs*a=#KElT~0Fd7?T;VFcaq2W>P_| zWWhk()P(_l`JTr+_FlbFW+L3nohkMbqv8w9q;Py$Wj(|l&TDfsk!1FR zi3wCMJ%Q>aX5muM+vIfW&Qz+Go=S22f6gWtD@1YAtfq!WCRF))&E##6)pI5+!CR7? zKs~Rq5!_$<^x_nMq;Tef?q+Px$|t;qcazCMwt1N1Pk8g{r0!2~nqQ$eahlDy3NW@b zadXlPn4dIHypYIlkL^_rZEPWN9i)rH&#+tRn3FkS%_dBaJs?Bw$-J*~A~hS49lLI! z2|awFj!(l48c+ynX;>hr-fkpo(09N>#OWvra6E<93(2wVl=Lfg-MgDU6030*>exv= z9)_9h1@XH;8>4&C|LAs~({CWhY^iWuu&uVP6 z#LfsyQcq)Jv^b$5IJxR$(2YOeHtl>d8TVrRc-og;{^ffOm56#oFbz|9 zQx30!<>h17)yP(r=G9V%`>iUt={QN4POPDM61@p;p%NGLc9u$oy`7~JVm$E~wHlkK z85QPf8v~D`I;jp|ZA>1Nump@fSj(-~7Da8bTVnJB=C~rx&*~hV@^A^olK334xC=nt zCv&JDOK_g{Gh<}poah)>OhiXSjT;D>1U0)%{?u_+gIIIRiHM=mek7)MxLiawza9rd;o0kg3$T7u3CXFoaRZu93hfOLSGI&U- z*4q2T9^sMIW##%X;M&@nFv0hVs4yu{f&G?_;!a~ye!<%(F(}dH(zlS`3iBwFUQpRP zGw;lFnCW<(o~piaGP8bN0SGZ|&({g_bOL9VRaV*EZZ@*}lV@EyiYGb0cqX1c_LpD( zw8n5^QiATJs?b&tf^~;w9-XfI&hV+99RIOPVxQNGV}Cr*alInXC#Z#fp0Azk>iH+7 z8T_nt+O7{Q`PbHc2x{?p5H_Q>f_Z};J#^7y2pA%;Cbu69+PPbq@Y`+CUpJ0%Gfu$i z+Az7+6p9`Nifj>bMhiEem)9qucqcWv&s~=;A;Z}$pR!%B7v`1h>v>FCn~e`-%aVlBw)o7w~Q!s2H+@EHs-=TRuhxh7PTvX7zcyRHso(09d`wY&{?@e0nU8FS3!i1pU8|+Jrfxx*p zsMQ3mAJtRmxc+6R zdC@bJC37P7%jJGt>;9&5Wi)HZ#)X zh(l6rEb=BY8PenU*jf%qPoK)8Z5%RYsD3LlW%T6I$k19 zD<&;yV0b&UWSp2(IjbgKQ8HdknuybW42!tI@sjaVdzaKqDxM^!)Wql4(F)>vRa;ig zPqXT6fHSJ#+cCR8nU?72WAu;AYi5n%MMD{*tNsCyJ*i=MZM}}5Gg{K1mHvDKn_DL} z)zz7G>A0GSlil;D;mEHeosy|~MVoMBipUPp{ti@P=^@@3yprrpm73zErNRyyLwUxc zj>yaTfwu-^{w23hA@0)qEFGb`uoo2D4JqIZ&M zTHcXPJmC&KyS|?wyDqfhywLI@63MR%e$KscTgu+y2!8{qn3SNa-F)i|O=zNanOn8W ztQV}*O~qevn7PY1T}q=XXYlOG>uVcoXEq)>jj2%WyoTb1yiYsSDS$(D(VE9^guX!| zhLqLR)Hc%2nE%>N)%>VI@XDpB!W->p2r7jAJ<|+chv_hTwpQBTZ;p6b?`i#*{V1sN zIp%PNr*t_Q6Q!efDUYeFVg4~G&J>WJRxC)E6*nYC8_6{E|BPhQqSL7UKT`TXq6{gk zD=X*KoSXF-G{^?G#poA-EF35hyCm?A@f(S1yMv^-sj(JWSw5_$qOP{Grm{#Q%)7w!M&z&dXNlF}U_JFr-8rUW{# z;Y~@V1Wlrm*@Cb$k8$~YFSP2=Z> zqW;J&{Mm*#3w65mq~A`6fSH7;Guqv5uavM=$QlxN30X_x1|e(l_XfE!+-*Vj*cO%5 z_V%rIcV;>v&1PGs8u_a`XJdeqQ-*Wa`}S1IOLuIhM9fdjtl4>v#@}Qu{>)a`blqOl z`6-LFQbXP2BsXM2Ij64dOfmXBzrC9OSP~|I2@fXG>OYzwtGTnJ39PxGy93Z(F6H+( z_FkO*D+gE)?#Hqd$&{tN4dzkm zRK2ZprcBL`>ipANeurT1S=R;o;VOHZ3C9Ud&57Z+HQ(S@CVNrcZQ07@Wzw0Q`tR;+ zh$+jI&pLS_sgb#KGsmZmoU%2{yK2IV7e7^hLzoxO$()PJBM9n0u&T6_?Z%CjWmTTBn*B$_ za?Z3r2eyg1ngK0A>I%$GAJ0^ma?E{svFqxp7Ptph`gh4(#hHkin!q8^o!q*X8M^0n zvcuFJr6>t7R)p$4{;R*1N_v(z(@ zCzk8DL4>VNcBsHhp`9bVo#Hh?ZT*N!_E73d%TqQJRMfEfb^7}lyQr7W{E}PqKc_)I zp_^c%{glDbChN7*t0a?H(xiH7WkcnRO1(YP3s1dYvR5*zhIbiGZEz+nTqMr#GMp-r zYUF9qIhuXqZaiHbOw}<<-^7!3{Yo^>NHusrx*k_rKhj{$Nrk1To&B|T zO&J`dXZOJ&rg8-bnLdFhH#=TFhpJ^da8cn3wyijRT;qAE5M|ZQR}J<3Q#y%#f?M6) zPQ^Y6r@N)a;|4Pg%+?Q{sokeGI8I;W+PG8a6}P@^_k|1BtxxEZ+~2IzZ|bIG60mcY z3SnARlEvJ7l0{#{EbWr4wr_IN(LI5#*!p`)WYxT|Bukz_?{TJQE1MY~SEFCP*myP# z|G2E80?*=!+HdI_nI_cEjW@Rsr~WpJtWy|4Z74IJlL<-DjAd{*r5Zf>Vy*p9HQs(B#O6ShNJ zzi~o>$(xaqPSa(s`-mi?$rv|eJ-bOkTt3wq-;fl+of>%gv^&|8Bbf_~iR;gv*lsE* z2~$Se)!5)PzvPpRi?p^Lr&rQh32Bzl^)?UF^Yq{l^4h>cG2ooB@p;V?!e};IHxHSj zzX#adtUn7pn62qSVF7m2W6&kk^BW2MF=V&XDycEXr1beB10F)X-5|klXeZSTcF^U^ z8H74@l3J%LvRw#yot=3(rjK-Oa8~bC^oAAs7X!REbDLrdK~tE^xzUPeFpt2?$}F*- z?w7op6`x50zYBSp8yIGLA^RPViShC{(JF-33#Hg?FO*_T?1fT-oOIk?C?(VkFM0+` zX1z;$^HB3O5PueGToh!@e@1v@n9z95m03XTJR&%)pK(L~KE-*2cm%nK8)bOqd?Hph zu%WM#VaiTt7mTIVIm-+$5q@&yyoPZewj04tuxfc_WA=;$Y$MTIaYi(ezWb(#K9vcg z*F5#SCo$N~hHIy?n{d;-s8JLV69-~3I;X{ z)BPnMkaj9($WGZ~gt8M@0M{H&c>J4G#$B{l$qB?-M7^IdLN5;1eA;9>-oi zoB+m}^gC^VjZ^!7pzDLr3D}5Qe}%j)bpIKxHblwPZRvh;2G@>xQo7o7#BDXnl-h&YG=k~WMw`>|ny=_8l3J$Y-A#XGbZe9vclb5w zClbZT{cJ>&*rzLC3S2xya0Z&S^XYUJ#WHdhQd`bhc*vLImfAQ^#>70CPF89*9i8$) z8jPl~V!};FW){=2E@W=cL(?C(E7k<*g%gdol@^vc5yz^!BI<5lWpQoi>GI0#fov_v ztvg2&?R*xD>p@ogyPwYP>z0a%(y;T56LH_$(aa7atwJ~>@;WDmMiV+Z+nA{2t}#Mf z+cu7HSx`Mbne6V)lT}f+W?h@_%HDQ#^3k7tbZ1A0mPQqe!%QPMmxGLe;YKnU2PvNw zZyfY21Plph#hU@5dL|uSSscjE~KVd@{Nmlu*FPPBo(`}aGC{q zWlhVPG{!K7pBDCUbnr%BOl4-TM^Eb^M=df`kC!BL|kOP({ zJBP>P+K4{P8U>DJETizzsi zvMP?gHyidiJFThvGAvEyn9@NC7~{mULd=h}gLEKPIaO72^9z17PK|rt%1ANbb!{gf zx&PmCoH}eb%0SlHiTIehQ!&l!Rd%n4j6vi4qxGxe@K<-w-m?&S`QfhInkVwl%`#-K ziRc)zrEPpp#MfKx$5r39^IO;o#&HrQ%sMfS+44K!C(`IZ6Jo{I$SY*m0tQkLg4%eJz|`_ zYP9J$&5i1;92Y06BE6;K{7~V8R92xh;?P4?ZJftd9SE2oLNelfQwYJ*+!8xZzrm@v zR0YP-*LNSyV-X%lN-SQ?HONxeLMQd}xuf2>#v;g7NZiUdigoFl#j=?C6xh{eQIqIq zq*)OcqS09>*fbxbE6l<=Gp>+!e{Cn>c%rg&rwr(l26TVKI4QniV`yO+)|FEjx3uZ< z)i|LRcO6q0!*gzI>B5MqcvpH0Ir~Le<7}*-Rz=FVx^Z}Tda~p04Xe;TUbuwwbez4+ z<6~e@^lWc3w%zR?r=`BUKz243Le1G2wr4QYX>!~5n5@X%`IBjQRAE&-g|CX^aPY2n zvoue4%!O~0(1Q#=mY`jAQubVqaIi?;Na%XBV+Go}1T14`BO@ zhv814Uxj5)?{@WH?oT*49_Uv6(7Bnnl2hf;zpI*SqjdA=z&0NN#u17Zv>W)od+PJQ zlaPQ_-gY<}E4@{%4Z|q34fnCQ1I~5sJyZa}h)US4vx#mdxe{k)gA#%oOx`UJ5s`+f z1cknM8dtW7HVWMPxCH4r7ck`jair&9kTts-vy;1GXW|6Y1Yq@csZ6(`2DpBM)XIG`qD zz~i3%} zc5~r2Bj143#RXE-RjvNoca@;rQX@hGP#2@(0?yc_desBk zDg`+Xp?!c=wTFT|s|T>g^&m!@JxHO?9`x?qoVT2Edog*AMUH9lnvoHq@F!xde;%as zqa?o^)d9@$?j0S*t-LMf5DKneuH=Jn8))u|R~X!8T)z}!B9|I@L)vgg%GL{_h3}e6 zqI*ZQaAQm^?3O~rr@ZVSD!XhkKw3?7GqOi(!kCfSLn`@bej+Q5PQEo@KaZJwr#XNr zkiBEVULZX!cKXP^>4&mQXkAf5)<6tTB$j+e8)Up@pgH?k@<#nr4(Yb4B3DeMIIZ=@wfND%^R$3WT@K{ND zd6^SGI2r7K@=l^IJro zpA3!~rHUkk@f$$wri?x;y(4ov3>sG(&b))Rf zw4asVhuSj8L4(hWC*^LpRdEQTmbQ!CX*m5OXtqF|r+Es6gEGD1T(DxERi{#5_@ohZhEw;AI|1+w=KNtnul}rQ3ddq)J2> z^88x20_|^4XjZ$_U*dy0uIN6D0&_941XCEZ>(vLMn8UVrzL<3<{E<4SL6Z>FU71Pj zkMDC1e4AL}=eYe-jXvj`bq{alLF*pY%9GYTEb^K-YVA0`-&ySAl+oRuXK%Coa;@?D zV;w=Txa;k%h8#Id1j4Fe97!{CTek>8M-2?9^WQRzH-Nn~Z8xyPov&0N#;OK*yg)T? z0J}BUxW3s+XfCz3Ymw_6*IfT6k--jI$g?;d@XOuKmfWYVX@3@m6KzySl}`6WX{Kmv zQpXU~MRFIsHkZK<2}GM3aLtj!-~b`}R1$NwKDQ(N>aVi?os=Tci~PX(&2eY`+hv>c;Z-bEHr{ z-HS8L_uWD^{O&V+e5`BigWnS86I(1UTWFKsAX_`j8i*1r0CL0HQX$s4J&47H4%o*%VK!MQ>PR;Wc#ku*z4{b@ z5X(1XZ&*3nUSW6XvhUW5%K)R^?6SqBcum?`mu`v1Ye`*XvQOLEv9I0`8zl2HampYP zI8Hr_*t{@k5ZO|A3+`i*5IxS(q@pwohmVM1#kkTHn~S1Kve#qL*@SSgD!Y9d*#|t- zAR@pYShQB+okRPQj_)66QNn0{RL#gxCa4g|rmxlh{YufKc7{PIpfX=*(kl<{|C8Vfl=b z8urxNg0N^LvcQBuf-hMVbG!}9n7?d{`G&LO$G+^_j-7onUwXOZ7Jio|K<2kkFs-sG zR@*K)jOh@B}QIg*VWbN<%+K?2#B6UKV%Zf7D) zMJ~N6dW2#7DoUAEyk(6x3_So9VP(UUfe7iGWtu zUd!05yY@vsxLB6*N`RPqC%YxQ-)~a`A6BqLA!KIWVu$5>FM%5FBOL)+EOpjD2i-hi zjj&3c1|VvNI#!*Bt?2_0SgspsqL!@s5OBgOULJEPsFM)_PQnk}w%*T$>|5_+t7Z?N zW69cJ?14;)?m@_=ai8kNLFcRDq9P!J=zePAhBh~vw_p5DfqAkgCx#?#Pg+jH&HW=c6<48SzhQU+7HpA?lbL~ z&Fu0Je%I|@h!gv?D|fhY$S-TLFX=wo#kNn8+kGN8>;?^1J^B0YJ_59*K5oOyHekm_ zv|lU6O---KPuRtNKFs!z_dB4kac2sr>h!kuBM_=>QL*JLsj7vo1cs;PIHsSwe6qis z$#kZa^#;J}*KVPaS*i9xhZl%(O`?I809PQ{$@&5b@vemL!-`3_V4qjF67E?jv~{fu zxl)y@k1hT>PJ_EM`%V=gvT@DB0t`I{QVWD-v_zz-B`e*AO~h>hZqBi^CL`Gw%W}ys zg#ZI+v#}SZB3x}@k(RlAMQ3OwKdl)_q$)($q0Tb*%kTI0+<}l``A# zZW9-k^X|Fww4~2EmJE7;;}EVa_9Po@)vtyK4=&+`b`vtcpFW!DZ(Ja8o?Syiws7~f zwhYD;i_V9J^9q6kR=Y|s$t2xD-DM_c zrge)}osonz5CeO-%!-`1y$JTn=v!G0qoK9*9;}%7N6=!euQB9m%UU1AxGo!2NJ?xe zmLxWj`XFPseGqLiUyKT_OKZtbR?mFMvA{HjYF!E1K(zoH&laF>b&fwoP?FJI&b3?> zED^>>Cu5w6!@mYeta+13j(hJDYJrX6k*!8%jr&sFx&350YaY4l@?zj>I=&o7t>O|X zzgWemyUn9=7ApilreK8y1G=|3fKjmbZbe%9{sr5e9Nt)hG}j&uV)Ak+ONBZh9e%aY%o6Ka=>A+Rh@OPz7@zSVt!aWGL^Kf5 zToXFLC&yEk721O?OKj_%16@+A`y{^NkzuXa9y{v?sYE#=XJcJM#5wb=Flsr18O2nb zU;XBT&p%%x=IVt?2|av}mn+hPU8w*PUv$%z2lA|fUjr@g=yYpw+970X_ZyltK_1R* zfv}6C{ma%C_VGOUfTgA%^a$&*9e>+MD@0z?=8?@kZ55l2FJ|?aPd!L49?ex{FLE;M z761E=OBrgYaY(7aYqR^O4TO(AzurpK`_YfW4 zmv7&`9vo}I$R>@xQ=>L?4us3Zr(=x)`^sFCY;w(rjBOQCid|@0vME=iw(U67$6ROg zWZp*H;QBrp{|+l|_Sq-=o|pP|CFm;&@72p3B!cTi>=MyKwKHVZL|Ue(_?pCBq-&VXx#=`MPO; zP8+2a+o%8nlp=c`9Yc@^+bb&EKW zq9e)3c}>z!fAh?v)G5kcBAy<1NQf@TtB3VsAIamQt9>8IK?v<4EL&<@_$>)+J80J} zkZZsq!7xhAlCbah8>+IsWUkxGFS*UDJ#5^)Y zwZ-bFaW$L;3J|&uH&VxneaEymN7|@?%YbDg4e`%YeWtd`9H7Ly9#9)#4wd4d=J@wk zeo!aI9Xq!Bf;j@SWeV=SCj+2VrO2yo3I6e(fwTwz_#!__BUq?Bj?(>HLM^ooLpvvd zo2Dbje2i7lc(S;goia3qTp9{jUv50uUMPBN=dp{>8@g53o}Zv-{Chaq;v9W4W`7cz zCQxKQT?i4ZH8$CW9rBmi3<>jac>{LlbDsm;KvfyOF(WkW zV`<7#IQI};U?2uhd9|SM*0E?b0sAm3gndP(Dt-4011Nbp1CXHoBl7~RNH(JDdw(PG zvjV*lk%pR>U}8`DTF%h#0F=HAhqCPXNpQnVaK2B~M5%ZBp}=i`_iK@d41@-R9R-;e zmO7AP=dKw;;Owv3_WS08LM70nm>p-8w;yo@?gLZ#^dud=7*dmrNSmOZqRSXsU5t>4 z+5^neS(sSO?oJJ2M2(W{?F3yaeQ>hFEp&55Yvsz%XsMrMOdy?}sJ>TczH$k(3Te6U zX~_ozJ=^1Gi#2Pbf1`^}zyXX*w8hJ|lBHuH+pulKXbSk5Eld?9d#-%(viT4L%1e=N z&n-$uzlRup^vs8TPWTB6&$ay>Z6eCUeRp{oB}#HZM*02e0Bq8j&JJOP_+j_1x@O-( zoi!&;O=)jZBp7YTllH(-Cr&qBHeYZnT*S0U7v?RQXAbtHsA83k3&KIVr`OF&3OcR? z=+)pG1qQ+pHp4@mtVj@UOxC6OeK3D0r`Lxf6?@#ucy*N%Z1&3gl5P%&bak(o1&k5 zT&`HyS5LLqGQ_isaAYO+v*p6F!v=jUCP$+5W6b_L9mUj{jxk+sI?ASDo|>FSu_B93 zI*nt~_Uvq|66a)7GPh&J{g%hbX@L6hjpe7B9&DiN!2)%+xf6Cy(KXE6%`>TiBDyTS zABpx3BhL26HJjy9&D;s-?p#yRE}0KNs4;p1G5|^25M_lnxfM*rBw4HubwMNkkN96d z)^h|YUvAI+5QxRy7dhaK6sWXC9WJw10G2~Q8vN8gZL*#`Rqq6E$=Ovr*LiGKh~?O|?L!$e!X`^fRPf(eDa9>$-qT_Ckv2O?*_sZA_KhOG!R+v0 zvyv7Vs|l>H09t-nfSR$|0`y~71!y{=dIhmxY&UGrV!;oOSj-Dv-Ht9GO|SBeB!PSM zHB$*O?vgj> z{RWQgmI5AR81`YTIIcf8z}%h}w$J0>;}-bUZ$A9|^W!YmyV0_VPlk0uqJs6{qMLC92$W zH8yZvk&OW3BRYtX*ii$IDI1WbF#8Y+m7*B&D=S$r`V}l-Y15Gf3vGNFIUM+Cle1hf zY_}TzxkMN2v?4D~{PUcB32c++?Om{!ec2F0`q2RE41iIzIEYaqzX&b-(r>x2|D{fn zn};+Jp{UrWpIqW|5!yjXs+~Ql=LG53%Bn15I<^6UF#u7G24k`|gLoHs`{fQ{Cv0&J z(lKfch{_B=5BeBX#@E1pVMExL?7g%(S9CWO!51W1YF^k~XMS=gdk{^J@B8sfsrk-= z!PP@;*qYV?sC64AgNv@55OiTT16r?`k<$Rfh_q`YrQxSPy{fP@5* z>XJ`Y-Ji|7QvNIbK5{Ql-vaFLin2bdrStyg!a?e}xG~Ga`6eO;TuiICPkG~I^Fi2C zrBUJJX8kLS6|qaR1Z^dv78?6L{-RrWQVzJ96D2MHdls@4%D$jOwy^r!G#Pb!zIi+y z<2C|`A`{W;I!34>PxvDvn+mfgSUGaBiHm=2@P{yrp=g3j?$U^t&?Pet(N3sxla=jc zFLXZ691}4QHPax9*U9^oP6hG10`(EQ+C~oPBw)gH379HZLV48uI=2#AyC&}|w$@F@ z%#T06p|w|Z)ZAL!2|Bo!I5OABV^bbRGIcPDPDU~#S6$k>x$vrc2H6}Zu3;fl`K(Uu zG1}0mePeUS`c6`m^+_Kh@>o1A@%v0J5Krz48RuVlZo_X_=*>ToaN$c4$G8a@-9j01+m}Qwf1ZP!lp+vJn0EcLb+Z5-pjS$O=7;)OU?2=(;DxI~&7}tj zX3&F~zlY-=V8;7elE^(BeHMALF|>YgfKT)hzox{<5mcWp(n&wtVwdB*O!q)BFN-j* z;tBtzI=}3uzJj;oBX^?0CdTA=r zD^m2%7G@rDY-=;vymdd;7Qrq`E=^xwwvCV4wxAUq(4x=`!cTM^_{z=ZEP07ip<0)Erwr|fVWSQnnbAr zJkHKZx>iNS2g_=u^$$0cLiS3SR!)QGMXP#)!Q5fCb%UtTsYUClVUx565YrSDnHM|{ z3(C@lgusAVFkL|lKrEnqyXfMGaZ{Zo3LNb=>ad0wu>tLQP<9Q-6PnBtwF6}KL+KNR0@pK zDHY)MShjWbA~F~ziPoUm?`qJPo#A=OO`#3ch_i{RVOCch8!S>51qlxJsZQ$e`WnO!=OVNj+sPH<*uaA2y_+Tpc2ta=yYc zXvjhLr>cW1J(O^5x?$9#6eY-jFQwV1nM6E3GmE7tW?e>DPYfP@w-kyPpsGTln++oB z`3y@rcm%%G%|^FWN0!b*6h3X$l=223@-01D5=J|0fwGjUR}I8Dc$+jfOliX~R6p*U zsWhm5e!~DsDwJvfWx7!LvYy(E;Q7uHQd=bN)l#y*9p=Q)huMW?kdd46B)HFx?A1)| zfCPwG7XVcAL$kp*LAMVEs#%Yo$m32X!vL8s&3$LZZvrclJmOrCDtM*=#@UZ8aoR{O zcX3rwm-Lx|#42D_hN1$cRJnmY6nEDAY>bp49rr*vod=jwRCVf0RhD5>tHU5x<2ryW z`UTNnCQL>Bs8$=M^W55Y)7+Jg9tNWGBvG+#f)&HDB*j1=rOj3|c}o=CKiGp3B>^?y zeI2N|2pMIqoq4HISn=5jVyC)y)5O_tzSoy>`KwVfJ=DNeBQ)>JyQ(YdZ4|?cW3u|| zVu}D5Q9I4`;D;^JGU~nOJ%qER3*UTfFa;T01N$kt9*8Qq)yyyqpTQsC7m%$+%23{P zz|x z!n5dNixm#lOu<7Ln~K`WmvW?0#=+1n-4vp;Uiu^1VQ+pYQ;Hm{rBrl>ej|T(=++yn z@rEw2I6dTEuy7rgGLv6)|8?JRj!Ch;%(%W$ptS~gwkuxX@xfmeneNkAw{&yx5q75X zjh)PZe__@YD<|g2$9&@TWxfU)Sr4e!H?(hcLPS>`X{k}mW z?=h5e#!!fD3^ko#42BBFP+MBZ;AFcj1moD<$y#s7S|_7ax7>-3@QHP(ydwR>M7?!? zE?B49NO59+*?SkC^izdm31X_4xF2fJ_K$M&;M)99W)RWl>%?Nt1_$FVuM(>HMZ^^PAFi48R{q?uHLIvR8U#hCaV>w0Tg_v>KRdw_Fh~ zl9SzFC!~+eoN*2-${>acO~?4bq}Uh8jIQ$&yz;jD3Mj7 zOEb=v+?lm+8Br!R<*1>7QNNyPyi+D_BO<9yYmIO)L zeloCeaMEnueZ)XbAmD(nc`C{nBiumWH7(CIC6{Pw36dXcpuJ#1^|6Jh#=4GQ{7ERw zKm&|^Z3Y-qC72FhGr4|veDZVvvtUq0#WXp$1}ExQsBM7Nuj2$(m8^u??&H*qeA{Kd zs1OD}7)J#{C?lZmrFBael32x^mw_iMYfrv(XVbh7(ah}wf}r|9t-Wl_4S+81^?@Rl zKHvb8PpN=WL(r1QO;_0_iO_#}k3>qs?syd!!zD0IZC+L`#>IV($iww?&lh26auZcwGE<#0G2J-lS3n^-(!Z88p7i&iJQ+WwkYDR9@AsRh^`-E zxC8zW%4#x%IkA|1z80`E2xs*+9=O%4V%8W@%`nn;?R0Gy`(ne$OlkbPX6Qxl7P5r1 z<>(tzD}f#N-iSAIHO(KRZ>HnpRROT;WeTqI`S$w(zSs2x#%i-CN~C>o?UZ3|AH#0ugB*nOW3BRve9 z5^kAMt?P=&ctIF^``>OJZfM``z7H?`I7IptbfNE5;HSXFZaW^X%!(+qt)QeqqMj4B+s8F;2T1Ct0c6>eJTYggh}|!oMmma%#SDjd zSzBj|@Nyi1Wy^ioX!U`dRzlHy&0*w7bv>|05!(@gYO8Cfm)Q6N#DLFrH@L})8*#OR zx_Mtkr6ydUn$!g)ECP{bqPW~*JF7>2b3>HlYi^=7)~JX#m+psh^`9Rkl2ysJrSI4S zcY*1CqXPkX5I1;&EMj3wo;uN;r`o#0aundA2L;a!a5IegC{M&R!!wBS;%ra@mvvmm zl?c`T@*R7oYeZS|o3L$i!FnqS4XWZ$6VX%^UK=^y*?D>}-^q=yCZef-12rCAQ-7>W ziZZ9MXaO$1jX1P;fd!dz<(2m~<#G_p~k&B~Tn0EYbN`j-(=slO>f z9LctE6UQ&FaN(*!>jAFyB>DzRwM)xf%KH%;lYuJar7bO^ZnTbIgORQo?UguUX5%Mw zBYoMO_NQM1DkWcM;ly)$P&VdR+I6`MpR5`trA0t1X9a6#IRc1t%_oQTBlyTOS@_R} z3oq*L$NS`MrXcM+=`6ptR6fxKB^D_0>v*RBe!kBYrQGPsCc2Ut7^SEW_L?S=4Eg2L z&M8^e2})sn08AUF5|3hV!X3gxQXYaOBQXcfK0Ogv+&YGFTRZ+TO4jmAx+Vj^`pwDb zpWlxzI6ZmbmmAO>$S+o1pW)hs-+Ukka7D4M=!fq2{d9Ht7vauqRUZp?YbKvzf@loRf8(M+99=kHCGq0;F+03TC8{H`R~oY&h;MFUusVJ_I?s5Akd> z1B>a0F>r{50Ie=M+&?``xeYfIJ#{?x{B zKA9azU)I4=BpP_6_>EX#8)p`w;dK#_E_TKIcJfl3rY-V^rsR|z6BPqc zy2uk`mMjp3rv$2mc7JPJ8jN3y?d;LjZMDNM(k%$Z;6*uz7$#zlN3COkTOBW zd1G4?DsUj08#Ai0jqE*$ansfM1Iu{)4xNhA3|fDpr`_}kC2QIB*J_O5YbdH&0U(Qu znS}%Cx5hvZ(=lN;nT}N7Ph{qcsafW030_e8wFJ0o}cKifa`9YtAM@IV6DC8 znr2I~2rmMxz47@s^)sdlny#6QlqZSuuh2TKxX5`TdxiH^Zn~6Q1aIqgB~_lJ_CjO^sS7`bQMY3z==i`YB5M zS#dln)lViu>H|tXeeiCtGR(g;LaRB^I}PM`XMdq1+3A!gnbpo27+)89!nF!%>~LCW zkQ<Z)Z)kcyEBK{IW|d%Aptlr4df=Dnt`GZ&j)B78tp9(ybUxqHXKr_nc#V_RP6l?E95(wa}DlK!D( zS!uP2pbOos9PdsSuN{(o=b`MhJjLeFt9W?M{Tq+c)HLm^e_1>tKF4eTw+RgNA6;>=rz1Cxm$7@bn*Ooo;sj?OAvc7KrI0W60n@2` z=F|>oCOFq%k(nzfU*ZKjR_3~Mzq}l?`f{SFlD|3wO{8f8#~m@2#B<^9Pq%;b8|5Z9 zCFyluxij)5571@~1NG>uG}ZzdhA05i##Cn|ND}gLyC%hVQ08G_1?$a>if2 zn=%l$%{}`&ETgoeynpg7+Y;k1hjO2T-!hwX#@VXdbBg~C%MpJtKikX2%U>eT;^}u& zq78PxL_q&!B~qBlA>Uz%Q?v9tEY4{=2ayoct{Ka|ZmA9H8t^+i*0h{G#IhMiJ~3Tv z$d8R#U*-kW?((kv+|piw@nqBF)2^)ebI9Fp!b!iqPHRiIJW-;ZuQp`4z$kHR=~gYZ zZK*x$UG1IQqkA-V*~oWVH;dziEM%$DI9kjnCAe?NkmTisSKk13qfZYa@AoF26x{MJ znRB7rTn)bs%Uid^NxL_kU>MCsW85QfG(U;64?8Af$bmt|N^KDBEql>go6wsSEi*S) zgb3hR!S+2Dd*FT9otj}b0{3N2`NHo+@!s2(E0bO!+m*}DGS0>Ow{?UrOV%k`iQW!F zOV9xHU?&<0zni+^A*Rl3k6LxC;K%!V#a>sh${j+9dQtLw#8=#2%Pbd7;`kr8m7z6QaT9_(ny-->Wbya;H?)b<=5yvwW;gAcH~wDp3#YfIf(X^dhFmnO?J zX)slkW<~>`D;31e*jarO7h^IRcf2Bv5vjHx<%-^GpqP!>IW{pTVHjdq8Re_F*f($? zv-mWS{w*WSz$Q}T(}c{H;j2vprQsu>v}o-i<-@Vmh+Z$Y^CtNNKZGVP$<_=>isRZG zR%mO#^8)fZV|DlF2ZqEb(8Rl^B%$AH2=4?|Av-6t>|{@4&DtY5+NYO=mF+a1x%CYC z5a-+jSTnh!Z~6#}UZy*6)Nr^%Uk=9W(tt)$GLH_F{SJRT?<7Z}X~tVrEeiDd#;7lC z8fJ@4>Prym$`ebD(FCEKCJ29Mg5{if19M5k_7(>B2|!KeS&%PAY1Oe&Zc^{mIQDv6 z?qVe}v%c&|>Ydp^THlPTb2k;QK@}`(t19jfGkBCX89qVyB9##=ucy^#Y+L}hL`{y8?hhRmSI2;E)jK^|$MqA982xmps?42J^W;~9v zEJt9QdcmmiSMg0LpPo+{jZ)|4n;Ph_v5nIWZEV^HKwU9iJF*1smv~!Rm))1_*f~v` z6=vBz<_ukYOXlGXZ`=wlTekd(pH z{CWgNmX;wNZj)oEMAcJm{XD(whQx=u2IA4v7SAU%V{dQ2bz+APoqd~?4c9gAZdFJc zl;oTd+(u^vrBNfGb?pespor7Un?^-5BT8W5UWHowBUUe{>x>bvtQXMSeCJUh0!JS~ zE0xWMFQFE%BOHzkuI4unW8$AIAy<-p_Owsao~85-8Uas-SoEoJq@{U6FE<}V$Q>*)0M9C< z*6g>-=O);Bxx6rVc@vghRK|9+KDerU`1~&777#Skf|gE3Ehwz)ElBgE4f5poHm#vT{EU{TXdrd&!P!+}eJUQFt5c8cG}VE{6DM7uZzgM)A)wE4m5 z;gM(JH+>|8-WozklkvNe@*Mrf_Q&j+p&|1f$MoK*xjc@SzeOD1Ya?UAN7py02Cs}Z zF=9^g0cZesB(O3E*5mD-T2g})tHxxU7~NvNG_7TKXAgDTj_g#&5y*dn7hX#_+lcxp!o=ugP0FNOV#_T+F||?7^^Um}8lW z(I0@UYX>mMY5+1q8o-zYvA_>vd_6IxVGzTX^mLkq#2a}LXH_-nW?yBX95`C)W*lbf zl9xLc;kU&xD%Vh*swh&&FKi*Snb`wKI`9~(&*7G(+(Ws%%Z(>1L~2J2u8^m4F1vK= zrRH}#k?8M)FPnMX!l{N>%Use!K^=o+AZ#&66bnV0XaI_}BQavl&R|NU=Au`4(#0U^9Geoa<*RA|a+G%FKm2+QW3m?^To+rkR0{t5>A( z>1FlLTz0XVxyPexC+(=*K@L^UHge6#B;4vVmB42BRD{ir!a%1mN=2t4i=AmIk}*=v z+{@DCpC+i`Y~EMZ6t9?}a;lZ$lgsWw{E{CwC7bs4A;UvVaBl)ZqhuM9yqoWw-k0&# zN8K0l7Qj^PVH~%y^m3%MZZfVEE@{c_GoGt*;$>IoIHgakKZ@>Sc%Tc}l@uCuuRopP zPREpCx?zkhf;HPFI_7@4)XBC9Bvd2OSflg%zS^7LH>5m5z8K)-7u0~uh>xSJ!<5Kh zo$Du~yEML&aT~gNK@NDjRXrraEbavEoB;+{cf(8Ps4)1&5GH~sY1(F(3o~uX42|1m z08C#7+y|T0D&s_qrzMb2IbuSS}Ftu=*fXqSw7txd1ZVZrYO*pt+%L z&5-hlUX1lOBMvp*vRe$GJ3$Dcp^E&>kF_(#=N*Dk-gbMUgFIX~V@A)p3^>jUCrq~{ zlD60x{SGPH^paDQ6ehWiYI6IXE}zQnS-4!<5zO0XsWdftbUUr)H~kqcNzlTjhzv%L zXVAt(&*(;8gLOZ_wwr!f(H4QuR=FyZ7$t^Q*b z=8IAdugin*sWwFM&X3%UtJI)Mob8&OL3Vd{o%TM`bEbFz)MbTxrxGUf05YmwhHnGe zgmx)vA!h`orOTq{7MIuwS04%t=TD|Xret}7pSl>-X=HVl7c28RVstf zKYfUVCRE0dW&3gB6ir%2M0Ove=2&gDSA`O2(7XOj!U-l9U5RIf$8kitoyZ;4S9?FL z8xW(eKGJay!6nBRypeRR=&sS?qb)U9ol+LSZHR+~2tG)bp&Eh${g>^odXK#Qh=!jn)t;oC^9m zA>0H6=_5YVyq%*UipZ_b%v}w_h}zFBLR3VPXraT64`>io>4lp(HCFdI1mfKB5k8Mk zOnX&o7FUMy!Tv)ztlAMHuA1d~9GP}b_?9Z_-)34cuDmH@g(jui&EXhr$>@BP{)nx5 z2b(tKBAIRHY%XG{p!)|9y*w!$zaVV;nj3t972aAH(2aGD!bZSmW_&Xf;!_KLe5tVb z+A3dk-&G&zh@%7hkRXJJC&f+eszgwCc-T$bJu$qwFc3ocoYp)%Acvlee*@`O4^ z_fu<k6-U+|0wa0|qd#CMj^X`@B41(NqkWjOuX^mz?zylsd-AoDb1QKRVkatG{*G5H zEgzS-JfkLiX5ARsmj3{wcgE*#B=??^gMV~ox1ArKeUY!C6;${7MFY^%m_#4 zSE2-4D8$ox;g7kCs={c9-{X*2(bfzG1?F8G3C01;*1!ZXMm<1%mm^Vd{osVIIUH)U zG^$C;{3hCn0G%^|ML$h|jeLtiCC$yY1x9~UY9@3wode8%mZ6O^dXvP`!o(=|T^?$o z^cjM+-<;OQ_!|m?Odup2NU{>qqbDH} zUHeLsMKe0McmuIvE%7#RB~+%r^>hI@OrRf8>RM1+i&fTv9#lO{vrkx_nNeT*f>(0T zf+Pi>nP(lTgh&uqS4za`3G*2nD}or0DVqtt#+u31pHj{eM%EgBjj0h# zYMvQw&J=fbzgGh4>&Xc*g9S2E0^EMvLS#y6gEzHA>qfhv0(cvn))_9Wtp(cXw1A)v zb`vup)Z?y{3E63`J4l!~`S^yDjD%>#5VUoq;giPG!tc(XG!SZ8=69kss}Pq4CzvH( zuNbtTS(yU6uG~og%rDyEgc6npH;wc`)=MV!B$APTAIauGA5;jt54Kf6=z2TDts8zH z9@7Rfridm9xPJ6_e=)a*wNq{2jQD5yO0_2!0Tw{$-NGuM5KQV!9>$>SE-MftV;^Ka zE9vX2iWKr#g|K#*iN=H_x0Pb|rd<;nkI9hxyRGJvhvQnsDA7a`CXcT;L>F@L*DXlL z=e}Wzb9@er0#+TI`{Nb`*|taK{%GbWF&Lj1p_ib_q3TaGVO8vSf z>Vr?{#)3pLW>Nu^qI%E=EedIDZj2N4!C#`-7bKEdXZS5^>wAAAPcig#2NEsPk}uor zpt!cUcfKPqNM|C*lyPSK@maZ3yiBc&xi%$b2`B_AtAx?=s<<0EiMJwIp<(hMf3Byj zZKC9J zFSje`%Q06QH@<&fU+MltQ1Mk>%@ubE>CDPDfU#L7hal|}>pIRv1juQw2IQWbmV-8l z_jN0!>|nZ&g1>HPk2m+`rw4oLWN|MUh_l9^YFP0^(Z03**bPf|bCd1f_~pwUmOm31 zY~$z;ra*0Kn}e1J2|K;^>sShOEIHajyy&D{cRWU5h9n$P~LB$n0j(9x0lEf~$rA9$G_6&2k$!*WJrRZUM zklDsU?0-2^v>svZ5biLNrv{Jx-4|RwY~&IG9ciwJPn-Z^h7LeXwE@Ux+yHja&xnQ= zsU>r#fRc?weVKfLNT^i#D(u4V3v_%uMbg&W8CY zM^Pm`Ki*G32s{b9E2o7g)`z#}{(J9am(M%;uMx%PFQ%(8GQ150IKA&vI2Le+?kpBN zx>5#&eft|1A_Rxi`47Jsgof(Uk51QgKk1eI43gVo(Y8Jt{u$ zn`u%vYgk0gLIxgIa-==xevH*>IttR5jq_JF&18eu>t9ZD?HhVul zI9)!{=IG8-Uq($7^Ki(Mb(TAr2CXypt$T;{R1h2PJ)BB+r1X=K1;bdr*3%lf;rA42 ztJ{&c=lP4zlYj46Stbj`HPwu=AI4a5^~}>AobjDNw<-sG%t<4H#;V!!TU5tLWDt*y z7^rkQW^WQ-7R$Tw&Ru&MZsdlo^%gv=8>lbv8k^W1C;)3Rd%i0mj`_Qs5v4yh5Ywhd-G~s(;&G=q8$9P{FPA?({ zdlYe>ds=&_;uc@%P)b`56S#X26TW*8iXQG!TLVTwiGD|l~`jo@K`Mf%@tMV z^e-22t$1V;@;fT?#u3+rT&rltWu@hqNB$pVKgyD+@4*$)#!mo@otSYSa;+_6R>pto(-4gsNKGZn75!f z0_U3I+fZGjGId7pAkKwP8$K4X@omzm9pY48@*{QQcg9)tO+}3Fxa?^W9vmN#{^j+;$9xnX%I&K18-y6cYa}b9k7(UHv@N1ASBaa4o z7&iLwc!;!&bCYBW2Ci#2j>wc5!mM#|3r?NyO~%x(j7H680_?Nv%IT8z+pZ(Hx^ujv zlMYY2-TdIp!$rn2S6zjqjxVXd|$S~ZHZ`vvr|ZeOywSRghSQley+ zKa~`oS=VQ3E2vxtsU_Nap+p^LGRsX(SlD~Vta;@n>?9i9(EPOPy666R*S)LjvATJ; z=ytk?-K@K+uUWUJ|3`xF3wqEkyYAV4wchRO-@H4uhzt6=(;W(J*)9$Np#r-{T^8b9HT$r7rNgmpQlQ>syn?Ta)FSnJ74{=i0gyy&$~r5bqVifa|PnTb7+AuM?=YH9BuY90({Y>QZXYv07O#n#hv3kO1 z`b=fDlUW!)IS=EK^`n#ap3*PW`)kks!*x~qsk-s8y7-og{IR;=cDJeQztp@x(BFIA zlkP9ni8mEGR1;40d$qgPeJ1D!!o1i0tuVK{pD6XI2;pw`SKUv$4Z(D2y8eEtJnwbC zS4us|Cftt{_fzHaW%nZy!3Rq5SHilZ95w}A81zc_Nq0p}{z7@^O?1`lhHCL^{p;Sp zXANP{AL~Cub!>bLb_Y+Wtgw5Y{A}L;`E?Q1N;3Xps#^DbH3p`4_@T_>`>zjuVjKc|Gc1{dZ5@oDZ#0a1g95$9Y}0oOlg~n z_oxY++W9Xm;83x?M%-6i=6)ikK`3*)(EW+kf|cjj8o}hue*(Y!^)=;jtTEkJZztPX z_DZ_YU5qv6V&s~2T6?w6Vw}NrZ%#qWdh>qE)Ev`U+L)nrFX}=cYYlbpUhDT;$N2sat#D2g0B0 zpIW4E=HWxNvU|nn3AxkynXtMSbcw9Ow4MaTH)fXhn3iTAyd-gw`SFH;|ohiXXW#f|3 zS(WV11uA(WDwtUgNJ+4J=AKJOKAy}}?!b4Zlk)Y`^7XUw_2=d5 z=lZ&;HTjlkHNVK&VdU&z|f;UU*zmxn^nU9 z0Q?;Zh<_{SrS9j#dS6s_X#)D5(*K}ayF`k0Vfej|W%*g+)n|5zfwjRzDRBk^?>C3#=xqF*7GC?5ynU!5@vLPUhCKXn$=Qud*! z2J^z8>)JuQti~q690-@L{Mfn%*?!or{_u&{Ja<>CdF{;Zjd2?IC5uY;oVx6}9sS?c z|5N>!R{z`+{om7nsbSB-#UAMYm-;XAdQQ^Ab4vFLJ@;jw^u9-*cNhD^dqJAS)B@JM z+Q)-*ej&xK4^84w%$uu8R*E@QiuN+X zQCqL>`mj~MR-RR9_@zQy6YWbZ1hb3MjQ`!b8ee7NHjA`o(O|~b=h42c>~uq$j`_c- z?m^5X?!Fp|5yBUPAvPlqj9ihKnES}$FjnU#Yu~3^q?^7B4#F(MME7*xmm8OI?w;RP zS)}b=+-kb9dzabb68V^7awc`JKv_skGp)luB;AX<3hxU7>+Sv^F5C)F$Er{@d?8v< zHHZ}Sv_R4<8n;SF>vtR2E*g6(r^co7L!nQBDRc8`(nWeMPi0)UE<^ZBbD-OxoK90L z9G2)znl+8iXK)eFunUoow}#evhxcm&jk*wm^5)__zbJLxE0`$AqsrLb3->LAK$~ir z34pJ#LJqsX!Zh7u;2|PJNto>4NfcyF?Y{55)_u>`>sNhbylh4Sg6W?9>l^yORzl)j zY@I{6JkE5gMnG4v=yoPKIxQXO9dvOZ&LpKHs}CopD;|)ABx}igJIHx2JKZrbF5h;q zTnesUVQV{mf@3h;%t(z=MMOHLsa4To2vgI_SnMJFZZY-mxzE)x|KXmhfwXh1e^7%@ zI(SrO{fnkRC<1D5g~w@x?Dqs=ilQAQz4%CBl7@Q75#D!Q-;4|S!?lu52t&u4qJ+Ou zlc4tt!f+MJ>tOc6XaDA|MN=S|Q;hSZO0=+0mnCS9>y<8-oRvLRe2VN>3dP*JqESGUWw=bd>_vUO*sV^^k$!1xU(8%kITo zVc{3um)A5DbT>IW6F_@%6N8HtaGvX$!stqvU3|W=235P7v->2Ti&Bqa=CJ((4KxI{ z(C>RN@i}wAwYh(i@|G|=RHU@uu@HR6Z4^VJ#m=Rjdxv3JdNX|M3)Mlr|2$kA%cCrb z>*}z&ygMsnMeVET!?n~`HD-tJY@kaH#fG8X%7qamHps$-Cge|1#~JwaWxOCcIBt#-UB+~8M<;C&1lvO~6V}$PiIl?Pu+UDvowPpH6+%hLTA``|3JY<%jO=+g9p{i8YfG?A64$YpsrH z_eMf%EsCDh@z7t^*TzLgj==Hn$VDBevze&Zj+_#+5i6SyXv1tPPu4O zMY~x3s3(~)eZBK@D~M$g)rpSOB!2dP{{N+k8|rZ?Np;sX8pyW$s%r9+@q|rDH?;*Y zrX*iA^LszkYTUh0EgWkXT_yUpSv}mI@u#7SI*ctw**Kol|Lt#>z!%&x$-*bN| zYv>QG!(jwaX18%qG~|QtiX!c)>#qxV?S9cpO8xaW&8bJ(KR;j6NsYiazzfxHeAASx zTkuVD>b2l!=Sfa0>VM;#rCVA1Uw*TEdUgNhU5)yAQrL?6|L&WoUD<};e)GI~?RWv7 zAq=Rpo4nvuYpxcWAAvF1us9z!*T?QmJ!W+C$?& zUUS3^)*b}Y3o2D2ndZB@3b=04J^uq?AdGbH-4b4P06-s3dC1qRTx+_E$mWO|SlsR? zwX5eu=blVQh`9GGo|To7 zSm(O;`*<5_9YV6N$8fQ#D{fl zrJ+7uFmqemZ+Gc0R6|PgOdq!=-wDst(q1@?r|X_$19M$G0xZ8wOM=No}~Vd1(&z% z`_9RI^K)mg3GjR2yCIntcdvYCD&jBIUh?@^yrJ7+(@`kL*^rA*VN3hxKF;{F3`rN^P!J*K_iQH#DQhO41Lv)C|QPW;isjdpCtQUXK z7zetSFR4}4Snzqb_Bs$&7&sB?mQ#&lUT&!hd!(+4Fp94Znm&7eq+JT1CBJOi`)jpu zUwJwYzVEmJr+f6*XO*(56?qV1?dmvnx^g%TUlP^1ypt9OMlBtG zk*?Oh|E{D-`OG}`uKsI8U%61`&X43ibs1-`Z&k~rfVG#~S!Gls4}BkTct_oG>~kA1 z%bb37Lwuy2tHiE-4@zBI|2Cu1QhfJfOV{1otNJ}#)a_3jxtt5LTKERMOXYiNBVMR3 z(^iw(FG98_?yhj))-Ip#N!xH~zk41NAd-3aYRfl#-e|3p6zY5e?&&t26&&WZ>!MH$ zeOHttQaBPGJUzLFbCM554V7y~PmysWjMr7f$<67FkJ$DDCY zjY>x^HJ*p!9F@;fc55)aWNXh?Ds7eAwf6IGl1r-ruKo6#q^xa9`C{$a|6CQ2y2Kr; z3#(Fq5zh&wZrG2_dZ^3pxmAmSNUHlAA`1-2i7gjShz)klprOpR9%3xF&dgj$mxA{% z)|Ce=&K;zEpwG*zs<9Y&e5cP@qc7ayF!OgGE7p&>AO`rt?(C8pW}8|5V4(C%n{)Lm zaA6)*yv={QY!qXhb^dW%>lX>I(K9#T@KZ&Ohk`C-c05$|=^7tM@Sf<~wd0vMeM(n8 z1eXU*DR@$FvylMo~5JZFib zgV%|hjFFl1Pr9`?>V#iv*iOZGj?@B#fwgyPoSQIG^}i%c>c7{my@v8TZguxOGY?Zs z_X>glDxcSzrKQ{5P%5WtH%B65AzVUaC;`~3AwDN9_QW9wcdyND0w>(M*uY5Z{8@X? z^SnEm<5rVj_c|&hC2VO9A}r*Rg11;LSKcr=r;?eqRirxA^6T4E$>?e&T`t0|z!zGg z@6fT^LT)$&JhAHd+KCMai7MGg&MK#2I*9JC9Yvn$pQV}e?BCGS2<6q>GrhycnKvdo z6{jifVhjxr7w@*OS-^*BT28h0IjaAG@iGp?!$5J{zIWg+k0dT=d}KUbnSZsliu0k6W34zK=Ml9m0E0 zh0DK-N_|m_|E>7K&+($@=b}W&PxSW}`hTc@{)O@GqH?%sL&Pxozl-v**Ia$Co(bBM z(lli>3^T~<%tRc^`3sHGK4xwAhYz-Gy1DlPc9eFYm`JV%`vCZ~rc)SpsMMz(shF6_ zl-wrdM{m6I+x@pH(KweM4`<(lth%`5fL7iQeftW-RQ81w3GhfYVs2plga}xle1@Q# z_+~$)Ly9gUuv`)%*1ZP_xhz?GLE7~@TgsE&DEee$ven(&=izkUBW3sc^sveH(=bz7 zP?=xDa9_TqI#A!_1>FY>E_L?P0$Yl&k|SD0aw0eYD-Ji_vr%9 zbYAaXEl&C=>6(w{OM|X|joRVad}`Cc+pAjtZdhxKTb0O|RxZWXrHHce#bza`2K~1F z!#uu4{asBf{eN;O5V~J4!q7ss`Cy@W#uUFoK>XA zf<_b4`GoF;k1+3CN@mp_V)>xCH57gXuLI9*kn2i6GfO8k#Ova&gos1c0T~`icac8# z6#z8?J~POdTl6Ykkvx{p52?+MTu& z+Ek2ORSWu)q`P!B?q}+w1KV1m=el=R)w@o+?%ipeK~8q=rBYj4|KHol+qVD3KG*N( z(csB-;;a_`rN){bWlIlJv1^y~qYi3(I9=Z})BL1gud{I5TGmauyQ%{tI*UV~({*do z%J|yO&NyiGRv(&&Jq!K3jlmI(;;GnsU$6`Jw87~;43nsaF2Xk(n}hN4kr>S*n`7Ru z@UsKyY&oyG_trHE&d;11w)%Bzr|MqwBcwj2RS)Y1eGmstwfRiGY<1RNrC-7!`}KYw zH8JmCzk>#<%&;vwf-CIB25R> z=cA3~ja!1{78I-5x6bL;)SC4GZ5+)4Rf<{S%AC_0=63q>(8eRBY^^o#^szRS(`d{z z`_Seyr!y$vVjr`P?A4$d=C|nn{b7%uk>`6u+}y|;&G8p%9lMuM@|ca(T5d!pN1My+ z_jlA5ovM79*q*w2E9EfwJWgL=(37o87Md6kmsYAif~-_6n+U5u$Ez6Fy|hq%V8y2K zOVp&Pvu;&!sYK)Q60}>D<*u=GLM_N%xHn_wSo=w}6rroQeTY??+QWC;eLlU?FRAsi zkA90(+A#mdsgNJmepYLUF=MXY%PpdobFq1Z-3t0d>~C#gXQ%TmKicazzb$2ts%5r3 zm_DPA>e{gO;n|q3d((?en#MXeojYq`)f^d<{TPjQn`$a8bc0E0W%_?W5v){@hNQM9 zfwd}^Q|nlxP2*JR3T=Ie^ZTUIm}^@18`wahRMaP^tL|fU&;H9RF}w)hxvAvYWDz-# zuHcN1HTqGuBbgL^;<3QGDYd3NFK-z+UT3l~A@STw(U*P4?v?b)#D^Liojfs(86YgX zrAia<)np(nCpR^CEJJu~x>7Y}5eSiV8SEyz4)MT6HPoOglA(CfiA-X4i*paPy9ANA zcN-$m@AVDgu;Y)VigsU98iqhi;VUqxT5Gf6>5MSu445W^gNK9K{0@>TO*86Cx_UxEZd%I^y+b`9(kIU(RtMA{c6VhA5Sk~68 zU8?apO0YQ8GtA?)t;XnHaaIUBysZ-Gvu@|Q@L|2ECc~CtU!_ktAD4_CN+O54?SnIfh9(Eky(%-^J2i(Yp!lqUW0-*Q?o>~X1dg{6y&kLQn45c33Zm>pZ4ZrF zI*1>M_cnI5gj+@}c#KQ=e9aY*L+c^tHY2Oq(|AGnvWRiQeZ3iDU&z{8rN4%c(c0^^ zfBLoeZBbZ%_adficChV+%@h$D>l z6{VyPmE+G_Y-qzh;}9F~S{{26{3lbsQFm~bO2sHS&r#1l``57HYAp3ZPA5!fuDR5B zT%EYNnqyY2MfgJN0|py#4Vq=i4Y0#1h|#>g>go&N95(7+Y`1E=mtdvj>$!8|PcD4e z8j)(dmtalFfYg1jK}e8|>)#JlW2RsCB11y$SVp?{TZzQA3nv?2)LWT{TTLiKS9)tQ za=Rl0piQEyX;h%#Q8FEQGaih z0jsHeKxroH9_K9Fyz066D#~!PYSq0?$z8Tap(5>w+kdRu*h=vN5TpX}hd1h)#yz>5 zkGT|**xHMflKT*yLi9lp#$bMs=74bQ`RpNN|myn z#mRBRmx(4h*`<8NlxF;yM2se}bcV~Y5NiJ>B~9#~yJ3VCi*Y%SscOhXsI~LJJ(HYc z<(A1j$+y3~pM&y=@@w`_w4a*zqgC(S8h6$jUa>|}fOfqz_myk-8||8YN40~#=|%Zn zzUlqo>}piMw=;LgM(SawxH8)AXDyR%%gNr@R3B1ndNOB^)||I9{-%x17onRV6Jxp& z`+MhZ^y8*#3SF!V$}FtsOEIE>@3p5UPTEM&7|9;BI)a&pssxecPuGuLfw~IQdfVA- zGWM}Q^4bXFrt+YV*@VGJy>@Y!hmR(bJyJ_932Uzp@wU}^sB`V@D(^Gh>q3J{&W(X< z?^g_$blqrp$@*yE9CNYa4s&alp0zh>&vF98%SDzt=+<q?^q?By-}_GAMYM3d^bln-O2g|vaBeWl3;YP4SXpvCHs3o{LK!(fb?aT@kLJq0Z1 zXgj7uT;^hr#v1>WA#Q1XW4fxXzhpGZm<-beWxY^wTSu*WkK~X#5kN5aRN-UIjE}&p zh{7t}4d~ia(%WTD=%yGP5bacDgUuX=>m$pvp8I;+_82k%)XdDKHhoHxc}xP)5Z1js zgtcbJVcgp5^g$Zlkad04kQckxIrY26=|nP@|5L9I4Q8eI$X zLp)-cuGi_gh=r2{iwi{8`Zl%<$anHnS1 z(bZn)z7NBZfcflyX;)_|>vNdXp>#I_JM`llp-5out!%8IzV15~oR(BRpuUm8>~b}V z?r^(bn+Izs+?hcpw(7@pex7aH(l^w~DzBz(Rq--!u5o%MA8L*yMtW*jhoF_`?;CAn zw}SK}jZ0UCPqgy7R*dIen^3SPBtLS&E#nm{JI|GQ4{A$p~+tI?`blpy$_tBB5*Y|q`c-Es1-LNl`N7h-n z_F5g>mTbD^hH`8PEb$nT7V|s;OG&IcCafB{H5qxD1;DOpM%rgv);Y9U96s!898Siq zoaOmH7NKHWwd=I*ou398p{%pc6$WU-ix~OI~)i_@&lFN>{rB7U@vhSTccgCdR)1HL| zHOCc;>|%zP$=@F=zsYKK_i5pM_U~w*S88gU(5hI)bN$bKCiYpd7&yChVR72}gP!X% zg%$W~TYzj|wAD^h%kI9n)a>Q27_k2C+utvwkMb=>ZNEDHq&P_c`YWo`UqN(TEKlj^ zTKM=<``(Fq#DzF7l^uod`)n}#uZ6Yqz;c4MMEaEK zWV(^+A-U$gJlKMUeM=Mw*V(qiEWZ$KA8Iaw_gCH8AFd9WRV&Hn=G%}aw~RiZg}w>Q zjR8<71A=@!7P~kY1uZe?&Z3;@CNsj5Kb5+E?pvd-f|e0q83LFo+a8EV7Zt*6d_i4< zOyFmest}1pk#YyR1XRwXc7OR4cc*JHY$L*DE?!HiUir;CN*w!Q8x}UhKttrNe6@s^ zi&pnCO!sNCJ&riaEd6~ihwisNF8?gF7k)V}$}f8o{PJoNzdwoJpT_Uc^y~h&DR*qE zR@t)`B$6h36qDZl|5gs=|9O=A^Z5P1%-qC$U@iyU;dft#mu8n-5w{rIPRl zZ4AD9@fhGujXhFd_v{aSsl->Hls=s4ujZAIj}vE=D42vOd)VDl7pqfgXsghm?)-6T z;KHigRp8E9BbD&{6-^~{$?n;|&(HrTb}H7H2Xr2*W7Ztk51NDM#!}{8jXePM67Jb- zg+6y%OTjhy*>^vxieGlkCFQ}jItv-VbEO=}9>%Nbv|#jC&7kR#I9O;c$- zuhf-&TdhI->)vujVC8<{!=WD)?}{JX1+g*j7i?qa9#DQI&k+E z^~WH9xXns7h<~-Ets+8=c8#-KMuHYWRn8M9ca5L@Kd?;DvTKK=j((Y(G9Mus9|rNI z9Tnf3&`S0{RD)Uk$DN3QjT2_@Tb6Aw5R2ikXsKDJ6pEQ9JT~NIT+uJwZ`gt2K0AMs==wDOueak`Zx2gdy_iW zwV}q?%KG-I*km*HacHmc$EvrR*}HeL#PuFM;U|*R)UDrCJA5Vg^k_*{B>hyFPI{9Ch~fv=5hN(5< z>e`mBX+y7k@xVT(^=I7cTp6B)%Q;hItLy!_+_w!dZ+WKEd3UCrppOAZ$P{-=JG)=P zAKkEtbp-d&`l7=*JnOe-rKSFT<1{u14j1IMQ>WLf;Xm%PcuraGZA z=mOfr4954amB&`*8E4gW3J@wd5-u*_taC^Xez1aE+gf+;A@L(SIDOIza3;p$60`hk zW1DjgIZe%LyhgFUx%uADUiBcGed_6pk8nyjA_8rS&d$ft*^qx`X2x$fK@J3S&j0^X z_clOwmFJ!3=~k=zswG{zuOtwpB{z(01V(LvAtgK5kwC&I5ui^#5_>JMWaL=bG6)-G zVCLT2EvcEpyCg*tyhV1&7M?OyIE7R86rRGn%!E|oDZGVi@D!QyWN{YH%DZ^Vsj_Fu z6sg_+?|II1-}l^eTOXLDX85>$&U@aE=Y77P=Y8LEu+GuCSTW#jQnsVj>q?5w!=C!f zu}!KJ;W8Gnl4Fd$wVD37>1-f(Z;mv{8Q@-3hgoWkE11v zc9!_lDWbq%zwY4d8(U71JxlAJ7k)>HpY!l+kau!R!szmRH)nAr7&s(8A({g&mLjS> zY)~oh>%#xhnYIs}eGBA;49HMrgOt-RY&yMrIFfJ3xl66^z!uzSlx>Y-o>fhO-{vim zfT3*T)x!OPVRSbh$k3WWc^MWr!AyPvF7*f3=X$VuiZDOLmfCr5c|Bn-w08ww|l< z=nd)1c_X!VIukV#pu5kX;i&Hwo^_~LnnAkZazCP0t`dA?5VT&GaquD1c>T$dA!*Lw zHAP}8uIt_P{QVWz*EqDeV4ulbKj#+9vCMF>dD7XO;0q4TAmwBW;j8?J9{MINQsuOc zmf($LJ)}BvszU>Fr};N;$d~x35#5~PP*r&w3e)6IGeFOcyfUP?374N}&i}wv|GoD~sHO>{dhg#RmF`ME8 zapnE@^J~8cT&&uXQImNydZ8usTyIro|K33@u+F)bm^uuRT^hsc6deQ{=+G6=nT@4wMFZ2JO|M5e(rQ(El3 z(CflyE;~2cQ*o3&p_RTAmCxQ+Bg6XN)zb$lm*i#SjlvqTKAZgASOxH`fFF4yIK+xwn2XMvr<7o| z35m!Qwvi-*SyOs);ia8e^k)irN;P&Av1bE@%EMiy*pybRLXZPpWG_JIuUB=eT*b!( zhuVJ<6J*dR&Nooi^M99G_6;6oKY*v&59sc&{zrm+DYcqI{gg`kxsDPhn!f=LX#kDc z7R$=3&iZxSeHQlx+{F^8W`{4A0*%|2e2bBLA1*7%n7^yS>tS!@wPaQ@^?{e^7Vooa z%ohV=37@EeM9t%z8X@$wbTs_cb4xlZgIMbR6BqpzN1>&RPwS#W!? zBr?wV=CCN+pmjw&B?{s0FSEivlUxjz)(0XVIvo=d}F*=RbRgXO+ zR36lMIo}8uIv@Zo$XgI;O9JoDa|3LWOb7bYCT7NgR@iCYLz(9trpvtou`7lV-NxV@ zQ6E1ZuJz?6)4T02pKjQEb3zOkgX1#swp1LuSk$P3x5uVlwR%@RIx$2cFppOXpk`yMkB)q9m>T>=6a`*nMz8eI*Lo!SQU3B>secNCQ#| zq)gd06Y7xVxu|t|xa;%OKBVm3IKGnzmFl<{I?qYa`yj(@x9FK4x6HTUV}X6;$e~8} z$7SLHp!C|?Jv7S?5dB-gI0Lcn?|b3VnO0izYOes1R~SP9f*C42)WRA z>}|u*#c6UM(PU6DkeMYppK_sZ>+IFPJGE(Drvuu*w?);E@y}^qH1H3|Ck!AW=pM{3 z`UBwwLkH~G4>>jWP7xtrw+!6*Nz`6^r3CyleCdI=oY97eoY@Di4(y< z<{ly(6|?fJU%oKyN&{Qx8Af;uwDHON;yu;R`t;Wwx@WiQL4R~P`xBUR%1=ffFkZjF zjul^v@=;vF;v(hvKq6hQ=N6vbtY6(OAk#7%;_B=e==cq(gj?izK%T@K@XA&LG@p3h z7J|A!aMU3Gez}Wes3tbEjP*fl?i0j5N z0#tv7s}9nPOgf<+9If#$STEAutfS<6)yMV11f%QiLJG(h+7ww|W6o7JCCA=B8ZuH@P1dNN_`I06Tb`WwUuPN9fVxPno^-&TN^zX^==r7jd z+2xCrG17IK4Z;GWfK>N;90Ot|^9y0bVmS=w2a|;Q_Wu@0s=ui|0fyvlx9uGZZ3RX( zx#49mj-wG;=W>>m1Jdbo;LbSK1w^Nb?b99KJ%g)IXvkAI*buHau@tl+UcOQk6$i&0 zP%P*fW+MaxFrqcXAmmBp*Q+HTU#%(=H%7wo9XIF+TAp#yrnF>dR@fSP^wRj~1$!&d z>8={`Ot)|52Zic6+aY_i^+|?ot45afE z$Co~Un7(wuzuRE-^{H(os`GRMbD$S@%G^r3*f{)*i>ToE#%!wN zB+pZ0y#F?vd4e{SIBh&t<}Q)yw!gl+uh6FeH~7j95uxi<_}eE5&EeyGXFn>8z7nxf zkz0Fp2+^o>z1k*y%uy1zNq$BE_m)~1d5mj}KtPA5^o=^Wxk7>hymOzK!oFaYsbH(a zzsMIq;~R;`Y|vDnx`FBB+6AxCJN(wqg99^HTX+>Sl*Jt3D@DIaF*wR|%D4(ZDT+qd zEYyR;k-NAkj^$z+YaZgKvg0Kb7-Mh;YbT7P3oCJB(xfOUa*+z)Jurvgxr(Tm8 z4^5kke?RBnTQjB(%)3_#~E+(6A7C}F{3z2wH z2;Z|$bA(OY`i56P4_p)8yQ_(q;mCQEg=m6QSPL#s`cr*c+Q#Q_Pm0E}rL#{)Vrc0` z9TxL{i_Sm3&4dRw&-aeUWT0(|a43cI;9IZZMw(%h)kBDI7|tAp)Ylf0JmeerL(iRE z2oT;l8jj%4g&I~!u~{%p*j}D39Q#FWdaMT@p8G&9oH@Zx%pTcstVJJzO_6NhPW6Vj zouA_BKOF?NDa+sG9%lC%rG2lmQRAhN>h+F@`y7s7iNx~E)JxAX=4k&xzQh`gfjP=2 zFgW!aYTp%NAfsPq13AuMeuw~b)E~rorUv3_!tMV9L!VY4(OF64LmVR+?<&2jvw~w# z2EqBB9Csduiq7#k6UiV{`JOs?)*F*U0)_H$7MQ-Hpvo2Ok0a57SfeUX1H8)QC_bNk zgQ2>H;xq>JvVivG6VP;;I!jZFw06EjqcSFYA&_KT{4DBQ5&W5zY3GM~ujyn{FaA_a z$toZ!77C!AigH}uvO%62+i{oet?0en)%I1O&{B`8Yx`)brA1Nv&C~yS@*98oZ?F6M ze>wiUyMDd7nlDlhjZ6;>H5Thn!IPYxvKSr;pXrJe^#~bA8x9E-%%>J z|9EUwtNpE^){We@+CT9>f2Y#U}7-g0IQiBI`aq$Qj(<*sknJx}^pDUQ?unOA0 zh=P&n!b+#8Rt~*_??GFo6@|^Q^Bu{Vw3{yvEQ6hFYDsb)i;%0eDto zk50uSF6@zA2w-c@7~TE(7=9OHbobLtwf#babssN#v(9NyOq4T?dZf+f&2|B;fICBt)ZtQ|_{DMa#@rVn1 zWEVVY#3L^3kzMfUKs@5Y9@zztHpe3_?9t}N^rF_jHH#aKvFYLQ@yX72N5+OG?;Kq< z`3e0I3ryY#1+U7ZpXTd*_m3M1=ZEb81Q* zwpNS9+sB8Ri>HT&rdF%^@K`ZC+&b1eHaa#uIXB-NofsKBIB7Hfx=j1QY23BZXV z?~sR9M`O|{V~iK-#)_L0V`G5V`*$^sY%xwxTunjLE)f00$|4tE!-1HJs_5 ziTFQ)>ET7qrl!>X@(6H6$E~BSqk>qPr`ebu9$ryQtQe9st`I^*EZsw9Z#uB88m&;R z6+@Ej)aUs0q7{oMT`|0TY{VzCrrB82TrxeprnzR(WcM3FI#&(R+KIbZw4Hm_VHsXr z46Rw*gs|d_Z|l)y`zxabzi7jr?Sr_NAo$6~Ghx4(12*dk%% zTT;o@KTC_@R`*}|f6FF@7OgEN#5VeO$vE6XgNZQ+ku@EKmtD`^uL015Qpr0+0iA%h^F8G4h*bY%_xnO!gSj;(hBQ|} zFfy)ZjbeE6PKptgBa?TkRo&-+IuO=|ZK&7n!5dl08&+~ED>-F-{d_qC zy(!DISGEg_Szd_X0-$wN{i$4*NxDR|ZU3lggq9&wvFX25{vM(8Z^RPbg;ZeoEuoJ| zG+J9*v&DO$OIcxs^kM(=mPUD4f>yTQs>Us7SeB^?Mc9?rt_#%FM;7<$wtv)mNKd<` z&S#ABff{(Zm`2lRzcG$cp!fD05(h-&*()0jtE#f)%c+$6O92wvT|o^v4vn4J5$ zF-EH`|H`DX{kHMZ&p}(~P!DaLLnYcehjJ`+4%M+#VzhH8N0%y==;|EG(dFfiuFfH2 z$+sPm-BSj_;YqY8lG1x zted6sy+S)1JM0tDWokP6hF8~gIZxKgPF6I!6=~*6rZjV-*b?0>?cFUc>G$*p#>|ns zNf35+Et;Cr7;BnS3^mo@N6@4vQ>};2(_LQKeIEH6-w=h=0NjjD4^K_4nHrm3G{j#C zVRXGjMeaGtc@Q@A1n*NOV#P2&L&iiuaZ;))!ED%8-;?d9q2hP}kiu8@E9M-0wKY4b z+aANduoSb|dD`4IyPmz!uEkmMeHF~v5HGBdd`)(aSxG#hI%Pn(r1x~3(tEs*v60F4 zbIrygkwXrIf=KD+1`*yce{iVQ$g6PU_*KnRgLb}3y>WAo7rE4QPfl2QEx zwZCLcMTCB0FF5S6Qo~H%so_j1ZWGSLNqP$MtmcKd<~?!GTgx|7_}$Tebo+`1STt&; zX+C6rcD&Hvam`-4&I)jd3Rh*L_R= zU8{3^3GVmzQL5r*T{Wjbh_t`l+T{{D{*LP}5l2J%SME1-k{4>e(YF=4jt#YrZxZiH zVQGY&n(8Bl5b`Oq+vRPiI8Q$E@oQU09f}UY7=ZhQFw`k>40Q(hPdSG4JPccrW5~-L zL!B~A!IiKG=lE7#l@JIx%Aq`^DE*)FGvAX{9&=+-!OisasJuJ_+geK~s#KJ)Wim^X zz6xs2fH%?^XiT!}K9QN~vTu{88^w!L(_(FNnkqy4^ubx)3r>f8u;F89O#QV8#_E{x>=fusmcJ(3 zWZz_bJuGW&6l#NItfF{jMRDnb9Q_`UW=QcJD~_O8>gVzoF~}Z)L zDs;+Fj5|~rSF@v^wZ*TPBk*yB`Izhqhmc7*9#5jbVf7~&V%j7JU7HJgN~malFcvw4 z9_I|zIENfh9zE1JXQ;1&I0r!Xmmt=;N79?y-bY#tj&v6_~DGXK+l+V0}d z>wf2d+~1Ue7d1*p=XI$!sWJHs?oY~{u+Y|AY7HuiA@lODSBUfs*M3_6*;Qwof_Qnn z(9g`0L9_^tXFsAPci2N&B+A3UFiZLa}}%Qlm>606?+ zM`L*Y@SKv3%{5My{8t&QhEiVA=AFMaJ!zGfD>6`qTTKZK@ccX5@cc#3k`<9h+EXUF>%)KNwXd1NO zwblNE)TH=8VL{mCF;eOfl$chnPWyHr@Rgs70T+K^PvGKWAqrP(+?p3<8MWM`k8>E(rZ zT^Ka4`zM}mWT{N*;`pQbi}lkYjV=&DP%Y_|=2~8A!OqpbDuJ6If6~>MP zmw@z)XZy#B3BfrXsR#kxWO>8yDkVcm*!c?*#dz8(IlPJtNoc4t^fvcR5P>`AAfw<4 z+&1-UH|E2ocA|h-*%~UxxVBgqDSg*W_SEN=UAE{w`tYaXwQ51Edx93_G8!$#3+?ZT z%YI-rn;HwK?hmNIOZOhvd-rI8g~Ye=kKaRxzN`pe_e%pdp$XOB!IWw-u=JgX+q}d+ zT3Gl2Gn$;;WfPNSReETAoawPTH?E`wDWygeAN!6WyOuTu`0r_e@9TmEfX??lYou!n z8Ot=SjHAeMjO0R(8%iaTnO0VDf>(@=-M2_Gv}X6obZ#*}VM|j3`Mt@@7IU-lJMJ6> z&$}9|Fm(P>$+o98gXPPYYjHr1Lu+g?nUYrL85cHPkI3=SDkH@N%y>ZN+UQp~@>b_L zugOA8=eaeD$FzzB0_3+?V%{0;CDQ4~pEpf!Dfi>gTgeMq$qSI6%hIGU8svJ;=<-}I zqpFlUxDLcysVicnekWM&1F3>CoDr9q8!G2Rf%Qw)i4x$c>xdw`mB6t(Am+*g zM?Lp`1$!Pidb#%ikR#VZQxP@o{Mym$-{H&68@q>Jyf_jp|MxVXC1c+I8xx}J@+7u zI+nV6y$TE9z2SK2JO|Sf!arAu+@Gt%lM|rxTo9o1T#hO)cT{x}2WgbjmNcZo8cmX= zh$+-eqM(IJ%mF-QOx)_cTsnZAm(5W)rRuHYZD zTA^R(ZJaQIw0sEx->=bJ!W<@swc074fyHq-dQ$nX>B8p!8Y))-ROdA*eRCVo{#XbP z)U`^qNSEWLO1p1KR+qDg)P1WV6*jIl@}^b;r-z%17EP$4FHU;GahS!<6Ph@2gSNH! zUzp~^2pn~yWTfuV-i1Akb*XVdGkIcJ>4KhEX15b@J7Kpg<94Opu8!N)#^XP?!l@{n zvfJsnoklmGSZ8qIstQa{q9UueKI*NvdRJHlISSNkSiLK3kWKb@qm`S|Ke4f=*tH{w zF|LlT%<`Tv%R8*qkVq3tKa(ehbx&OD%0Y{(+-dtGF@>UKEEIR`-gL-e}?)J*v$18XH<4#Cyoj723 zq)0VQ#X`L~H0!`;CQsg?nY^YAeki&$>Rds`T@eqbKvWZ^D4+eI>Q0_0gW9eZFpWFA zhm5d?t>U9-wi8FJJJSbU_O69y>rRDc>rVA+w(e9N-hR!dI+#%EtGmwiXZJC|f&R1$ z!;;~o)Sq2EWrNk)J=y9$VZz~Ivhr*rdM}leW8OD|g?l+&x#`ZH|FAR|ei(r%Pqv%{><0 zTw!4=FIjkV5|n3SlxHiWJbQ*wp6!kDY-JQHFGq1aK3|#K3vp+(-&*dk7}hG#`1rN5 z(_N#OvZqyN!0y~-5c8MI`=u@S^sME!uZHL-%&M4@!6{els3=(KyCU+lywmUJASQlHI->w=di6D{=dZ-M$*PuiEWvar>I( zC_aJL(cN$EhovUEkDezM?_SaB{KB1=aTY>MO)LMlX0f%pvs@$@A1Q{$ZCjr_mF|8y zD8|eCS%>RR$T}!X-m}jcyqGdyBxczb;TJ~3CIG!bBuc;!p9+t;5gD;CStd{r9)zuJ(;Cmyo~quLcokgtsi zEZxH|w(_uMu|_PfmQIiO)?Z7jYU^QhsXR}xPjc=8p+jiMLV9D$rhG}^R*=ZiKE~v= z`;ySTbG&s-o@sZDdgxv}G;9miy*u@D2YWwwqWs9vl&ybpXK79@vbMuQ280+NzkN&w zqAPdX931%#-%kK}kwN8`B9^Cbm73CZ_p)e~l?(rhl$xYCQ@5Ve>Wr8~NC5+F)0zxYuCAUpMrM@w`|0T ze{K~0PMs%0>6&fjtvw>EL76f9OLMO2=oI*TsvWy3` zN7OtnbGS~9*f`rKBgw3M7qTWsRZC%q=oOx~l&3N^vtJ?8+1;g!C0cE9dW|U;(>m(H zqn*}FcM-wMu{CT0)o$O}Kc1ZZ6H5%CFBWSICES~f)xjF^;UdOdUW~wxUr{c2LRlb9 zHH-fa@I6SM}O$$XQWSu`^SIc=+76GF+rf;(OgVKP zHxb?{Y-qy^*&Suk?8&Sj^02B(wssyj5MWL1nj_Md_XaqVvpaic&i1mE=Agq8VrQHB zVvVCr%-L?Y(b4y`|DyGfaon(NJ+ZDV18-NTDeu1Z5Ui~;1LeKsHQfj*)7~aV0$alX ziMN!&WoDB{G&2X6Z3u=gEz1|GMLzQDh@M@nB>SwIy zvK%E7dLtX^uzZ@;ovlNv)=;dX2PdbNN|42D+M?fmOJL4DGG=q0-Q;uMVTo({Vn6xh z$#o2iTp^x*YuEpj>5V5oE{bNgn3|SY+SuY{$ z+B=k!nt8#5WYE#*zs*%+OR5FxUJFC$ke9VcE6F&HDWBb982yG}RCc&E`zPU`>yjeV*KJB?qj; zBAAm0j2oVh%?NYL#LW_zxn%@GCl48a*i;YuR7-Sv@NTK_lSku;)$2vLcK2ZA*<9Q; zWj#*L+nts-pSG%x#6zQ(hoY8vIO&0?C`lshq{o4t+D19-CC!~hA-bzmFpG6~?r7JQ zjrD{BVo*F8P}tp5emDEP57e4{J{w4PryYprLEq<%lOJCtXKnUzCoaDxN|2`2S=S4$ zI_t{OI_vV$I_pk9nx2=Vb=Kvy~?1Ldj4^}Ai;29|MV2?5n=8QdS<<8i%%6=(HeyBBf zxHbDgOV{(VmyGHdelus;H+wAmW{qXvtiw`c**7aJ`(}-0?RmzsZ<_G8nf&c2D{1N0 z+>yj32U@dl8kcZkL^N=NOWrKG=C3U|L2F&k5-(Rc;pIB^D>C|Wj}u-t8gKSqx~EK;+6clsyyj{C z`5WWTs_%$9Gi&7f=XY9B34W31`sa#uDz4=E=LW3hiuy^R84?tKmira`Ry>weTB=bp zh!+^>djmWnM_ysea5g!AdxgZeH*rWy(;+);Bo325|8cwB9~9r8@ZU(6BSu$CF3lf^ zst2s)p}0LH-=p*oHHd+CIKZgN#qG$QYOloY9un7oNc$v=G;0I)ZDt1*_>M!Pa?Ca%F1lcP5J2) zOP>9S^pY-=QB>>s$8;xisa%%*ZFT;{^og7uc@*Y-&OdG?o>BLbClrQRo|Md*Twrxz zDbx9iXFe00`HbB@8@JEe?Kk80n|AwL+_G3dIsbgzK5w@##O(`q8_C%Dmq?|~ zt&{srDrWYFN^dad^%4O8Eq&wlOLX*@*Gc%!vAOkRM@|=7<%hW|9g(b6T_Q2ruZd+@L%=N8~tHG_MvJXCE+-`LQY`lq7@mroxE>yUf}i zCd`%1C3V9fO9ZsSe?v@}zqPP!ZY8GL61#c^1?J}UA57GJQ~4Y1$+ANq@<66Xq&vPd z<^G5=O|i2Dn!YjF?I?Z5udqM=1}Txr*}u??Va~ZH&YMsG2Gc_`8}PG z(`H4mF7@5n=Rvm&qm>bTclIflx1@0~`=LRUZ%Z|!356{!%9~1>m$1Q>8rq#W4GJUpRv zmtf}4`D3FEoj+%9Z)XYlh0fxk;nqW}Iq11gSo5p2t36=1vDYAhLjw+!Tf^~qp3J>| z(O9EVLTue-4YH}c5%u4=kWRHL-G^)|>jMlrU-giKW!uBOs02&rtpcp}Ta$CA){c$I zX1(2NYX^?w(f@)Fot7(Sr%h@;JG)?ZMX#HVgw>89x93K*wP{LK*&WkHwd*9RpF%@{ zwO^-X!g606mRnIwYOiqN+k?eoYQlR!?Bp7Mr&L20YjR%GBEGaEYPv(_?Yx!rK7df= zZLdPH)$J4}-*3~;R`tWa+sTIuu6Qm{`n)h#yrBzd1J<9GZQ)_J* zfdnppcj&M6wNn=tP8-LTLzQQLbS$K`RbtUQ%Vc@d>|hCCEh~dXD<%=weo5B%_+DGK zAQ@%nf;jFOR~K&_G9j|T`VJbYxyICSb9eEi6vF}9KmQ_@=rtQf>b7dX`;3^vlB z(ys~!zU+n0%C8Ylj#^lIbvQNSLZIYN|w(<9FQh>!k!Hpr>HIMyHayrLX!vzuMdZ^) zJJh_@$7a}h6I)g3Y*^yJqlQEE(X$Su*lVun7J6cE{}@KGktEJKkKI(pAFcRx6Fv26 z<6(oaMQDHTd-%MvXF*{7Zj-U8&HZd9R+&c9v6t!aOE4e@VLmvv#Pw{65OwY7GRtFV zi2EK=D!sL{-r673+X-?isJ)mVBa3yI7qlLlFt*C-Kv{8AUrDu}^MhaVTF2)%jhzS8 z>(uR^jZs^^tq4B6yrEU3M9|6Ok1Q$*g|tIo4dK5~S1jhNeY>!H%}*q!9gG(hhLxwo4Tlej&8O75r5@X78TH|u-+?G|J1 zYE5VlP3X=Nwi6>O@Z-8iZIb;D6{n3f`U{u6Pu#4YtdTg+|H=dD9#vKP(W}d@31`Ii zrwVdC71Mh49v`U1iHU%ucd=5bYrQq9^W(|c{}2yX$HkNa5aCZeWvCCkabjA!T?Rsv z(b0nbhwGS!P5!4^@x+PysrC2M$rJ0BslVDBuW$6@=Z57bTJL0R> zu59L%cr;^*&Tl#zIC{8ROhtvxwgBSli|ueznTJw9Ur#9*+jI|U5=Q5)j0;i^3)pqZ zHrn`@u?>4Jdu-!3y*3rL=}u`o=W5*3l18Vj9grOAQBr9JQ}E;)oRX&!B~MMBcu+4< zsQSZEE!qjT(7cl;+Lgv_pWwB<32I5KH$kprf;%e{)c(Kh5jQcxoz)5MoIEjiKK?ob zh(bZ~jIvK;z&#nndJ>k3$`2(XzNl3^Z4~O~w3lE{FBFrd>MwI>YG12+rL0g;{pIDo zy4t|pV~rIJKmB(M56dT(VdsZR?nHNfES-!PTJBL~dRqYxraN>3QeZziF zA@9l)fheb^6fsoK7cN$eW%NDFF?&b=SfMkx(^5@%g|NYJWm zlkk((rd93H`w8a`VfqmnjctFV7W8T}zvqwcMGp)&Pxwnkdz+12X#-68kXM^gbh!8M zupVk3TSHhA-lal>?p*>i(0x+-gM^o?Kp9VoK1jGwN9PO)y71ZSLi$M8PzD?OQ+TtFz1oR7J2cOJ;w!q#Ycxq=5HOcv)@)!wv$I5$$tS3Hd|ZW$Dr1( zUVZVkjnktWgW|h5K7|-Dw;u_d-J}(dSTFESE%QrKL{qd-S2Og#(4d4)@3|?b1zBt~ z7^3sI+`Bjqq3#5rsT(sgYs|pUnbL~{Md+H7>n|M}Z_!u`x~~+FS0h=BlLyRb&AtW( zvBa}48vfFCX|%Keo>^tq)|o?DEi+oPF9zF|&$Mih);{@yvY@TmzmeZzS(J4XI@1oP zlq=QRmqZ@+fyvpgkzbLYj1XuiK<|S5%EOJA(o2Ch?F)E03SaigJk^`bo7rTz4v62Z zOh(I?*`s_iZ&oMs=H$s&E)lz#_4Tk`W{S40eGL?|8#{3tiPe2e3!9;K#kTgj%aFM5srnNE%~NslOk6x`7s8ic2!r2Tp}xy}Q{bUTmFJQa&1Z4n{0p}Ao3P+; zR^uh9Jli#S$I$qBcp|-9k2&XGLDJ`6wcppYEmNs3yZ)j5zP?6Y;pE(-n&5>Znf_W} z(dr(TVJuyA6^noTxzog|`of7gLEFtW!q0w1KAnZCf3c@ZME6Lkbo2aMmr_%S zW^`No5v!f9OLd?ZUOt40?0dC@>ZkCv{Ya)H{HAo%+mBR~gl^~G*1=G5iKSB+t#m|s zmp(3LP6^PI{#{vzL9VE!J**RD+)525#n79IvTtrly!(}>#xslIMZrLNisg9r*FX7BCx0;h;l{?V-|`>-?4SSX zPuoux>xyEeT@;V$UHzlO`qBOFJzK6UMv7uc|9A6z^C#J~FWm8<@rZ~gi+lUM%f(trEGzxYr4FTQ)jAFcks zul(AderNfUV;^|$YY+X)&wuy4zq{kVfA!yA^Tv)3J+kfku~Yx&ug$%0j;{f+PBPfq!2mK4IdY=(zf9D)|Se9?+M4`~%G!X~YL8{PP{#>^m0eE0_1# zhY(FK?O{iXP_!c?{RH`VJgeFxM(LA-L%!`1Prh5j)w+NHkzgP65P zd~ob8K~eu6=j!;5VSk&;W1Kx|1>k(CgU?7Dt9{e+iZt?BR8Fv*x$@-!-I=RS^-o}r z(D7;g%hy6LPv12>P<}<+Kb*ElkMGvh{EJt7^<(;ge!f_w554f^phUPUi}thIgv(>a zCe=EiPrPl^hgu#G&2CYxFX#hFhxNNppHcb^@xTt<-6MP*)!*y&F}T}RdZlXa)7S29 z&}ZPTQS1AQJ^D1qZxz3)Ps-h(aqrjf7u4sz;#Rf1SM7ecxLVJCRlR(n_<%loex+Lc zmTK)(54WiFUMsy$AMv_Qu=C-N&levPWFHe0AJM-n`G$Kx5vQ3G6P{5mK3T#yLBFJm zGrH!}RSg)1Z+eV>p~qO`e9OZbsR3r;s1fCMixK2+Ij5N5K;Afhj&HS|a zk%Oya4E&7gXZVxF$a}cqQ$r&RK61Cl*N?9FIF5b}7NdNg=Rh&)pO6{>_K^c>wJv?r z*16Qb4VZtPctbILvwGkIVtn_+KXw@3k#Uh*85MRL7QFDHC`>FHqB(L(v(_Ak3Qck| zYDahNqF9!y-dC(%XtZVdD6PFhB&rFPL-3Cjjrc^Mo&~;RPvfWF0Q>v(0ocAe_q}38A`rW zb6bT$(kF>$#EAYqBv+*)g>-L&LCTJ8OdEYOC2Ox&mkWQ&<`O=h1rZmnGVWT5&*L-# zBMpR@FABBN!}$KqB}p|c^j+iC3sq@VTWlBiU9?>gf@bF-lwwd%`iHN6@v)!uMX-3d za;Ii>#J(ZvU!UarKWpP@u-UC@&Busbz|OA@zgMHe!K<-6Ng~0ho0L}ln?5TCef(!4 z>III*A)<@Ls4LMHV^lx)v(j-}{ld>heCpM|eZ8Ug@k?0eaIqS|{G(_5ZV;Zz&wlqm zU`UAG`+8)5g&i7%ud*W2=!B_yg@aasZ%>`y|Ioh!wvJKG^zG`kSebjJ)(3yOTC-i~ z14*r9UxF(y+G@Pu(ulT7pX@D}m@g+S^AB9Pm0Ed|X4wDP>tz(i_p*CxDle3_fPQxu z0uY6s*bl6`Zn+2~qG0$aspFb4`CwIV*38|B0kCi=k4JHM4i}A}|1z+^M{$t{F__;t z3;8!xvqE_DUQzd;^8?M?le*g=<q6_|_{Lo-W1zRp$mq(?19GLVzbEvA zBBB)XnJxGN++ckj(3!aK)(rHy3}buj?uh#3dtXP3rb_}4fsFI3w}IU&cH3zAH+dbNI=fzeEDMUgzeBl?%-2YO%oUWPeF^8v{OLZ273_#~NsoH0y>8o&+c zs{=(7_2K%-+TUd;x>MbOfxC-k6nx%#|6DOa84SWFhMC5=b0{rGu9YSqIZr>$fY5tr zrjMaP*d}1W_>Q_|@wqno*a&$J2^|OY9Dd~+Z`Iy5sPywHbvj&i_6DZKU3Kww^HLDEs0Aw1 zfynuJBB&p#^70$i{5}a9_K=TVf>Hna=24TR^u5v5UUi3nxm(o^%NOLKIF=&kfqbl$ z_2Pqtltk3sYJ!_IiCmfc%`TxD^SMs+ON>dsOC4+hitZ~~NL{sXSyGwz6*57f3S5q3 zjv>pP#d!KUojj(%q&N#L1k#0D* z&f?SE{oP!5Zru;B1u>$CU70xuq%1g=~n4&ASON;Y2XV{q019$dT2JWv@O+*II z;{0ubijPxYr#5gcO6POM>ZpsML{36w_B!EP;jV=a786nXV=6)bZHV z9@CvaT9&tL&=dnSew(Ve@3r;}-9e7fjR%Sb;)9=g{&vI7VS$T!-XhO?yNV6aq%W&D zszNpaD*)(j^}*bft&ER^BN(?Bh>pDb`X4%a@ZJunhqWHsY!Rvt3XIQ5iKm2=+PbkK z=Rn6d>K7z9n)*hqKD;Ox11)}=S`bw^-Yi(BlLwS}!*lld52CD3hOGb5)k?`-ZFwTX z$@iU(qhe^m|1k~od82#XqA2+y4%R<1apC2prdc65Yvsv}_kSfcPy z(SCf3@PgOurhB@$wEXz@rK*E(CEpIS^dUbZCJa5To&~H)A!(tZy%KKr}fM0Qr z`)e~AWsJ+0~2(!XbnGH*ZP?uhG2zIGfg5-mwCQi5ZLN(|iz6ns@a|3-3dq*E_3 zJI4rL{)SgjL&QkwDOj2*cI*|ZeH!SlJg>JAz>-tfeo$DO7d1?_=_yRQ=$A~7Qf;Ge5@a)Z(bghs5*Jv~rp z4?-?2K7B5O+-DR*)a%2b02dzSx3-il;h(ss^4$g}zYKxvE14yl~On7#oYW<__M@4@a)>+%B>1#od$r;$$9R`|Kd+-<>;cVrOFHd;} zU%}%)K5oiz{W<;WNe7V1@fis6Jyk6^D#ihSe1( zH*lh#K^C(>uaKD#`JRci00IQd!qm)yQ0#v79CKZ7jKUq+HON43IEY~6v%1bxFqakR z&}}u0d64VVbnTXu5G@@4^zY&XdXk#ibh7{hFEKf|@_>N+dgj;~4%a>c|#R-HD3P#jcp20@CddBH*QH&b-F0SUe&=!Uy}MxYUS1L`CbpdiMA zWgTsh1}s3B*;SQ(){ z`ljmqGZxQ6I-wOgJZ9&%g}>L?EMU~UH|7u&@MJEm*>5farv6zD>NB71?Rf>nj)`N| zLg7IaFLjwo3J}St=3`uS!b*54XYSek8`w6?*QYhw{hB@|rLMB;#KD-jQbffZkbjff zliYDn?dqYf&}&Lgsd9H5HySi0)Y@FcK7(gaUD82X|llN zUBU!f?{qlZqtTD{*luqRnh>#tdo_KT;WW7s?wJKU1{5yH9@fJAu5R#EQRJVKUaNYm zp#~6!GxaU%KDM_M$s?lp=jB(ErwHxun-d(*t}swHD9_}5F$yK{43M}ZP@hGz3j|~M z@3;a{kGX$Zy@FM#w|fJs?ZR<_;wDoAZn`jSb(nKC>ek0CEsBZ}S+qw&?#gIJcV`4Z4g{X-B-`Jt!hq|5+9G%9OpR%pE;sRk z*t?3~(QF79rp1zYI0=b+R7xvXiq{*m>%^}1k%Ym?i5U6nJ;EKi%{{s%Bq8}SQyi@V zjbyk+M>}|^1aMS;7di5g(~Wv=($^2&9!(k@w2&SM@@De!()B_}gj=B}3G0)a9Zt0S zQjw?fK0qf9ZfN*?wFnyefp8A!7s;q1OZF~ zut?RU{{Eq+-hMKe1KtZCB%ec`#Pz7;QfC|D55{)1vg2r}64)q5Yq>8NGu_F3PN_q$HJV zSj=1KBge%;DdNbjA(Lo8*sPzKy(c&Z9&oP??;__HH<0LM-)-J6W(lr^(-fc&T)USn z4_WKE)lr~kuH5SWY>ES!$9B{I$3%|%tsSZ{@PcA=z3$2o&PX%zxw;TC<2%hRki1Fh zmg@S2$5N@?Zq-b7YVb_RA>c@$Ntqe!<2XbeyM7H`w>b96!TtPKB&Yv*n`RNJ_DiNd z!I>*F-*cX)`a?m7lC1KTbNIqs1-E#z+WGI(HZnP(=#OpeV71QGxr+YfRdf4igDK+< zU+`SrH%MwfAWnv5A+Mu87qC`M(z%olf@!CC&G)yUar)uIi4SfJ4tD3@mQ3#&FaGS=jyM6{lduDUXwp$JHPhWLP? z1K=3Ekjc z*T~gV4q$^NAbbkhr&|Y)J4nI^`N;Z$b9WAKT?qidSV)@ds=>Xwq$Vo^_r~HAGITDs zj!~1X`+)g_={{LlvT;?L7vrA|#4cgTE$%Be06lvaR_@L1s^>CJc9a#V9NyrlEz%Io z1c{y2exF!mA)l4D(m=^P3jCCDp||tp6gD{%#lgXKj{+YX{p0z0r(&`%XMzk1mFv{d z@*#;c#gVP5kX%wkF}V#eq6<}={+U+#(9J3a3^&VHzTC}=?k_DaH>VeM$7&_2_+I@b z@%TABM&B-wXyKgq_c7ePunJ5>;0_b~{m-zYgei=MGsu{Ez!2f-pcw836HRa$5f}^` zSt3L?Sg$G+um@z$9UEo}HC$|~tH2mAb~_}&cM}VyFyox#nh`@so(kOIoZp}l7P7Y0 z=2Z;>ly`g7F#z*^R{yiY?ifkV*+Q5==)oK#I_o2X%r4xzg|HHCPJM&DAbN%kJ>d#6 zpZ^Ayti#B-O*@+<>)X>T-MGJdiX`5$tT@|{3~+dkFq`ijpU z6OPCx?lIP8pT=MhnEe@uBB~h$;hx#0nmp>mQ^Uu4yYR?d;FExiq<&CPC>@E_9JZ32 z4&v#_2Vz_{d|?uZsNMdh2;Wt3zKRC&Q7Z1uA^6}j;R%)Cz2_@$2}`^8X-ITNwFC47 zow1AtEj?TVRL`D+AY8&Q#!1I$VvjMg+zG&b(8m!?4)f`0DN30NAwy0kz^yLfrRfZw zZkS{c2HNU5+nM5{{XnHg0EEbU48i^-$5{>phG|;I&Tf&%x5u8N>|u7c=y~hvuy6-` zQVULu=!`Zl9;kMw7hn@Lfp(svyz8|*3h_O-&^7Aaq^k!6A3hbcgsUAE_UiWYGR7m; z4Xg1OkOncR1uU$3VmxMwt3R$=w~77;U~?+N)}Ye&xX?_z@JK(}|Gs$v4daAyUP$Xt za{Fx)bq@1FPT*l7(}{wh!w~oq?odX65gr@-%GO+#9N=eobZ^gpcz0deY8oOrvxCx{ z$Yu%+!vBHws&f;SYHs^=szo?82tR(}6gEap2U{mts^Mb4ZHP9$1;PW38-zRTMU0vU zSb^od*WklgaLQHkK4}?X$KHh3g<^+FY&sgC2@=bkjV8FOpQ8~wjy5s^W24=2m5=Ci z543q8m9Gb}mXWmFp&JcY1PWt`q|9)hL2Vdex+KN9T_z47@(t%eJg7WqL)#>2GsVsQXbZjQjC8Ij+Hp4B(KT?m zI$s#yyHD5I0Tb+;pl8!%ZMt=HLpNX-GBbVj7R0X0@=Wm?bqMp5E~q5WoFzCH>S}X; zS8i4?K%9LOh$W@E*>Mf;Sw8K?dKgW_6nt z39Aq4jWyTkFBE3higF|O=7k;>_5(twNEv}K=la7mlh?VX)Jn;}6&bJVXU~L$w4XdO zqd}Z}f5R3rSh$sV=4|@K3nzyOsnDf<*w-E0+}L0)F%!V*!U_Bf^}a{7s&5;@^s^lW zBZoqd?exR~zGXME+0|@pe{P%6ahd(B7X(`vivBrDK!3jb23RiNb-=tFCV~ansDh@`^dH$H2Yrt~yVc6k zYo4YCK?!~If2+X5iy#E38ffx3Z0JM6{pknI4cKIEz%_zqYyUKHQ4stH?gDsB z0-Rh|V1p={B5i=2*2}T>C|x!noIGV(RjWuvLR~&y zKq4q#z)9I6WTsPgw`iujHCJfP?D}<9NbT8Z1}7@mV`mq$&a(sDqj%hsbB8(YUg{_B zAnn8qZZk=xubd9Yj1_Po+<3S%R-I|MKdwLeVFkPHhWBG2_4q}do@9g^e^3w(BAmxW zR-b|a&%C&J%oHEqrHV)cY5Mw52zprFRP$Puezf>>;vqEmG2zl(dqm;vz2e&pSLj?` ziH0d9ltatAHthKhX*f3oLAbEfVbPCiK1|(f`GT~wvHKvHoAmY@_jV!-ng4fv7Ly;2Zh~$rsDTAoj)im=c$6Kv-243(aVu zC8|31TvR+_Jp-2h%wee0vJ! zY0L4tjg3XzjLHhwO{q6l`r=yJ#&z@Vr`ItfG%!iB4w5L z7>-`d%-y*ZS7qqZI7sng9WVLsC)krI47|tEaPT#ib)B`5`^iaec()fd+^+*_V z1`lC0`{fmP1O7>pTh(Vtp5V)Es_T$}uYfV?^!Hwc368@+yW~XJ0FSvIb;(XEEjOs# z_2d@)^{rJL-NDU*gWz_TCh!&QkUm@pVDq^;4m`;$ZTj4{Gjb>}=A3}m!|pIHl2YA% z)Sr%aDNHU`NW5#DDo(1ri@x*|o#;h}A?780rZ-pR`YhFbC;Sq$OB(H$G z!Rh(WPluJ$V>?MtU}JFox)jx|x@%_7dcix$nrpc23JyfQ%L!}KGDg)Vq-DbywR6p% z^RUx~#GTU`+v@z})&`mK-r>(gQx7I+h2#Y<@j{E!%T|^DaZ$Z3Qpeq0>Maj}92)#Z zpg>l!Hi<)XsbmI&@$6bnr|!3?N}f#}WcC0k8Fv@DL2guaD*3VoQy^;tsThHC1T)10 zd9<1X5ze*mNboEox`Fy?4N0Y$UfgS8Q8jH4xw!mrrgH=G2DN<> zgt{L7!9meeDy_#Upe#=@})(TEXx-{>9majZ`3m|Z7M88<2&;aazV!eT&t-e+b&fzMjEH;OB ze!v_!;R#+vluexl8}(GY(DTMiWUBwfDx3dim- z8plW|DQX~B)pa!I?*5dY^A%oR)b=;h+>RcFeGse2gvB(fiMU|4NC3Kk!k%@})Z)$F zo~EiU+Vpqo-6UVgeZTZ3BfYx_^LBH4XbKY8s#M&Sn3uW6J~Hl)HqI?!uxTe3gVi z5qSII-)H4}jYr`(&t-dScq8E7eUqBMyT^-qjO;F6S~5I$M&1u2Cx?V3_}KJPJ5Q+&GLbHn+qyB>r5wB(Gty2Nk-mFI(Ve{iNa^ll8poWj3bXrOmx zJ`4n&Nz@FU&x1GVksmbi3Me_a2Qfml@uuru2s8*~l`}@Zym#goHvG+7?yD3TUG9#BP&mYAKFdE;NcW@mDJK@*-%@Oa*#nhEXa=qNlk}>!vTMR%? zg(1QG5C4UI1Hbv(vhwrzX~~&T&}Bb3G}(>NSb3TtQfwW4wx#NF;B_NwzK)D`3Ht*N zpV?t$G+=OQv91jtu!ZxjbL59r@(Wp(>^ zL=Z7yM_70wrSws&SDoX{GuIu?YA7s>jjt~u*tl#SBB9FD=opyXN#rRr&l4=U zVffsWw-iVA+rE`0VS3Ekx8?lJh~(Zjnk#?~Dqu^E#Ny8|%P88Z2wF zkW9cgfdsj$QM+vc`!}H4{SMd_G_dWW4rsl92#bbr|Ajta6YB9!7j<TxO}CYj## zHm2|L3)TWb5y?WxYO5r$X%8Uddj#ySvuVGS2TfZ_2E=D|Y%w43@K&dv{*L^>$TQ@zM4e zeJPJL`St4AeN=uUx73dvJgPjp@q{^C#oEh0VfdhyD-fTBb3eg@9((v=7PyB?;k@7< z{stU8tLGJy8{nKvkM)s#&s)B!B7}U9Itpyg6ua|4Ai~_xzzmIXMYlNGgMIT*f=oIZ z*qthEHFK}ltN8LC&db@H|7`y}ojqt~toA*a0r(1CY6D{xL8fT;shl z8TdVDweW^*lqJ&5oZNgN4|)6p6|YkXlyP*S&KVExsz!J|i>vkQH`PYUw&!OPsaIdE zf2O(S`y-j9OGNM#m`Jh}eC9ZVCXtZ^;vnr{%=gO(aCyq!XRi3~+S_b&GPSfv+kFEHrmElEHLU|7`_0%X^E0j_e@ik#5q6ldOueC4-7CikXCpVo?LXY29@8$}+$9Vt3D?TkJ_1tob!rFS-J;pW#;ntS zH^XTO@1qUf0rCaXnBgTLCr>DaUkMZ8CmtAZ;x!hA!sh^}P%r(@5L5i;v}jW`l$eu9 zI2_CN1Yth$Y=I6B+)0FyVd^u*VE{*C6DdJcBrTU|=FB9}5O74Yt?umNG{Yrsm)*I| zZE=!A>5)HVdM@4Jy5;S#FYs)D7qRWxJCfL~aKa<27FZ`htG##17={U~k&lRGMI@g$pD zzp8-=PGb6A8}OojPGa1!5NrgW4*&yNQa5fM``f#E6M#IPNKqLzlZ^mw>X4l9r-V zFSw{;z=a+mKHWkU*a$NBFKRY~2Qa_S9Y0`~m>N~aY*YMLh3tCq4`IZCjE*ykiJ=|} z;b7K_A2{I+@13cA8a03UPU3>xkf+idmilgil&oqCpjC+C;L)~K(mMI9;(K$Vqduq-l9|`|n6T+t1>^>ICr)%F{~Z%W zjE%AgJ_v}mXEe%r+s_)g*&^YFn?u^_ox6`U?F-J}buOmr++#iNtW4yt@v$zH>)A^!maf;6?(q6MIXGOHhKKx)}Lb)jeIln*wJH zYZ3?^<-*WErXKlNGV19v>aZ*v!^F3DA0>K5Uj~1|Al)$k0me)(QDsZXF-Tgv7JPrh(q|iOCblGt~JAZp$#KQSn ziAM$D5an*jwBA>7jm{p<6g#(=XM|52h7c~r7mE8Z#xMW_S9gB*bFlW%fuE|#fLm}% z^D}i1UVuC@JC0+w&RS{*4?yTm`Q&S|E&YOAJ;fV#Wn9)?pO-x8HKSHcggIHj87{I$JDhbK0lRbzkEB*RA$Mm}^DFJOipL^286FTnue!%AG z3&$vGM8MT42@518z1B}N{Mngjn0PPGqyNLq&$Ip5s+4feBQ*ArU^aa2#Cz2Yclb~~ z2NGqSkN>wmV=$l3I3%T?H{686^I*>p6Q0007 zCj+>n8`FyoNMVKCtpHSy2^2?rCuZ6CI4Gz%YKwCRKt;H?=l}8B_KQ)@d!h4n=s+TMB!D(!lU=VFmZ^2|R;H2*3*Xn|YF%tR0v(e5Bu zmvIOgQ9@3_GtXkjph+;MPOnPIzt9RDX`{*bv=3b4yM?B)+fl2ycrnqhpJE2h{ zF^q0R8W%Es7Wy(yiZo%9T=6E;e~zJ3_!A-13w50H+}7}wQhp0|fH4LOyKibD-^?&B zi2GS^K$>Y5n=9ant+Ei1EILeKbLfP<;*MA*+oRTLK|6Vc?rdbsQJoGCU9Mq#)B0AJl(5i2HF4Q{wYQiAnJ zx;|n2(BLL8aMk||=f&NOD#Lv^JBPAcEps=BXQ-<7Uo%oQ5AFh+m^3k7?23wfwEMb{ z&flsF4%lUhJCycLh3}H@_Mdq?L%*RHy@UfuKMt8JlJ>vF7BgXrXb!9frV<#WHwv-L^$ z9@Ocr(J2h|?sdB}x~*d`Joj^hQ|F8@Dfx86vF=|DgG?Toz*P~?x`yEy+(p=s^x~Ou ze|vR4L?*#}h{Zy~ow?&4QR{~4op;)Umc{(Ezo@zx>q&=mqr!DNggH7yfw^nkk7H!< zbX35k8nn1dn8h{CzAvh(kc#cxUl)E z49=?Cah60~OS&J&*oiJx>O~0dh^|8fbdUmyIYjN3vD*1Qsi17WHh}{JZhYlGk>_-p zB!Y~bbFdDfmIrH3a1^I?s_P^DzAM;^`FLhn{>{I@VemP|9;2{Au1>4?$}LP4Gib@= z?BVo5jn7N7CRt*1H#5oeVwEQ)wEF$JWNZUETmr%Uzbr%rhdS29+>j-YHy4_~MbP&2 zdLAfAW+CHM9TD_*o{K&1_>S9a^NqTL#;)ef7s7i;aKc$=oWXk0W2v)ooZ2r8;sw`Q z?uY?(m40VGpTs$Tk283~)o57jI=t|tYy5r+z^m*bS_tpC45QCc(!u3CBVuL8620S( zQAPrdGIn<*$%ju|f544A2@0kY;?+YSIZVp4KU$%ps?VKdSwNKKt`K*#$k}U`*`$q+bp5Q@NtMXFCSmL&zNA!sdY zOD8?$yaV>aQs=$H0SmPT=j+wZ-}!N`G`p`3x?Y5KWSpO+{4C>Vxqe!E#EsAv{QRbV zj};fyi|~+f6h{6F?f#ITm-KVd79G9xv-P|w945t0V|jl3L$Ws?)c+fc@duPiWO-pj z(ZIJry2eRE_@|3krpLi28;Y!u*ai06P`uAIEr4K~HYoXuw;DU{!s4$>9j0yPZk{)& znV-Vhlq&g-k`49%erB*dt+K&JAj!gh)%VpK;)dbw9TrGrM{!>+Pt`nc;(4VF27Ah+ zf%Olks*u4M3HK>B?JV3hLzDZ*p#JK-Kg5E<4fac)?i?f}-XjpMDORUOeHpOyfR>zk z0WR_-?rvu24)Ej51r>eGN`w z=oa6mkg?+6eo#ofsD?gWJ!d*=p(czL0+p0qMx=z6g?TR%u)I35k<`XuF3fb#!cF`6 z@vIv4b7n@eg-3FxyCRWn;i|zUncyv4IcLO-kf{MW-xawl9zTg18LMAS0G+<#1`#uD zoy=5G8VMP>NB?4=q0Rwutv}_RBCb|YQaT!vMorEAg@sUrhB$}uDzA(xu2|0mDoA+; zjgFpsBXFDHFwMpl2CNy*fUEKcBzpduh|}jB4(rPlQ$#-luaT0J_M1FpIPEU!x!++!D51F;h6eN%DyO&a$B#aztm&b~J&+^X7X)x70_->>P@f^>3&nyovVc8zFv(d`;C_9e0j zlWy?94ippHWufw~NG;oGlHrch6!gNu;x(hmr*`^XQhkWG-(Mx8i~C)$g;#>}Ci?xs zixPSIAC18N`cc$;pE?=k#|rM_8rIhzn0VxL^dI8dCA;izxxSy{CkxDkhoOOkR-8w^6Jz)?qwi~Owx_zcw^ z?kiRf(#B2D4^rG6Zy+^jlw~14W=XGCDZ&P)=DTn9svHgWxngRs*e{Y%{d;akudH$84J;^x$^D#+NEM(C|D2V%d-Q4)gb(3cMOLnwNuphMlf60m6pvhyHexrY4H|YT+ z#%Vn_9PRk!yGnR^7dlJ0dKV_SAijd1_6T1{42t~hc&awVbMNXj_&WE_PJ^#=?=0|j z^XZu4+;O(^-RUmj?Op0H;qG0UaNuwBN>iK{c@FqCQ&Z_(_Poh{3gw$pm+pCaFmY#b z^(Unn$&tFL-8P`ATXEh6<{reA@1)UH#U+FKCPAIHh_0NG=fN3`=^~|}hlYlVvC&nN zpBS3FbJ6JJ%4NE~XSlhl^@ZW)@S@SyYCUY-Kiq6i>hBkZ{n~$3eVuANp#P_JeeI&r zHO-OH$@bSrMqBM~G*rL+t)bS9db~sbAJhMbdD2$hz50K@{{MJ6^Z`A*TK5N*_-L*6 zWAyYWKTq=W+_)Ze-aFiEwO^o4yED{kzgo6FLbuOS?KPm)GlS!Gik}x8Os@TUTs%E$ zCBx-?=Sl1D+v;zwclC%m>s%4HovXRs%+C&f_NwE~PJV9ZXCptG_yLg4wKVH|Z>ZJz zKDXZl5qIeBIqqKK=ReTNi~Kxqbyw-Bz;AV4pzM|2R6DP6{}xYP)lYYdpVj;P_UZK>O}#Bz}xC450f>3(k}YBp|?R&c24;;&F18l);{3}Tk?HJ!DW&UG}F0g$sR8smA*WKBF`b{WQtQik!OFOf6LNvI)Y#IrePya-BJ zi^hi(qgG5DwQ|=EnJH63X3DffCS(Z6Oqup|vgJD2_H|f>SSMQ^8Dkl-(v+aW%+VP4 zF&2^%qfQ%7Q9!XNQ53tva#tXCCc)zD8|LJOsVh^`X=qHd9H1FB#xDqx=>v#3SkRGJ<`M5#7a`quCAObYV&OpQ%y%|inMByBxT-%2)d!QYl3CU zEyzV5QU|`J;0gtp?3$^ZG_0mG7*=WKBug!ti`X#specglEXm~CT!hJMx}|R(Lfj-7FkfK={^lxAw-Sx{uEwOJMbiz_&O$OawMS)6nR&S%Y(e0u5nd)Q zQ^^pva!oC�#^Zj03zd``IzuJV(sbnCI9{Fd;*jVCFg0BF$?vO&T`W%`tXuCs7Ax zR&G1Vu5Bu1wo=h|?5Wr&Q?b#W3YH;KLBeN_qad4te8TgsG=S!j!n`yupu80ntf8Qc zf_Er5fMDtk3fRg+Dl(HsoccuwEn#fVHBiyGu|8T!PgtX*&Re6zf%RYo-BljQHs>IC z$!OOdQ-IVRQ-ED}gbYz@1xU?U&L~;QR;!mbR$`@PpOTdp(rt`L%L=>N*NB|T6T))M zt~QmjOhRByL{M6T^n|%Yr5OmUq#`udNtK1sDotu(+FCiLT`-@MDMH5LKtkrmQg;L} z<1T?s6DZGE1y(niG7@pCTNOo|?29-7mDP=cHWcs_kd7+dN5K(EB&-+)Qq@+PUDhEK zu$n0p8%aSr1tdpS5-TfBYO{$AcLSBTbq-*q!YTokY!Z2c2(73l>eLi@Dw;Ur94UOZ z^i8pw9mbi`V3`6?>m@Qsy-f{JHo%1gpTI!QK{HU3?CErpEETj!apflq+$PD zwGNc);HGt?r`o|?>%<~z)aEqx-LzAUrUBYH{Mm2m2yQdm(MxC8_<@ zwe11ITGogIaguQ)kg2qfnpKrup?uTIWh$cdMc*Xk6>58;FV>ktrU&9hLe!OW)D*#r z!)U0$H}3%An|FWK&EmJ8VrJAMY60NLm5hMlfN5~8;u&{ zK{uLeC6E#pDMEx=!7jU0U@1Ll&kZO&)Sg-w_JsJTeY9?JoDF=sCai{5AlG;oMy zxRzGvz6qj(EyV$e5Gl>@*VAIx0Up@_f!$q8Dv;3B&^n4SfNKaiVP>)hSYL$%GQ9*^ zF)EY`fGb7~NG^&fE{e6B7*HzYMJT0x4;7)AL?jt6s>L4A{)RA0ycLro513s~p!&Ru z^%%^$!IZS|8XoAmKd)kAP$`3<)$%IFgQ|1UjmEqK>!?tGCN1H`V}+^_$UG3hJ17uT z&S$N(;2p3e4W(QV_mo0ttRb&bG)6-wG(`QVK&f3GYor;kQZ!;;nH4|-ep(nCpk8FT zz3r>a1lR2|No}-YY6BsV-xlTzJ+P%!6U;)o#hVrvm3QqrqHJN8g_$9>FF{Qlpd^

r1 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 literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PostImportScripts/LoadAuthenticators.ps1 b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PostImportScripts/LoadAuthenticators.ps1 new file mode 100644 index 000000000000..bb0bc9e63f5d --- /dev/null +++ b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PostImportScripts/LoadAuthenticators.ps1 @@ -0,0 +1,219 @@ +if ($PSEdition -eq 'Desktop') { + try { + [Microsoft.Azure.Commands.Profile.Utilities.CustomAssemblyResolver]::Initialize() + } catch {} +} +# SIG # Begin signature block +# MIInugYJKoZIhvcNAQcCoIInqzCCJ6cCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBn8ROze2QLH/c6 +# GtPhR/BPLgOtmjkNhcq+fFmu16VcrqCCDYEwggX/MIID56ADAgECAhMzAAACUosz +# qviV8znbAAAAAAJSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjEwOTAyMTgzMjU5WhcNMjIwOTAxMTgzMjU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDQ5M+Ps/X7BNuv5B/0I6uoDwj0NJOo1KrVQqO7ggRXccklyTrWL4xMShjIou2I +# sbYnF67wXzVAq5Om4oe+LfzSDOzjcb6ms00gBo0OQaqwQ1BijyJ7NvDf80I1fW9O +# L76Kt0Wpc2zrGhzcHdb7upPrvxvSNNUvxK3sgw7YTt31410vpEp8yfBEl/hd8ZzA +# v47DCgJ5j1zm295s1RVZHNp6MoiQFVOECm4AwK2l28i+YER1JO4IplTH44uvzX9o +# RnJHaMvWzZEpozPy4jNO2DDqbcNs4zh7AWMhE1PWFVA+CHI/En5nASvCvLmuR/t8 +# q4bc8XR8QIZJQSp+2U6m2ldNAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUNZJaEUGL2Guwt7ZOAu4efEYXedEw +# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1 +# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDY3NTk3MB8GA1UdIwQYMBaAFEhu +# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu +# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w +# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx +# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAFkk3 +# uSxkTEBh1NtAl7BivIEsAWdgX1qZ+EdZMYbQKasY6IhSLXRMxF1B3OKdR9K/kccp +# kvNcGl8D7YyYS4mhCUMBR+VLrg3f8PUj38A9V5aiY2/Jok7WZFOAmjPRNNGnyeg7 +# l0lTiThFqE+2aOs6+heegqAdelGgNJKRHLWRuhGKuLIw5lkgx9Ky+QvZrn/Ddi8u +# TIgWKp+MGG8xY6PBvvjgt9jQShlnPrZ3UY8Bvwy6rynhXBaV0V0TTL0gEx7eh/K1 +# o8Miaru6s/7FyqOLeUS4vTHh9TgBL5DtxCYurXbSBVtL1Fj44+Od/6cmC9mmvrti +# yG709Y3Rd3YdJj2f3GJq7Y7KdWq0QYhatKhBeg4fxjhg0yut2g6aM1mxjNPrE48z +# 6HWCNGu9gMK5ZudldRw4a45Z06Aoktof0CqOyTErvq0YjoE4Xpa0+87T/PVUXNqf +# 7Y+qSU7+9LtLQuMYR4w3cSPjuNusvLf9gBnch5RqM7kaDtYWDgLyB42EfsxeMqwK +# WwA+TVi0HrWRqfSx2olbE56hJcEkMjOSKz3sRuupFCX3UroyYf52L+2iVTrda8XW +# esPG62Mnn3T8AuLfzeJFuAbfOSERx7IFZO92UPoXE1uEjL5skl1yTZB3MubgOA4F +# 8KoRNhviFAEST+nG8c8uIsbZeb08SeYQMqjVEmkwggd6MIIFYqADAgECAgphDpDS +# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 +# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla +# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT +# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB +# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG +# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S +# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz +# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7 +# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u +# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33 +# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl +# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP +# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB +# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF +# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM +# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ +# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud +# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO +# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0 +# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB +# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw +# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA +# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY +# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj +# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd +# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ +# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf +# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ +# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j +# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B +# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96 +# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7 +# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I +# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIZjzCCGYsCAQEwgZUwfjELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z +# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAlKLM6r4lfM52wAAAAACUjAN +# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor +# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgLwxfLTEa +# f5cZ43nGFJSGxV1AZMu24c5Ln5TdSBDWTncwQgYKKwYBBAGCNwIBDDE0MDKgFIAS +# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN +# BgkqhkiG9w0BAQEFAASCAQCH+MB7uS3RlpbV8q8Nvg9aa0UmWWYCFOT/3n7V09Q6 +# p3v/uFdZ8AXCe8zdAeWFwLOQg9974QcDbIbvXm1V96+Z7zEEimU/Zr1ou5Cv0knI +# riaKdejplgnDt1EnBE9JlSyVsV7aOYr4EueMCb1Xn1dfGabKcgVlJUlP0JyZPQfs +# YqsyxEznkgNE769m8ozUwCx33jJN1Llcs3FYEe5irzu8UthSkFQ8vpG3YABhlk6M +# 4jPeb38LKbkEE0jclq6sfdmT+JL8j7Z05KfgaD076LnpSaqkcu9+2RH3TARosqhq +# I/N3nhDQclKIl1kYSXFG1E4/6ea3rAa98adIaR0YNcpFoYIXGTCCFxUGCisGAQQB +# gjcDAwExghcFMIIXAQYJKoZIhvcNAQcCoIIW8jCCFu4CAQMxDzANBglghkgBZQME +# AgEFADCCAVkGCyqGSIb3DQEJEAEEoIIBSASCAUQwggFAAgEBBgorBgEEAYRZCgMB +# MDEwDQYJYIZIAWUDBAIBBQAEIDsI/xX4lqk74CTV97lUQ0iyAOiIu4ggTwVzbGvl +# +HKeAgZiMTFcH0UYEzIwMjIwMzMxMTAwMDA5LjQ1OVowBIACAfSggdikgdUwgdIx +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1p +# Y3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhh +# bGVzIFRTUyBFU046QTI0MC00QjgyLTEzMEUxJTAjBgNVBAMTHE1pY3Jvc29mdCBU +# aW1lLVN0YW1wIFNlcnZpY2WgghFoMIIHFDCCBPygAwIBAgITMwAAAY16VS54dJkq +# twABAAABjTANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0Eg +# MjAxMDAeFw0yMTEwMjgxOTI3NDVaFw0yMzAxMjYxOTI3NDVaMIHSMQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQg +# SXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1Mg +# RVNOOkEyNDAtNEI4Mi0xMzBFMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt +# cCBTZXJ2aWNlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA2jRILZg+ +# O6U7dLcuwBPMB+0tJUz0wHLqJ5f7KJXQsTzWToADUMYV4xVZnp9mPTWojUJ/l3O4 +# XqegLDNduFAObcitrLyY5HDsxAfUG1/2YilcSkSP6CcMqWfsSwULGX5zlsVKHJ7t +# vwg26y6eLklUdFMpiq294T4uJQdXd5O7mFy0vVkaGPGxNWLbZxKNzqKtFnWQ7jMt +# Z05XvafkIWZrNTFv8GGpAlHtRsZ1A8KDo6IDSGVNZZXbQs+fOwMOGp/Bzod8f1YI +# 8Gb2oN/mx2ccvdGr9la55QZeVsM7LfTaEPQxbgAcLgWDlIPcmTzcBksEzLOQsSpB +# zsqPaWI9ykVw5ofmrkFKMbpQT5EMki2suJoVM5xGgdZWnt/tz00xubPSKFi4B4IM +# FUB9mcANUq9cHaLsHbDJ+AUsVO0qnVjwzXPYJeR7C/B8X0Ul6UkIdplZmncQZSBK +# 3yZQy+oGsuJKXFAq3BlxT6kDuhYYvO7itLrPeY0knut1rKkxom+ui6vCdthCfnAi +# yknyRC2lknqzz8x1mDkQ5Q6Ox9p6/lduFupSJMtgsCPN9fIvrfppMDFIvRoULsHO +# dLJjrRli8co5M+vZmf20oTxYuXzM0tbRurEJycB5ZMbwznsFHymOkgyx8OeFnXV3 +# car45uejI1B1iqUDbeSNxnvczuOhcpzwackCAwEAAaOCATYwggEyMB0GA1UdDgQW +# BBR4zJFuh59GwpTuSju4STcflihmkzAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJl +# pxtTNRnpcjBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAx +# MCgxKS5jcmwwbAYIKwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3Rh +# bXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoG +# CCsGAQUFBwMIMA0GCSqGSIb3DQEBCwUAA4ICAQA1r3Oz0lEq3VvpdFlh3YBxc4hn +# YkALyYPDa9FO4XgqwkBm8Lsb+lK3tbGGgpi6QJbK3iM3BK0ObBcwRaJVCxGLGtr6 +# Jz9hRumRyF8o4n2y3YiKv4olBxNjFShSGc9E29JmVjBmLgmfjRqPc/2rD25q4ow4 +# uA3rc9ekiaufgGhcSAdek/l+kASbzohOt/5z2+IlgT4e3auSUzt2GAKfKZB02ZDG +# WKKeCY3pELj1tuh6yfrOJPPInO4ZZLW3vgKavtL8e6FJZyJoDFMewJ59oEL+AK3e +# 2M2I4IFE9n6LVS8bS9UbMUMvrAlXN5ZM2I8GdHB9TbfI17Wm/9Uf4qu588PJN7vC +# Jj9s+KxZqXc5sGScLgqiPqIbbNTE+/AEZ/eTixc9YLgTyMqakZI59wGqjrONQSY7 +# u0VEDkEE6ikz+FSFRKKzpySb0WTgMvWxsLvbnN8ACmISPnBHYZoGssPAL7foGGKF +# LdABTQC2PX19WjrfyrshHdiqSlCspqIGBTxRaHtyPMro3B/26gPfCl3MC3rC3NGq +# 4xGnIHDZGSizUmGg8TkQAloVdU5dJ1v910gjxaxaUraGhP8IttE0RWnU5XRp/sGa +# NmDcMwbyHuSpaFsn3Q21OzitP4BnN5tprHangAC7joe4zmLnmRnAiUc9sRqQ2bms +# MAvUpsO8nlOFmiM1LzCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUw +# DQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n +# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y +# YXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhv +# cml0eSAyMDEwMB4XDTIxMDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z +# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +# ggIKAoICAQDk4aZM57RyIQt5osvXJHm9DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg +# 4r25PhdgM/9cT8dm95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aO +# RmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41 +# JmTamDu6GnszrYBbfowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5 +# LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVVmG1oO5pGve2krnopN6zL +# 64NF50ZuyjLVwIYwXE8s4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9 +# QZpGdc3EXzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYrbqgSUei/BQOj +# 0XOmTTd0lBw0gg/wEPK3Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqE +# UUbi0b1qGFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6CmgyFdXzB0 +# kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435 +# UsSFF5PAPBXbGjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQABo4IB +# 3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTE +# mr6CkTxGNSnPEP8vBO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwG +# A1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNV +# HSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV +# HQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo +# 0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29m +# dC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5j +# cmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jv +# c29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDAN +# BgkqhkiG9w0BAQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5OR2R4 +# sQaTlz0xM7U518JxNj/aZGx80HU5bbsPMeTCj/ts0aGUGCLu6WZnOlNN3Zi6th54 +# 2DYunKmCVgADsAW+iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRX +# ud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBew +# VIVCs/wMnosZiefwC2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0 +# DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCrdTDFNLB62FD+Cljd +# QDzHVG2dY3RILLFORy3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFr +# DZ+kKNxnGSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2tVdUCbFpAUR+fKFh +# bHP+CrvsQWY9af3LwUFJfn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7n +# tdAoGokLjzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRbatGePu1+ +# oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6Fw +# ZvKhggLXMIICQAIBATCCAQChgdikgdUwgdIxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +# ZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046QTI0MC00Qjgy +# LTEzMEUxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoB +# ATAHBgUrDgMCGgMVAIBzlZM9TRND4PgtpLWQZkSPYVcJoIGDMIGApH4wfDELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z +# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwDQYJKoZIhvcNAQEFBQACBQDl73XWMCIY +# DzIwMjIwMzMxMDgzNTM0WhgPMjAyMjA0MDEwODM1MzRaMHcwPQYKKwYBBAGEWQoE +# ATEvMC0wCgIFAOXvddYCAQAwCgIBAAICF6kCAf8wBwIBAAICER8wCgIFAOXwx1YC +# AQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEK +# MAgCAQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQAY60kde7HWABLbM75dgVqLPwu2 +# UX3qQDaoStTqkS7953pYHKc6GEqRd/nLCCeYBqC+XJRMTMNbd4ZDkkCzsxlr5HFi +# GE6eT7+KvwqQf+djK59ZAts0no9RPZcdCJwQfvqU3RK91gp/Sg2bCMvAfTN4LRGp +# qQ4tYYP2GrJJNqVbkDGCBA0wggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1w +# IFBDQSAyMDEwAhMzAAABjXpVLnh0mSq3AAEAAAGNMA0GCWCGSAFlAwQCAQUAoIIB +# SjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEIOQz +# W64DlGXuO2zRgqB/n+gyoReL9ldfVdiKRVTSCDK+MIH6BgsqhkiG9w0BCRACLzGB +# 6jCB5zCB5DCBvQQgnpYRM/odXkDAnzf2udL569W8cfGTgwVuenQ8ttIYzX8wgZgw +# gYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYD +# VQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAY16VS54dJkq +# twABAAABjTAiBCCgvCueU3dRfCsOKSpG5oksOx2/8SHFEjSLBygedl9oUzANBgkq +# hkiG9w0BAQsFAASCAgASDKu2OAv74hH075B2jN90FtXMtuST3zF61GC5OXm38b4j +# NSjLjbMslJJqeXiyODEQFNxmdE9AgPguQK13CeNnqsx2krlMfIC4o+M2pN7lqWCk +# gWfp5QemsmucuotA2dXLF98jGlQ1JShvFVOvUyxs0QKejf323B/mYdoUzvKurP1M +# k+FUjq/w3mgN9oj5oHoCIkdg1gDWNh80zEa0/YxEE7YYzg8bPLsGpK+f7B75Q51Y +# Sz7Gp/LGpQiG/LjytNQmsHwy/bl3FCr5/2WxBkAs8BneisPIfNLW0gfEo5Azkjo9 +# KEm5l8ILkJ3/4Qx9HiGjqwrdto8kGWAlGoIELtsO0BGT4onF4ynlKQgw82JK+4RD +# tWXCnPqjojkl+/4tfbeEdUoPvNgYpvS6ZRRYJIWg5s7XViroohZCCSkqt8aMjTZF +# HJBsKzmdHvVvAGELQ7TKaN3mOMUXb/o4vIK0TYrYN6FUn5iVnA7X2LIbJj0j3Mef +# BwEeOFhSjxz2Ob1oihNBoR1v5y+XfkbT7igIVQqwM27ujcOooOsDkpgizs0FajJV +# jeRsqEsXgfpaKCAq5czpOTutrvvwEn/cINrR3JW1TRSGt3VUvSWkmBs1T+7Oj6H6 +# ewWQaQIDYdEiDUL8OJhl+GzebujxPo//NXTY0MZCxK3DXhXi5okwsImzh5010w== +# SIG # End signature block diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Azure.Core.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Azure.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..67edb79248ca7d547b1b6ee3dbf01f67d38c3e83 GIT binary patch literal 259448 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

o`gMNH$B-bCl}^l71yC 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

@tK}M9Zj8xmPQ5 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

EZg0v)ybrrtRzu8LSK3b4FbUlSzWg9kjyfW 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 literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Bcl.AsyncInterfaces.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100644 index 0000000000000000000000000000000000000000..869ac1b86c577fd83a55702457866657c614b4d2 GIT binary patch literal 20856 zcmeHv2V7H0xA@$f2B8Q91OXv{C{n^r=oX|aixeqhLkuB6){tNlR6rDPMX_S<3O4M$ zt-W{Gy4F>(_XP{;TK{Km0z}u{?|a{S@Atjm`@gt3cTSlzXU?2CQ*PMUK9z`p5Msjj z%NK;U!xMi(X!!S_1lXpIJ514L!_!XNiSDPJl5=Egex6F1trF+*C1Qm_so`fx`Ko*c zU#8$k#3%7{m6=k3i3zujPIW>gLfr`l>Kfhc_r}(0ku%?jpb)}B23qRYFnIFeI{>~2 znbBoZYd0paF~FZH_yT>NBLV#yFba#}|C*mV6qDeS33}skVE{rGu@f3U0)&RT08)aG zF+4VhA{5xj`)8i~CevwY1HilK)e~r>Lp6Z!as~iAy02ij{)Z1%2~=v81cfl4Y@f*`gP+l+mHJmIVN2|);Y`}Jp*j)H9?5exZZ-F65Wel3Q4q5mb{ z(7uN{kZ$G(aoroAJc>juL6AVm+yZ^J;y^PN$jt&|ih;&tyZe*FaDm|l(8Ilh4r97O z2lP<}Mnzh#8))RZ&moIIhUw~M-2VVc?j8raoYOJeE1jvz0k3AGc>>=+zF2Kqq)ibEa2Ucef5$3)8J5JRImIm7Sp2 z*4=P;XL!1LS+^Y?4293^E&$abm{x*0P=^IAE5o4twH9-xPDL1mCLWzegK)evP(B!n zKe{1mG}c-hBJ}uq@wC08yQA%)X9QVo{2Gl>KuqU`Zd0F90w1W$J*Qivkm%*IZ9Y&xO8s80&WRdN~B};z{ofGh_1tE%tv$`Iv)wti6C8q z!vd!dob$jbxIM^nh=b>a#t1ymWh;|_$5ti-)H;RsKY?1n(*VmY#UlhJ=|<LXaVmOG*;j z1!cTEyL3&7hA2X(0QUv6T*Bna48ZY+gb9=CxX92Dk}P^p_}~Qvw+<7Tt_vT0m>6Y%pJ|a?MlH0HX2GpD+1RoA~0n+8<(Hc@G=d{X$vRN zmXG4%x+aDgt^_*vp$F|kIz9+9l)_kO5D6X!B47;gB*sWo4U)lh4ZKgo*pDa@3qfYb z*gGA@LIl){1b?Iek3(aJq0jkH%Y??_q1P#ZnbKG>^gabf+l zDw{BhVUE`5uy*WF1`lo1)-&+o?j@|yULDqxYX|XhOpBr3h6E%VTbxLs@8bP2JaD3=(?a7M$m zm;oMJXEa{N!@hP#8)BPzbYAkL^O7f>uRQ5|<%w_{wj#KU+n@nQXe;6%yABN^u>GwF zFD`)!plpWBL558P5ep2BiJuXiSBMvA7HJJ|GS`s^1$sMx3V^s5UPJ{^zzrv6qnl(j zF_~z?jUzhInXMC@cmM8{_YcwiV|Pv=s5+E?9SW;`U4!G{e*cZBCfCy*gfKV$?;Qa{w1 zaDuZb3*99J(AIp00P)ZwfOcpVKo@iZpa;4D&9{-2iq(!2rWiZ-6nhOcI&^ z<-VvIpalI2a3D=rqk3jIDgyoCkmu$zBy?Fqml?!J^oHp|SYR#dAneAWS2) z$Z$N&6g6iuz&_mR09&$W1H^O^b~_A^HU>!&)=F4`VLssctznLk$PGM|gT|rxXfxW0 zjw1p_UG!@YF4H$2V9k)WgkHPjP?E9G)2-GExqRjQDxWD*o1Q|Bqw+Fqepmu{BL*KKy4NWRwKz+v=U^>apO7xm4k1)Ymt~?(iTN-b%>$;Uo6k`x z70P_IydZdBdU}{xG7wHQQ8K9<>Zob&!RX}XLA#MdB{^b6wiN8eLyyv>O+%>jqPCBC zIP^x8Zsfb1rtxSRMFbXVWVzDhf;?$Au_6-`b(Lx`7Nt_=>L~P}pyVWtSR;)UOLAli zFo|yEE0S8DkB2l)34;1mtXCHlxTI?dg^Tkv5Q->VC509cII-DfbPHM~v|C_)NKvR- zEzQl47sN_6;!Lqd9IAn1VMac1B6BmOnVHheW(xMDOfFT?VFBv(SWQAHYH_x-2}2Rm zjQs3udP+1YZfr7Hrh%EFM~0aNp{o)@B^GAdl|_MJJ*BGeGouw* zN>wgB(Z%vVN$F-Yw5pxJa$4}uO+-l55|u0u&%N(4v&8vwO{iQZRyT9C9;5XoLS`6B zm-P6J)+eZ7R!TI@6&o4h%De)VEIUV!72Z7wtA&OXdemrjqEwt2uaFmfPYKKcg&so} zsr1~?$TDPdnMRL07$+#CO9#n05J{OZtx%Fwkr}T_P^vZIV!1p6CL5k8_}07$Z<-X1 z@dd7eYLI26a->dIHx^@M5|vV|%+d(LBys^A{&XJ65=*3NL8e@;YaIu;45Ct+40Bci z!Hx5)c6hXuba6dkUTX=D ze_ylGbH9?r&W+Fb5mt%l%qXQwJI6r-)|n*9k>UjgFgi0rL5$Zqc&1BLDy0giD%yhP zY1fpEVG1IFL<{MME(jxJ;%o&3o=l=fe;YeZ1Ex*If+hzfNmYYo5M191XeX#t^)0_C z>;x8Razc2m>!<5Qb8mmP_NP;oJ5-T5lvGL?+3KYSEeqp z0P7n<5`->Z^ks$Gd8AE15a?1#K0UE?gmme*6uRX&=@0~tRSuy$@%LK_1beace;|Up z7A3}^T0oCVV_BJ(9<7iLf-N0nR@k4mk{~5gAPwwU6>#G(rc0Ot?`y@^Lq>Uy4Vhb# zSS0?rVjE)c5y9jWgaHeHxfL#&viKxnYKn^_P0eL;2y=Vbx|{drPy}4aIUpvNa6nv& zgxfL)WadDyxugTUnBgFXy_vneJ+5X^fU8AA(Y%;sTba8NJj7vJSy;l8WRncGd8{#? zLFfqPu{su)4b5XgHqWGij8MXp}`m>|*nhQtUkFEf1N3Ft$L~tg$|V1qcJI4LjRlTVcPRt$b@M z3{DmCzMS^D(W9ga-@7wQ;L0Dui;WLvfF~w}3h`MFUrxr9A38ZSd9Lq{t+pL)(4CH- zw`_VAgfvVm|C+leuZ~D(o@p^^P|ETt6IZr>`pNvv&NUrtOh4D`UhFLYaY6vM`vt~Z z%WeY|yPSKES{B&VLD4Yi)RZOSPH6jk=_UJLYERyOC83U2Ifjl*S!h?+=2Uy@BUgEM zmxlUuXwAC1=e$SYNiYNMf!OA~8EgwP=#F_bP|WSYb@puRU^DCl^I}8n6da=@?H*h* zk2S!4!!ZbfVBQ8q;m(WHh98bw2cUjKfbhhzUosi=v!Q5SG9980G_XziOkKp-v&~Cp zGZBOUoU#eJ4HylQ=>}uLa6|U+h4-R}&BVu50|E}7_yey!36xB>OjU{VV1wSY*w7h9 zO@JJBK0?j}YTdjBd}qr8FMSAPC5Vemj)LE5NQWp@0~zn`SeCp&4;uNtEDs( z-r(>EWa=vjpeTU|{uBCA@NO3C@ev3Gz8(@^p}%jCC@@15KuM({AOE00Do~u^;~S9a z`-y~5=PR=gtmWgbV(XwEEc#VMTLOhZS4nWEVYDI#PMvVP0K^3BQVxlQ zB}N9PS=?#td+c>RF=R97fncuDppEQl`|rG)_|*B2XHADoZboHSRlWRLQyJxt|xs96o~C^kU_Af6EKUFs&=;&f=RPuW1x=`ib z_WkQ)8(d#>x^lffK`ELOS$`$=l5?cx7UQ{nT&`YEo%QRP1>5AxqeI5+JPwwlC*j>! z;wK*Rq40ec3SSpYY5veZduc{tQbr`97Qan08l4oo=4fGp=81{4I)>mJS0J zA(zLBWeV-hfmBNG)iL*rE9m&Pd-|&Wulz50fS{cUKcFf3x;i~+5cM58mg@%JUIQQw z=}e0$xQyS<_C!f=@6!`SqC_Y~!!NDk0FMS3rTx_v+Rd!{jAz&`l8F{1Swaa?BCH(n zdk6Z1RpJ=e|3m;nfL1Y5fgTyWZ-!e9*xh8ot_OeG;FSk%oZu_~R5kGRcR*NTJ@X3A zykL_Cr0^~&`#YL8(=rtFTl>!!WndqGW(TMn4z1l z3P>b>ZtJgnD*)+GT037)iyEjZ+RJ!U2SX_nT1Fs;`xvj2#8HO(*f=g2!_o7f8HeV+ z{(#?VqXcM639aWtTxs;Y`MoyQg4F_$iG+A=>@T(kp)z=X@~y6KN7x7I3gPPuH|7$6 zLKs(HcrPY`d-M!|c75S#?vYWNsuJZ2bSu@xgiS^dd|)tgNKMn#A{ zo@3LF7>*H{Qa-+x1+Dyq@KC;p5(+5?YZGA*Fj6x zh5b|+;jHf{7&~~U-U7y&;F4tofi~1sTzFIS`|IbLG4mGeA9Zxvtr->$pZv#qycyd4 z@#Bkr>*tOdp^T}s|1xAu%IfnO`Jr)(UiID8Goa^zym8@*{XTA?{_Im0JBA;BYc|Il z?o_G=zF#_RX7KIN7yHfex2U{5;rOP7YYpCR%w_y=jr+1!JAugxshm?exeolv?u_7C4oiCx{p`LkBKS35mOnJ~5ZcoG>w_+Hq*p$&(6uEYv;|Jb>Wc2 z{s4b`<$SW#_=9Zb-acYk|GV!_-w5y@G3dI_&5~Or1S+w(j3@(-45u7ntXsP>ZK#$_ z(cImDU>iWJvsfGkgKCWhOqng2mN&kjgMC}pN$0i8di04o%g%3L%kz8ckjYZ|@;Ph6r+- zUVTWEx!!pLWy(CYw?rk!r#6UWh+_z09Kq=rcu@gfRGKV{_8)X=^q+ZJU=PO3SW$efEy?yjg4u^f77G?8pV92LDm-FvBn8+3x|H z0-rtGta;s;vK;0kJ<(-MJZJg}*Xx6mp7q{;k8|;wz2n|rUfx`D?Ll?M4(7(nvd13r zbt?-Zl3R0$i&m#c8HG0l4(;Kxz$2jTndH?*&z&tiudfZfZ}T?c^R(I=(}_&C1<4`r z2i)K2@Nr*qxtuv>*Sdw3cazKCedHYJ>OY)k^~Z199&FBfIP3Q3IT0TRzSuS)I;`e7 zYp<1I&E4F&yp0PNEUi)P|FC87i5!9-oG;<^TR3aN$K_^5 zX%AnioXUT?9kY2-52v3;x!vzs(N=BSJwmf$MDVBb9(^{%ezsn*X+o-BuRFx*_Hy>- z;;3z1FUGQc?y%LqWv}8FZ3-NGcyRJU_KZ7b9X3ikd?;J}fMM%?WPVNDY?Cef>T_%o zW-M7-*v0<-m{p>C7qW;U%%hv_-ZZ#KQkG_1yRq;7g&N+_js1?5-`vewCiNV1GDYt0 z^kKqU^Ao;4ojsm@*uy=R`}zLE&pRHN@F$>=1~)4ooKkGPxX)}=bbt_RTXmQ3-$26b|t%%Yt`q8Yw?C zAKq%g{ZT>lLLj69s6Y|r7eoc&g}|Rig%n2r?F&^I`R65p#7hDRO9ITfRrT*xX7++L zR}?GD%wm0ayxiK$X{?!2ih{DcZ@h_>~JGs;1P=}M)iRQX0z8H3;LC? z6oy@>Fe%6!J$%}LHu7}~qUSx%>3{y#+@y_M&x7l(uJBk}Xt?h3jNT^(*s>mH4Spm_ zY-{2DaFs#AnN1Pf(ykm5F!ERBygHftszbl(man6B)COj*R%H4OT~;M&;dLQo>btu) zIVQjMD_9!c{-Md9D&CMi(>m9Exa-l!%rUm7+oD2Mtwo1z(fzMHe;z)02-Kp@MqD5O^nVPHm;izIQ;zl63>RXo|B#YTn`2* zGDjrsnAc)WE0>>6zTUwopYS%l{%qpj@zX}{+UKNkO}BB|da9jUpzExlAN1!A8)%w&rct7$2IMOQ%rE;p)ILh+A!+R754T1)#YwpT8kc0LpHrbw|A{3 z%hIp!v)Z)V?qW*J!=UOGk6og7*=&y(7I|;~K~-U`>S3E(d!uF_t~+3#dVS=CXR*;# z&8msFp7mY0?&FR1S$Fo&EG>F|>3Ph<==L={w`DcO*(DFgW(-Z==>5~>)Or2(4smmP z@jUmS+a%9PAp!CGZ;y(oIAqxU@WrL!-kRxe74L@fdwKHG227t59Pjhfwe@4HZ!U;? zJ!Ac@s4Dra^R<`8j5lgr5}(78_?R+d8|rp?Rs<6^V@Pie{O)4Zs;L6}0L<8d3pXtJ zaCQqvp_CC$_br%MO*z$~DfhD|1}p(zEpsZb4y3R${AWv6-0dedM}_BHDtxIvxP~JW zRw63CDz+-7JX*I3!D{vAWsY9s;13b;&m8EL2<9!!T9~X&i(NY9lP(g`i(UW5#SIp_ zL@I%bYs6u(3;Vmp&Rf#B(*2Eo4OO}j8_#E!&ZJ7GQKgfcoFrgSr6Z{>jm?onOP{}M z4lmxBN{QM#PbJG0s|qA}YC(=BmkMc8KvKRAB7SSVOOJH=f=CWm9uhb}r^C@%1IKWD z>C$+0CE&OICZW=+Z}!XbrL$_23v2}!u4uBI=Nip0zb%r-mWVazmi>->~;2AIx|iBQ)ThEsDzX&##4r!w~euX)hTRT;@S0| z2Hp+k2-?qm(AjS3#VxIeObfd6IP-W!=b?ozuXx4FDm5b~ygu2MjB-CP)@gUcGKLrblG2K+&Lfwj(yY zZujn{X9vD)*2dlyISOUXHqF5h7JC`t?iO6ug%_J;v~N>v!|h2U?3GrHcVN5r(*(Hu=QTxLi<}U3LImE&5 z$oWN!78Vvdzwb8Pan*;eE+q{M-t8T@EoSDOr};x|pFIhfU0@UQ<RdWROjlU<|3!Ux=`+hE+3YkT9UTEdd%F^ zK|SNTMeYkbK6h|mZb`R+p9&W4-<_NLe zQ14(`Rl1gf1f)9`8Zv~&O&fVQsKQyV`PgbCG==?VGj2tBH&x;x-)voBR^V{tsw|n28cRsL-;cuMQ z6=UNzJv+37%;`5Wrjot)@?Mj1L1~X_{&>`fcRkUIvvmBWUJhlwXE%f&e6r%zf}lxE zN5`|ZKe=qX^}#PB@u$&C{3h(by(@li=)$>H_WtV&PH%iF%k}%wg(FtS_bLlfr?sAF zG{aMwe)HV8jfx#;*Q!BfQEw(YEf}y}x_Lkd72D&BCvybr!Hx2xJJ(bM^mFJ`rTHbe zqf3%ah=bM8L&wt8y023d{dmT=GQ+-hz<<%LjIL)4Uh`XSzMjRpI~huQCnKapJ|g(bL=lCz;zBrB3w7xK zs_}u){`0d4sui{Z4hA)bJv`)$51G-M-jX$%dQW&1gIYw=Pw1>(X>3^3QEXAzEQ}L7?JW z7mB`h5z-scK8+hW*ofkL)gKyh*oX%I)hdFob(%M#f1&%^>lPmFfh*IP;x;zHF!*Nr z!d)SOCY29Nisu3Cu>EfD&JDSCg0M-(3_pvDDZk&W z-Ts^Z`0icgXChpmUW^TB^EPlg^UN3pa^)J|+E(e(F5OskSwLx4`^#@R?e&_&{c6ti*88h9a9b4x1OOx;wPE)6+W@ zzBi&SsSjAS9+R=L_RfQ}eKUB0MO%A!7iIOzKju6+aLuU6mp4zdgBQ5d+oWse6tD`I~Rm#)4(`6r&l?CF66PDM}B3V&Imc$qp=FiSEf zc|UKWOK5Ga#`4~asF83LJqQwC@5Va_!%}zp4ubr~S^snHAhd~(f=dU;bw2)nemL>@ zX;EK{{+rYCKgv`qTAS<|Vm`J5|Jg_0%!cgr2s zDz$Cd;z*OTPa3+Gp5EJLfT-7isF%IEmWzIJ(1^1qrLX6rJWP=6mCas z|0plnc}x5;YJa=dZL%#?woYT$#bj0_WNb+LG{muUeQN&d-DAUILwcNRF^?UbJ)$9N zA7e(u@Vc`xpA`4!oY=7ZWuZG)Sbr^!J$dUG1HVT@?bkn^eY(>_?}!~WuYb$jy@c4$ zH=H{3^v7NMjz^^RZ#j=(#XH9~W~v8}sqXyk3H-aM>A&Oz{_C5bCnr5x)Gs6FT<2+( zeJ}qq$L7#~Ht98;kabDV-%I54UzPO!LN}bet8ku!ALM;u!WpJ?3RODktHXCG)wwbM z!Qor@mnk+OCR%&)4o^t(&eZ-I`JXs?C&1hI=A$?MwaGtq^yWMm)5GM>k=j{ZN(V7I z&tF{aq}=p$*{KHMo-?dFD?YzZ&22?(I&e7a_>Z?59@Y=teRTN(*Sml0dOk2Y)xe`i zS%k%hpOeO)dOg5m?BG)&A)#}B>u3F?-yi+0{bsf48KbESGds3!?}#HKUIrBR>00cl4JxCkl}=hKgw8-0947#?l#+dbi)T^%L`U-a^q2 z?LMWf^ZvZ`{zRXh8R>Jbr-nR!@yqP2%JE-*%ouUw@DE0l+ujL!*6N2rlKDkWxd-Ph zUexLRh~gPPRt{a3d;a#kKU#kbyfW?ek)_-j`qbWp?3cbw`5-v%H>6sPz$8v~Sqwo!rjp?XlHy*W9*m zSaE&E#+tB2$IrA1jjb*J!+p+T^DOGZPK_w$mZYd*_E>MbqfYC3Z&~|WM5mbvgDzK} zKb&$`b~APVxtr9!Pp2NlelXda7XNs@L#sgVU1xf+1a&4=34Yh=4BOfNx@owdgTan# z{?{+0Pr9iY6KzplMxKNlSzr3-{jU0d-*IA*3m0w`IBb@ODTB0Sz@Jk8{^0qp!ggnh z=T5DdQEq3KzEE?t3a-XVOO_1(H?LQEFQ!=VH?S;pCuCa;-;JZ`~0Ftz{))mYjYPn$sCo$JwuP%vSMK@ho;FBv^ z#ia~zeFmqRU)@+H%B%GEC15Y3v=oi4dna)6J6+qKl{CokJ#%c{$a|57Yv&(-`exJ1 z<1+#hMt2B0*!r{giT)Pv4y>FQR}I&A94n<`%zvFK)l zkzMOG7hY#szv_0V?0)S6h0VP~%)?RPL61({@(cX6_rCt^2hEU?o_>#}ZI`!+wQa^Uv+LtPw^*>-9eBW_!Q8xWvy;azgpADj(j+Ts* z$~&xDu&-cBmPdVd|4IwL^oEi80ST7^_>#-_p7i6|9Uo(V)3m&Cy{){Y>z)vHYu*y^ zutV)42S_UKD?B)Rcl256^-y~3!r=O~2kd$-XLPKay=}hBl}giRJCDB|QBe^-^!-eC z$(*v3TBA*s#I;KzhR4+>qdpMEwn3G(``Vl+ob_UP|21PPKKzj7D75kaO=CT-bd9Ds zAojw`wyE4V6XV8Cy@{$9XY{%}{G-(6z1?l;Y{xj|@qW_ew%tNGuRFLFg`zfLcjnF+ zkea;s-6@;2fOh>n`kxIsG~`RbxSLeR!g@S?y~_C!bDl qAa><;-8W&4)2@Ik>-l|sr&b@Zv|Pe!sgh^xOg!Pd{dq4qLHs`kK0}lM literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Identity.Client.Extensions.Msal.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Identity.Client.Extensions.Msal.dll new file mode 100644 index 0000000000000000000000000000000000000000..d22ddefa23393f1129d2cab8d69442993e90efe7 GIT binary patch literal 61944 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𝔟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

dvv=7}_Yb%=L|| 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%0Du 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 z IbU+d`%a@vhU^Rxm~69JzL8 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 Dt>fXGq{9%V!-+Pc`^op5bI)C# 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%0DS9e9WIv68 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%0D$u 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 z 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

citr-0+{`aUdMeRZE6n$Qr>ff=X;L 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 z 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 B6}SKZ literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Buffers.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Buffers.dll new file mode 100644 index 0000000000000000000000000000000000000000..c517a3b62cc7e190fb347c00a960311a9349b53c GIT binary patch literal 28304 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 literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Diagnostics.DiagnosticSource.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Diagnostics.DiagnosticSource.dll new file mode 100644 index 0000000000000000000000000000000000000000..a2b54fb042deaf5d73a734ff42aa9f50f3ba264d GIT binary patch literal 49528 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

`MI5DJv^CQ{_66yrIsg~4G{z1xx>I3rKPzUNb`u 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%0DeKP$N!$4cumO_bK>z+Mr;MhaSC^kyRDP5# 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 literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Memory.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Memory.dll new file mode 100644 index 0000000000000000000000000000000000000000..bdfc501e9647719549793297acb072d33067d4e5 GIT binary patch literal 148760 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 IXGb{$00BiQzyJUM literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Net.Http.WinHttpHandler.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Net.Http.WinHttpHandler.dll new file mode 100644 index 0000000000000000000000000000000000000000..8bd471e74c6e0f2b46464f143a2ce56dbf8cf389 GIT binary patch literal 117656 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 Z?bUi7`L|w}{ZgH7iR;QV{^~vc{{SmAX$1fP literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Numerics.Vectors.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Numerics.Vectors.dll new file mode 100644 index 0000000000000000000000000000000000000000..08659724d4f8534ee97a543e93dd6d3c702fcd15 GIT binary patch literal 115856 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

A56h=o3u)Ar^3va&BemI`C*}HC8>xqw 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 P)6yq*$X=&d&4~X8FD<25 literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Private.ServiceModel.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Private.ServiceModel.dll new file mode 100644 index 0000000000000000000000000000000000000000..3f9f84edf0ed65a6b72301566574b7669c510884 GIT binary patch literal 2318920 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

rE)C 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%0D#E?oIaAwZGAXgPHTQ38VhErRGn?t#?cn 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

* zee4ZlZfmRC8GDnM3s142Olxl}d=m@u{H;FY_$c-cd)%ei!mwi#Z2V7)HLk|S5EBN^4WR-S}T(OA@oVg_P@lY-wWZs^zV?vc!~8CRbbvG0vV$zPJj+ z^V2nii^Xy)q;(r^0<=YYLvmbz?YlL zJ|U=BTS(bSvyy9SUE18n8RB38gVU%DXlG` zZd^-Z&T30&8rQlE`Zm`ONH1s=*Or*0O@wK0GdrtuFMylCfx$daOyE*vTD@)N{w}sp zru9r*_cFNlJl4p+Ki5Sq0D%&&x5Wk=Ty+-xRKO08uVs4 z&{N|4lRy+zEhFv-vIxGluo(l{I9 zwi5Hcw!>|4+lbkyyDR(Rb`X=?SmYdw+eOUsmco1*_Z~6L6NULQZZ|PI?Ppt=)`hse zWYvAP@0V%)5cdJKmOLY*5B?N)gzU34lI0AsZp3{|ZEOsjG{E0z>vr6iB)Pb~8XX7B zHxy@w-A^Y0bBW^Uju|jNQJhFPzluLhb%WwmviHzl1jbz!d-o9aH*Uw}AZC@8;SHPCMH#x9PvJ4Ub3I?!WVhs6Jhob zhD9D*!{Z8yFHdpKYn-6?ij<#SIvR(^*C3{W&Vz;HYn8N;MQ1c+j7hi`YN3~_i zuUfJ3c-9wMZ*OMi0Mn9~FB>v5ADA|zy&Rm!#@`}f+7naOp1ruRGfaE#viM!Z?A9@JWBhx>e5by|*7)7Tq^L)} z^b@YcUngdr`j9u`e=du=PamnSd-1o3DP*@^IH?5gl$ggg{y zsgB0Q6GDhFPl)!EgaX8Tqphx5LMSm)wd}PL!io7lH>XN94H6>Dp(m3BCxY;oY8oa) z!5&wzIcc}&y{1hd#c%*Fo?7tu)UpB zvn^q0xdNbla|4!>X>Cs!PRs%Ik%YOZK7cUyv;8^M8uid5j!Rd*!VFT&3-h7Qu*jf4 zKmLl0EyDcpnJ|0pID@9KcDSj}W|9v`oI^GpTI4| z`0MVvpD>S@y(;HX!eV0FIV6rNaTPIlHBPp~4a5}JIN1_6mcvmZJWx_)OWZ_pf|bdU zxP_P(HC3*}?Zh0@9Og>gK}-$Rl{@i0YCliZX3J+wLxmGRqc%UeB3re$DV%tY`f?k4UQRV}z+fM2uijvC;$>oH<`C_r6Tc%S zQpcZ4iC2j!t*ic;i9Zn2C|Oc9OuR-+wHm@SOT11@cJ;$sCH_oIE?oec#oLEYM+sbuvZV|x}YQ5_{0aq{17ksnU?s7#+KIhs6OA! zN;D~$>UZs5vlDX@b5Ccz`H6Xm8Lhj8ZzKj0b6h>W<%z*56QFjA=~=!tiTP7-6s@l( z%GM@E6C=<5RtK+7jD_a{!KP6i&SBNajfu&`Y|X+HPgw!Mjk@q?3@7RnOTk-{Fc;`5 zU}IuwVk#D4ITHdmCYGlhzNUHJlvpDLXOP<=JdSx>TM}y#BOVBhV~Owt1gzmauiTcH zN^x%L?%b}#rj*0(_6}Z+puLGLDb)~G4m0fD#MZ>TuH*CJ#I`9oCO9W8KS^v)%v;aN zxcaHhY#AWTX`7j-%$GLf$T|NH%-1&KoZ-9#43@o??&V$q1}z`eQO2L!iTx=~gq}IM zmpCK^{lhu-ekPoGOB_LQas^7N$BCnek>>@C3%ZlWQrS0ao6ngvlbCO{g$E_QM9e^K ztD#A+P}{g;pM5H66-t^#IlN={+&!VuNw1TxW$ ztLM<#B<&@pyL!T1k`5DdNoS(oNk@qZ*Ze%2betGx&uVbe31SMU4>=;~6JqYFRmUft zBBq#nurrcQ6LZ}0a+AJDS@wrKzn*l4Y(s_^c^wb z+M8A`U!zS+*bET6ixP($KD-b&x{vp7Co|xy=hV_#xmj7eDrzSr^ zl20s?QKCt5RZ2Bqdt9^R8pKpqtF}z8MNGWvYL{GxnB2OS>6~1Tm`7@j-pLKhr}=L# zfG<*m@0sR*WdnRu0Z@pkm}yK3j4vT3+d>WvF;zNQrr~1?xOsq@04ihV{pL2)vcX%o z{%U>Txiai#r2AWr7L@*ip!i;bf_n?{3=lNjFKB_r>pV)hfU$xaXo^x@h0BDAgY}kC zz5O*W2RcjW+-C*7*j>=iBL&q|DKXuI3m7CQo95*Q4IMsALQnJ*v_#`wRPKeL5?ZvM zpz9+9^?OE8b4@#0bKmEA34L43HdW(YgZ+Olc_)=zLA9k0meBi}mz!$I7OJ#Mfus$-a1@`T#{Gi@(5v}Qh4y}J~>qM;#b z@!ymypce0}dAY15idJiUrtM{#>OGlbVAg+EXg2l=s!*mfB#orr4;GU)Feo zwY*ofl{~HTcB*xAjFEo%jn>f`&DD9$eN#nS)k2w?Vv2GPbu3BJ{5`Lhj8qF*+TR{) zuIeZ^P0@VK%PShMhH|A;Z)?@IMeSExxo6dCRW&cg)oMc&{i>xL)=BJgUbPj~aih7` zc?0DdXswP`DTlR}jZ`UH)M{((UY6m{Yp2NYSF!tfhW}lAq{;Bl)p$vEpU&|AYL_y^ zY=LJ2=``=3f_v#(0?M8}aXjZf!~bca0Miz@41bFxL8-9fVy<{jmyJHlD`-+aL2gA! zibmy@(A|nQDcY)N71)n;q;?jR2qj{!CD?`0MyP2gvP_Dj6qenQ|X0 zI;r*>s`g7$`;ArmeW~_qr}nF@_Ip?D_fYMZrdIn=kx#7_2;%|gIh$JTnxe*PwIzy5 zX&d@n?Keqnbw*K1wb~boUR3+-RI3F+|K%L)QycVB8`M%83{)E&RvVkNh zs|{*t$)LMP0Q; zY;Gs*<(#6*ifSq9qUd*c(#e+mRMBEZYZcwr6h1{06qQhPLsJ}7G)vJ}ir!Y_SJb4v zd#b6>U~DTTzH=`$2JKKJi89fKyxyc4MxSPvmEi)ESn*Urwi`IFT*#>*{;n|I`Ox2eIObJ4zVDAlA zftLA6w+oaZv#0HyiU;fVyV{C|b#m5k~sXW1ykl$!}(s-d*Q zI=Lu+@V)hy0?bh0V0WOdWkwRJ252lHtDa>h5h@7WbV5DrSmq@{6M=h;&|9@F^E#n( zfEE#20P&U)$_;2Wp%Z}KBvc*HWC)&~>U~n(9b~8enY$RL8HXV}R$j%}*rS=A9!UE-}$ z9amMyW7W}0b?i|cOH_wDOr%^@9ZOWlbk%W7bqr}DDV}RCXsYVCsX9)oj{2%2GFeib zR2_M02v?zjpaZJoYt?Z?b+qUp@e1b@G*xwUR2@+jBy^GL7^gaZRUOeSBwn>Pf@Z6Z zI;!Ji)iFtR)KVQ^s*W|Pqi|D^S6g*-QyuTBj$kA4eE9`ci5K*0SwXF;3i4UdRk{H{9AsE%f;!>4`ljOqy0K3HA*;BnP)Rdt+F9UZg}CghY-zN$KU zsgAe`61qxtOjjL`RY!aaiC0hi`6AU(Nc&)M?Spl-4=&U`*hTwbQSF2CwGR%_J~%5w zw9VH(SW9&@R~^r&j{T}*sp{yXI`*lKMXIBX_Q8Xy*%AenNf9)?nxHD$ zKm6JUr#>yAXH-X+_Q6)#Ki*Lt6;#Jm)lo_NM?ckZS#>;69U0mO-&Y-(s-tSCR(EgF8IxOuU)$2=M4y%r1sv}<8?i;Ej zHHW15R&^X!9ph9-S=F&qb=+4S`J0QBzN+I>)v-l&glYe{uR6A&cQZoD#K?2W%!N2k|!wmn*_c&gLzueD)#^w|B>NHLfW-9fxOsibz!K2=9$RFPh zXFI+n^xjKu^8=x?;NRaSw0jnOBLomUtAsCO;|e3h+=X=tu0%pit?2=@h6pjarv=a& zBE&R+(~r372rJM)=GRlCPMHm$U`!QN|O1PnKx@@k&89}bjB4wkIcrzBl z-2f!{3$PF)+&^VBBU89D?F8*i5N-4GOS}b|w)z#}))tU>Wzr?>@0zx2QHggE&g!wY zvl@zD31RMOl{adaPmXu{j-c0T z3krubavVD8Q_1r>IG4d($G%eD$V5Ri?@Q>c!;*IAB(ZoswM+A%lH%qRNik!waF;$8 z?y#c#sv|+AoX{Nn1ZQJ8SF=_KTBHf|`@;3sI=_2CxUoG% z@3G6mjrd;B)o%phc)&S0`B?IN5ylPXHY&GWxjo9AQf{X9qa9~N-uU?<@4>es@2rNJ zvl6evClc?Sx{~Mo!II*zrua$GhpP8OO>th)Nkx-2S6-F(v!;ElXh9umiH^nNqa-ia zVE2fvk!_9SxvYj3hrMtPeRGwRBXPIHOX@4=ChXgCyfm%-hLa_2PeqMkCy?VkeoxX4 z94To#f$zhi!CL$4w3M!N$-!O?ouaL&hoYYqHR>ZeoOVBIndIOnmGT>$@^=#Nq?YJ)Mbi}x-5_aCX)0N(Y@Ki zb->_2E;%G=?`mk6qNXZ&z2-jUxa5AJ&RfZcL|YFy9slR{cQ`~+ zObC~l_i}%yjNKk^@JIGuBPg+HawAz=Gx?Wn-wMb*$mj*UEQ#QBu8Kdau8=|9Pve^0436eH< zH_@?D{fHN%Bt`ujoRnw==$|q|zmpO6Mn>p&GD5$T5&E5s(C=h~ekUXJI~k$h$q4;UMov3Lzmqxi zI~k$h$q4;UM(B4kLcfy{`kjo>?_`92CnKjW(a&ZM{cJ|)XEQ?o^xsSIKgB}mk8{b< zA7_OAI3x7O8KFPU2>o$J=#Mi(f1DBeo$J=#Mi(f1J_Nnp5=5nRD7CdgjcbXU+&cb4KWyGeXat z5qjo~&@*R*vlSzp!5E=u&ImnoM(CL{LeHELdghGKGiQXJIV1GU8KGy+2t9K~=$SJ@ ze~1x!=8VuYXM~%EkbLi8KI}o2t9p9=;8KI}o2t9q9Yb5c|(`ODneMac%GeS?F5qkQJ(9>sxo<1Y=^ckV2&j>wz zM(CF?LQkI&disnUJEN!19D4eU(9>sxJ}@Kn`5B?7&j`JLM(Cq6LLZ$G`sj?%M`wgS zIwPk|qL0oT`sj?%M`wgSIwSPa8KIBP2v=x~oVvsn8guBkGeW!1*8z6u zKP~0|-qz`~Nv9<`t@A&rqra;2|E@NUt3YlCP8-KnAal41WQ40gMo#Z`Qs63(LvaoOa23c1SAmRh703uzfsAk!$jBLAa23cLt^yh1Dv%Mb0vS28AFcwKb8?ESK<022 z$jI?KaTWMyDbBo#t3VFLRUji=1v0`_AS1^bxC&$rSAmRh703uzfsAk!$Ou<~jBpjm z2v>oOvRDIFfy_B&!&M-2xC&&1t3XD$3S@+9!QFIa$Oq2jRJw*UTsd z`2orNtmyw=-YP~RE^}l+0$+66PE|d(U{QD(iWX9 z^O|F?x=j?E`0|>1F0tf)zc=joqW|14cD&&%9(Xo1&vu(;WVL|W zY$13%u%AV3!>JjsDG@BSuqDExc98Y$fx3eNOdF7r;cu-dU^sJG<4puFs3XP0o`)z+ zcQw-dnRdHR^S88Hdzycn{p2ytzYFd<#a5E$|Jd#`>HgXUxFx3h6BSia6k{XH z+ip+DAGUj^Y?fJQ>vh_**WAs{<;@!JA6vU+zFiq$x{>{y(~F)Eu~n}U7Tn;2ZQOMW z`Ujy$;QKsJsPiXs-mxO&in$s#2d%S^WuGB^#~uZ|#%=e|tn%>r?=X_*^h-zEmD_GJ zibDS?_fDQadWma4%|FiW-D&=7;PtW9zJnfxLuW@@ zX66E{BN=_t{FmX*6t1_Dn*`9 zu+^pcfAewurup|S;dqw8r_D1cr=j3e&jw_fo6wr@glUFeUyzK-j^rue3+$q_F_T2c_*MMO z-!e`+7*|~4IZ`g<=5mCXQLnhn9+I+jpY)GkpW${2Z896z7N2lF0P#XhGdSzaXkZIL z2NZ=W>Z0+sDOcM@mWc)QG0DRmU^zle38)1|+ka-1=0DI*TFy@3xYez&J%u!Xmk~08 zd~L7G()`)hO9~lP()>Ff^Qe;M->-e4olE46fgG@8yepJZCk;)p*GFmoHE@?Uhkm?H z&@DybP+J_j(B9#Lyui52+_@J7ZHBu8`%eK|8cm@QP!G_X&{ zlrz65_j?Wrt$9n*R=O=HJVGSj?!vaWOe4_CW69k5+#9pbt8;!e<|imyhX247Mqu4f zEprPvuetNJW$seR_b-4a4S+(-t#&T6Es{>^bPzP-sOY!`WvdIjPnN0joy!DRX#0dO zT&5v$EvLhmRf!8K0jFq)Yu1V1DDawm1!X+&s7G-kKt{r{;5`(iv_~Srk04YFtX6{1 zoz-qrme7VWQmffIyX+Zzp6#_juI%yNGS{aVd;B}5p@XW(_`F7E*b5J&Y{$V{uMmP| zi%|3`?BBNnF5SOp9os(LADAGhguMrv?vIHVuBL`2DT-1wN8=q+6s{;t<26wZR!5aBf%W{uY`dO+#xddaA4BudQ;4idNYu&0qPo08^3doP8m;Ft4fFiSLC-^Y4QZ z9s9X+LqyhFBi6xAYGp_pVoo=3n_7e>w0D`O3Sx@>tpwdul-63f;Vl_irX<`*vLrv& z!Vb83x-+3mfQAyf3+vEV30;F$@*bf^B`xzIpfrCE7%_3q3o+}82AKMg1F!La?>3F8 zL``6n$55|10WBNTdQF*!@Gc3}dD*Aj22a|8Pk2CD#F`B}U#9uH!M@MaB&9n%Ve3Qj z?!Dy~Q1&a5y-Nr*qGQ>k`@OiivBoA}I^YoYSrF6^-jQ6l& zK`zZdZh0nGXoXr%3 z7+L0^oNqnj7{GL7LyEy-Y^O0JCNR zr?8ClJj+bUFa8?7#WWryr}m3C0Mv7mx5$8)>)Wb(Z(ygK2Y-1!}snL;^j4>#5_ zDh_>tkq0~gM$KT1;1nNCaMO8Ft{LPq{B2IT%ydHI_6k}G&y$&}3~h~3|5P}wN%2a+ z>XT7N*fU~uy}hJ}O%v|w4dLF0*2M98{3_hi&cY>hV2*QzK6-}V1$tj5Z4M~Z#P<~`Py8-uvD&n01+hzUMWJ7aU1}(5`lWD%;3*zUzWbS= zJ&NXO=p9Y5P_;dy+y}5;XDJ;%6}zlzCS1v{g*yi;YmT>G(Q;TVGWWcq%i#SpH%2YA zBSLKOytadB7e(@sW+FLJYou_7G@IUvZlbEJfGr)_7}8zs%3LSpm%fV zKo}z!$payX)ZtnjGMpi~8^lVCrJM87c`p6y$ z)BSf8$#@!KR=}s?(BB0g#J-yfR-a1(%yQE9oQM4(uQ{5)I=E~&I%fDM!K!Etl@0B} z=q+e#jB?p1Yl>v}n$!kLf%6O_d>)F(G85hifQNR7u7+7=JD{v-@odF=l=jz~jMDuN z_As(cwY`F_yIf{i63(?JLEgSU$V>OP8V38K#3jK<&8Rcv;3#psmj;-VfU@evQewOe z|C@CJY&2qua3f%MhC>s^a473I4Jo|l6s#ezL|Nsb6b#MqV_HP8^D*3lNB4-H=*;y2 zyBG1|%NJWFbv|sZ+gzY{1?+VIyh-pRtO<#$4%$|h!jhLQAZagwT`CkoZbh=&v?O#m zhh?57v zA<16Tww`5zV&G=>EO(?VxB$1n_r@0Xd?}ZWemNoBtS5y#a!$C>KQPKFCFM1?X@-9m zoKZsSX84cUoMq0>vCI#^K@XS`U~Uk4p|)jyA=CiSZ-nse>PLj|eQY99bFR$jWGnUEUB=y*c$}YAxp~-G2b)ebfuP!AWq=fTY|7Pw?Znk?T`g zJi*^1EXn~q<*DMfhB;Jq>m z4CT-=rc*wPQj{^Bq0F4Nn(k1Ama$9<$(yS3YS^4*jvo{Ibt)vNUmQH6rn0TgCERPE zm+d?NzD~*>ty451adsDc`+xfOGrx7Gu(14<2(s*(r$dgWol9Wj@$lty1(E$ z(e`z;)VZ``@cDyaKbBH_>Jx3lY;CY32P=oh6k58l?8kml4sI}_yo`g}lh~#sVU>j_ ztJnOn1?(q6ybS;8du|)$fj)zrWiHnaFdYe1g;h*9KyZeo8a#UklvN7$t^UAe_zzAq zHVUg3V52VcTsDe_XNw#U*K~}2f;BOsKg)Yw(9Ugc^9rG5_Rc4)___p`1;mBj=R2W6N`UML_k^@dD6}-Jg|J^{wZ>c9U1kl0 zX82c(5`?QAtsiYj5*MEVP(zzylXa=7h)>UgcUvHAjEtEb-A0+XCKNc zT5Of>|3@2S?fZ^ha0dfRl%rQcL+-vy+xUBUtb#j0~4sI@h(SlLS*Ik6NO8Mgs3&w*p2{1Bz zPUvaar)F)FV29-#af@Kg#=8@Em*gAba3_XQy~8E3A@r?W;?ZR1XVYi{?lzv{o~{-)Xo$LK!N zop9+D1;7_TYh4pno9pnqFmLe1e?9j8@8R zic?;WwsxB`gqoBKpuAXS4?LHwK-{_kE>ne25g1u(5UQ(aFsvZCE=xfB!*W>0*>iJh z#+k7{9%PxiBt`1OGBQuYQ!W^NcvlU53q)Si(4N`7W_%!zJ{kTJcipBDNXhW0!(7W~ zigJPAz1mzWL2rPU%iQ%of-d$Glvhz^U*`B;zowK^yw|TeA!j#lU#zk3^*dBX(BC)w zW%&QT;V;Ag_YHq=%13Vm`um2z4FBIZ{AKw6zTq#!|Mv}l8UDX-_{;GBeZyad|L+_A zGW`EDZuo;Uavfv`_i_$FZQ#ry?w4fvi^IB)(dF`jVrmF#*g()1>NDJGF5G$h7QqaE zFV#^Rq_Vt)s$-z)C|N;5-%=g3RYxwpvA0wUiPx-+pw+4a7H77O3UEG?wKa_ww6d(A zepLmf)D^T`Z`t&x37456Xt{mzI|DDuv?X^?9Ya;ean-R-bqrD+M^(pa)zPh`$UCVz zu4EGq&wFw?@+AtYk|Jn!H9>Xj37Q5O7Iay4c-jfq1=f8WZ;$Gzp*m)%j#^Jj zydkRNy6VUddl4+9lispjs>820U=C6pmsQ7z_9E}0 z>R6{b1|&&nTh$R*UATtz1)WkIpR0~i+IH8gj+Qwj#SPVQN_EUo9aUAwe$|mp`$u$h zkuq3ye5E?xQym`dAKA2jyr(+usg8WwKW3?pZK`9X>Il;Qab0zEQympl$92__tbH(D zbzD>(4^+oh)iF?YRL&`-T&X%ns*Xw(By^YRSgbk_>O`^N_DgBhx$m+Ba+I=)aHTUEzs)p1&NY*ropRmWM? zaWk8gvPD5bk%@xprU+WB{k*C6kJq#hWrX@TC>Zy+7sw1EFkA&u;cZ}+|qB;($ zj-uK>@@fA#s5)HQKO(h%WU7w6s$-Mth|vCVPj&QH9W_+PJ=IZ8b+lI<*K8dj2H$^c zO*?1<;pt5WLe9H=&Qnl%<2vi!CO$R79m5PiJ~d*5&y)~_m_nQRw13tVxEtD)Qs6TY zM))KI5%2vo3bvmf!dFiAa;RmTT}kJuRz29Q?FDJG>WDvOOdjai;KLmkv=^SMG1vHl zMJQ_u%+)iLD?G=@2={0ieF1li*c|NEGQx9_h`a{(^m#Xa{X=600tfm1Rh~9GZ}`e7 zez3_4@&t941@E2EuD$b=rzAW#z&X@1d6zRPW0r4)cUwp@K64mJC;^^B;1f#A^o0Fg zettO#5I(>B>*o-EJP|q;q-3=LJ`=&ysa`X!G<>%OLPN|2_`b_@LVae!8D>K3;3>*% zLZ_$0nO;KMXTV8bLX!b4Cv*L9GP>2a(TFmfkO*s7c^#`oD|CrZ%%UP&>Vu!Y>?A! zsqi$2L*LT0@4*`*%w0Jm$XXz1<7z>_&lGu+4+wV(p5Aa;yhVXg9e85LX!-m2_a=-YN5%*}GDhf;F+z`w5qe~d&?94n z9vP$da4!y{#lJ|}E4zf-4d-|`bk>W)m4&ml%w5rU6*_AE7JnmB&}-p%=<6|ZP7tH7 z#~k{4jL_F()Ed@mj3QzrbOpQ>&)ioHBnRi`i4LrD4!!Y(pnsl&&s6eo)%I6uomwb) zT(q71RPwiTwB%|`4nb$&{0rx$2CT9eHMt?^3iyu9y{&EI6GiVUI;Uv(Z=%;J(SO&w zBaSs5!D%Wk$DGTOzkp7{Jpt#hIJEzM2_4%-Q2mZlt0gpT+X-T|f*P-sqUP}KKg)CO zVVTW53>T z?u+$0B_F;}@^WRU3tN+0LN8@X+T{xbjoTz>#Q@P(AKtEJy^EbEt^%3ERUjir9@1RUjir2d)B{o2Bt^704W}0vS0ua7tbs-caDsJxc}k)Hf(f+UFSIsd-t+OQMd- zYyYBkcIhFxPtn_c9ld|wyPx6z``-Nw|9^7tzVkkva}(-c-N5hMVei~)|F7Q4@AMC+ z?f(0B@&DD`{*FAS98Uh6JpWI55AwhN-q3%3TWFR$Li5SUgI6la(&647?>w+e!ykmO9{c~FKPjwCZp`v#+UiVs( z`}T?&DQcsrzM_TYB&Ywczh~{-JJOaO(2kZwLR$egC*u z%Iy#LN*OtO08VS_r}y*MoF?(Ug4=L7MPXgpd|XOKkVQIrJ8z<&>MLo};XNQu+y9P? ziO#$AMY2n1Jlqw=@z!fv=Z*T8be|#R8{Cd&m*!l0TE@ZvK<$uao7yj`J z3-I>#F1I-i=NaG~-YRbUj@q>W0rs1E&rEm0+sYU^?LORuMd)5T_yRVex5v884MK9` z6Wr1JK;EUT^Mhr-%UHb{4EGLc~Y657QlV~k=(c7Yzo{>|A^AQe9dj#0azmETLFEa zfZL~t`%=*?MJwQ5FuWrk-T{YwV15gBAne587a;K45N?x`(pFsLGWiMRyv;Un?!ULp zN0Z?`3J6X2PfOvRobG>W6UR&UH-lU2_}$1RdV|G}iZ;V84&HBJnTmD_%Z$+!$2Ri$ zCb(m@CcN=a@tk*?&%-vh&J}7O1qUf4z z)2wH9@Z6FY(q{OZtb>y~gf78|$>^}6M{7A0-X49`Z4yXZueE$eDa34rnkh}3)J#?# zOF&9_l3eo~ydg~J8puNgcPGFu9oCH3%&cb7?G4ZpE3lm{a|YUJWr&yNf5m=c5@PNI z7*h+l5V-MOP(DS6>Ij!)b7jmG(1R)9zCJja#M%-(ppCekfEp9p83XUm0!sIfwD)7v z{lE0%F+1JA&EAnq_cyl3afm%Pz!WNq_1m#)9}QETj!J&QqzylyG&aOeeHt!xJvciW*?yqP|AaZB7kF5 z9Qq~qvS>vwCrFTklpN_YRuOZy0Zw}sYpG!BOq=iAL=a>LG}#{mKhc*!Bn7|i#0bB; zWOLAl7~vP47~wt*Bm9ySqbsX8UYb7xo*tqNyryx2+gu09eB1tQKweXAoSSZ{ao(th z+q-QWz-_&7&oRn_+h^kVCPlY-?|B$mh?B39xXoDmxr^I8{E=(bZ9<;lnbU2~*nJD` z$%p%R@HuulGZUVmB7(UBZd*Vv5=P7YGBXvm*XNdbL3=IEWxrAGSB!Jfmy6)G_?O(~ z5pmwiFymyS9&g{Tob}rFX&e!0jpTj2|DjGTGFnZaIyz5i)2wpk{rm)iuByvp!= zn%}K=PKnC7Qm>g`oLfYQ>G?JHBe+e-Mp@?`rsTY4)2}U?Yg-?JPRJjOFF1?C>@vY+-YJeYz^}C&fEMP3)4rCCoO8qFps(`WD7VOXjdTCYly7BT z7<^4~dg*r=X%@8!FqJ6Jei;AwZWgEg9fpw*y&JFj0PI{1;-&fP_;@_EOb&SZ#p7S2 zt#G41mDd>s))kZS&s4Bz9?UupJ(v_g-e!isx}wz+nX^nb7||P$ybYTL^3x+%q9594-#BLlYsL?PzaeK50=j&#`f?nFpDU#}Tn z#WG7_KKGhKaLelsLWyu65Bh6fxc}d>J;tV9%REbI3ji7p$ZMS0;8&P&rV>}Cfo1Z; zJeBUh8!TRF8<-`rF4O&8;FLV0#ZQR$y2D20OhtQ^EN9NzDBXW)5|0t-{+YHPR?eit z4kX^YpYHEx*EEz8yn+`ge}OQf^UO5V)&}2lm?GS0MX$o?aBdsZce~6yO6&MTPuV%J zj5D9(eI}g3nc1B&(L4$F!?nec@O52b%vvYobALO}aPz#KXPAM&i{zX(QQv32`aYMc z!)@4uu@U%6YVGkBBFLoYhqjIKcKeiuyt>qc9 zdk)Q-1Mg0roy(Xuo#ER~ zRI3Bj2SyKhJ#n9b?YJ(T8gz2%tQMUTIX<=MR2z@%-Fo%>ZsofJaAU- z>ythRcl}?0JD9+qhdTzr=f}H?LQKt`GD@9uUhvo4%En4NmuYMfNkgu>fo_Uvy0CS0QDjpg5&Pi_b6LAyg$|@n7&X>;2xu>uA zW|eHe&Y~}_+@iG3tQ+%*%v+&wB87YH;SGWcg5Sy7=7Uej-h+1%_Ybeh54{JyQm+{c z@|X>KGVOVcg%MtJfAU9JMSl-{ z`YxsTSkXpBsfse-yP)g=guu+ndhu&UIEGnfJj~8xCnGuoD{u@gV^-LnwAW09dDY5} zCF)b2=T#_Sg5+6xXx14=+Mi{aJ_)5%IszV?9-r+nceiVea!5pxuVx$KIhQBipD9z zl?diJyZILC$V>UlbxhXIcuytn2EZFzwoRS>W|@3DV9$e6$csbQBK_JZcIXO!-5 zZ_h62{+#={KA^wB8mBm<4zmmH0f06bH~7njJ#$&qYvFb*tr?%4 zQ?Ho~Epg^hoTDTj%oQ3cT!;y7CA|#4-&29~mhUV+mruu>F!<&Mk4>jx%~XZrEo>xT zDSCd7o{~1_Vh6=+>!=saYTRRA!q&8Wom1gr^V+__wODC zd4W|Lcn^wRTqApU?QA<|-OVcuGhz+ObMw{wEeL1sc93OeFA6YqDOaz+S{z4o%iQS! zw}JhMJ3G~7Zj+yV&F?ZzN%B5e0W~MoSbOMG(_E%Caa-&&fiM%dmEBe6n{e;LILZAo zC`v{eS&@dBa`)V(14s!ohf4;~*9yYSD|3wL3S5T2nmw{+_@C7$E932b)(n4=hK|(G zvdT4G!`994r!E%sWu~AoMHdy_RrK^CiPuJ@#4Q!BlA?Z!#wZ%DQi^HX?W-m2kBaiF z60XTIL4#Cp2^h_I7W)5~dlPV*t1oVRpL?#05H~Z?J*G0d8ACE9V|82|DYHVU3=PQi zO+qAvBx4DQP*F*glBqI;G?KBRiAXf)|5=ef`GIctyKz1LoQ z?X}n5`}9l+EwVt+HHxY$N_|#ByUY_*MZdhPmOD#pHE6EH`+L5i28#rhRn%N_F0QDH zq893h*Gua%P|*M_&3kL!q+hgux|G&e{iNG!&fS&vo!0M|hW1gkS5cCtsHdo)qN^0$ zsA!3%9j53RMe7yqd|qnWN_%>t($*1 z4o{WPKNa1o{MSn3RZ+B2Te6JzIn9*TN$dQvqT7|5UU-F=B0#HA{L!y0?`jpJK%_00=8}&<0xCa+d|aZ72L#D?1A+| zPCkz;B1mLibu$)cB>1l9yhT}S$q0V_Fv&cEGBSca;K|VzZCnN2*p};GsTBDPOTq_u zU&zM0aN5drYcXo-C3VCsgysDiq{YkI5xhPG6hD91RR?IX;K+?wYgn{J(F#Q!ahiid zVWEErD-nzSelTQSvgjT6MXBbm8^{r}_bO-}m^m|oK~4jJCaAi=(R|F$>1H$5ev~#A9Cy7R3r^q2 zoD*M~FXIcOV2!)SJ@R_Clp8X?mf)O2=896x8@K`8aY@Kr=Qsxz#DZdLnN~q8d@@^w zOvfowhA*uTe1+0rx5bHdE!Xcs%Im-p18)Ih<&_c0`^gzWbNFBJEa~lzUw*=` zD@RPVS|RhA?S;N+yvB~0opnNHm8DInEjwLrA|CH~Z7vit>ul(ASnW{G5%V-sY_ha$ zsoWYFLB=N0+!n8v8u*oK=&qkc+=FGu@meipd=L6w@HVL3&2hV`Ekmq%upC_~IUjH+ zV&;Z~BVNiOts!=#_%WDP82bUp4<5wbu}5IhpdPTJTeNo&(=vj4G2V!l5&WXoo{^3g zGWqIB8KSAim(ddI%Of_wjt;epd#iiga*>^5-Vv0sN>IuQK`{+|{VkzYQItc`MveFE z>k@C`+kzg|oRgLbZIhO9x8_n$Yt>KR2>(Y>8_n;8<}!Vy(%I`+%YSM$Eq$TRbXG!}jnC`Zr=a6~=nfqOoB? zKPNNtcYa6AQAirP^CDv8-THWbIW{WU{9*ZpUQ%XsDQeHC2KH>ncq zUSV)3)qGr-*Ftz3wS&CfwW2ysE82LaQV}~lrFdy)$VszW+ruW8rQM5N&;l0i_>gt^ zi0RoXY>HZ1xfWql(xMzCL=yU4-|rq3oxdr*gInm%nX>X9zfacekH0I@XDUvvmA3h% zcaWXTPj8d7vc?ISgMGs0DjRR|B_UJUqVd?5d>{7+!KMrud$px~k|aGdAEEU?iXD=JNx3Sd9-&3BiiO|}-A>Z*(`DAnT1nRe<86k6zP5X9K zP#HzgGJ>;McT;Fa(6S|$mTCq+#XG2}rV94EsdZCLf1JK$l;6>k&9WR} zvl;m%n{^Jsn_!a6_CHNeHd_%IF^{bYyZ#`K*lBBUZtvs0@~=b|C$$hB+7}4wu|ay_ zu@t67OyS1dzrOb|zoYm0d#TUAu%%rI3*R1F7vKAXpd%6Q!aCD{TQb#Dg{6o_ZNvyq zLPof{M2yrWVjgyN@#RKLca%oo7BR+^8!?w^xxS`yvwl1$Qe6&cU4F1gxHJCk$1yEr z%v_c%t&yWi*p#(nrcMReZIL!)rc?`?-z+){F8;$J;yTJX{$&xleLiIV!k+8jHdOcz z`)`y>T=yet~ zX&yFLSXAj(WA@m6h|Uc$!(xvhVs@uV|F*(fjdnAtn-T%f@fksRMSUM)?@!nr74>!q zJ0Wi$Pnd>gmgLX~R+on0>)ywxJ)YQO6TNIBHc@0#OfNX&y(Y@JItlm1AB z1&z7R%iW|eg`dfvi|@56E~>ant}vy%c56T@1P zwQCw>HEgZCydvpS*V0H{HMHnG$hu}05pT4%D7m$?^D&GC>NmVh3VSTcD~w;rm-dK< z(i+LwI(&rt2$F1(SWUlxZo&4`b#0^v>9w1VHtpSLp>7t{86Y!u<6h`htOBtMe+oMW zHnijm#`LjBW>ee?c7-whEG-ZCf>9;x+c7FrS5RR{GN$!vB50`62DB7fyPE~w850!4 z?kT73&_&RPMZ=Dk-j7kLS@gZUOzPVzI68*D`uz46MQq9iGL_c^Fng_qND*8sqJUCqVZ=st_Bj!GE(+H%+ zsvP5uw3~?W+)lIjC>y#GbtY{oVq}hIOAPH=mNvJb&h0Qql{QV?2*pDXo03d^OB>vk z-zN#1s;?y59e2DwpC5jNSK^oHK3=m%KnDHr&bY!!6pt?b7WHlz3O zYz58XewOlKL$4-ZKa^732Sj}Y4u+2Oq(uv$)l-XyO&xF(c>{&bH&eLn!)B_ch`txL zZ`@#h-=1V9+q86R1dYqE>2pW2)rT;nIsFAS=w+;DNZ8O#7aZ??^bEaP3lF`VVKdF< zGVXQuZNv-5&Qk&s%Dor@|E?ZVmlW9Lxu#o{)^%-?nPqcnSRL8Y_$ee=i%~JI7auRye*(CFdO-t{^u3&HzFq=1iH8%Z0f39h=`IwBK5bR*sO+pT-C}x3rLH@D}!jZHh+R0|SrRAR^X$y8@6fw1+ zjj&GWXZzC7Xn7_kU6i#nuhDu9#p|buw9h6UG2PtU{bLb_RLBlpC_k4t$Y+>hyS+(?$uSlW&XlJfE6(vJ^60*2-1 zwE_HAolkFRGsuk!tPqroiC^~Fuk=!nXoqdPbb^k_{48@1_Fz?twyrFpB2Qt(8p3lt z)mwwur!fPVN>J`OVP0D>Q**rjXT4pI^w}& zp#a`*wCF44wGFyjEQ=Ave03*g=WA`wzV`m^R9SQ4mB4&bQ}Tgi>m_Mv{Jm1sczaHA z_GHr-Ipc)@tkno%J&4xj6pv$+-C*li4IY=RZK!Z@s_8UbN~0IHqBiv0T4ARFD_rt1 zjDLG-PA)0q6tsGh8zHkAw3y9>-Wk2!qCYVIcC}~?*1vZG#n=8uYn)hPjO6ZLKCFk32KEx2|5#V<970xl8nRnHMm_{=xgx@OM(% z!;ba*mCSz+*fM^1k|AU!rpP$2?NG!VsU0%II9_3?sh91f%a62QIRJC~IE(z3e~C8W zZxeZsw+71@GZFDpO`Q-*v?+xD;(Lqsl%^mw7G!@n?9gHKD${5uiP30`UqbMdbNlh} ztEYz^2su72_-WWYXXA<0lO=%Y|-OO>~RXsdK1Y2g>?YK46lMXMB@fL-(@q=*>t35=LGv1|E?rF}a#Y*t!yBP^fP zrV;Z8)@mPumTKzZj^E8d*u^Xlz15;b@6*vaIof}Vn7WW~luNp~9@2u|7><|*8rGN^(!f)4nd7m6mFrhFN*i+l5sBT8C=UgJDk_(N0Pxx3=R{pXUj|Qo~%O1g`lY%~XDAkNkHulR?&3#AN z2QAgS=}@|P5A90rl5XDK(>=NeJtn> z`!30*SWs^zqi9gec}>E@3VRDIxr({DF&cdKSjf?;Vz2F>?P+g&s8^D6!D??*lKH`g z24j-U?-td3EXgEYLR|7oAg3RH$0{Z-Xc1E#(uYn&M$9nmf>OD7!&gy_dhkZGX>S3I zyd2|gBmHJzKLDZW=2_>HpKfZD;Zu$2=1jVvG^HI@+D|S;G>8lm?Tg+T9EkSAP6pZ~ zV#{4xDr~ta{#2RK@AY5qPd1&=Q2EOEwEirVd>g-tNUc%J+#E5sU22(z4&fekSF4Em z8+r-%Wzow-N{wkJ_Ao#4Ccz@ilIz*_5?UIbo@_69!dcL~{0o^I55m*VelJPUiWY@y zf?q5$m`PZQ9?2n6`FhZ}j0NyGU}@_m$X{WRz%_98hWF#=Tp?Vt;&MTs9!s*TZL9}d zitk%Ht!Z_Ku)RahqQSH@`68mR zhnk!Y#!j%>*56nywVF9YQoP(f$+WShHEt+=@Q0DhZ)n$8Pz`!4wR0?C8Ir=EMUF4+ zT~}JfNPf{^k=C@gyE6oD!(vq2Vr%dOY+tuoG`xx+@fJ=sU*JSN?=zitC}eUTNHSe) z3PBNb7HxVLXwl$xS9{3G@^T_lxCC;lnDmVFTe_LjkKescH$xhW-#?v?;**`{a%U}b ziSo<)jw3>5MRn;TvIO2|>(}vb%oP^(17eQ#qvt{+1)c-1gxww=tt#p5))e!j+aF9Z zC1J6l{8CIk=%10cIu zyd3}d8(9-iM!CK1E62l+3hm@}LHFa13J#r%6kOV86Cpd=oqLvoW{p_zSUy+-EoyU$ zXA<~9mBy+bG@Rpm-nfzcFZKdhN+pLyg1k{pP?M;juOV$os-&9rXan9=?cq>-&J7!i z#d=SE`SN9TL=raFatDk{GEdmLygSF3r!9I1<9?1s`7TR#lHpFETZ>TdPjsttc=KTY zh-wfq^Gm=ojy-i>gJ_WE_Qj*Y7$*~>!H8iZefF!w?5Xl#vP!9+|B}`%I*8xg2$_;C z_&Xvd9pjQ`5|PE&`5v8Q+CwVC9|_(Q+%xN|N~@KbfU~|fbWmT+DHe5miQ{37jTwj9 zG-3uieIsJBx%P{grWz{c!ap19D0&klWV&HRdf1};S4(M|?`Fvw4f>+aob$_A5fFmi zU%z)bR*>`^es2tS4!GGR{)=7*Z}9B5L%Hrr=nOpjEyYa2-&^ERlH;o`kcrG;Kg0id zk?l)b>++l4w8G_gzPI9(0Of)&hc$}kUubynE8yK5@i>Z@HLicrx@Zk5EgJmQjlVM0 zOc;+HS)@%j&$*dB)%2bT?G?0C^Y9)yh2wk1kAQkFh0VvdenV@9&321?AGL|XvS?}2 zTbMs#Kj4-mZ|koR3SM)wB)s&Jgxm8JlX%&u3*Wb#Z(Lf+h1;(zWbqzb##Zbl9I)u` zu@WyoG(0X%dLbkDRznYCB=gA^pSF&cu}D2bZh-yed*mFyO3iaC=1kCH!9Dj2x_7^z zhcvWi!(m)fE-LcBKl+qLfpxrQSXB`RcjW%G~wJoKLzU>9|YsCmRBcP@f z4>lfcjhoOj$1Sb2e%ol(pd>UFoGmIX{s-3f?8jK&#VceAx?U(`S}2;NXqck52~ZTh zK=~Ci5t8S%Z);mss-%J#xPgJJiuXeq`Uqh~8hXh}uI-1Xhy~?ze&{`O!qZbIp*QHic*!*Q{P~h%lhlYc*nKlJ7(S^Ru+I1`_f;ok_ zI6jwNn4?WD;;S253o3E9paB|sn}$}_&`HofIql3`h2TJelA-E zpOgKTR^(&o7B;{4CPRi>lz%zTp;*RYG?L7Yn2zubecqCibcf)|Gi>d;fr>0yFO-z(_-dlWpjo0`tLg?S9V3uK{!O#wE% zOKiM;A3+OnV>Rd^WTw{5#88)Ei!%6)noPO|+3HXxx&dKW~^$?biXP zDXSq~#B3OYy=}AxR)!<6{@6(6-i)51HVB!n@Z;vWg373=Wz@Aua>m(pEv=yUIKK^N z$+}X`gH@Zm29k?k_VTpOIOET{K*NFXqE4cA`EH)*z=`y$h3%w%tCk3FUoQmgsX(Cr?QeO-S# zc)m*!&+Vl1w?KZefK~*IXq7++y9XEn+|Fw|VC7-gR@dsz8Ldt@-euQ?toGp78u4X3 z+$71|Xv_Ew^D3h;@ONZHFB1^Lstvj~qpQK~xeF0D$(k7b>-xx-5i(v+^l2kg;F&p; zTB8|yf$tHisI#~~W$#bp4_+pEb`3q9{-Yv)%6|7){>qR!4*MUsO9r$^zM1C$>}yQB z9X2CI4^@E89XpCRU!gbi)Op^x@v(OikCcp{fa=Pp!S@+x4V+4b=5{Oh0;Km1mdEK7 zXH|=6ABVq<_6PZXkSAdq<`cdLAKAozSCke@+tfo=*L3X=d*Pdjkb_!4hsg|trRi;Hsa9@Z^NR3zRV>f z{txVq@QUDltdDp_@aK5!%-j4HV?MeEC>k7Ao6$+2{x(!jI!1%2I|&jEu6RPmKAk)r zXydi0DXXH6b>(z5ecLb_Is{%SV=VF=T2Udn&OYtMle4Ys>@(O?LAmDY`^X7*F?vclRWBe?%FZlP%K z#TXtbu#I3}jn|j!)Y>yvXA6g5@FaGKTv}h}XmHsBEV-h=gn@##J8dZ%oN*dnG`PvNb2MnC=srbvsqOklM}xOD z_GhTyQq8>%#m|T{_CZ_37sY}*F&i*CgxP@6GWd2gqM4Ww_RwH^A!!i}s<@r5hZWM0L)cG;jUvDGP5Bu!*gV_fZLbbF+UwAj zU$%Ajcd`ET63f_F@Q>T!#i|-3eyL4c5#w^DMQcG@YmxLv$Q*;!wBcPOH*(=Cng3=e zZ)|lazSZc|R=F2RGhd7q6(ic)CKMl!H26i3VXMYp0>6dJGHWa!>bjkA2N z0~&2t?!gE=+c>|7*$+L3EpjwZlVvtyR>RX|u>Fq4Hzvo~R3}^7;1lplw8-mHbj!_p z+ZsWV%)0I1HOb>c%Ef(MI0eD&QfDN58P`&s@A(;Ca5n8~$X%xS*&w^KK*oEl%Kez$ z?u{|3-zyeo^c%E#wujaHRrZQLDkwGZwIA!|3a?+qw+rnc@Cg+E9rLDQ&l+{Ej@?|o zAqP9;sjRI-_i4gqWCU|IvmD9@p4rFqQASYi4bkdbxU?bD8x{<{fpz>xVe_qRjV_A( zdcog{RL|uSF_UV-7Yr%Ts}5l{)U`&ha$Ii2gu(Z}+MH!S6!+yp!=oKkc*Wk#HN~wh ziZ(3Z?+BaVVR-(awy*~dW`uiou!bmybshXbp@Wc(7XD#Z%8f<-o~#_OxKf`-^xhtf zl>6OINXnIu8p|cIpvm9xjLk+8BoAZ`qldtMjQU;AC}fgUVt&+LMj6RT=BqtFaA_ga ztUmnB?Dy7gz$jwm3TW+U7EHg`At1Fc|l9S(^9CmU$~0 zG+roaYp-Je68!GV9@yx4J_euLbhdm5#$);-UmVHi0BX{y1D-q}s zEH}KR^0#Xw?RSBU>GsEEO#8Xf+tKG<#db`b2&f-&`FT6FUr&oBh}p(zhgeBqpRSy( zz2}I7R|=OTl@;Wrystr`@5sIY_o3MQ{LF5~v)<|VUA**3HQf%e?|!QJ^B{~sNSkU3 zfJP`}QXpgNT9o9h_L$prw|?d=!hb(v?}=smNTqGTn&dj0Ha%I|^x6B)m5HsKr!3}u z%pbH@6f*nNO8f-o)uuL=Z0H%@{kl%~=(GJHtJI+}xzXmiBhp(#v?a4Ilw2-5BPk}h zohjV6cT7@D&=gN%r@sZtO*MP)MO>?PN~??3U|QkYqS3y+6*`Em=`U5V4`xxjF-fMA zMN#Zj-!<$^ZG$BzWNx{Nxg=s_ z#T;(|iXj)eZ6RWA_0~MtTBt6tMnO{3`}VkNw|uhcZfp9=T+#o&sUW3oe=*7QvY|D! zF4y61CAvL0)l9!V$=rib=&){QDjc`h=DD5rahN;(?v3OEZ47Hp?%!fsgXPdpcqI4f zEAn8T+s%!bM6>g`d*$)k4ZUXBA2p2yT@*d}m$9^v*?%wE!G7h+F6`NmYIb37Y~cgc zR;3!U{t^q0Vz-6m#?BX|R$uG*5Ni~ywYs+`wy%g82TgE@ErZ%60LpLjR!laJSyV#N za))pm1a=Upw=#mU4n>2v9SWHXd--_pr=Atz0f7}pyj95SlimBueH7UmiOd;aGRfIm z#2Y9UeE$O1B^Hc^-cGfGWxI>e_BvZeENI|nA?){bl+Yu6B*i_N;v-G5!rfgS3m#S! z)?7*}TCbrW&XJt`eJz6*2`zoPpm~}i?EDF1!Az~eZVlbGPIezAxm+;H)biw8Qao@X zW;XVx+1u+lX36oeP6F?u^-PVUeXksu*M;8f?8%gv|Q4;YMB<5xc6g0QcaduwM@fVxE&c>7YlB$ zCA19Cp0>23TIcIvt)(#-3(5~1~RTa9 zj?}83YiGRasI+sv95aIP_O(@5l&te<1labGG`7Af<%vyF>)7!2S{0;4^}L?t3$WP0oIw5!{qr zTC&LdA+r>Edo1w1aGSPxU2Uto7V}yy7To=m@ByV=6QZ=2LQ1W)NNO4j@(&G}XDv^* zKPY_AM7el&A3k9j3!YVe+2Hg8++5&LM)1yR+%IQyDf_7ON3?*T_woy(8tky&A?4yM zz*jO0g})Z`IQD<3oxP8Z-)Vqn7j`b#hB7-1`UT2`&jc*$w*4CddO9!8+uNMmt`%GE z>q*k~&0y_k3369&K|^~8%GpOy^O1sTDf;Olq0PTjP??7X-H81+&UuWM(N)vl-Bm(w zQxq8?w85I+ABrA?e$V+mqiC7@;J^|=MVv)0Bj^EdW|jie-3Z7Ciq_&e8MpN~JvJlQqNvsu zNl{eMEe=&T*X;m@VHF(>?g_Ylu?*vP-Ev$kJJWUK6?7IBzXR=kt>Sm8uYzv71^LB-Pj<=ZzSdb+ z@nVglbtR>B3#j~S)sD4?j3As?xS7Dy*os#w(=gMnyw3-jj-IDeA507JM()^!5evMWcPF<`-336GgWxx>C_g z4&^s7tRQ!w-}0MRTP54u^04RS?B4lJ(VkcrL+;|P@viVwhurnI7==vAOs-3+DTdai zwukTjzk+t6r-&BMIrI+4=azTrPHjd}Sgjb{++S!JIHkd~cCdgmdJX)-Xw_(m_wW}I z`XW4{IJAB-L3@7{)Zi~cC3;EPcc76`iun4GmG~Q5zo~_j9J;TK(3UjCozOP)!|@Wj zSkd7dB(%7qc7f22j}UZ|=KOMN$=P%l6o$o%%a}7z%J^%makODQBpz9;DPF3%Bg`Wp z)r8@xNE%eCX@)UF2)0Q#x>L=H#e9Ar=b5l8L-!)WHgcBv9=5(hV$1jnHYiT(*HNt| z%iP`D>EqF$gF`r7`3ih-P#4(TF5}k4T?d%4>3)7cF2O4Wuw!rI$=xidb7!m^EQd{U zDR2|pc3Dk)c(dqXm0<1W*(LUZap=_b5^p>#SsXg%sGyEN3Tk<|q^+o^)&j|;{X#)) zx`tdXf6o_MF^yMkjMU}vos#qKyCvQ@%mG}3M|TMAXGnCWZGS~*XB9oSSZH@D3S(4o zivF+$Fbd8{yviEy5BS$`=!$)k;xgz0%$)Bdt+f z+s`Pvey5}uwMo#|jif)`RJ8Vh&+I%X`Gb+v@vr+l?fQ`|E|a<28b)c*5ILOZGL_f!j^rSF#dHT^g-z}jtXUZ3SsA$qgq192; z2|M3hgU_|C(zKm>AC}O3iuP`hTskUhq$wWPcuB)0-m01MmDO?xnx?e8N_zx*SzMRl z(Ayc!Qra4&_4`~xr!N!K^)vbMf{JQrYc$ZW?5`5IyrNt>_S>jb&aSAi&JfvE9(=E% zJG3uHeI<3d{D7e48t--Gje|!d^m^r?`C3Mvg3?0YYyECk^pv7oG{wGM^5t(Ux?9m? zMgMG*{G&NwT-tu)P0|LdbapAL@z%GNcrR(Zhn5O$*IvoF=_<*kD|Bxztw||~w|l$PJ{5a0 z96DD+XMQ8JavJ(~F-hBLuY5;4ou}`H?+oX%_b$nK?dwwR-|Hp6o;uI``kjP!(so|a zNz&HQoMVqj&hM&RTd1^UeI&($+NKM!cILX2Q+;yu$5Q9Ps?$8vU22ehpP+3zM=et{ zv7h93bgQ60u%6~J3h5kGPiLm6qEEGtPU={#jx_|Q9f36jqm5t4cWlr(YL#+Rt(8*R zXl<+QAxS$#x%05{#uGY|>~1Xa%Jve}6MlzWZmRb5H&_8OZIRB{&6Re%o3vjA)$sbO z+W}JE`R!&~hg?ll(fV{2OqG6bTnOybRaRM0<*B)_ZR z-^t(6>Y&j6(hD*e`z7APn)4!+ zr_~kRrZVRvl@X^~NV)l6k@mY^>vB-ztBGM$P$<=KQSE%D0l54p3T((%x0tjY^w;skCmI>PQE%f6n#0dcUB5wcmCt z3jf2Q(O~2Q;;;9O`s?L=h-vT$D2{ze=sK~W#BA9S>vlI=FbbKEhlI@rSSzZB)^#!F z$K3Et3O(7*m}3?d%Wll?7Ci+X=g?vqg05_D%%3(iKSKYt=YQ{|ytCIfMbqg{>3 zX=x`w;}p|T+NGf3^d83Ljucw6x9@=40Ustb1s)_~;Li6v2ho`b#04cyPWO<4Oo40UV;eP&pLK~DJ zv>ELLEh{K#YnPXu(N}XxX)9iqc;P}4?-=YfT*eS^7^AEDNW6`h)tF{91--<|wByi_ z8Fju)@~fXia=B%?&_*v6+D`0naEb-CznA)4 zHoj>uBlxHW=YqW~*a|3@jG&i8)y-%Z53eo3=0^6Hj9^<^P7&3Y4&vXrC|M1Dmf($c znqNE3uU*i(BbVV*gp7GstT^yKIqzjaWdxfyGN3(k@nEDTok90Gt8IJ|r>v9|Jwn zEXeP+BtwRAisC?Qrr@*cj zYDK59VnGLRBFmTKI|S{;JJ3v<+DmBls|cFaL!{3RjYq3;mkV@EM$djKDOQgY3HRnm zp>=vxlr70Sr z`TbE^YL%p+UwE?bpzF4xwG{wyh?V+76D z(tfWhv?1C@o%Jh^YHv;dUFx@Gj-)82ZPiP^ZJ+YhhtOoWUFv9lcRwa+zf#&t&G|9S zWx7N0`#7{~^gOgV_(Y=(7}2>2LVSw?pN)LEC}xDAv`bN`49;8urJ7|OMS@J+C31sa z%NUiP(zbq@M>4#9VL7Jri18`bJt=!966$?Y;T7?`adQRT|NzN&itA1UA=^4dpop7dpj@m$)4$kj`K(@}Nrc^ejmz`lnXJ8GKYu^GEhcy_hDW(u;)O61bM1#96k1w@dj|f+?@CYKRF6GAaOz`*&~C0PUfFFciI3r__QGLXZWUBd zX?2wLU`#^CD6NCWJEgQb~P|=N)STONkq1~dnoKiG*x^WyfTv58B_KMz9^qQuv zulBViVfK*tyuI8+Qe3Sl@{y!SIx6ThwY3a7A-SAZ`+W^)BWYHG z6jjtlQ4dI94t-EjT}3x3y0eVr(pFJwPATmM?en6iB;Hr`CFdN4B;E^3`&7U8>FXrk zRYfFTw+2GHwXo2dXxjOjc9^CusA)U7nJE@@Ra@kj-Gqy?<&)N(<)lw67^moWwT#`S zWxSxYw-r55N9s2!ztnH#H9~t*LyN7G()y~6_G3*^OuuNjmeyX=o;V~exo*Fpsv87d zrFOV`)(frZk5by-zYFbIwZcB2<73VD5;|g{qTOV#w+%e#QRHW zcfhj4d{s+R^j36}q9H4#XFm8#YE@Ko>7uBOH7v!b17VYZSe)Kxl^)W#pFceN$0t9-$pl+8IUVHS}4feXQt=h8|rk zrH#{Fl$P+E;yO3lE9gc=HUE$lKdS#hDXsl(9p}w-T$a_e(`rj=6wr};ua4y98d^m| z-_~66!-B@O`b77Hvkev6)QwWBW}5}|Qz^gwxbVR>Dz9D}FMVD~wZptqCBK#`iyz!1 z`L!P_xty&f?NYq9piSE6vovk$kCL{dwn00UyFaUZ{#t1rbyQSU+GdSsbo2xo?|p5* zW7<}Je|nnER_k;Jy1L5A723{6R02;cAYU|LpVWSej;(Q8m!xZ@t*Yo8bqLm9?xW{$ zTNI;?-$*Wg?=D^IJVop5y`Q|thxY>UyY=34Adx46-|0%^b&$w6%KHj^pFeluiRc;QBSSaUCKERD(Bq!t<-9? z_W97yq|U{)#c%ptX!%rve7j3%-zfiuwe~M6C%*WDl+p9FjL`l1ZAn_cJX*igDruh9 zFJG!<{H}82+fOCuogWF>uG+(J%{kDVKhm6=YR=0F2ygV&ek-Or=27*JC_6*qr9C6) z=6~diZv0Eo)JYP0$vmmmM4h+F!B>|#Vv6b!TXn`cp!Msk^;@WI+CZhsA?5oYwcm>9 zsF*oLYA_i#UoI^Tez}Y`Xn*XvS7;f#rB)T(?G3nrp`4^`cAvyM{Dbs)aa}RrJ5th~ zQFM*&Sy%f_a%qke1zdx*x_5lNj@sA($)&|1LB~5wxgROIOmn{E6KUPb%9F>mr{C`< z<<2@P=#BZ3Vw3jjkAFz$4fjd?Zq+tT8!n;m>R8yRyW!7hephIJEc#B$sM25Z8vu(v zfBDZURkmtP7wDJ{e=lh}YJNLaFCKP4LdPlEtobe0{O;88+g<0{kJU@BrhdoG$}huJ z^O&AjzIU0Thx*EQtkM?R_KU+5}H%z?ln4k)^(6x-KHr*1Eh@Cbu5%r zKh@v&$d^}mS90#5?cBYhqCGmG+*}UQ}89t;(E2%2z`bZTd;tpxAC{wX^EawRD%z7Jnw~S4LBu z)zEL1)?RbTp|o`xZ>-WH%Fk8RrqJUHsmr0gf*R|n_#L)-Zu{5^61rHWz@bqR>iyBZ z7kZwBlHxho<~WyA%J*q%7x?p#M>#&1}WGHoezA4V@UlF%Hr1m)5i&?|-^sg+isFyE@%ZDuURum zQD%gMF2StJp_4IVyZjXO);^!9eSW8=o%pe&cm?Z0PFr@ZpbxOC>dJ+;Fr&i@1?|$% z+{zo-l_wi*ka)?k6>!?rMMAs$4ypYf*d92vE9P@X*`RSVy6r}xt-wsjv|JMfEhsIh zzoLrDu_q@=&U-PJaoS5Tei>y~;e1Ik{a>M#zfMpiMawirW9*Y~+Pj(x zdJ|*yG0Wo_O$2pkI|Z3f~qf<(6QZx_I*u3XMUH^8R!L0`>B@OUCZ68<&OVN;$089!6|;qBj{jFy@Y9}-;%UsIbj;vRT%Ze{Kn`rNLEIbU`b_k zBXku;`(dGHlmgw6(Lh-E7=5K}p9iCYY29IkWwZ;kB%_C5U1hXb+o~{ljcIwXbHS)8 zb}ksLeNJfGl=hv{`oogI@n&OGFe(iXAx0B4#SH8;Fs+iJH0VQ2D++yx(QIwq`?Uw_ zX%CLl9xS2#Rx`Kca;I|1a_zTHShaD^Y1&6Ep@A}u^iD=^L+fL70;_07$Dsc)>JR;o zQC{VoCeT2c_WNN8{VhelW4ngdhknZO>O((e^da<9Mm3Oe1SN zqbOEIjPh&SchfdKiS-+Y-VdFS(Rk>DjLsfdFTO_c0X3uj3$f} zM5}0~-2*L>(E|qreWpBA9Qq4~CPTAi^dvN+aaQiq`9?-`mV!}J?8q`A-y=pHq1Q3$ zjv0c{eVR+|!N$?DDLQ(W#Cs3k9h`#RpJtR(S%2=lHF583C^R|9Fu9g&s6^+AO z!J$jg28=pmc41WQaj8oYj8LYHogne%X&DuFN$90ZByDmpK~=#ooVG+Wp~WyGvgZn& zJY_`MKO@rq8Bsje`Nyd)@AdWts{LPB)Ay^1|MT;((IEFaUQwl+GC&j2rdfB=c^95` z(x0=Tnf*W$dBOef6nvNWY~&X)uVxRK7lD|zFcU3eI@gi=MUUOio)>r*v=naAdW1Z6 z*5=3U{Xl%nTsw>2#(dcUC>FfdLR$Q$RpLMN0&IBP3$N`LwD}V8h$`NMRzZ_R2Q_%1z|#TT3_6|96DfM)U>-<8GY57d8r+637pCLtcv)r{L#- zyOg1C@cj`3;q$)4wqKrk>}wV8{WJsf$6=(61tT#k7~O=iK*-+?7%|t?4_Tg!nBrCW z7E7-ETgaKwYM`vVu`Gi;FNinZx1po3KB7B9y~jt2d1aWiY4M8e85}Z~))w?yV`JW} zDjpgekPBX3jN!E#i%LC>v6YSds%l{VO-muvv=t-VQaXe0#mQPL@3~y5e0*I(<_*+f z(MT%o>srPvv*_AJ@Cr#K+UqUg|B|23qc<5_8hgxav+>AFg*{j9z1g^%P+MJNOrA&2 z^*-SdAR~oaD0>CU+1KEFKBRv1Pzv9YiPEN<0a)vPg|4>Rhg%t(?G--0iqh-A-#eK?@4iR8*6PmUn}~3G&o%hBp{q*bUFxgo)zC&*Hy*a- z5;_W$mFucxBd%NWsWFUh|4~qi(oQJtJy_o;9`3B}h#S2qzbxM6iQ05~rNnItKeDMI zb0mf2i_{r6sMHKuUgO%I)Y_jpZ)wEYZ=#IEy-+nB?|&d|$m|3UkyOF`OW>hPFC|)z zR(Mm?qSm(zZA0&_S3g98dFT7 zku0Ub{~mR#VZUe!M)D#%J|;Cbrh%p9LmQ-Ftl}jt8b_8!H8}s7fu+^tltIr>vVF-S zzQxa%wh}BGJhr%x&aE@IAC1uXH~(h8z^4pCW~`zCui_3#+k+Ke7u0rClI?w*(x@!A zME;5yn>`TwR!TPSj-s4z!Mz4dn+QuAqYtp-xyOc1R`fg8N1WoyLy}8wXk>h=^2o^& zI(}c0*@CnY(=Q!ucrTT4^;LMy!qO7m2-)`%F4y0a6*3R32KSGpw2xz5amu19sVLW? zgVJSa&%UQ8Z^v8782c$E|GfC~ACyaqS&px!Tgc)$ zVksmeOK;DA?Jx#;Myvz=yWGkv&-dxzL~iHN7>#s)82cR(Z={-|m~m+QMuX2C$|}u% zv(l_Aynq>93(3WZBo`r`CEK9RjN01TC-P{dan#<1N~^_>bMhvo6I!WO#&$$J_B5t% zi~vBTg%M8%gyor#8P$h-_KUj zxu-YnoFb>JFiITFpSR-P>Sx(@>rdV>in<`rL#dJfYQyCQU0QI zQx>a0o&zd0!b_*%SoGnJuz3_;&Si{33cTQ)D!le0bTj6~rkEm52Tn1xej_bB#XSBdOQaODV>$X5 zX;Vy}JNWMR6jP&l*j$l=(t30N>u&ONPciSclz6*FCOdu7=iChE2cJY*uFKV0D@J#r zrcc^F`UmTP$re3~{XzDUuL5iQG|t%_J;O&g$i7Pd+$!;ZaUiw$#?LW2^$$R zVbf40O+M(wG*X=3I#Luem2(;MzRj81kJpX<+-$4uc-h*1CEYpyG2*3~ZJp(YzvX%H zKBrCl*Lq_n+j!I;pIO>`oQX@Zw4OK<@)c#8#V-kHrxVbUu%8g0Go{U) zg(fc~Ln>FqyRnvEngh|u!~1H_!h;_vLZUSsI@Jg+|U zE>2k56t{Q78%99MW@Rb7TVPQ~r451PrvF~y;Tjl;AM>G zWrWu3B&d16kh#W&=I+O3Bp!`@VWXgN88XdXxp-j$E!4oK^|Z%bU3_S&=~x==l%-8+ zjYHpom8M%Uhm3#KYV6n~)5PXXC%E~oylWt(h>LNve!%lW$e4vfYooMEuC1W6j^{h^ z&)>S#zZY&(Zpr4hF0%g3nqOOlvKG$yCF&XJH@qPO&5d7W7u_stejPQxJ{C1`{D(Ka zf0g%VCSv`OAM;Geq+$KREp(uvoDJIAT+k9|eXQ%Xht|hjJUkYEc7#{-Z#*YCKlA`@ zn6$FE70!e4?YFeT?PuHIFm^JD6I0DN><~Q&TB^y7P(rvT3pQHnBb-EX+#U;r+halc zZ0@aC&`41!MR^qc+)?6->g4VYGby~Mk4UB-SP@&4W| zXzV+ZU)N70zg5t^IcJ}rygeHKz5kuo96P+{&-uckiRzN08P}Ah{KM#vLS}1DV@BA1 z+xtn9S!<=)&x+pv1v1;xwkYZb4rAJVihSBFTO=2sHjl>hp}vf`P*(;tL!6AQRgzAN z^>m2qJkHkniA%W7T>FWZcGl5S%%zao^c^YYHkX!1UVG%1Vmjssn|mPT<7qygPrJJ` zPCp`NydaKU{rMIRK)Wmg!d(&2S;;TUzi@>6C~gg#m6qn;G`sK%W%QyLOH8t#GP)dn z&d9$;=HDRm?~?uBgjPTs{J$>a!u6vUQP*Tk;ub7}v!*a|8G?Y3#x;tc-R7Ts3~{dftL(c@o{dJlIJ``McbTHN`xvHTK#3{5!1^K4K|=)2N#Ty`^aB?|cJ)B<}ryx6<%VjjhYcs#4nS z7i9J1-zoI3JNh>r=?yo2dC|{<{@p5{;@1Iq!y^}cuYaw;zk4Y8#h)X=F2^6e%VQzXEzu zC&i4(h(AF~X>pG~q{THrev~Dy3*|@e*u}Rb)!^Ti@*NjzPo!Kz<`L+Q{yWZ}_I&03 z_Z0tsuIXg#Rnop`*4Dk4ul(<62mSef-k1MpX<61$Up`^Ss+R&kL!xJvb-Yfwu(X{E zz5lYXHLIA z*rK*EV=QeSEZdBVz_QIF;7P1({8*qlDrEX&jYIpFSxe*5y>e05G`6F={!9E`Ic^$& z{fc%P{5VfBC2&fO=E0De1-Ws99q}}3>GV8HpF|wyd#klA-qpN}%jZ0a{?4y}_- z)Jm1sSmc0h}# z>Fk%NR(uD>pps@WSKL+E=eFE#F>#c>VVMXEgG1@}&Fak&l@D~yPF()$T zP`i+gA|>wq%MF(&nLS7m3tpWbc4#ha(nO1o*QG>~`QFC6uU@i4y^(@xEn0>gx>ixY zR!qalt_s<7JJqF-L;RNH2KX&v-wwOY6QM`I+d)Uv#vZK8M@&apdY`}T+_5?b`LR5B z)S`+m=lE9ZFgwXSZ9_L*Dpvc#8c+HyWHzHE|C&KHScsO)Hj~g~v?RTo0dIijGJ1&b z^IF>NkSYx=A|D4vWcL{gT1K$C5wF?tQqv8B9zV$_>!^6ja#Iw&Pc^{pCO}k!6!X~< z`SS9Wxc&UMasN_X@M2dxu|gcG&t>2{94%yMML?1(WL{k>Xk9(AU6(E_96KGdnB`T#N|cr@Xq%wd(U|#P7Z zL>eet&`1L%-4_0Pkb0CedmXS$q+a!wJC@$(^H(2Sn`WR$D12yHU2hg7m{$W9rnk2W5^kA z_~Ha8_iD}oO!HhEKLQTx2zVKLN}R%vfb?847JkZ!U0OSz%UFP4kb4P}W!U?3&gE0T zrW@RqLS_Dlm&!e%8P$3I+_c=Qow3`p+;Vp2v;|h3nWY;6B{PTQ8t>JehJYW6y6uh&t(YBD3o7k(< zTl0eUvYVU8Dp|7-+lN@cr?JI$+fPtNAu|)dKeg?WS;zF>_Kgj_FO$qk#JilL7rcvj zSBqMl(!viEl7`Xw_}-Vc{~}BK&c@3&YMFF+F|4&Vj~32`hd0rO%MRrS z@CD;u5U<^k$$dr0_CnT?!s9p5SoLGtw>a@y0b485H%i$V;(Wczy!L;ab5UDbQD^(& zSK0U8MUs&A)EP+|gv`h4bJu1NH0&2C-fZy2Jr+feh-5wagE76KoA51t6>Vq=O5%7o z7m;}|<#Ji6H!Fq}sEv0;9SOa(hxnnKZ%kADFg|cTZ-QNSdmEmY%0EHMvw!jb9<`bC zyBPV$DgJNmiHYRUfxGG39iJc~Xr zZ8^f{T(fq3&Qw$Kh?kl3Ppo3NTw14Gj2=N{R7M#ohRUsd5vBbOPGUc(%%vszHop!a zPtSPX$aY5daflCSHIcYoXbjf3^^+FDJL!=8jciTNm)6TzPJ1p#FgJON=J~bebJKF~ zQ_dlCmaIY+dF%86v=EH|&#|n@P#N%af;_$dDnehE4LQ`JB%`n)xw{^%5jOMI@Xo0B z)s2`<%|g~AIbzQBdrjPa(rR4iSF2L3JU3l<3|?GX+!Kv6Sj2S^GiiI0X^$P*un9ej zUbXEqu4}SAuaRmFb`t-l`nL)CwY?znD~KWmdwRxz;L+0q-f|Xs&!n+8a%mw${<~dm ziu*f+-7VLvv99I1ki`7k`kP7Gi1`rQ#QqWAFUDzJtQI2)Z>#O!NXobr_uTP_y1A=( z)?9e}634O+)y1~6r10azb56tzL7$JdmXm^=MI&4OgGgmhd!jAN-H2(}kl(G3n12;L z>d?h-33);%;*yZra7ozQjTR4?89mt#D%I4T06!K>TjzZEa3^_Q;a$@rWQN$#ohk4- zvNo+(6s0P9FhI{B9_tZlSiR$|?(X<<&|<*@in??Y8u>tSD7}rqsNNYk0Xa-iFEu$l4l-R>M-seup$eaINwb zV;}3Rt-(5tmw#j_uV`(#-UrQFNX5DkGW8%6StILSTkJH0ArqM3-_# zP)016+&~cBPffIV-k^82Giw88KZ{wM_civkkkG!cgDe^; zGYORjO9l2dI4$+y#n`jyE9cp-JXa!dFC;pP!o4pefNOugT(Y*6w+~T@_%+TS?ZW0| zTbCVJ`7gJ~a|B81m6ld)ZnAq%JqrDPjm;%9-*Y>A{-dv?w0;D5i#pc7nZ^R^P5IFF zysOX>+{wEN)TV6P6l+xCZ}aOxD)$3hXMFg&cSO0*U^s_3BK|i?i4G%7__OkV7M;x;t0tcg@qyRX9gVG9umd zyIoM9j^fFYx%d4J+kV^U7g~Aon7*(@^S|VWF|9TL>S?b^UAaA<%shOjyF=x=pkYAo#lh=|L~qj#Plj2GC$gO&fE)r?%`13&UowKgBWG3 zK~Y;J(zCsFFl#R7OX26*tSMGu4EoX%jU(TFS<{|72I0%9wI|7N{{E0JXE{kZXVn?b zpO$zdb6xz2!}whMP6M?IOR0^JT=czJrPTSqQra|PHe&rj-ho-u@@|#iYxDb7{wrk% z3+GB9S&!N8rJQNEDsg^YkA!VJSh6q&@IF`{AWEBJsI=1-Ng3F2#|*){bCmNxHZ(K; z@jDHa_F`XU%KB}-v@gIpzO?L@QLPFM44X<_Y5wg{8(vb@2GzJBTL(jC{nxyb!`t0~ zoLg*vTuz6q$JxzwR<@^{5uR*PMRdJmSBPFWIU;CEaq(}jg*~r6YpLAvx)YpZN!Yw= z^P71KYx*IxAHHuKuk{&`tWqvcvEPd`SNM*I8H4+pC)gF~UYu>F{T}!+F6LTAObKXE zJZ5hALugN~#_3%vv;Ft(a%Et30WB@f>Mu>AtV`hxIm%#K9rcpxqUejiWzXi7y4WE` zt>F2oyE0orOS3JWxqm$um$jk3x2k~a{GO7R?H3+pS#u%2N|fS*$BB#miw!hFGp9{4 zpLXUmIw|IAoDyPh`u|t?@hPSXw$*w!4Vwja9aXqzlH=GDgK+lW?rl%Q*<2b&c-3ke z^IF!?$ZhKNrbIL6Z>43e@zn3U()4;P&!&kaE6<@mXYYII^YcAOZFMoZoSQbqoLgtE zm7Ra%{2s_U{T;YC7SwE*?9k*k7_XLgYK5Q`MK~V5wVtf8UtAeY z1*FgE4V1Tv(pdE`XJy0slB^57Cvx4x^g2in?1}Kp9bx25`K83wbo5&|%Yy!m1*LIz ziP78Lj6;QCFJanc8aiT^#5>zkP)|pT&-odwj%(PQTOAEq6d&3I7WHdvXr*6q`p2RP z@TDUZA8*j-@aM9jeH8V7I?2&GDZ0a<__SNfC7UKTZF`(OWb}lh%1dy*$A%VF^vWvi z=w_+G9q`_6uDLM!2NrNfX_Wub`o@QEc`9;i+rMUO8V;AC{hE#E-Ma(t0myYA@ zi-c^i;>{QA%J94(@j_-X_H3wUU}ZumwMNM7MSdJ_R&_ybVcFsD=&z`EKCudwhd#-r zje}%m)KuGGg2p4eDCct4+4Vx^;bKCYf_-}qt%mu7P*z#zUuF7tD21LYeR!p`4QuSI zX}ylw9G=FB)B3%biSU-L++V_| zhSDY}?a9B4yS0SY$(KAvIg?is*^43XuMeA#EQ&jE-8^Kro!7Q5t-(4g<%jzPu(F{$ zP2%;=^UZ2JlboANeA?B}pILTNE@Wrm7Ed(mer{`U;r#kwXXO#xbP+PA8p^H*<@_S# z>G^ZMn3`txKe(9uNGsr0lRAe?S*#KgeQ%!AU*YAp@}gsUjwpz=i??odd`o&TQCl%@Bx-T` zBA+%9UtMgw)LI!|gODK$P@?>NU2Yv4|Gn{ipSf0vR=s}h%(-|wtLG-l#akCHCKpMY zn1{yb=%JiFk5kTkYgi1LFXYnS+*?_>#IMvTp6_YazRthjNd1;MMdJEpt`)bvZx^3S z=2Ze~>k^7N2H&>Y`VUcl^lcGCzUOW1Y$bPDcv{w*I5NkB@4{5v?QjKsFO|_2xj+NO z{$+cMdiLcr^Qk5Ynk8$3AKjU3I@;389g!Ka+h}9D*%ZIH+Xqri%Yve#zYJeaKCQS3 z=SleWKYw~T(V1#*eXFoVR&5O`Vc(v7f3w&fy>;s@TLZCQCDNq5XF6t=Qdv(2XU&<% z7TwZvpUv5yZN3yMH1_|S4X#VG^WYfRxcx2wY3uRtXeTrpdo+@? zFHe!vybBch_q!+bl6dP!NId_N_sgAGw}=JD?iO_GP)U*h4WYf(Uoi?(jV z*;hteL`#z$&xj#@rt`3+&4jCy%wohVZOTm%?Pfk?!K*ecoriq`C}PT&3z=0G4S~KJ zv*$j^yOQJmaeuNyW!ya?A#=jrBLck>_l>khimbfGJ{aVuK<`U>>BHl)*%XpoG~zET zhq66GX?-qUzKHDPToOrJt^r8_&LwjS_F1HpFK=1TYI%_|WNOb(wt85)8H!yfevg@S zxMaI#r_-(MC4as1V8`uy@R#6oCmY6yr}m2@#7}i;C~VH!GUT2`aLD&E$~G2CHa~12 zsn-{!(W{bKTQbp%$aSIiOEl+sPkf4(V!W@tc-Y79yNFMI2zPDZtitWmGi~2Hw=Oem ze$=Mxv5UZ#KuQtczh4ew`$mdciB=nn6!7_iy>24%gJ*wj@$4@Tjez9 zoAbZEgZY5!91XT$A3M#;FdE&5ZMk2&9d~Gb8Dd}Sg0(omeY+W_T)3xY9EFUx4&I)Q zQ49-TN}LT~#y(geUnE)g%>A(JSad^GL3OuF=oQ!*<XmggZ>F z=Rhyq+0QF9@h!u8;jXY5d>5tgJVfv2l07kEzQ+oUQe@>EzbfLipQyc^Jn>rwlpnQy z@%IVIZd%q{nE$BHIhV}y%*CYjqn2{1JU^aaxCV*1I1%5^Sx7a_tlOSHEtOUP65Q)A zo=>yp!dlh&_6@xLH{>GnyO8FVwRJBhXX>L1YnEQuJ7MeRWnJdBVyWlvR%*}~^O3cb zchnn@M!(K8UC7AIOQ~ik>}J1W-h#D3Q=EHKQr2%v)PuQU$KyEWtT1 zh%d3oU1+IM+?0g0Jd$}gys0}o7a!_9$^H0kbXC}VYtzzg3xVA&kXL%6LH653hDm7R z)+HXNwDCMH``tXYJm;K$r1%jkX?dRJTII$%neU=8un_R=Khg#n!D~MoD{V7^TuTKN zf+toQByiR`dv2$_j`-0?`6XIQUO0vSwnQ3$?_VknC&)0ru|_)v-$C_*{sJwRrS0|> z#vHQos4hor{W9~5m#62eJxkF*xD7QO>?iIp;*XJYN2-$I9k} z_V2~)LWvaRvG9*g>rW;gsr|q9QoUylrH%KjDGrYr_C8sSebXe|y%jP`(C1|T^D`oL zw8tcw>^79%PR|FFbwv5zqI*)~M^qHtPPY=JSYiP-lM*h_o-Pd!W}b@3zE<;(b4vSJ_U(ZBMrhv!6b3cAJeCk`|fk!e5kV zl=;@66e06Zd8sLlH{a(}8qW~lyi4(J9LndmBW4~>wXTJzzPW~LP$HNm}BLVT%7HWQVSNXOM6qC zG7*Enr;EHkEbJ)NEM;AvNq&UhpP*Tj=ILdBNa+(uN$uXxsZc#v4c}#v-UFa^w$exh7DF-ZA zrkJBt2BofzQ;H~|$>x?CxStgHTxx2#IRE0E32Kderjesm0}n9eMn~BR%Lr3$ca(R_ zN~+$Daz-f+I!ca5!Y+n84PLra%pbW?0*R*)lssoVgAWyN;=BrxY?6y zSW)7P5K0|K`2ssM9OrsRS%e#@n9^3_ER*l*;wXbpO6m7FN`Fl?*imZcl$=L9%B{JC zGTBj943j!P?UXIyjWZ)haIKI1o?{J9EDaGT*H4Ir5vntOvzoA+c`%W z$)~8Jd^TSw_d{e7HD}>U^QJ&Z$lm{GT z)gO}cBaSj_v3%E)j*@ekq?+LCrL@*yN_{#z$}L~YSM+g|OLhrmkfYp&voZYbk2y+;j<`vZO22E4qwM`! z@_EHka-R^&+m2EIYc9@tgQGmUQodrRqhx~xoa5|slpW7WeSUV7<LW*~ zp_I=Z<&KR~pF@uFgtpIdNBQ$!DeJ7GjJQEk<+_U7`MB1(h@oxpI#+IWlnO6NK3_XZf2I83C{HQncSq@mldW8O64n6p z75Q{F&+91N9+NniJIW~K`SOl3TPd|1rQGc((}&1+ z4Rn;NwT7b{W!9?_=V?co3vW*TuGtc2j>K8)DCJH|f30+sf-2|NJIdw-l4^&e%+@&H zI!Zqsr{obpZTPB=uQQHv$ygb=DOeFvoaR?c&iNf>ypEJKNBI}$0{JT{JIZ?+r>>*y zR$c1`M+vWzZ*S))1vOPSM`^2+`y3^JWs}Pq;wal*k@gwuD4*?-uXx5$s_2)_b(EY+ zS>`C6bac}yp1%E4jkDQNVk*aWJ4)+Q@)ZXiB`03r&b+g=IEO5dHDsaRuXpIWp6j}NQuiV)q#ix7tjfs_8JR|xTnJL?fnGXgAQj%~zJCTe zH&tgfhSVOWOKz)UqIB&&A@BGy7;?%#vlXO$&DlOG5+@Z_y z<#)(r`o@6j`#DJG9y;qLBz1pX@?*$U|EOosy%8SO-cxi7lR`?;)2OQCjF9)~X>lbv zA)nsUbrprYrYlMnQvouLu11yAf#fiBU6GJ%n1=CdqZoL`a$n zTKG$N+^-?qbl;ake)O+FHbBxY)9Xe&WSD;jdlb^gKTEj;N$DR8?m)hxXX8~*pF{Hd z;^b59>HD>AVM@rFX}b2zkmlWWoAW~6eWk~+1f;CLeN}<1U94;W91_Z@>uL$9bV!%n z1(Lg)F1bHs%?vHyLk>;WPbii ze-H2{$L8{O_FIBQl zE#vL0xTX7*0`eeQ$9w?U=Sv>QI}dfq#UWGgYN-raOm7RRy6QtBYwMD~gskz;$2vpi z`Rj8($f>QmvB#&a{Z&* zdQ2~Bie2OwX)(dC?hRQ0dKuS4dh(B=FCx$MtJy@j-(^;*@%ziP!JmXJhC zddO3M%l!y4|5v?cehg{kOF789^jp8G8eSl11v6C`ctNGaxKMlRxiD-R)Q3!_fAwV>OmIzF)bj? z{FqLV?ewL8mGv!TKxW;-5s>D-OoGhxkFc{L^ZfN^Iiv^O4OS)p3Yl0@O9CXhzkMBt zl%sEQsjSP8w)7haO720D?$kZ~7qZiz^Yn_SabEwat}8X9A3fWq%EgBGA)^26aI$G*`vq#4Wvd(9rJEcHO^W5^(P&q z`AD7hA>?KwJ*tHv85(OT3wd!&XVug(7qm2iR6eMs9i;wQJ@UOE=X@CgNjgYpje}(K zk4-;7dS2Briy-T3>5|t$cDK}R{tfcP-)|g(yz#F=&OSerDnjb`wbzA|iqPfon<`xU7rFFO z{u<&$=#syIeA7zD42P^csOyS>oZq3d_(^Rpxv9UdE`vn+NAr!4`TkLcpMv15R{rtg z804tm(?1~N>29goy7^0RoK?ZkdI9m5_=4IB$Ve@b{VgoGbTq6g}UodT|QU%9pE*A>a9Xze11+^enoHDFZ3(A7S~aBQE*QEj>PsA*20!9Bm=( zed!5_@t4kENGrOtuj(2L8Rn1tbjZt&I%Xl{)4h7#SPS_zPWOEWB+g$qeuwn-*RgYu zD1W=S3AshrbE-X$AzA$;Xwcq)`@Yb>%b65X*q`yp2yy*+^_-BU{_-jcx%);hiwckz z{$8REb2*>CenNDu$m^e3dSzlJ}6y!DsqD@d##lZeKJ$9b8*l;4A#^|P`; z68rZi3PPq8)GaIx;p<&BJ~be9d}#z3@Ath8WEU-emDK|hS_V;ytAb+i`{%1mAmjYC_N@d79`}7{5K4kj}JcZRh0 zTi6fM=^b58G~}B}y7pK|+ZR$l4QdDQHhRpY68zlWF zI_3c6P8VJK8OV-QdJL~ajt$V`^ABY00o|{+kWv19qQqsfJ`dG(rHAzJ@9TX8as8S9 zk0IH7DF->yT}hYd{ft65;EJLajgdVZi$Zh0=&+?_sODhCsGf(Y+W4*?UmO`~c~nLdzn^ z**|s3>mYYN)G@z7_W5h(AxPVfy3OYyC;Sq?6zGZyyn24NEWsrD!zFjS^jgXX2^vLgqh)%lXV~~mdi2VV1I$4)<7jn$+#S6%D ze;?&mQsey8KPO2A=@6^SiGcK3soRqeQjnhRRBiqg(z}S3s*t<>(=`nstNQ45z7=F? zZ!KLRqmJrw20%94(J~U!&X1V_ndh%j^B@^!=&Y3xH?x*4kOkAV?1OxNO85N~B>6!- z@>e0JTIsBZkTE}Nc@0TQ?>ngRd8e`(=bfo_Pt!u$`Nx9nkmqxBRv}2)3%cYokV^h+ z{AZA9eoq@i%4gBrXOeuwn%*VS{7LrZkuZ$ggx=UR^;9sOrhjVfwXH`Ua2C55!Pqa`EcR%PAO zoRF0Mc3Kp&Yn0Ba0Lj!+x490avM-U4kS`q}g?#A?`O2R=9R?ZiFTshB;{H>eGa+65 zbCRWy-)`#`Zh*}5mtZ_3si~LOQOGxb$(JBK{3jOfKuY^-?{mljU!1Cf{$fLi{j>L! z5ZgcZ%M3~XMvqut$i3BinU;Xm^JnL(K&CCyF`q+L)ve7U3 z6{PlQU00%NYMeLtZydY_*=g(Avq5g%(BoVXQt+mh(vTdr^cdEFjP^&q5hNj--Y(ie zGW$<9_JF+g&o>4^YWsWIF_1R?x$!he%Wrg>e}c63*Qhm+g}!Wu#QN*%LCC-Uvl(Y0 z?|rTNbp!Ige@uA<+3P1XADq?oOjP7%mNznt=rItz77 zZAe}J*xd}W-d{I5K+^bca`l1S{ZlWCp^%L$wM>AtS*2x$&RVRO`w~cXf1mIRq*}Dj z+6Ae-SC1jTL(Nav9{P3r4 z;RldslXN+GAnW{?;*gIbbXH|Ztr3-5NogrPzYUu|V@=*6ZT1s@f z9&}b|Q0tS6i2)hsusl{Giqo@3*Wc$ia$iH%r8gn`UMzh#PsXIDtQ4Y|lxR_7ApPP> zL;7Z&XalM5OLt^(OfkwzDI#ieIq@QaW=_h{+c>F2HAs>eQw*d3msKH{#dlKXKn{{{3qKG=>d-&L4P)m#Ax6``MTp^$qZ!o5 z({IN>vW4gu=q&z5N@AK<<*X~~>5I_xZ`nixNc#bnI82gV%z@O;Zi)-k!tCN2WNJBE z*8ZXBU60F&5@isRLu`?9!{8;zCFc~$>vPNvqsC+U_7MGBE-^<+ym5{C&g({Qu>zu( zMQ*VLGH4wAt{cVV75gE2>EshIF|%7Z86Trub`tn7fb} z80P}wF|uqLpUN_;)aUdMaV1e38fRXZg+vX=S`rQ~EWU(PM(ssJYe?A)wAN8f5z#@3 z(SepuV<|fzduimGlN1#vAn(%{a?B^<7Gw~OGuKs2yoQXVQRTI+gh<_h{y}f`-rPoC zZnNnZK*T^P!~HF;r1&8qoK;f%8jw1)W|k5U1JaD7jQI8oE;%~HYh4AGey>Utp{-1a z;h}nCZP9^ZDu_~2qQpeHzUV+P6~rnPBT~^hZEuRHBvLfutazc9aurcTO0>{xT@`Ux zN|ZQ3TU;M1r>ZE$LqKa()^WC6H{?Nw%W-(itw%A{#6}qtFL-U~Nh?QnaZ5_H&}-di zVqFt1Ctm3Fr>3|qB}&wwqbF}EwM5RQDu&l6E~mEmNlJKouPb&1gvYS1cpebm-s_3F z&A1$u#oPPm;-Hjaa#;){`9c(oTijrew@;^)pubr0CvERrsGOl9G2|R%gh&NxOJ{=#6f;s}fb67o;{?fgkp)s^ zuqDotOb|IC4Iz_6K}d;MQ(U8%DPjxcM{3VKlBr@BWHnkiT^xk`L-Lejeh}B%s5Za& zfqq|&WQO=#N}RY3nMohL<`^YrYE#S-y`;p3UePh7HT8YA7^_4qi#0`vVrGj+WTi+6`HW

z1~v04;?3?$*@zFL%4B9A) zYej3wXxft$qsFckZ6U{6YUu#U|CuRzQC(|AXUM#pTDn74l5{mVCQ6BTS%bgeBg8r} zOiHx)&6lwOIYup9Ct@KT)6kZkScvsvMnKL|%z80jN`h!Rhc-|;3;ji`L(CDHli|94 z6`KRXeg9SLL>B+zT1MI`H;H|av((d7dFWRS#5u^aTB;Y@#T_Z};(eMCqBD1~LuBbn z|G@Tjg-ZU7em9aOF7(YBQ`{ukDJrTMvAT#U?nz>ChiwEWmb3}en32sk`U5a2gGxT&N?8T z_2-hqdy<3vpY)gDtm#a@AVKZ%B}rAuVV?9mZBfy@b7-` zGNlP+`InF+X#-1K%^8%eB=?60#2H_O_K;N0G4VFg!b-FRkBjUBxS(jk$CURd=7i{~ z#6RynBl-p;IYpllg9B2W*5|WgloT~$Wl7G9X;PwOIa#RWi(vh_S_9k{6;QWD3bql7B^a$TgB{ zBrnA`kd-8NNM4B{kl1NLJR^B67DIL}rQgIQc_WGrQEi^^J$*UpJ(Ipx)Dlva%1KFL z8i}JgCQfuA`H;jiszRF3k+BeoZ8VS)D~iNfqBx0TL_yBbJc-qczN%!5k`i89JY$9w zwN;j-EYCc42STU!$>J}A$$%nUdlGe5GrS~l=Bci zF8?6qIfReGbEKr9eGa#f&utb;DGcGG@Ny}2AbgIrMoMQXYUym0axfr#6i#g99Kj_= zi5aC#v5jJq7>%WbvyvH$M{$f2&Ps0V828_-6vhK7D#oDynaX$;5UxFy@irh_PHH1G z{=emW4b^`UVq5W}O9!)P<}zjfs_CeQwFUAc^S zDdD>E7?svnm@`rKqgER996a z`8Jsqx_!tJ$4ROg5mMqsb$Wm2l9b7iiAU%+{77mTq3xU%FIXOv)HDW4i4qMC)0Z|$ zXo^|>B{+NNdhjg?-2#OCb)LTSPEya8DXlHxrKOoZU+#WM-`pel+?R*+qye81H84)d zy258)4U7u`xkYCP4UD@1Nkio{GV1N%>Z8SSIxh1$Ql!yB%5ZVmmkv@A#9t#V5kXmz zMy!-*DLF`*8#4ovkEDfhK*}&t>|=FK($Y8sIbK4`ZIvbW>P0B4rST*nB}rNv#&3fD z)Y7R;($+{3kh&xtjciiXOjiq%ZbmB=6B@9Dz8y(tM175pkad+U(S>6A8a*JpXgF2O zKq=v#_BGb37}?Wal=Y2q4kGB>k4LP(@h7tGf1>);->`Rv+uWrn$0Q5L04isIQB+Cj z*$`8-rQ~d*YHgWdBvm5U-i-7=Cm8(gRK2d=qS_}K1q1SgWU{e*uPWzhc}t{7XNu{@ zI>?`NhQ{0SbYlyoQ+rFiCu0sl#*$=`a#~8fXiR&XY$QJz7a+|@a+CaMe6)}2qWNc% zgE@tmY2<=Lk$gfivy7UM>PJ;MbBu|Qnk3~YX0DM*Uhc(<)+BsQG|y-ZX-iU_V&)r} z4yd{o9aiQ1WVD1VCHb6U78;ojs+a^4US5lg#*lp^krcDoNc}s<3=_s!OSB_dYIKki zB?>>GGv)L`EHg$TW?PIUdQ!}C~9KN}GN8B8%Njj{oW zCRuH?mZH|5i6rZd?g5!bvccG`vO@KLRM(!Hjo%@)66hBuXm7LGxGN>REpIj=Nzg3CqWj9XiY5dC16Q zLhSSe3Ut4+=l2YsYAv;kh4?y zjx@)-ROJ}Dr-zLc$GL?GhCT`(HquIo7N2xB5NIbxKQ5-Sc+k8e>6 zj~F!|-5(j^0m)ILcOd2|$uVPaAm%m6alN+q^DXosviwU(qW7X<(RYh+N)qC|5#sJ7O+Vk5qYk$(1D}kE>z_w^<2Su<2t0`11)zU)3>T87S0=w zAS;Hd=M&Bw|3dZ*S5H2iH;j|q({KyV8;JtKEj(|e3<$UIf{{sz>M6JIl94A6!!uNu zjp6}GLL+v?*d`?*r1vCOjRYk^?@6v2Cn0)Ia^1KF;hC<~RL)J~IpoT8Q$HM~>Y ziv;l;a^H9l!gpB8W}$Dg8y`UG(^Y>i(!Y(o5Wag-kmMhu6r=*(&*d|#M@CnO-j6*p z`a<-6?6EN%qW5D@^qT4DHb3=6xA~mWvtSbDRe5`$;ad2yyUqofQM87}g-%vlynQA?+{EN8uvP$4?k8bFf4+@Z=5 z8%J9rO3HJTb7qV>OUY;!J1cwYpSNT(%Sjn7%2UiZ%6i}Y3Ng(gADEq`glo@i_W6J1 zM3|HRUse`#4n(&nt9d3+&UC6Po9UjD?eVww>}F~yQK8Xv^h{lpo~1F1pXZpUP%hfy zl2ryaW<@1JpB0oezmpOp)_za-dnv1=IZaBm z_?(3IqNU6^5I%F@HkUHjq8#1A(&l~@q=K2^ zI`>q?{6+iBZ@D$iYY@E$sA=ZB!6hez^d6w5*;z_-s68Ep z=TpCGn*CLbzrEKqf07d3-fNosRhH~2k9#NN$pRZcdgGKJ#o~E>q?BBj3Q>6cBFV z7iPSaa0?rn{00}_>pwvEG`WS1&D$zVG^3~cxP?v3e;~SrO-$z&XN7BTYG#rW-v2Z; z^B`sj?W68f$<53%5WTmFG(VFP7y9ihL;OoI&CU8!!gmmwn{A}1l6kM*-0T_<+Np{b z=D>i2NLrfLm4x(F_E+XTNSkkIrkP^CGM_*WwV}Pfl-E**i9PhZdS)pRe{oOa#TB~F z%|p`G%q?Y?xo-mfW=~Eb+LG`kU2CyO)?A7-Mj^vOwx*CdYJ|9aP86J`xrGoz5Raa zG3;Z0Cu8D`3)E9Cr>{81R%X92=*~>2Ge8vdhvVKfpXFC0aaNK%+%j1I^TT zRqcmJ`jQMXi$HdeaLGf>fsiTG!f29V=20o}hC{OuT+Rsd9)vDyWI5lPZz1>5!ZD_I zkL#i*KdFUW&RDaclwHPIS_J&}KF6T!xBV+*ymowYU2H84Jl{3ezDP@Cd)8jVF}CrCSzwNl1HdeIZ?n@AR$%OHbEc1Sr0 z(bq&v%saXqns1>_h$Uv$hpIjL4(3ubx0EP(-peDu)U2yw#6O#Cv4=`tY7T)sAUQ;` z%zO-4MSGIdBrD94f6J1^3KG79@Uz(%!ZDXAW|cWR5X1KrR-0QOgZta^T6nE#{iDhm zNW%9f*7;kmzBlp9e}v1~=!?FivB`{(<;022Z7lH@)xO2dB_+H^+GZ9)UFB$5@T}uD zvle6=wVC&s+s%%UQ8d%eF+0o=kXa-=fB2g@7gC+B=s9MmxfODrgy#l#nP(yWs4kw* zj5nV`CQ@BIdzoN<^hou6ES1c2m3z$!khvs0Gr7;~2^mEt^E~7Mb3Eh{3C}tn^hZO_ zrqb(M@-N=ebEou5FhtLk9`Qxbiyrkw&w?KFMbCL2_eIasp72G_%AWE?&%vJYMbEgN z^+nIGp7%x1rd}|&$)1Ln;3dQ)I92I4DW20(zGNo+Ps|}TKJuJ|uUIdcPo;#9rt35s(OyduC-R>bx!&$wPCHl<@dGHpfEr_&hQH z43xtyd}`hel*4D{&&=FUxy|9_^}?(uCA_@;HS0;a;h!zPG}}p0{rZ^N^U@rsBvgW) zPbf|D+8iz=LFjAP*XAUMK0kb8E|)S{+=#G6Map`sN7bJ{v@C8Por@;XPmhE}KRpr_ zz3;WGSF+?dp`ZV;Ec+Rk6J9#Dl~{`EMQy6xwu(!M3pHDAi!VqV>kBF2YY@lk1JUhq ztnVPYJ&rX3qTAzG3djJGWY(g9j37y2 z9g(88oyjDrtjhtJMUuw)J0QzQ(pmNk9w7C6-Byx})?y{{XdX|J$x8e$$J|Jy`xRm3 zh3I}oSVg2nh0ak=xy=z)IVr~SWw9g>B?s9K#X1% z*{qSTxIJn#{-AO`v@*PAQOjZtt-ZOdkEFzfN;RbGL5j(1<%86xncEjq8mO$$UtJ72 zYn0cDgbduN&Ia>ZZ6Md_T~|Io%xiU4<%m6Tw1<%8#6d=rxS33m&)N;ChnW1BBqel0rCS$QYyKy6${Bgl9uFSYa65>Nd!p|>z0%RVJ^da zQdXL`TvviP(cO?+_a{~0K(TgOoT?kj5|smmXk(BZGB>YrxYm&0Q=sSkxe9_yWFHU6|v5u4#7QXk_ zhopkl(&83|@8VUkI!Foc$0}IerNqfz@OKX?Sl>X_(YmH&5QLYGk`a)`1JwPU3f5Q% zFE14n3&}?#ujB`az6VsnnhW{CuWK=+94$eWwGzV1Ldh=>UhYb^LU_3=iHFp!r?U<~ zcui0-#~|A)>8!Jm*E@99Wk~ZCT5dwN&ei4Ihum1ElFzN}0ohN|&^jVT z9nDXXG^L05xfe<TgOdn8|3J*0%ku#GhaqQ|hUwLr?1L^PQ4e50+kMoM%@ z-#Kb)?Ld|u=eE`!#OU*}w$@=O!{jmdG1cDIx+o=l{@m7jB_&GCqS>c^Wz07o_aaKv zrTqr~TU%>9MBjmGYpsor6#(+<{qA+?nC66|2*lM*M= z((%iApXMs95>nLi;wy!(t%_3AsPdIUCu@KdHLA%etBW-{AZbauT3e-r$GN+88luO! zhxJfOc$|A!nG$ge!)H4^td>#|LVBEgSmoYPF?=VT=kR-2wWX+W&P=uUup*^|$GL}f zS4w!CdssOVb2;I0rjn(EN41BwQA&7Jds=4@lYE0EKBT&OTT7FuQPtzz$JzzaRN~B$+ zr9?8-9zN46Lgn_>O1M4!tz}YTMWLT<@u|#O1BqQoZ)uYZuzrPn{yqIB zGRZ(|2jt~ZI{uSEv7f#XIxHsk^`r39#&8`Yt&38kM7hSMs7qNRt>;o=#X@>txPEeaveAl2 z!Lc!77D-cz8Eu`A67IzqD{D%Qi4see3el2c##rT~M2jX9g!r0dtTi$qeWaX(T>6q` zwMoWVp;TN>v|t$}rF1|hk&L%`N>Sr8on(R)E9FL_i}c7td2XvU19C6cpgR#Pc4{v9 zMxrZ2)fmQDiKRq^UXkz^##m{jM28AAS97qFtO#W7r8{HAC}xtC6Io|SIBSwsNXqa~ z=8E*pAhjpfDgh}-^0Sl*$kO+hCtEcT)4K`HI8w}Ht3G5T$$lx3O2lz`D1+;oVhv2g zy%;X#EXBlGW2MB1XT86K~wVPBX4FlRn+bCWTI(&(QoTW&L2~g_Ig2 z#7&YPt)h_Al=YZohSgigyr;^UX^n-Hhs?58Nr@6?>saD7WzDuyr{&tC#LFA>JjDkz zB33~ulSS|3wrt^Ct7brW9h+zMhIIeT5J@R(zEvX~mlIyc7FaC;l9pl?Slt3bI})+T z8X+b8#^qvbBt*Yox!4*5(eGd`w#GyB8<&f%sSy3fG@<1YITVww6nYH_rY=_sl74ueC!;l(=!2)_IEAXKl=+`d*h>n5Bsj2dxb6%aY|$ zhX3t%D{DabX|dm}yaD08#9^znlsLib7;h;@t%iY^{HcUEW_1t5^h_<0a-wD$Jzqn zqvvvxd)5KStxr6mSkUX{WWZ|qR(fg4q=ed=SBt%a{r><Wx7Iz#N|LKmo+uH&(9!cYiLhS;g!g`?ZDi%X$BB;ZRg7gP zAqhbWP+g84ftZ?K)6%1ITstpfSU4tRmqm<8BgQd_?3##S;h1;rX^5#rSwnIOk=QPt zjcbn$Wu+J%jU;wSNc~Bccu3_WvCBXPR8S+9#4ax-PPC(=)l(T$J0NdKlG>4w9W?8c zA~Vfr+A|wNCq}R&?LhU}Nu-3=pR{)AfGkPLF*TKh8WvJti%MrthTNo{ zW~Z2R_6*2dlJru3k`fh~LNhS6=?&lX_6o=<5-vHt{R>2&17xswsB%OTI)~)v3NqNs zKjJn=ixm@SdlvgHB#va#cQkium&&Qi z;jC7)ughka%cbN%b@j!75ABh;l@z6z;k5Vr&|Vji%v4qm`!Zw}wUEy)a@uwtl{JgX z8BMLvWhV{DEGj3rojxFQC@Zg>D3rt1g$p_W6IXi709?bHQ0D@N3#^Jk7JZD)rRZlq$$*aILJ5L3<`1^KQK zy*EkAqP#sB@*ZWeRIs-|%FsH-C0Dc$LRwN5OC|f36uKUy5!*!Vscc6SQoZ0YOdzRh zZ-GppHkTo(X5WIe&q1?=w60dSzb(vJ;VX_BR6749I7{f=_Oi4_g{4SIOYqZKpZPKR z45X$#M3$r8*{@7lHSI}K)Kxa0q1Cq6A*MEM%e5$`j{ORfsG;gtJv;Ja)r&@TE%61# z)VCvwD7n~-p1LAwV9$W?=P%lmG_)Tn2{mr5&SV#|0X3~-l^fbI@uSbgsm1|MamZLPpJ@XIp45+SkrrTE&bSp{`}Vv1dTKL%y{e zl;N0Yag1i;xrP1gAyT5m^5Jw$PDisn_Ibzz%3>L4KSWk_nyJ`NS%d7nWmR2qltqUx zk~xsRl*KaGUMD3^)N*XmgZ2PJ>{pPlrqfIhNt8Xg9G4R(SYk+q+j+|?Sz1F~X?}0l z4M_S3nia8oL+aDTH%#VLx3u@^%Q(zWn) zl2|()QkL#1uuQfe2V(A$OtF(!R3&o^OPpOUATLO!+G8Q@sP9$;Jzr-(gzTlQpnXz$ z=h1!+Nm0Y1>m54pr;kQ)$uS~C?cr@_rkzPjoESdT5}7GxmR$r=jQaJVlqi+uZ##4B z$x@<2dRAnPogn3g@%uG;3x}?@=Gcc-j98jdy?r*FBG z@vrRW+HaJ|Z@lojG1qo0b1$Mpqv~xTs?QBt!>Y8sC zRw6PEqa&J>(vZ9)l}HxY)gZ%vq&o~GKiTylF(e~Dq^I)iNC>~3m$DtrIoRim8 zl4bTZ2)DT-$#VNNq$Pco-J`lz*w-Q4LY9>_z1mOX6eo`bFKISxwcQfZ>8T}H*4n)w zm%16EJC(fNo*^Y#6j^1+7H+U#LhAjjC22J-IZB*aul8CS?0iz<#D<)<=uhQrus;n* z6v;-rJ>)QAHrc%c!ZDlexsZ3MYqWW{%l1R4O7o~*PpB?sVWNoEUok1}> z?8Mbo--}HVVm`@l_G2mGtetim+859oCD*!@6tmMVr6lzDo_e=^k6j5ezl)lq-ecE< z+*zWf0VMGV^@i*oI}&pEYaP=@N=&Fv9@_KMdDI>|N=lqKUW&$sYTsi|49Iqpz4lGW z+x~R_y(;a4>{pPRkOOwL&s0x2W*=o8w0l5)LChh0h!nb#q6fNo!9F51IutE|41#kF6tch*sIkMi52Yz&^z*< z(35g@FD0RVi`6yk4ZA;N0?7-?x?vBMqRvG*|EA5~4X3_`W|yKp5?vkNw0}WX7P_vi zLvsZ;?X8e}B%jKd-AcsJ%|g7Pl5g23Aj@bD#K}U>&e<;@*M`%Z<0N-&x1MVANo3u( zQ$xo5P4kBo^T7TTG8-|E>}rt6JF4Wzb{9x_#5}Y6L8gCYimX)5b9)SA<2Kd8f9^U_`dNxDVFytdavBIq$FF6WKC2hw|!iV@Cn$iLSN8DlutA#V_4Ie$Z%6jbf8 z9jm_Tdj#6-I>{kDDTYVPbBaRRAm$yXJfzfadisW9-gRn2Qv9OYlf-EXSuv8X4k;$7 z(*g3?MirC7=?%$!h_25lCZ#h3Qh0-kN$re<99yko(m2x~XE26oodu8w-Dp0O%1P(! zgT$fl8J#nbRM+V|iefT3uOTzgugp&3&(&x&!7`0-3PBzsCYw_ZGUZ;d( znF85_th&xZNLi|DZ&5nKaP|kJ4rMiPu0#GoRwL&rq%CDNrkF-f_J*ooEUic)of41} z$okT$0jZ0+zI3_f$_y9KagY%}LZq^{^bofeQ0mFQ}MTG-d= z8jyaJ)z29TS&OWJ&UDBeWDRtd1cX~S*x3c?fEGqMCm=hI)7cpvL86@30U1VF(N2cO zsu#t#suqrM@<0ltv1Ha5r$Im_P}W4J2V^t0<;l)a$TpgL=XGPUvoIjMyrwyuAl=Zf zADjb_B^7Nkol5?}c@U7fBr}~vO;ii3BWt#k0a6%Qvz;;lSxQ;+oCc6&7>%Etwva4z zde6)2Cue*>czG>xmOySIYq_%tV%}C+%blwM;jC588%Uww)EKUH-fgPd{G_D1r?A#Z zACPsFwa&>0X^fFy?|cerN+ZvEoApk$fN<6?P9!8b>e}FRgv>=<8=P+f!dV-gF_2#o z^Q$vGARM#FSpiA1L-k^_vk5Z3xGi`IZg%zsgtN9fe?l(N@x2(uY;zt!4y01O*yg+r z2xo0~QZ!TJQy;z9;d}teP)d#14kvFwIO{j39OPS!*iNSwWDrJdr_(GToVCm823avq zt(oyoEX3KR+Pv491L@yD^>nYZG9bJx_B&f4=dd0gaP~tE*H_!}0q0ymc*G7le?cA~ z>xlCdl8%18j`sjZ95+&p1`B5$chW#IqJ<}&tdP`n#lbNrok9WO7M^y>LJH!Ta>l6( zslQ0btTWD+0pYB3P8UdHWSw^gLHZ!;yfZE!oORLp5i$^2mz?F0af?-5mz>Q3;jGKf zK1e>SEmxd#kX%VDc{IP`Sk2XFu<+6Rnv)W;5_R2hvO#VyQ+3^N3I~Miy5*FEq}{HT z@?TCpNO}6ACXeA?PRoFB)*YuSBptN5UOF)W z;TFDjWKmBr=_q}9Hp%E z?tMrmjA2IiEo541OJ-$sleSXh!@^nbyV)Siaa_*q7KDtuto8tz-EskGO+C%xc7gQ7 zQqJlQf)t{o3~wn}-Ejfov#;##JjhhEFo(MqG8spi9PV!c;nB$Ho`mF}Ya$-`T<%p! zpVR97++6P80pYCNuG3oew9~IDE03EBvXAaJ@$$;!W(f#K=XLW#ennPZw-h8h&8l%$ zUbjX-xUPI|3&`Cas;>NQH^|SQs&ym3`&~ddtAHB=*^jJ(?mWm8WEFH*1%$H-x$%&N z$SUlfgj7RTVfSi4xL+T;4amf#obPj=Ey4P4un)iR!MhhKsc+cy9rVYEv(=kfGnbQp6jaMz6c0sRdExw zQN75Itmyz0BFAsw-|`P|(Jc}mAGUZXyDj|7CX8o1XW6Oi?V`vj7Tj$fShg=@7{eP`jU zhHhHOcI=}Xxj7-vi>a-$ky|Vve09^rtqGZg<<-n>4vC@V#j^*^+|B{v{YG;)3X&81 zjW69vkmGa}z~uvK(b&AzjF6Lj@%cruCLrv0pYsZx_2OXcBt*Ez55C> z2ur!Wo4cJF4HjO?o!n0$FVU~A?q`r8*dKOvn+AkuMY_8kAhR%rJ=}hf{WOL=8a>>R z0pYA(ZXBd3>gw$-f>gpf-`hPI5N_eO?sZ5@)HT3;3R#)j7OyB~fSb9!>K6;2?F@Dc zKn5afs9O%wEse?=>UInWXGOdHAfvFnM!BOQ8P2PbALULD2={A@y9iPl%WJH=5pw$l zJqSf5k998ugvV!sdk69{&aq?MSCEJ)YCVi`-|e9K#lq`GtQ!F_P}dYUKV((1;R7ZoVCOK z2f{Pb97FG!e69MyWz# z!gJl6b=W-v;kj-e!^7^afN(j-+-DG;ZRV^KZm5$QF`jMatP^g!fN<7nHwT30pE>KS zTO7jk&zyDEtrif@y5Kf~@GLQBU2;1>c$S#gjZ5y>fN(i~x-%d=kIh-v-4zg?$L5&p z?$&^CUANqW5T3Q>tlREI2+vw`UAJAMv+5}emvi4u0pa;@&idQU3gP*1&idP}5)jUM z;x?2LCH|a6Yd39i&)p7?t&kV)2$kjEU;ft}CnY=|{;xaze`4nTkNgr4ej4gu_m~oS zpPIiz_0l~D;rrAa^U}R0CHx(#S8g-9o5*)&3*I)w6>9S+j>6UDr7OVN1--~XCimd?(q(!Y9Bq{N9{hw1HCiZQ$yNc*l*yq+3)TCKwwDP~ZzkPaPe(@xFRzq1@ua`H?`eChqzo6=>6d-D zM8{hrB}!bZZi#$!|K0J{sd7ZRBI?~7&pRU}R+NNVHxL-4c2iM?J@;zD_7jcQ4f)awuVlq3Zm(UQ`V=D!3d634G(UX+Xp zk8?6_oD}s|REX+I=FO0@>z#4bcYZ4>xwk-xnb)Cjp66l7*^^rsE+>UoMv7Xd$*7zZ zUR5b^q5Csb3sZTuAs&^?EllM#R9T_t>(#PI?KOe4!_rCZMM{YZ)%E2|6(dHIWTbYa z_S!&(=A+*OqT17VV zzL&Ze_cU6xn@dk(l6>Gr1f()a7VkOaGL3V6k`Fzzx5{GSZySB&IZ_gYUKTmMkd#>Q zgqHGG6qD1NEQOxyCi$8qx0k%H9A|O*3H`DkNq%n&UEZ)md+%S5?=9svV|dD%KVj#a$Y&eeR|qwCdHKVszJW*s--TZ9X-jc zVj4pd4KN@rA#Gc$ryt9C9UudTTk?0r%6Z+Tgx~8g=Z%Eu_xj6wTU3^O_kS+6r@WV+ zwmsTMg*MK%#bS~QUU5h~q>@)zis~t^8&$l|1Hx-URj(7W_-iCfS^p z;`$?c!bHZ*giM{I*5?}D0x8jQKhJAa4R3{%D6ySlxUHZ0+h88r-g#^K%v&jA)D}m( zLz3N6!dqM|@0b#Qi>u|`Q1Y(cDrlvsMJtnKl>iQmbZPRq3DJ3`d)JX$I&{C`;L zddZ}O_r3MJv{K>(zx}bDdRouR0NL`0_8uhly(|GaC?yx<>0k79YLd^rLQ=vdH}Faz z=KBG3>Ol?n0xR!r%L{ zveCQAULQ!V8}x-Ml2+bONO5|4gr&7N8Itf^)%BG(7jkkMecg(dRU2;|r1S|D)6V-1 z!e8)COXalpjz9+fK+lO#d%pHALNaZlqbErx?>6L76D6I!XOL&x3~{825M8{~1LgWG zT4Yz{bn~)6?vA2wCQv!uz5I~x=zb+j53eNTJe9-J)2jw~nbZ;y)WTj~LrB4lmdH)g z$7>E5y^Vh3faF`R4J1bcLsTT`@AV8wOIkVuy@8NYbd0J=F@wFU->EkLK`m@RGQ_(L z;kP@RkwkfaLq3b8uL6=pd(Q*Xi{yLnEu{lKp3L#(5Q$h}C!(W}H`*Bt*5d@VhV* zyy`M0e2kmuwUVONa6Z$U=zS|C{6SBs&`jPxc2GZb1C7HfAoqDQOk?h-uYD546ho5zpu5F zWTw|M5VM+OmNzvJvyo)B_nVaP);-7DACT=7Gsm-{xUONLKXTJE|0Hw0cOj2R4oXQa zB|6l1t}Tv}%=0oqhLN0=QbNkEcbd*qG4s9hO3W`-(eqjqGvBKwB|)sG>+Ty;wm>po zwZvnR1zw7w+@A1v0vC86NKs$o|5wK3k`nIMPhLeOp}{-oNkZB(fAT(qOe686^ne%! zjm<~&G^W=NlA7dCI`>=XO_MTAOr(A#rL09>u3_Asa9xYN!U0J`F^j$KQo>`n#QPSa z$8d=krLyE0W}>X6-Y5ueUF%ZyJ&Asvfi75nARj+ zNq+HWA?7AxHhRk;yu7}pm|wjM$l`5hkd#M|^>l7Bf@G8TLG*u@>1Hpl6g58MDQ2@b zQpL#enMShJ`vJn^!^?fEw;!U%XPb8#qQ_^OcU{V`klrq~dk>|=itaQTv#6ZyUiR;~ zJ+Wd7$s&>+-WL!aF&>}aycQ5W8oRvqQo^IU+v@|-W0>F#gXj_4 z;n$Y9L2}&NBPF~Qob)bA3BRdy(tD+1Lb;dFyNZ-`(yKp;dl4VXM$ZiJlhr4^!H^-1 zv@Dkr9ZHp-wu>l^Stlhb6hXpmKIv_hGAy+J2m0mWR`jbG-fqO4C%I98<+)`gH zJMEo<%pl=2;nUt_DI-LtBkJt*j8}ZLY@spfsG1EsgY(sR=YyB@r6_98S+AOm878t^ zq*-+8*IBPOvQpB%m)mpBdm-hDarZCv^z}K<7{et;iBj|{OWccdUIe5Djn7*u=e$=} z$_<0h;`sNZE_ef_3=_A1Rm=T?w?oQsk*t6%%27ENyv$>{WF=hkC9iHks*(KR&5;r> zs-dS>ysMDG<<(mNSG?ztF*nt>l&^Reox$*1TFGvx?*L!(5=+@FnvbU^`)EIZ-D`rF z+Dp`XkvF_Hkb#TU8}Wa6oso4hMrGahenpHyb)Bc9!yWH1BsG=8a@V^IX;?tLJ#^12 zGG6vno)yfZmfiD)O9`)s_q|sE;q!$1UT6YmsTdxy2j1j>tR(r{n-!4IhxDX@w<;h! zhL62c6T{{3I6w9FN*NaVvaKN|kUaB_KxUDA5y5g6V$iXYe~Ib2cLkD?WEQpTxpy0~ zkJg{oRL%?U86+;3CHhK98N;>TFv@kO`|2jgl#-GlgFHjs}F+%#5LP0pT;)OrdL1!e_7_ zgdPQiTNV*YK8^pWVz``$P`-fh6?B$RjezhvpDolOAiO?*7&;ITUdlN_iKmB4&Xt+o zAPx;zB1)W~x1wl|lqd9ql<+%ic|r?ROo(Sic&*D5YVZS>6CG+t>vLKvCr>C6@)E~_ zJfY4~ZY0|G)DQ_?3CVFwl~X9x6cP#fKeFxw zPN%Am1Na#;qq{#>BBYWnLLp0*Le`KyOA%3`WQ$P5W5!srjb*H536Z@hyJ5!Im$6rf zFxiqKRF?O5{^x(5`{j#RDyU)8w9@)*iznd(Ku`J9eD zMv6>T&8WlDfJ^?DjYcF1q8@%P8B^1Elcf?w=3K|<#&R2}WK3OSAj?tCr@k?Y0$gC74rpB^)&vCk|~JkW!Q6qeC9y<7`dZlDWsoKAWFW23@}PW$v|W< z&?p}zsfhX1s1_yi**(Ol7bQCp6E<2$i7X)#jZRUr7O93CA4JJvq#9}TkCK&$8Ep)W zlAjSX))*Zn9dYdAjXZOMBdv>6$wuKQc?mMnNR5&TkQ8Hglw3s4Q;ic*QUWnEjQ(E+ zIll_|!gyq!lmxLCPkg!c*+xSWRhRe^`OGmoM#(>rxyENC8B_<5HIRA6OeIvVwnfeh zjP&_3XUq!!7d08kBI73#RZoa7inn#+Vw5>x=pvZ3X_ zG*ay_j*|p+fE~u`U(r4rRY$~$3Ka7eNwU!yQkA4D$NV`QE0aTZ8a+AYQN+AL(qG4n ziW5yByNtmclMi2VZ%HzoW8@d%+d+04V>xC4q!URB$H?!$zX#c4e9kcmke(#-Ic7Yz z-Vd_ZSVE%8x7RuuaWS`M+(Sx$zcw{k&7*I>STOBZ-UHV|m0i&4`Q6KXw<-cVb z-To7kX&hgv@_D$jiaBUJ@|}_@b5%d%LF4W959WN(D6mn=L^1VGe8ajr#)li_SmY{L zzZXESz43OG^r?#XN@F33YN<%XksdV;kf(6?un-%7_Wu6-RVZ0t|0Su08&g*;?dPg60OJ+U?v#4#I2NlA!j zE+k11{~(_W)6w&47D$(=g5I}>&8956_bsQ{o+LpWz*yq)$S0@SnkC39MI5F*``Y!m1oAYD03Fg}2GAr--5Gb7=<2V^$@ZNb&|GuX!yhrVHdT z^MwqVDp`EkDON~%+)O8#DAs(372qLHnzy&BnADb7EfP}L+_PH=D&}GVq@=lGuaem7 zXbFQnZ=PY9i~DRhq`Y~DWTN{)L)yzy}8C^716rh+JEczO2 zZZ$*^V7)Z zHS-ygB%|jP{N|8WW_6MjF$E<+Rg(5B&Vo2m8`9c*mu1p?C2h;BDh^@CXuaQg?t+0o!NX{LX zTSyS{`jJ=Nn`VI@q@=~_nrC~n0ZH(?cQBhri7fd$m~Ep()}P-pJCg+U`A%kk67>Y> zfUUn{*7}jQZuA?d`oFrH4OuD_IB|MepwB8Iqvf=waR<32IF}%oRV$Gp2qExk6(P zv+xNL<8lXe>^;qrEVm)@*Xe1NXIY7nA^mXdz04O`(jkLL>afWE6nX5u%|JKoxk)(@rOI7`6fO&x=E9QkpG1N*k!0d8L z=A0E%AMda^P}(AfBwe`4=uO7i7+^O1S;nM`Pch36CqsN<&SSYdUd0SF*O3JEpHI!5 zQ8FI+3^tEPiEMoeo9CirDq<4M1*g?7_@t?hBFRi;8R2TV%<^?aa-UJD^nH@N=< z`#7^Q%i7mf%s8_p%R>V&V-@>6-h7kgF~}y8&sg?CWY1BuIguo6oP)?3TCzD)#YEoU zCzzX~MDFth^XDkphMXswac5}{DV4kuCYeQ|WDg|8Y!D?!Aydr{NmSkVXUGim^Qf3h zkXh!gsF=SXbIm(ZF$+-}Twu077i>LSar7pe%SnRLc#*kD#TfdxSZrpnoad`$vAK^V z*%%!YD=g%**!+>j{1E4vB#R`&(B;Nr^E&5K0;zIS%)cZFMo%M7Kkt8Fgpsn&*X(n<$HL8Q4-Y>cn+yfn&nyKIGM|kQ)UMebq-~YKbz|~pN~eV_ragd?JUC~vb6cxJi~Id zlPZx;n^#$WgUFcErg25>q16u~kg=^ZW-gW@klQ5BvAl^f!g9psFJ@I1xyFEeqWxmF zWND98Z$Ctx?X1~}r7xsAHgeV+#3H{vC}YlUea+)6Cn4txN{RnX9#@9Zbcw1t{AxZ-l4RUou150wYUX2!D~We* z9Ori9r0Nh4d(kOXgUPsXsqfcx^FLz??}kQ8dQ-5_u`r z6%`{I)`}BPLw?iwJfz1g{bn}5D$hn*Z0oQ(Kfjr+Szi27)oretXGqitic-kuswsY# zsV0iLOYsE?$nRzcmX)b7;zh_c^E(zfQl$>$5A#4&s#hU@nuV{ae1>j88xiEX`7ufG z#J^!KP(ov$+9T$Mxr{}QeR_xFFiSJ!(+%>Md4lCVNNem8JF?CBk!-9rp59X zMBd9c&73SXdc}zWNOjB1&+;Z@Fi97Z1kri08trr2>`xLFhqkD(J%5|4NbubOND@;0 zV_xH!sT_01H2#$PlPrA5c*NW_i<2aX;t)BG=$=`F1Wzl794B+%Y{N0x)77?OtRW;5 z#r!lJ7hX?uiixwn(w$iA&WszGG$lC5K0-CyZM zB=flHj|(LJ2PJMKW&`*1c@g=8B@~e+7gQ=gBEwj6L}VWK^gSGr<19HNa*liY9*Ia^ zjG&M`kGZtO>)z7b5z)P+4~iU#5y%)k59RrJG?Ge+>}$&#ksNqF%QKcgBD$~k@drfa z97vNzs#o!eNQ@MjbAgC_x={5P7K%uF9)(gkB0uv8lOkH&zfoq&dT-H)lrN>8GJ$Mb zhm~w_wLBe(dG;sOauP@rELtqbECn(WB99`Fa_cciVFdckBl%SQQRNfJy%~59MhOte zJgi|Na}J~)kA@1Q?Q8#y+1>QNG7lrc!&E$0I6U-j2es_mphSBuR$31movP zLO0a2pmanEvTVo5y(<*+49hQ&KS?T)Bp5Z(;!y*8U&X4yGWwrbmWC{?IOi(XLXvc$ zM|oATR;w5>IR#^gkaHDlKTCzKsx7Xnb(|zgU_TSoBD+8rEzUJrb;zwU9-R`>JiNVbSBh>R5YO^jNjJ))5vx60ELuk|Y?1R@b`1 zqQ{ukvy7W^pTpuGoF92@ykeClNf4j&vDdenkf>|Sz>zkv+LHuzfQHt)Q6itz4XvJ0 zB3lAqwLT^Z-dq|-uIFJGtQA7eO|`iFo2z!?rq)Q6kI@k`{bdcdsg=yq4I*o>O|4B) z+mgrA%-YK_`mMj2b%aH~^*6J!-IB3MhJNdBZdoM3TYqyaC&$DbQqSBL)?+Loh%7f+ zScO@Z&QtZ(*Q}B(8zJ&+yk>pOa<`p|X=x2*dH78g)6)7vNu-6Lm9>;(blXlVYc-2* z-)LoBAxSW1V)bBIvbDBuaExv_X>HwM(Jd#ft){o-u_qY&IaM304N2HI50S^!#_C9t zWaxAFy7eB5K8LScQ&{vle8ZZ>`RJCDH>`yu>UWo0ZELL{QT5ea_}$xD+f_c1V{d2e zS7Iz|pnAmGS;tt`L*yQ|vwmes!!qjf*x$5%XW0vpF>hM;S#;ZSd+VXU)$blgi>v%~ z+FL$Jg0cOMdOCEl@{oj$pCK}z4%Sl~6ED=Z-m;2w%p(vP^OjYXB)Bg+T9ukPJ9vy>XBne_(u{auunqW;)G2-+5xHfQB6ReFS_)Z_50M#JFto)pwXKkEymE|(acq{+E@{A>mH(x^U08%A$>6acabAA&tAtEy8&XAOd z$eiU^+3D6{$|tzLrduae&XKWL)2*00>YCSO!gR}F(PhGP>n)O?OqgMHB?-!e8CGwV zD)KAOv_Aen8LA}mg~XZGC>Fh~nbvfYU|XMCb4h}2eQqsQsUq9@!rH_6$XPbMa5lcM z4ztKN&3+{Rusrs*s?*N0vfWk3UKt|q(^;0yqG#gFwsNxQnK-kpiX`bVJyxrde~wj^ zBtgVK87Dr)w&qxk?mc+T&$GHHp?6`qhx4r2EP4;;S--RBt&F+^$uY zPZG@JT4g1&=$TxrEk9P~la@`lKCQM2vFH}6@2qE7bbHiyRu__B4&8UwP7?LRzlNju z&N@yKoU!k%Gf^VvH+^sAi&IA-=LX8NvBoOMqR++}s|1TY8**OTTI+chJ+E!8)r2HC z_H|Y}j?w35oz;aTI2-G%6D;~{thc(vKX^9QTc5D#v$4S%%A(K41}l{$I2#+Rr?S&= zMXuEiR^=$Ug(KZyHHs2>wQRKBR$}P(%uQA=7Tun?$r{X}+j2Ks!&!7&?q+K|i*6H6 zwLWLjZNjP6Viw)ryTw|=qT747SQ#w3EqAMRh()*MZngd<3EFbgtn3e|-&EgUX_m_( zf5Ce=_B1OOi~I#;3vZfLmLxcb=~hdY5_K^j0x{{<02Y1bGpvCm!OX-A>l(-0#k@Az zQk-GkWzqA|GOTjOgTGFORhLAKSa^(5eWYS&c3v^aPU}+^IXh4Of;+8wEOK_DInI*5lR6v6tg|Gl6=Eb}j#>9f5{x%;>X?UYIxeF(M4qu@md|o? zNR0RdHG|_;L6%#X*&*9$k6X{MJdBpxNyz!Q^*l@dRP}!GgY^l4S4vVfEXIb?_>etad^1oWm zSoG+KU#%W2`rZ73)sIELn_sZzvFLa6i`Ej7pnc<_wVGqr{h<0>E?FB{c0uHG=aTg! z%iBD!_OkU0OJ9h*FD_e`Sqk!-_!a9q%X9oDe#N@Ovf*V_Gylzs^VN~=g~)tmli{%)04BHs7~Uoyp+|J|CaQbnGye^@I?R4dkb#Qb4x zh>|OiKdtTmNp;=2t|Zb5aozftMZZN}w_tu`L~&*?`UY_h|FzDsY-PD)CFXo^ zTX(I|Q6jf>*P0w9a$EPTStP->guRSJ)gkX-TiNU_B@!^(6_Lub9gOXit<7f+#E24z3E2%v62x%y@4SQ<-+rAWE!)m< z=*KRGRmtqPNrGB;PPjR+Pwm z^4g33lh0!|0!1tzSAQ41T`UQBumzPm&}~ zBbDqmd)B_dau|Ck&+~Kk>;fw1ZxJJp{W<$MNm#5prTQjH+wyxTa_g5lRcU(%NxJwv zA_rJ>uSaRSXF-`N=)Wj!FChtww{olAuIKFo9HaXtD%kf~bRS1W`=LVWxEdjq+`|`a zpCnzZTdIztl3jvh_MjKI6ppl#U6mwBG{QOj0OzNQeU7CMdTRPWs@ig;1$pP5pR3w4 ztJ>#S{)Nb^uBu(Oh>FoA?TdC*7X5^M(H_O3%jcKu2`su@{Uv)Di!Pt5*>aYg+`4|k zR%_f7TGtd%_l67_Z?ud$kT0*NXm ze}WuD1QX5~Idu)iPPv-ptZ(y86B9+S^&=s9<@db?yC8`HaBX zsB2#$Niq6;lTD0+)U*FkF=Ayo%+^6UT+hBkk`*%#>nJ8-)J%PQ$kXy1Dyh^MZ!dPa zVu9R1sz&xcl3*Nl6Dmn$Ta$jm1~OUkzQ&?c zHMK)k={Jr1Ud`-BqhvCUtC?LRO6EYC+l`}SA*6*ph9t!(g1JK9Lt5HjtC+}qqL%h% z5{#?lIS4K7(;U;|t2pubw*sk(VJwBbdW(&W73&_A`IKgP86x+mrCo_7f5$kn5z@+T zOA;0zk3lam$v6`A%-u)wg-S(7DzA;!ww$w#ZIQ@%6K(9LWmgAUFK@1lp{wq7yEKdO zO$>c$@pb!ClHk{Q!=6Z@p7=+wtvBqsB*F8mt-VhPwYZ)@Ok4XXi)?ZIh2##4zL(qC zan;n>(D!mX`xzEJvgl2_9E%=V^rk(8r7%X7UqsIB?GY^HA-|JMB?*gD7#nsI(!st) zk}PgQ?n2(Ob5xgG$CDZ(lw>PJCp#Yr#t1=VOeecA$F$mlF)4_7$9{*U49Z3M+a3O+hs}ATfdxr*2Atrl0;*G<=b&j`xPaTYon( zk|5^Z#nl+XYy$g{TJ&4c9(Kf5Ke7vusB5e+w$;yWN0Kfw#^bpS>2G&okuwFJhYYaS zu*i78{oY5a&+Hp4vL&z=NuGLgpM!SV(e^+V-A+5kP9#Z>jH?`DpJ&mnd}Hj}BtdC2 z#*TYM=B#SD@<_+n4@Zf7KOJKiB1tmzxZJUJX%;;$cdT8XhPCMRyhefy3j<*N1=r-77do+t~gH5(~vgk3l6YQfbdd%$v`x=XGr=4iuWzp@l z6YWCv>8wV^+)lDflLTXKC)pKQ^qAX8b}bfJKFKk+lk8?JdOYo9yFH5@PdnKjK$2jj z*2J1=_)SynFiF@r2$5^ArP!l5CO1aLeu|hW_5_Y84v}Lor`R);(Cj?pP==IrV+KX89`fM}p-7K;NcnWg<+&;u2TYx_&`HLh$)W_E4v43IbZ7BD7 zB8eP#I?FCdqE-%^hg5UyMjRu{`DKtV?G_~JNT;EsooBCzlGTWrZ&!a+=B$og&XoMh z9?^)-k8yT#tZ>Q-vCtk*60AzG&~DLK#-tccN25g%&#y)H8!Tz#;>2d;yvXjaW5&dZ zZ6uRf#t)AZyGg!b`5traGfDQd%s|e^NUpH-f}A8Vo2ad)BcHP*MOoHhhW>7g- zl6Xz&98xJNN186OYyC&Qwre$iFlMp6<3F;*ex${NF-z@o|B+?(>Ho-b`{HXsDtV`@ zu>Xh>xj!rHJO7cD_U%?dDjD;QUHbJ0+E+rQ;cCgspdPZw|lTWUsk>KueS#(5uctw zTLQMV-oC@q3nKSjbBw;b^8lHGLWXy4n*__AFBEqFe17EI&fzwzk@_UF9B56kAeaL~W!>vkS5;Lp}{5>2?j0pgi1WHzY|B zXS1V5fZFFadlJidyyFkX`hOYr0+xK!F#Z|&Y`4E-$H#i$tMyw7g?zDl)c8P*Dh9JGyYbmk+qltcET zN{n1+3H%T-hwLX=ia`dDRANbeQmx*3*sj5H4l)EWhwa`hy?4Zl16T>+i2X6k2*^>A zu_Wn6-wahBJ8CDBWEf|T$@L|$)}s9-%ci4RRx1&DH0Dt|i$#y&JZ9(qKps~{WG%sC z_LD5S-R8Jmj3iw&Nr}U33-n3ZH&}-D!5l{%jLWh3k_GZP zXRnFMXB~;rE68~ZB+G86gx)XCJcZdh_DmLeH|;{qMf>UAl*;%UWv3h;{=5C05|M)U z54k_T+ZC12l_2-|ce_TExOnPavtNypQ^@&GyDR7OHs)o^d~VvkNHUDNAE{d0O}md0 z(F3vrEgm=RsVo;q#EJrVr@m>YseB^W;Vt`?664KJRX(@u`y^rG1BkpUZ`sC&!P&Tg z{kd)TCsAkhcgWxNEfr(DgVXvqkuKf(h^x=H&*=3c8t#k3qAfJ17)hNkc8Z%$)0)6GylSK?td5{=q zAW4!)8>rg-Vx0{v6)@j!8rrO4o%|okR1-yYv~=Y`s#vESNwO%mCRP-IWOwdxOqFvg z<{{@qzaZ7Kh_M_4Z#8o31<%Kdmmr?gnx!qI5#(W~#XuPoT&uaAccY{&Vsbm9Ns^4Z zc(&w4yZWQfB$l?2PKbHb`BJ5d99JG^2}xL#8L#>o^WYkie;MvBlvQ%(LLg@#vUN9* zLAdW_Ox{SU$q*S6Na{rO1j!ePIR%l|Pd;ZiZ9RB%dCWOPk|G9Ryw-cz=f`xa_{mtK zzUKpSb3vT=81lIDBc)0f^D$p<801MOW)Ph*A!Eivo^o=s)SZvjgCT{Tl2Ni4^0d=| zBrHbEixcZ0#ht?}E&s&R15#4&kNYadMatHU(h=zbk;fI0_?PFP4;JUAjE;$)g1(Z& z$S0835py*WUwe^^0=zXr}oKO;@_xS~i$5lyX8=;msWdb=(i)JuPFs=;QKDOn zcp9bFE6#f?PqNf^`mdT>OcfU0(AK>P=jU~&fmu z%s7aMtm(a09PP#tku|-yAn!)x(TV6OMyjq6(RIl8o!PXlut=;MN2`r};Cvk=2J-3d zoFGXQIZ^(|9_OA;$&u>V1xoc%*wOQu#CVsD_Mgb?7YP?2_kz>20QPOWW+plh2)*Rk=diP1r7~7bh!w3NiOxNe1f$IsRsJM8dB)KBF<$;!osC4N z0LyC-c{UQAIxM;dJIrZB64YRaIju=jj76yXb;7oioCK9h=rJcr&IXoNOVJBKF&)Oz z)+6<(;ZC7(5B^@mof1(Z_h-0MIZApWpAk;2DCrLw>5L;u5M^)_VaR9Bnkd{1mh(pILk;> z&2t=bp5$zf64^a9#o4dKc;T%2Ev7lgSoC@+)1044Qj8O|gqVhWra4(G$+22~W5M(| zj=90I7~4^){$<(syq0Xq@@%9Se?(#&C8F_4JX6ZZZFL|~J;jS4Go0xpNyaZJ>WZ4< z%w^HD0OmMfv*=j>bDVEj^elim&N`9|Q5SW7+1@?J*~+48Aak5OBteV)9LJs{_c?e{ z&v9~+BpENYj}y&Niq3H!V`&9BjC*j7QAxz76}>4tvF%ym9w(NCGV zPNGT`c{iWyWU}bG&6my%7F{R#GE%PUxAl2Wt;zBz!lLjL^_H~2>6juVUFgzyfzy>m zm&Oa7u_R%UAERdER|dXzrm!4(RLNpzHc66EVupIZSmG>XsRofx{3T9~DRNs$#;=d5 z7PF;JUY5TgD5Att-sg;XT|ZnF5nYE|?$n`F!Edp`X`=Fpyos-HdPRwB2UzJ0j1sx6 zZ=Elq@>y2~qez|OD#pmUGFI$^Y;aDq^oqy@mM6c}G1pjLjL2=4Mn%>AzQGYw)v@=0 z$g*XF6Jn|QFut&aqul5`%F=4CdQxw63bVv6SJ(VTrzA^Wh|FiBQ-!5xjaYFU`@G4i z$x^aUtT;u|fTcb}zRPTKUT67?=NxTzIS^fMzD0{ zJ>24qXBonKxW$>pvWDxTTb-|14su;|tMeU8+}p9@9QHZQ*+ddHo`zf^*-nyRtm>lL zSJR#SEV|z+-8sgh`>oQQEEe4-wavN8qWh$_IXR}uUne6nRyM;a#-hjVWH{AGl8jZK zs`1zvPF<2j<7d?7{=gn)I2}n6jPmGDxk>UKN!Vx#xkK_H=TrC#^($|8hOkV=zsHtE zd!{pk#c!%@x6$S2dOHAiiIyRT9ma?Y{LnvYeWP-i>rG{m(o_i(^Wye}fv z5oh5%B?a)`){vi^R2CWY7UYC85b0&ABKz?b*F>yP6xrvCeXzh_s*}5&(aXRW-{i2lZT}ZM8;fjo?_{7S;bs*in9!c$e4>x zSr)UJ+SVnfGD}{FjJf30Wa;~pY6H3KG+>zmkujH@7D}iT9f0$E#c3ZULmhdYq9dhzCPS_}9Z1r}D+go5soYqT$C=489%D)`LT)+N zNy4HHRv5Yg`P(VEQ09{^WQ>%5op(u89cdnNzU$0a5*Z(L&sjk+!&4E!&ka)KcO9GC43naVy0!diRovZEw(;dPw z?-Yy^uVU{_cOpxpFE9%LsVw&^mi}n}IR7GDY2zBtea+sN3-WV%kJWLF7}^?Ghy=A;sMBQBo69#$83C>Z>gv zFSres$gL}p?Eux?)=|<0F*V$Dk|a^2IG)lAF>cVktt2ucsHQ7W`p|~??koSiY&#_)cBU#ZZ(z)5cylwcHd!<-_DioBz4@LES({;e6HheX3_65 zb=~bOp>b#z#ZlCCZ?hDEd`u#1fpVX(?N(c_=PqFpd(_tJxmhfgV&cTANAce1US)X& zvL%m{N0zI6h6)u^-_6f50U~4SyDzgmJrwIlmB&{+++HLJhS^EgHyXGDSgORURZSYW z3t9XwXt~8cH*k-!6ytf~4czQ2=ob`)wxdj-m|`SJ)SDyA%m!{5j*g;u(ni)^j8G3dhL48!3(59V_M5CyHArX}?6OChk#^pm(5| zoBbOZvn?iOs!G+&HCQH}RnpwGShjGVLJQX+Nf(#!gq3R-w{UZj1aEDxxdo#{-UY9@ z<)UOcq?OwtO14AZa>tVd*Zc>re5=uS!Fj}VclVGa8T#t|*gedmuilT{e^~U@`-z)v zmCPr}&{yv#ZZVdB-i@K_XP{e}C2yA)x;6&7Em>MXAWhuKA&ER~FqeIn?dNqFW}1x^qa9 zjIMaj%j-G8-OX|^BLA@b29eLo1h>F!mA>-YtB&tj(51HsLAPMf}$?kHJpp-~)caUVn*m&aCK&lis-+H;NpxpSv z&CjCCjalv!B86sXlB64AzH|>nNk7Ou zci;w@D#`fl41O8N0yj}f9fox_elzp=Wj~ z$zc|K?<{mrkOXaU3*8GUhH{pDzKh(c8|5CVa_kG_^R?@5qJ0*|CCoU$8_p89YLqNM z%u;s+NdmqLoc&)ncPAqmzrK}-mQ@j%%W^Ry^I1|V>wFfn?2X7`lHl4%b-yLS z{J3lABSJfNs=I}y4DJFcTipFD+c{>ddy?fNmNfTomMoTZ_n|a-)uCMFe73o{Snm9; za?WrIu@vG|+ubrO4On*Q-!y(RQf>By*cp+NEW6w$lqx}->>DRe~}w9(O1iUcNmMlTK2o6l?Z+8``r{4ee4I^r6g&VzM?YSwJiFI%5=A}=qoDI&1BJ6 zRHl29MPE^w?nM@TMP<5wvFIx*(~a3izp~Kn>Y1)V64aJ6U0=mS&U~i(IEy~>neHZNQ?>e5Tu)MW6Xh_Z=2}<}=;iEc(o6x&v7Bna^~GD2bf; zOm_;4KJy3NWhB9wKjf}s(P#dUo57;b{2})si$3#*+*2(2%pYJE zvb9IQTm9sA*rBBR5cS2P6Yh$gQo^EIW0lWIcNI%c?6b`Ir0eXGF-f8(+7;5uNg2qp z{(P)3vCpSmd$-ExD#ldGt^eW{Wyy}Grwe~;Y5U`5SKZdZ~- zaT_f|vNhwfn@AG$%Up5Ckf>kzLItdH;7*B>+&K2D?w3(g0CLUERAOY}O85n-Zn!_N zJc9o!IY*K~tJcf$hd10@d)0ZCBN9s?pTFGaNrDyfZ@EoKf@jLDNcr6PMf9G$ff0#r zYn2a`#ubszE%%nB8+dmS5|ux5#^LZWb4a(RtM_ zdfzR@@;*ey+;^+8Oy;p+!mGuyfyagkuQ^F#q-80_dxJ%{EX8!MGU7K(iWTiBXD$8F2J$W>-ushMrHHz#V?+aAUa=^V?X-qhizLhRTEx;G&)qKvb{c0(jR;1c*jYw62eSXB89vH2jo6y#f+_k)eCare_l_L1hL`^ zyh$OI@2w#Ti-u^U9uLXs<QLWap zWjmiYog_gl#kQ6sReo<-RE%udF5sm`#cV)KLGLijz>nj^PDoMjHmB09=*2zrh};&> zT189=FAs~HJ9z?9(tDXC_;pHo_5V-0C^2rnjdlQ}D&>8|k^?I^T_hRCvW{o8$o|ubr1*x9%=CPE8+$8yyrN);krnI+(r3FOBl=cp=oaC4?-YJ%A98<>o zjiuB)l}}mkUzX|+nNL~I!kd_UUmk-u7dZyzdGBGC*%0}Rd)|ABW$ZVqour&sgQXYb zF7heob!6EQkwGL0#`#F9sU%r34ToX2P6e5&C*JX7yTrfvEnJcfBw^7OXDm0Qyk{Mk zF$v-xpVf+9&L}C2n2KJ3C@Bqj!Ar#Zq`aQ>xSh)0WRkGRcT$xAl|8x64vsxi%dPBf zjS_k6mA&0jBHzENct=Ro-CYgxqIZr&y&>W;D5`n?s8sZZD9>sQFWZl_EknK`DzQjX zjL;)Ufqkywl*vgkP)b-WEES*9MFTGvZs(PLBVdb^aw=y9iYy*(^?+-Y5J zAB!G$TGu~meO#ZU6rNfg71#EC_adfsso%rJs1 zCnWdVWme%>@oYuRk@xDcEKkTr($Q-{5*9M13S!>z(n%6TOWe7yK)QNWe~~#Sh!!}~ zHjwwdnIwtg;J#SVAJWq+c~)(`9mau7g!J}qkW8dCaOOh#M4qSdV}y8r1jY?|4e`vD zM=Iqz#0>D}kfg_?97DN{THHYIOP0|`R4>(_NIw0;G2$Rned^8Ue59O&4DnWQsx8Y^ zJ_+78EH#kNRm3EEt4LG{a25APl6PE5r006LcbX)@_zI(;ZXwlh?*hwK$X${@SiblQ zYb3sa_FnG}Nl*tE;U%I*rQ4C7!|y)A`yh+XSma(F>GdT+-&TKB(vI{7k%W!d0cteM zNH2+FzO5E3D!qf2WN#tMZph@mQdY9)^%Fkx*0SjJ6F&2{vK+zK1KGDe+S|pF1(9{X z(cTX%Fa4=v#&~B~nm}aC81EWMvhhPEzDI^*AM1I)(vcdy4ysz^ST8rrNQg`|)_anr z$SRfdIPYne>JS+-&MQrlWVDS@Mh_@KjR9OzxyBP-*wegK zEV_SZnsZ&k_2V%Os_eME_-Ks zT}YCIk%;;l_W5&fHpl39*tuLHrN?JSOm)P}_3B-sV;9qKUo?R%@P?2C&w{VL#h2-7 zq34Bs7A*EsS@hFksrL&>f;id}bEy!%+{<}I<*es7t@H|zgvI7Xsy@HcD@79Yo~-oV z|38^Z64ZZIdRZzT;{(iIOn6I(mEKjBVUVonq}(DwZ(td$LIe56yU&sz@*9cqo7}^& z@isCWulGumB#5>ATden{ zsF=uIu-==-qVIzB-V7Ff7p(U_XVG`TdT$nsz6;iSb6E5>zuw!#qU$6ZywfbYCbPjy z`(0g!`m078y-XJUwWdwpDHd5Hs@YwLOGQ@zo7FTvYdqU zA{oS@XY1_nhOy|`Iy<~+EPDR(PHzs2p1-`)TTc>>j8fj^rLla!3^SQZVkDurhg0d9 z3%k9;EPCd`Ztnt%{-VY2#dZiGQCPHUo}-< zlR4ti+#d4^uuR35DCK=|%xil~#sssFj(I60!7QZX-Wry( z<4_ODhqh(!1W8y_?}^otaLxbZRk^LU^$lhZ4Tqfay0H{P9bhWt7jGWRt)sDGKIFW& zfaTKh7_l01(Obn*6f=yrL#}#-|5iD#!8?AnCo!_otHpA=R-8D4m>b?g7Cm?Arq|&g zI}uS6J4ZQ!ye` z|E^3G%;d@zYC)1H^lYZM&`FZuSs5R?2r;5s2I50EDMpn@`Saj93&q`&IV+K)n6ig{ zB}p;Pca9Mu?2i$;uVNx!VK73u?^7y6*NBYJ6C?>n8LU&98#x=HqAc&OM2i~b^DIl3 zs;C>2RA3p3acEDGyu>mK@-#_3lCY5zIhP_Creeg7Fzy|a$t=4eH6V6q9*cY*d==t` z*0UHzVnusM&d@%V)eu?sJ{mef61?x^3E|}6Z(ICMd;=r__0>R5vg8e&qg3h~_CU`0 zLN`>-REB>Hc|6ouVCoEN)a9n2H5%ii3Wi#-^o~e-mV*%4x>7LoF3Y6Js>iuts0T@c z$XQ3NmQXO%kEI}<1?BV0R8v_hMq~p?vS<$(f&D2MN{o^Fqa+zpD720wXyJSsA54=m z3E~Tk7@vWdr$b$`DOtl(JhUQ~@`;RZDG}O0qS`9wBUOpeeiqqQxdc)&bcZFY5WblV zDHVDU=fw>iJL#%YF1jta}u{edr4kwQ^u4QavA9$|ARQ98xZH zjOCk`W5v&q@}b{Y#=VC%Dj*d@*)V!Zw&3N$jDw4iN+F-+a%c2-K&pg#lBnZ~sf@Kl zL&sUzc`1~aMaJZYR14K&k-eplL#l_Cu*|{!6o%9YiHB4^752r5 zXCXC1i6p_@T{|?BB*oa$3G25Yrgms8i8_a}q^%uFS1|$~6A>>`%vF+!#=PFKq7I}^ z$i}D|?6dL2f;dq&my}{8DMkv`LK$OYjBBU`OF~3GRjI_3d2ymTrAlIHi+ma)=enWs zQPPa$3Q4kfy?mT_15z(k%Tz}yQ+0&A5?aDid_tU9fSl`x); z@@nW0mdEE{!CPD#rPBOJtf4n4b@{wnS$@sK;8_sj*^9t_MyWpX&CAKXAU7c zgs!pl9T_WDBBn!VrmJ#J#musekhemq9`DcBG2$M!-Z9i9q+~fH9Wif*?kF*GY*Rg$ zokId`AM!d(EQYmh5YsvIHp_Cz5y-otJuGWJ!@LSem(U%Syhnt%0(mcFCWL~0Qv7$C4A=DyD znnH$!ZbV5t$na3HoGR5=)B(CeMuyt4oWuwvDWgI?Nm9gM%w^~e`7CssV;bRl90C~| zTKkB~XD(vKLMDV#Syokw6?O5OP70l4S#urZpAj=T;Y(jY0JhAb}~juFcs zQ$mYaszA0tW`Zm4Z;mCsVV>tBK_40U)^3cfE~0PBK6mW39QOcdwd z#`C`_`mRDf^Qcs>yK3h6icrtIO6uU)J;Zzyip!^@C+cN+Age+(Nm9g!QgNaHWOe8x zmT|*{Fmhw8T4)}pDu>yfFF@9Y2aAV!)UckwMS)y`m!9uS(WeR z8KEU435K2rD0uqq&gY8z%fs(jTOm|GocbV3%Xr>Cgg0Wo)Y@fq8yEx6>7pF zzqF{NHA~NKYQ$z1*H_a*i9CWdkdFT+S0d7Z@=3E#?NqHsS)ooODaKaRLl_O(90LB*9Sr6X^xf<$EsS<>)b^jHb!_pN0{Sh%YL)%Dj zx^}4%t+zuvSh`^k&m!jU&}mL3>+_c(|Aa>3SHad}(-3nHaz8YSBtblct;^9q+5Al; zs)jE|p~U)UNs^4e8^j9ZMar3Cnk%mN_RGx^KerbCV<*gD~gFLn`;9RFpOzacWl@mnYn8MDx`gq&S}2TRS_NVc5 zpP!2*^uD^r^7&7Zphx39)eD@@FV4~xB72*}Ta zyexi19wSK*+fr3~cqzXk%gBiIAxRPk|5EKOrTqRZvYsj5B1`#4NWx<14Au8n%0Eql zQtJymE3rSN{Hmqp{tOfEV-?5#kmvj+Bw^7XSBu=k(*BS#YM+~7CaDrI{?g+UP~Qk6 zRq4pt=nRqTx|fT{ex#ZYsq}!XfK>7GlvO#0aXoK@yyU;|yb=fZh1^zke^xmqp@(r# z<^RnN9Btv9djImGnw_5&4mcu>O+DEnhxg=R;U5ty9 zS7vR0K8t=6ukC+B63hjz?XOcYF>*dycGOa8`-fBv)g>~q^}7BwPNnmC#lKAwHh!3* z#$LYS$5fzwHsm`0$C0YOZ<2(KJ&=rLfHd{{u*j0+Y9iK;@)ML8awP=0`dKso zGma^RRQHjpng0cgEVZ(~BxNbfc%+g!H}_LnWT_={Ztm}A*~D9K;s3&tk7HW+f3O_p zd|vb8D$*GfvOJXeyyoX*@xM{qYUvkcxy47((l5_)68+tBpIiC$Sd#F(ko(-qZ^iP$ zBo))ze~)D?u3j0_+8@AD2=#e+t+w$Ov3$7zS0-ZK@OLYTwBfh&5B;C~6eaSOXy>1c z5;;oeP5&y1dRoa*IvxDmQ8Dtq=;(_VKQ~G6MU_GR6C@L<{iina z8RQos$q;&+=ODi{iyr4W*dIg^l$l|FB#HV38z7&sKb1s{1bYKA%)h5%jC&udl}1MS z*{jg6V=V8a*6|qSdn^h4@qKEf8s+C^skBpFhok%_ND_?F@2Yy{D8DF6Er=|~M){>x zDmr7mk`3m`?b-2Eo+1N3okSLW+chRy;hi|j+hyKFOo##m04;HlNtU1mL=#1 z*+wy8mh|?RtwJ(Vi8z9iKa*r8Nmx{!r{3CT`8QaaM5NY>a(@yj)lWz@%NH*xIgNbI zLFW1^SkB?ABJysU@At2!V&vLRAEDiNzJG%xJ*MSij3`H{1^!)@g}9SCBGp&EsIF3d zf~Smpo-Xv~k%Yx;jD(UoFY*i5P%&qa^G)Ql$gfF)z8kb7-GzMZzsB+~#-+$7+G2kq z%aeRui~S8Oi+P_H`wL%|IpZtImsE{tv44&vS?nF9-qsiU{cFk?bv?^(vMlivN$~A6 zjLwqdwU+xQNYZ2UnwBg5sH}uFZaW9kqvY4JA45Ym2{^MXsSFWvhRbMD3wGV`=^=5_QM5LC$IZuOu0U z9u<@BUt-bae7gS|Nl=ET`?pk#nU48Z@~rOg|6wUGPpvbs!}sgTJ|q! zEPBr4j!5aJS33+uuV)p=>SJoI*$%%r=aZ17bH;|`w%jRb=~3IN#xdPGt8z8S=kR15 zqf_a=+8{>HRg6e{UbFyrz!?i9`7FKz1=*>OBL3J(l+BP`5jl#OLg=O19g)(f@CE?c z6OlKc!gy@FPw$OL4VL{8k+YsZLC%>E$Z*J^h{(Cp6Cp<)kS`#|BhnT5$Zh=;5jit@ z5n@h8M6R*05_0MRSqJ$!B7Y=dqzdHp1F|3TOGM-x=bs?*J8JSTBfcEY;eE(&5m|-v zV^+skFC!9%^OF1{uO zM9nrWkDPD&qgX1|5<*EbOWtx?rjn>_$-C*cKRZgQP(FJ|l8id@)s^|Tf0(5?L>|)L z{#lj~YRmFk{l~w|k{=>t{_+1INr3kqGuKrG)J@Oc@725nIvhV!A$k!ThN?G5_@l} zpt*uY&n&vn+(;5TFOtnYDj(zFRY{^9j&rhkLB&L8&nBB!N%9IDKCZr(ooxQYk{@dq zH%Bj4A=79kk49dBY&?HRDQvndzp>nJmSSmnNu?@cR$-aIVw&|>mLF6x0kZ|maTd$$ z%yOZE+LmqhWszUikXv`m;VgUqOb}mTX1;4qAjyr+jd#tdEV}-~2i&7mZ* zx?0wpq$FB1%bGJuVl}g@xtK-Q%ty>D7F{#TnOj+O%`9*3VbL`+#XQQQYv!Zo1r}X1 zE118t=$cv46wj!$K-bJlW?>dxGb@`#S#-^;Vm?9=tC>~IN-Vl&RxxX+RMDDQ#caf) zYi1R*Rh-DWQN?_TMc2cs=D;|Sb>lH}42!OZHO;9kx*pat=f{c6xt6(-Mc2B=&CPKl zb51pLS#+(dYaStq)w+7-Ns?Htt7o3(7=3-NXWn4Z*XM?2atnE!a})IS`6;t7NnZ5L zj;BqBV{~0@YzA3$U2SaoByc!L;1u)(;@aEX96+Ml;lm&;%rp{p7EFS)#W=nE%Pmw3Ut)S2 z(%#&xQbp$@wKsQ=;EO8Ac^<|5s3f83`)d56gL#eRwXYJza>R5ri$1H4YCgp5hV(ES zDk<=FrfLZfG@FvB5`K@Efo4|~W9ae>HT%THTt&=KbF7kR312fOvYhLgDE>suYvv4+ z@uEJL`89I~No+4(H}|Mi)GCncrVckR#fcm}8E4*#6B#qnEZS1;SB}uDFU~M4u;|qn zXPQk}^vaVNW^)$3u49JTn?j)rM8Q4@Gzzoa46yu)7!NTk z%%UtZRY}MP=B+p>4_R%NZLRW=-PHfj6zC$&G$*E6?o7@-Kc1`J|9%zRJ=VxF=$mU;n(jyxJ0Vxi?JSR%RU=}*nqRS$+nONuAm*BR zisdi#7RvHmH?Ob^MJgqKv3wWQlJuh5uMws2HZ!FPucGUEK4tgyQ`SfaUx470$1Z?E$UA~;LkYO z1j!djcu5{HmCtraQlLnj?19`Hs2L|GA<2R6aq=g`3e1d?LJjbI6*%*<%vsHqEe9zb zxJeRQy}Wclbfv9FXU~=n7%X=aRo`IgKoOQU&DCu1(gBa9cQY-;NwCK64a^bt1-8|g zBuBKzx~a17;^DwlmQIjzkTQWr=%1D6`xuB^iT9DfB$f!II%3KN8h2MQO%AJkQUWbm znnUU#=Fz|`maY)_W_^XgLY5woCWxsRIK#3MV}G(dl>?VpRzuoAssvJcsBPs!KQm&0&kK8x{;_Jk2;8H6zHpBj4l{ukaw#_fgv1IxNxFSF{(Vf z?p+zn|O7)3e9&bVg+N7UBojxW!+X96eV zqz6(x6S$?s`0`iPbK4?d^rqu%^nxryFIJ0yT(3~}RJ;z6Uj=Oucu z6LIo7q;;SlNvx;h`M^+;SWm_Cfki4NTEgc8*>N%f`8*#O-bZcyGPWhl(=ITMMf|49 z(=ITB<@#)_0*X}a19Mq!@5CHVl6P5(e4%9}OJ&FsirK701d+4cuMUCl;zaIO=Rm%` zR30%AM`IF1s!t$~B$K{ycL35iP^6#S zR;ID{HT3g`@s4w#5lQSS+Aq-j|C9bCs%Fal>K8clfAZ-caQdsGS`Tf2BZ%oAc!1?a z$PXl~SdI=$5N9C+0v%W`LpI^J7!c^q@>Whh@e^VO1_rS#h5Sr1mZbvr;yUD&z(kg3 zASU+fmB2ibG_e-)4`K!dDh-e&OcNV8)!;xc7QHIq;J_e~*ijuEm`@Tr3kC<)liI2YkhDMtmI;G#zC$Ji zM#jnWko3R;mH^&hE8H93Jqc`Mk*&qnXiQ8D9Ami#c>$>=1+KG{!7-LHIbdQNa?aZ! z9F=a6sevcrq#tB@U=YiYM2vYtW(Ib$bi5x=36R-=TP(Npp~VQ97wA1ie$yvzSz*?5QXbt`b`6#f5WgX-$WOLv$%kS9MJ&iEOHE^A! z404v``81F^OqOttkWvIO*@3Yn>a3LCt=Jxz8YgnL;b(#MB&v<%Bh}78Z`5pz^wHJt z(i<2#3j9ctYv{4{+`vyPdbQr%z^^QNZQk6#pCsu<$A?twA~%rlb(wRnvGNa$PU6Vt z1`3j-3;q4d+(1wXZM`_klN+d_#F+NDT50y{z~gZ-vUU1(pi!Kl@h%Pq=5VS}U#On; z!-2&teJ~0v$E^+rR*|SHQhjXeaNt&)w1)f;czn1jv)=dffd(vk-_Hl0WzqY7KG2yY z-N@so?DK){BoQM4&y2Fn=K}*cMy`t`-_E-b7{)OrAppo2j#)E6J!xJHq_b4uHrvI( zbWT+ZB2!%q%q2-P9DEl~&V0xVyvwPM=2NY~yueCMbrvF1@1L|V!DQeZE~`~s0HfnN%ILlXOyF9-f2iT%o#14$#~QB4;exrCPk zCP|t&g1XTiNB(l4I7#eXp(}x;kup_;zMMW7F;@a*<0K98N1)LgGA2z7$NLv@zitPr zjgpcnN}we?2Qha7ACknb#`&xq5_P65Mod1-9xYSF>U=?~D2x8x3tBZ<^zUBKYRjT) zctNWjNxGqrSV60c5)oO9)oQV=f>xH2XnP~s+DMWk`f!Un+1km{A5smYIfbkr{!gmH z)=edberL9@barZteIFs_|4#(>RNF%`PuOYX?Wi^}JSISdI!rSN)u zT>=u;QmFaV1aS%SfVG6mtgev1kQ^CH$2s~77PEeg6M4QDv#!KRy<+I+w{FDA4dhe8 zsya^Qv)gEmwVmZrEoD7Hl5Tu-0RQtO-rcgEV!5$NtrStpYQYlRtX7IBWwj$oGmG*cA@Y6dhph<9{pIjGAm=jHTP!6Y z>#$#CthZTS#a9NlqOO*;-eDOF*-7#-i@rNNVr^s5tFk|0ontBfj;e>{tScH>gki=T=Rjtu+B3D_dYGuaB6G&CfS`sHsAT_Kf(`iqmwYRp_m?YiMZ_U@X zTC(W3=4)FWNYbL;K1;P;X3=lor&_~EBF2@eiQ+kItB&<1=TmZz`n~E{lUZs*WZkG^ zWwPjXDxRRR8h=$cU1x=a$Q33aXCR7|uc)U}c) zQa;h&y}mVzB=%c0u-Z(LG3v;7!hSWd#wii$=tJuRX=F`|i#+n}|??75vS#h!& z^1O92PQHM2w(fgNZcDXx&O>@w)#BuTkY3jEIJxI3v^lK(aZ&>Enw2zJ=A&i_%IkB) z$|OlQ0vqrxB*eUFEnuk#X-2Y~Bz8Ydv*a8#d2iAyg{D~>Ng~FNnCmF7*lE^wj%kG! zkz6};ytSL<_Syt`$9cSUfKvt5;eE79GUh19tlFSrCRnFAW(P#ZOt609n6lVE`JQjO zb%P|$XaJf0sFXV-v6jq4>z*mH%(;ec15C6Ev*fGdjPezU@BIDn^oSjD1!0 zW=ymmCW#m`A+oMcv?`LEEpQ$89r^C|B&&wXM_jL^+J2L)_AI)!Jjt3&601>@tW_kc zjno=Pev)+)=Zt(VNMDY*qL2*Bn--Iqka<=|k~H!CCkbLRWU1AgB(^HxQfn?rY*oOe zRyK*My|R6{)cR3LbWN~j)=wm=KOq}AFSGt(k#8&Sf-JX6O_$|SS0p)e_=r5NN8$#9mPzpGZtN^2a;F^D|!E2BB!x z=qo@>^c7&0HC5$9M@-%ebWBcueRt5ZJHNg=tg`k~sx-Pv9773LTd6bTzNd-RSJfRP z%bH5EJK;9u0%F$c^5oZdkPTLmnJU${9P^RYpCncjHd*^f)UWd!^4Vnlti;fBTsK=c zAXvSD#xLY3@MbG9Ly4Y^@QG!z=ou7StYQ#ZqrO5<#ZBbA#VW@lf782=Pp!5j>Nl0Y z;8tshiZOb9oJ8*?Z?#6S+}WyS980aJOk}wlO*NgR1ZGIecbvCcvsu#cDy5QzEZa6~ zSw@m+oQ}$Bj#&}SX9LR{AL&$ESYH2B%V#Woq9x2_`5o_Is;wVj`Dmk-BP`EEOL&4M z6y2|LER8nlRF_%KMCBUGgVFN*#jmL(jG*~D_LyZV)LE%}Ck z9JktfI3MS;i{+i}TK1EuYm|%f4h&5A*G2p30tZ;y}p{#i%c?D8()ERfoTEepN zw3^d?%v#3sD0bmD|cI zpx1)Svw|%8yY_ijDJ9VvcX?JS%R5*tLAHPLtoAHB@k}reTmQ*g&aw?6XTe>zuCc6v zEJMsytN0SydcqO(EIqhgh+nJ&T#pwxR3-Y;by~8peBFlWoTFo*M zat!aNB-mR>@a7%1wI&69p7wr{3?cU&w{MYXcX?0lSB7vq;CfhGh$MR`%SyyZ$!{A= zDJHr)(>-=&5>+!lK?(1%>yfCZ5-IoEhe>jxGrbM_DvO@!ZP@oNlR0DMis=br2T~dK z{Ui~iJtT+3z5BZa% z0mtZXso!TeWznk?-e-3pNi)9vQQaMq?Vc8JFcrS7`?J!BiI0Ffglp?`5tkYEgSinwU zIRKIQ1nk-@w>ZYK8?spARg7h~W~qVes~iWh?T#!hAhOK1-G}ALGwK*R_E47I5VtAilKzAokJ24*HLD9U3KlU@5}w#mG4YPb-ugyMv`11MaBf}?IaOlUBP?p zxF!VcJtS$O_CTy+?PHxF`%;{g!nQ(o;}vwoMCU>1;e!;lvsi|m#d=_n2kea`5%Fk+ zB=IKBxCiXyl`>UC++itZcPEK`z2!lBA&Z_F`=EV^MbD=#Zl|o0`Q$`ry_U4wv*@|9 zrR**&dX8%;JBuXtenDw_D~q1j{jj}<1jle6))m8El(CC`p!PIB_e+$ui>y{#*Ry%c z+PzuyoZIsDMixC+HpRB_tH?6z`Lrqa5t1}1jbuQPmn{dn- zh^)Oe?ba;mnDZ~s%35|WmWEw08;GPYi+;1CmYq(LDV}}_Ys;fNwd|R3G8Xc*Rh#gcNxvO0~zc$h+QK$fu5dgk=?CW{@o3pnjcEo7EdD_3Tw7 z5uxvl_3T3|15v}}U8aF;f2_8(h_~L*?#$9`Fy_D@=Z5wzmUa#Ch8pB4yU0eBDve_r z+u1Cq`8YSTOKnmyvi@vDs^)eUN$kvRVejV{c`nN{_gTBzW|d0H4oE9|I7=IpjCp2Cu_JyE=fm~=an zBheiI%vq%oHG<_sVEG9Y5BENeh zpZ;drXIQ#6RwbNiUt)P3B1<^aPW@8t#WmDTyFJT%h%C=6J4;FQX??c6kp$l` z!oDxZwr1PeEVXb&Sx1r+muf3Xk-fAn%16%ho@*B;Q9T|xh?#HiQ!z#h^j^z-UuYj; zc?BZNv(PTOPaU5vd(``$i|kS?2O)C57TNt-P8>v^6>?r|4`q38g?bWSY>#3Y_o9~Z zEP0&sVtXpfZO(bIeS{>epFn%XL!ZXxC(jj9F?QW0~+Vp8l})W%iFG5o11N zFXr4XvoCQ>F2^jl3+|Ws#GW{o+bJyiiDS7vk0jmr1IO?Ra(>@l!m_=DdMt6J|X?L8#v#xm5g>)85A`w)w) zb$3aQvwVkISD>kkIm06Bp-pm$<BgahXg?xm zmED+QZg){<Zi}NS``Oyyw~+UX z)%FsWThrCOX|=tEMYs7^+nZQUpoif}%I5+}rbtLm63;+Bv~vzo&UAjs-+hgJL5cXb zT#|SmF>CF7hhA%UrOhl1+9Ml1%Yy zha~X|S_PZ!<|G*u^9u6$#LnWF`|wO8W472S_;qEi8;7GJ>-?v77m|p`Hy>ldNcE|m zreZ|B4vAtsWUIZArP!ndF`48$mRl2*Y_tC)iS>PD+jmq99gPg6%C_%45<5QgAlvOC zB$;A;&qT2dvcnF=Nfu>)GknilF z-^ubs#6lxc+=p3r$L-&aDk=G;x{jT&ue0>O5A#wGbJDJNOvdDh`4bYvBak2MQkYdE z^BLAYQB;SVw`Y;$i1&t|wm>e~)xK9T({Q(G2l>_R&+=J2%#?%tZl7dnQX`4vhF$Lm zwXLz^)wXWhdrqo+9{mY-YNWbl7eA$9)?r(tAb0JSr&Y{**w!>iekX_J8*FO0?wS3vG}7Lml-TBdW7L>qVX4 zS!O?tu^Y$(&Oa<4K+cgQo~I*bJjF4^oMe{P98=8c!lK(q4?4YBbQ|eGCz~YA&@G4J zP7aH1ITUxi3u;@s9aX|9&Z1jQC7iM>vehK-UnQJMEV|WH!l}u!ge{TTKr+3t2WnX&geN;;3_sozW2jnYmX7N2WEY3E56*~*o_X=&#f z7F`ocJI}G`qgvW|fkoHD(oPQ+eN;<316cI&DeVknk;mr`+SX_md3^pMnZTltPibc+ zNkshnOCnvdOFP|vlKX`|qF8x`}2GyD=AA94Fb ztYcaZZ(upzWhoh=cze}zTi$6)k|xSDRjE>(nIsW0igSL{$^M@z&(CPv$b2d|p{tZn z^hv6sQ;kIZI-)t=(sCw|@EjpLZB}+}k)#`sSHg@$#8h#TewO*98_z?EkaTA`iPgP= zkg869mTQm)NH(&xL5-7VTs0?~WdKChmTFECj;73cd7?TiA9Ipfu0dqXV@_L^lMT=h zfSjv4{aJeBjxV1Asyl~R9%+cDq!cN~S#CU%D9TZ)Gb{zmC5lQUWpV7})@4hk2Bd~l ziRDYQK(68#)^KXFoP+#MGLEI^r>bpS)0xEb3PiSzYdUhatIWCQ0raCF=UUEjmI;u? zB-O6Tm^9-gL>`~VotiAVkNR<^AB%43J?;!=(Jj5loh%mJu0uY*shl6>zpP3+=IIQNr5JAQsuOlIKOLGgIXwDq}2C$t8}_ZLL(N+V8Y= zq1#%iPJI^L)=G7nD4~`^2W%_Vc`Z)5L7s3X#>pT^eP>~ujD|FFJ|l^ZKt1hzNs=BN zt$5lw$Wptl>PdduIj-_C9%zj3Um%~x&QC0rAk#_y;#5srtMBVIaqhCb43Q&HO&sG7 zxux$)%}No<%>oG<6ztDm^0B%xTG@N5q;rFOWoxq{^ypG;<;xqsPda zIWsxtC7e~WQRZgOC6>#OB_#E(%MwNm{VO+f8Y&TTMFrVs-ppx6k{2Cod&YT@MUS;T z;|%3gCy=vjQMYg!-=LhuJ2%lT#>{XNBPkGk4$}!z=t&`HyvHz5*(nS&M zm&~V?Gl(QFL66zBa^|tLf6SD%A&{hIy)&W zdW7yp$G)jj=@GiFPGc6`JJ-!w&Z0;9dN^(WQTr|$q2-Q!@8wKpsgL)2c0l?#U$8W9 zjv4HbzRn?*3M~DcODvC#P)D`Dv*cfu^SO3v&7%I!S0s4}dc<&m^F50mF&yYzX3-;t zgPofsnc@w!`S)Y%L!4@NWzHF53*MzV3K{AQVi_I4h&1FiXEjNzg+JW+NX10&Aj6#< zD#p-Pa+u&$N|Z4X zQ9TVSmLXNTGnph!oM@y{O>|aq%oh;Z(>}@BpQLiuV>gqXmibjaL-6D)M{}k*$4OLg zyv%u~bCqL8aoZ-t@zA#@x9%sX{`t3^OC+&A{8^53uiBRG!=LRuNP@Qo$0mw#kD!Oj zDaBF~zeOJE;XG%2oRoeLBMr_p67}m~&_gV6mMbv^8A-IN_ChC%Wh6wdthmtG#B$`g z>Kk0-Y-jl&MCP-|$z{pft@?i!J72TpLSzeMv2%<>{a(MKgzq}nltfpPc+aVZt;(Yz z_cYKKJxfkAmYwyJNR~RINYZH3Ud~up=9DU+j*q_jz3-f1(O17!&Jv7~p#IRka;%5` z4QD-xD$n02PnJ^*wM3o;x{bZTd6;F;8@L+bG}z!&AW1XQR;s?Z4Ni5IOWZrR!Fhs3 z&fvT68LUR)G-i3VCszN!wPS;`Q%Urxe}j{ZT8p|$BA@y{a(a{GB`hq7_j{1f$Ijm@ z>mbD;n;aXp4Nut#U-U)`4f2UIisjM2RLoXqXki&MUPyTiG1*R8^sCD2nEMKzyCI)D zU0H7Ym?+vpzHr8|JcN>Vf$Vawki^CibDirX>Pw3Q5tA#sOYxUmNY7^ZGAjE19us}< zj)}f^$3)+$qmp0G%Z-V?!^TA4clPM5=ht;(UsQD6I1m+mk2@F@eP=uz6@6#?E-Lzt zb~Gyb&Uid3`p$SVD*8@zDk}O;bUG^fPINXZ`rdsmD%(*LcRrWWKF(Y@9WxUE_AxWfZ(M;1Nq@PON0iI8>mHRMywO%6~A zg{;p~9&~e9-o&pgTSUd(?^t9_7=xG+?nM?|6H2+)SoHjs(r#Nz@#piZC#QznmIQ4!{O)q=HQknBmGfgLp&UV|<^Dv1 z)j#-2{BidNiymdD?IspgWqt>924y~}ZgG}d0VQ?Zst>4~i&j+fgxih9#yKHV)paMb z+=J_mlzQ%RmUa!5)OU?yDxZEF)4*-a(zU6IY3N>OY1C3lBey-~-^=6t-1ADFbceD$ z)k(=y?k$!kFDZH2?NVH&T8q}QEKg&1P)Q~3ASF%QF(k2G>!$7;5>=zt;>b63KO>3t z3^aGYWYKr?=I${TeK&9J{>Y;5=FQ!!I@J&AiKDrDQ%UrBxw)Ialq_Lhg1(zKcP$ou z?|#ND#iH-sE!~zZ`p($e?ZBe%-EG{SEc)Kv&K<&{@A&QAaV)y!(9z9e(RcIC?x!sJ zZr;V+&7#`?FT3Bc==*y&_Y8}^zjt@9vFQ7IFZT{fMC`>_iJVW{+f6PlkB0g!w&1tu z@ zob5^C3}QyOWk^)3Qa(+LbSuY+{AR}+ZtXac-|QGoIpfP;RKnp{7k(^DZo<-O3F0zx zjznb<i(eriaGrSX;;vces*hzr-?k9E)tvzl@k=?j#a5 z->(;mT-y%MAkp5!%e6@| zuxgB&y_V%xB8iBr9J9vl%`qRmpzcj;+=U!7Axq`6);+{B%-q99z zP^s3t*GbZ8UassH-Qe~wuVPwtR52g9CrKh=#)s<5Ss%N_Q)Em;$a}7=EgRi>k1FXs zMoV*+chIY*Vpg#XK_Ah8N74J{?qS)Ts>-~{y+{(9m%GWe(K{o@bM-9TO>S=%JyUm! z`w5F)jrLP_ABlRRm+kqj?s1aXeP^4SP*LWr&O!N3#5T8xlIXnCY}X@+J$q)m#YuK2 z48`2|;W(<<(KgsJBp_eNmCusJV~>?oi5E z-3yjN4!RjtRgBQj z)IYd;RE#LoUCm$p!8NMVwn$|CIpMxc5)tcWs`1JbZg-AZ-A&CZKk4q|m>m%L+;q}4 zs;PV)9;WKyDYrX|JTGLl8E>PEg4y(PPuk<71KLc z?bm5Hh2>lHv&lXE(Opgw!Ps(=_zcJJjGK%ReVKE!D+yvZ;EiMLy@&rfdOLo_CQihyWRrU(d3*C-@ep%9yXd z378z5LXu|GR=>$e4&2 zg1c2wY|9QVA&Ff9g29$`)o-D%5`OS5NkqK!51tp1s%WrmJ(W*q9q*nCW&1$pAF`3B=b3&@ZRqUVk1&L8@!k0 zJkIWIke0z@7N;-PRfDt+u3;(GA2S~yZG-DrP9dM~A?x^hun3EOO6nRc&Z3`^x&}+K z=%=Kv!HPN+KP7byrYea(C3OupVbM=XU4!jd^ixu|U^f>1l+-i$3X6V9>K%N8ML#9= z2~K0tPe}uU3t041(!k(q7X3^#DEJABekK|k+{L1wq=p3#vgoIz*Mlcn^i$G^;3XFQ zlr%DUokc$-jSh;Z)ZsM&CACeY) ziKRYzu#`+-xl~)rhb)D#LWqhv%+fZR>Mxc=ltsl9Zz8vqL021jrlbWM#mR%%`h?&( zl8E@AIKH(CnG`(3vX|wpV7;a)pH54#o-kr22Xk2DIhYEW60CH$+G96BoTou4~}G!v+|}uRs^$IuCXH{(qwqucVsN^i%O~IE~^qp~2uosJ-b-yY23X7hrzbW`Si=I)x zDL9rz!NoTP+$4`fg2=3tQywC^JGY1Mc7NpO8fDVgFc8>8R2Gj0hUAxRT+N1?5X zBlckYx zmVFnT%u;6+MtCtt{JUVL5=xbVR7Zo^B(dxK@n8;%zRn*H9%0ef`QyQpEc!ZsJa}2B z;_LkJ;6F;D*ZJeYd(i@xXPmyy9}miFoD_YX|2|lnMPKJn2CK2?>-_0peHMM4|1sEt zMPKL72RpLp>->daFBW~B&kGJ^(bxGa!Er45I{&}m3>JNz|2epjMPKKC4X$F**ZFI~ zjV$^)|3`2qiMq~L$C1AtJf~u!@5tW>USZKk{zmX07JcMz1aGtGBYz{9^b#Gz0(w;O zM$l9eJ@Pk##aQ%_zY$Df(MSHzU>z2Hni$3xNy^|yn@oGek<0pHGT~z(izeOR>X3@VzVXric z{w++eI*Ix%$;y`m^Y92iqIUqTj8sz0oXsB*O6~ zu;>vV$D6JsIxo)k=CbIo#kt-Ql1xzn`L8Zx72I#2kjy^GW%-e%p?8aA|MzOfT_exyseYaFmy|r^RU^p}`g^R6J^4jU*=JQK18p(< ztFbqZWz0179#B(n70d0JDyErtoJ6%D7NhGR-KO8mU5_a(ZX3-_=;D!3hoMR>I;62KsOW47y$D&L4f+zZ`^5_zF z@t$MRCG6_;X3-_=>b*;nA!KjQC&-|ymqjv1^v9XSF2;I1Bo z^!LuQcrU7N{toc2v%HTvit;QN=#_ef$|GLDS3`><)hk|ak_@p3KNOFXpHT0TSZ;;%24$TpgGmA!e zZ3jzHIm`LjZ+Jc9q&4yx-8EUQ{{@$e>Q zN=YJ_=zYRc2dU&$^et}>OBF~BoEwup<5iXOP~;=O&@t6(Poio6eEyozIT-*N9Z1^cfBres8qV|>pid9XekkTQ)vcLt@3t~ ztvAsNcwISJFW0F|y-R`v{Q9auhdgHfycU261S@jE~ z+TlHlySTjm)c+0NIU?!Avhddg@ioa?EY|Od;t0tnEH|G_5vR&>*54#Kv{Kf!QgZ7_Z_?IjH7zACk(^EN(El?E<5oMo?kq#lyYdZEedeua zk>A|NgM9A&K$4qq3cV{QA-g;;P39c?LdR}z3W+*C^8U5kn-?bzB-i_&N@WBWs%!5a z@1}||E-uv~#;YUtFGS|E$1A{+fcLiKT)w@Y$r9kV*!FrMmVq3z&wGevBFF6W%CqRF zwy(UJEY-1gmfY4?-b5DpZDo0P*ze6?`4l2!_In?)$oD4l@LL@4K4!Uh1l~a`D`gu? z7_x)pk`gf$B72Fy_O5ZvfvDUhi5M3kVTwtZppM47LleXssAC7c0xatw5t525mk(i$ zAe85jSA(SkQ7d zUcO0`vr)01>Q_JE6(mVF z(U8BzDX%umKM;B3PkGHa)i$J(F{iyYEEhPR(_Uvzl~O)YG(eeu^t!V=3u#O;fTdCo ze2WBf#v8`c1Ty$Ze6P(LN0OT$-x7TeF=xH2anciV(QEXUI?k`)9kDkcm%T$Iu^!i- zy>D1_kLxeq5f|&#LHD@+?kyzA6g>wdiiybiy4P}wjL8toaZQ*7`P1t^ zRmqq`7=MP`^p;HHm;<<`LjLhKPFEtY5+6Zsc{OJ!X^b-^8*;~+jy8lIF_bN$1bPv3?- z;-`?L8`tqZV&ZdBsYBaq7e%~`R%kfU!^d@)X4#AtbShz6RsE_gv!~(Bagur@X-4K6%yA{@#4-BZsp@xQ z(dSN8f2NY?xl_%b$1(ccspc;siJd#u{0~SnjYeY?<{x3H z3z6sYWBw_UbmN6=b#1BcUt}2ok=K^${x6)WGIEx8hZ_DZmZ4FZG>49}vGT4O>#yPe z$dZO_J&p3z@PA^-ggirXO-b~8ujz}qDj$91Yx-f9oA@nc&8+E{V$nywmS2}eANg8- zN0L|zwwB*j#YF3TEx*5tp{qn&l&6-zheci`Izb-y%g&SKLErLWA$me;`&C(P3d~D^ zr24f<)V5^Xua4iCMAgjK5L4HmN3tuQT+3aaDfRp%DwXm2s6=Xg)$>=eL?H6+P|x4M zvWizVsqcTvvW-_YsqcTmvJ1~@^4DqL?_)Utk@xoo{fw2L;nQJG>D98=wBd7 zGnSlDZMH`KRhAtP8PmwWp(J_?pY-pNTT*j&!XSzZR)?oQl+<=AKuLG#gYnVOAeO1K)Opd|AI>r# zB9B;eKfa$HmC| z`}2N35|#5ZqE4Jx9Hd*4Z!4(hwqJI{WS8Qmw{byxFlM5Q}`?`I4j@i(b8|t6zmhuU^&Fug#*@DC_1oWYKGsb@Q9E z==IRL`)yhDdT8DK7f8~KE^SmFV-J5ki(YM`hd-4?ueQ;{pUwH`Rn&U=i&*q3YCZiG zEc?)oI*k45<*#Kq135;rk7X_1|2hrn?SI3f$25EU=UDW(XK()si(c8RxBmx8nh2g% zcdI`B{fp@rH1tSlA3w;V*XZcu7iW=g%w53N`}$>BZcj`UKa*41$M9zct4kK%cq1hWGV5>U{23tBv*byRzu9(Y}5^7UOGmRqy97V9}$u{rqJt zdKHm=ewLExQ*D3$ijru3?(bhGQSIkHuwVWCO7GI~q4x7XkOBT{B&ydsKl=U#`k5@U zk6Owge?3X8&vS@>h(wKX$g^OG|0Bs9V>aILEre9B`gttDr?mX6@-a$5EQ-0oF#`%? z&3wpE{}xHQp|A5p{iG$b%&~Q?hx*ARswEtvR3%B&bwk#%Vg6HbQUWor`L8Q6ZXZ+c z1&r{=vJ^P3*6<(UPhz=?v$6tGjr3=-$n*4Zk`Gz_E`u>&eA#ED|1nE`^qR=8bdB`0 zS%%`RcX<}P;pebKAhLvS_-9!vRaAHUQT}C?Cn55_Gs?ftqU+db|AqHd4cE_uqy7FY zdMt8`znDdTscMXWfTcBhU>adB#`@o}bcZx0xkZu|{SxIkztU2)t1W`B`-lH`g`J} zH)N7O>HS#DtB}cl?-el_3z_PlVUg|3NswuNmz63;$}Grq{}zclzutq)@cmUXCP&Eg zOG<`clO$6-za&xY!hdG^Su97;#+Gw(X8VIakf}1oM_8%v1EiYcFK5|}UdN9i^ZhL> zyS_sYFl2#$HBNRx7Wv~=t9-s%lpqd3-t*6}ytgq)$nV20_lta}VxDcENV3AO%TgcL z!>VYvtnz!Xgi%5%ANT`EGDK?(ejTfhHQfBkEa7{TNIvuzvgCU=L5#&WQnUO^oX;qH zhgZrP-^-F)SM5xBZCUF-6eqF`u+DF&#ORA&P}%3X!SBw}F)EWtGQ>#8QS9jk{|HIM zXt!3KaUc8FNHRr9$VtR}>?f{~TgT|+B=ihGHu@e(tSzz0Z^EM65}W-VEWcD&?S#$# zbdov77F^G+AfL_tyDT{@Tl_4NOi?fwJq#F&-RhrYsW}1b`ytgfztlQeo(%Eikwnq| z0U@&e<|LWod)&Wd%y$1H7JptM2JFy#>u1MFLC8*j=mzzh{#^*Y9gtoAdKNRkk{sXr zNX7h_q-3|>g+;~`L#kZ=LR^fLJ$}l^D%DZ+TFVmd^Bb|8NW_RVV!rYlqi)H)xZE30 ztB?c!Ns>%aY7(AoAYc0vHmQ6Tv

Cw~r0#teMF8#C@M`5Q@M_wLJn<83mP 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

O~)rCd%<&Ls?v3zlh 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

ClTp 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

2TDUu2lhKU1(lnePkD!(|B6AErDLQ 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

y>dc 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 MN*=zV)m+#A1NFk3r2qf` literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Reflection.DispatchProxy.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Reflection.DispatchProxy.dll new file mode 100644 index 0000000000000000000000000000000000000000..64a57cbbecce2116fdc8717223283deaab66d387 GIT binary patch literal 24992 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 Nyi+G&|8dM{{y*zALhJwl literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Runtime.CompilerServices.Unsafe.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000000000000000000000000000000000000..0c27a0e21c7ea37e109b34ae8fdb80d298890785 GIT binary patch literal 16760 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 z zJ{!$4*N^^~H;dooLd4x!px1|Iqu00bmQzt=v-zbjlB(=ryb!D~mn=9OHCd5wB z{JQ#g^<7$%eP&NdZ|WW!y|M51i0$K^zZv?AaF^eu=wCi-MLzn?to*>N;Zb8QZN4;q z2hBE(eQKBXvGJ2vJ5L;O<@&vmhxbqKnRbo)_Dl(1`^E^nuqfr;6?AUwm*nV@xDCXY zoqVNp2HVDUA+in@v<(>VoIQERu6Xq(rETe|58{^VoMJ`3L-wpZ_T=E3=lU+ZVZCC= zo-aKkt0oPzB#3~Lq%qIO+wE09(sbmSSC6kt9c+7?yz6?Tv}E4qcebnjJ*?JcZESk& z6wu^a{-vR-`j;h9y|-d+%FOV+>WP!DpT1gZc_ZYH(u$`{rUoHhQx9YF(zWSnex`$tPzu9Bn zr;YgaY=Pe7b=AvS2ANy-^j~bOaiDIQy6%>Wjc-=BeTvU{TxxMKxOq$F{i&f2QwWJl zF1UdtsS8kNYtOkvxh>i^#zGWM{~y^}Vf!YRB+bC8bL$Tiz|Wa{z`iq5Gm;^s$neS% zr$Zc4oYUz9ScD7VYEL-15pJXtaHdceL8AY5CndqZcLzA>4sdV>u;wQp2+F?dtuHY`w9;rYcu$>+cIko=P-QdXhT6**>hV zzTM+Zs-fq1`0k0new0be+LYdQn%6d9RC%}8{`(tUQ#SKcoF=R*OV+Wy>^blKgS#qP zS4ZWn4X}Ewb+F7J``~={mX8l?Vs%Y}qbyhF3LEtY>rE8zXZo{0Sa;6 zA@w=ibj&@=fE5YT@ArwnY!)~;?C7p&kKVM_i@9-jS1lf7#_Npm&))GK-K*J*OA>A! z>bm1V&nuCEkKM|3o>&Cb81D6*(=F9IJ2SXCNWuB*&TD`=XLG$CQTUD5B+%SY8_TUx$+!8>9( zyZ>xYmyo)9Q+-R0ss+_wS?gmbUht0pegY$=zd?NBf~A8)9Exsko8JBI%HgjUZmaPx z<1W6`cy0Qx8gh5|0^H#fLRVQ$cFOCD(cvJ56#U;0ol%dD3SDrzrinU4II`fL<%7Hk z4RX8Jp_9!N6FMDxzY;+M7w{)HC$t@av*!5h>!LLL-qXtCtcw;Ujzlb3!;}u5hzKbQ zE(W*~YDS~8? zU8XRD#}?)!XNs8VVjkhy(Ev_3n%Fap6@nHCR3L~;g^6+?@J0rw$WR!00hWfXm<;1@ zHdM;{roAd&ySOnT$B23Px;V{znZ`oBd sycgzO%F&!t$4OxJAN>A^@FH)@mxCV7 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≤=~>Kxe(a#Ni{0FDZd{=!XHnFyf5Dj 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,^-&C?v=vTA8Wp^8~l9E%Jl#b~H2MdHC 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 literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Text.Encodings.Web.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Text.Encodings.Web.dll new file mode 100644 index 0000000000000000000000000000000000000000..6d2b207854ac679d3a1c64c2b81fd662a6f6f2ba GIT binary patch literal 59768 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 JeFG#B{|72p%MSnm literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Text.Json.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Text.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..a3a85c2b72554f064e2e161171aac46ab66a666f GIT binary patch literal 293248 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 C6Tf8u literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Threading.Tasks.Extensions.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Threading.Tasks.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..dfab23478ab4d6bc266ed91ed6b96bcebb3cf8b7 GIT binary patch literal 25984 zcmeHv2Ut``*YMoCm8C9SL|6qBDa&0D1S?%p5u{iU#AR8Ez%K4C3Ra3@@4ZEAA;#EC zjJ?O+O)QCu#uhaiON{+LGk14cEP3<4<$1sVd;V+o%$zf4&YU@O&a`_;eA-mRK?rf- z_x?RXTOq|yIDvl+%AwfGeVY~9WOkzIR;t^HrYU*(T1l}+ovV=-NfdIGO0AP*DJ7Z` zl_Xy!iB3qC6sfb7QcFvbr(Seo3_{%~4ob<7?`LT3I%*~{rx=7nfg)t7IlUm2z^_02 z5V9e8n$;TRz!0SNS}3<~-cJ{q&)|LRjcib?R;f!qX~>5tH99?s~WNQBBgAYYD< z1tfD*S#|WK|2UBtRVTbcz&o4NlIoPDI=~BC1AsEpSJ2z^k$_fGjaH)oBGIisWccuF z13!}|9EMA(Q5LF!5$lR|#x_9V@H2VB5rSSdd^%yf!h?0A5f5>}?Dk#=nGtF|aEAVu z*Q1}!xzXOX2#I_k1#9w$Knfc3hXm5z0!X!XxX^&uW2B8WdglndwAulqE+c@S>obDm z&v*3ZKoy!Z9BOiDr{SOzmv$Tu9>JD7H7Mtj0zI2gnxUGW%peUT#PWSqET5kR?JWje3ti>=&;zkP zKBzIslY=}MQZa|sLk+{k2dQlhcp%_Jl*QGymi$IR!VzFnuEkZU7FreAam8FSbtA|% z7jxAvkXl@|*H_i{fvV;LLiG`1{V9FC*n6TDP=~_(0r?P5_5JauoqY5?GWQb*)Qzzz z*?yU5==hEU0&)G|zp5`1s9m9cV=&)GBAn`N`mqj<4RmPoNgbStfKT_KVSTqx)^B92 zkNW`gO#PVFw{9&^yF+aYTiRRlkrX^O;PYfOwcRk1#SXXLr?lok(?SIDeFix=X`6xo z?`8nX@en$Cd*Cbyib3Gio`BKz!@Y3gG`u-Z9EXFqiG0?Wh72hmhMC_vK;6cl;5CL1 z;pGw`^v6|vhCr)&7ScG6<+S3G*2(x%WcuO}+hA6IPkJckors(EryYG*RAdXGj!A6f z(L*t>F$$r2V-kfpxD9}IKtmW~EJVcjw_qFahT!vs@fLz^UgmzZzz3oj0>anZ z5BPBWVtyRI{*Y>=m`D%AJz?W_EXakK2gfhgM-A+jDH~FgBWip1IK8+4*D4XKtRJ7|Ev1?82_Mt zeT=t*ae~(B$6vsXf4veA>ab>$P>1~qp7czF;bFv~jt5>FhLItxXRuQA&Zvb2T%>J_ zi|rT+`9hmeK}>r?>mt7HOMaSCmKjWCZNj%qx|Ks!(k%hF4V0ycIf>)D`y!^L|8U!RYtAjB7h8~Om#BIyGx z$c;%KVnHAW?;}VbSgbQvY&tzO4pNvshOyKxmtA7Kk8KyRaW+m8mf%H(EYBTV}j;Tqw383Os zn~V`m^?M)raGqg5~o4+}MS5 z1gs-mj=mBo&26NHDMP>OFf3X6O8UtR7x8GQzZ8tKOYp)_5?BISV>|F z*on;b<$Z0;AbMv2slN7I7hb0v=NzrzT@`?$eJ1#6H~*agI#nOPK|Cy5aM=r z3?Iz^pM&`Wd=Aq;@Hr2Go(xXURm1j_%!pZ#5-TcjJA6N;p&Jr8*bSXcD*JOBeJQ8@ zCJtj#_!-H>SEv08`en2FNk5~Xi3Y5Ce^)yq7l*YHHvsm2zjCiu8H0JjD@(+C_G zS%Y0UCEobNCGr;#2<>|(968O zrag&F0Uz()xa9O@VL%`X`Fuw;gr}(aRcA|KqaZWBx(H*wLfDSM!V7c+lNY<^3P6rA z$Qh`VRI7rravY+d2M0j_BQeoKgm;-l4;?XMOyF;7~XuS)d1?%AR9)a zMlhjcHH>;VM6-HCCU=RX@M#qunD5Y_R#HY9#01I0FolPpXXt<}LLMU!V(bt~0rfnR zb((xtt`>8QY63Qa)FU++jfFhe5_xn=jf;kKF5trifJYXp!NbTyg9^RemztTm0s4vx zLU0bpt;5QMVEcezZ;YTD2$nLkm%({xlF-3E7sDz7r97NJP4f2$d_Z{2NS@0RL#Yp; z^yFY^eF=qYhUrgW1I|ZV33Miq;$X^k8pAk*VI6O{kdLecI3I{`ew_fzSwKo>63SDA zDNDGRXQvRufkaL-!numZrFnb|H*wmE_-F{pFDJDUNV~m(rxr~Blkibbpsyu)5$Zzf zJ`&<~oA66`d~^l5P<%8MdVwv*8jN@YxN9^gM;HP21uFvP0@lMAjmiNV1U-lW3}PFK zhd}>(Kt_ltC_4mw>;s;|VpE_`eP9G#p$wsLp{=k7#3w_rO9Zn6YzZDO$`(e&S&z9R z77HRWb72G{pe%%7VPJ_qs1ckyaeF(VhkZbPIKhgckA08??zC`OF)3?`x*#*aR*`zm zP&b18M#?-<60~iD0!Ry92sQ}7c^14R0(qg{hyxhDe-i=L$B5Y?Z`hU5P__iD+y{2? z877z?%0ir`Hpmfr9E1E(t_dbZ15B_0R0Q*f74;LRXZda3HGobuhMt^j92r`{y9sa) zb(78Qg}wvQwwPgf44{Et&AShjU<$(p z1f~FNik4B2I21}1JOvmHtxzaifMKe@j;0W9#gyI@DS3ZFEhW!~4nme3Ep1AXp(wr< zYB|zxfCp<{PbmOSOfluhV~e;LatW-U6D2S-sM`4y_&S9eV!cV(4D^sM?TCef~39-7A16K>))VIzJexrSRJCw4RfX(OwjR4}hOw_OhN^|L zNZDOI){$WN{s=*ihIzscw)BY%+YKDVC5Kt9!=)OBBCV5c&~(gsCul7>PHi` zNLgRAS=^Sm5&xw1B;CK3u>bVlm;bbPZRAP7`c4 z;&WC2b{k_KY5JMtNp@6olOMn7N=1mRN?xgbTs5TA>_$ znU4CMYK4aBu?)aM&`g5i_P*wZqOUQgZ!Z*W)pO$Z!q6c-mS^Tkw?X&y7;djEddXtY zUKzI?YEFz%jc|MIP&++_+v|XmFh*5D-#2o@QD1^#|NM>{f%1%HtEdPx&{(#M8;M33 z%QgZwhAkt}5rt;zIs1YoqR?`Tq1#j$6-GxP3o;b9sVu;vk(OYr&&Qzg7$dr@qGHet zg0T@7i)vU5^#y;4Me9gCR%R@6CIiaK?9^bE>ihvVl5paY_UCp+%LvA{-UV$lmg%T2 z=&DIsH}o81dMkB9?+C_f7LUyRa9K5I#z*nU8Dsk1#-puz4EMG>N`=j`p??XeAHi5D ziKu|ZNdFR1DaQ0t5|JzHl`)2;^g!DQ#%i5}z9$$vLnoor1gnD8bR3<8o|$kaH{eWW zw{xfpX7zD&G8%?AeTbEr(ttAsjU{C)C*BiMXrkF)!P`7s>O{k49>FmS@^gX0<~e8~ zsf#HTDi&a94ip;M5V~ppDxt9a_#TTwpOcJBIixM_KPjKpGX%7ykte5KT7MyKmo5D} zJg=bF6gp`Fok<_R2T1Gbrg>9NwvT_!pF`|s3bD=IA7Xq|T6gtE^$~lheDmqAsDZCzu zDZDO-DZKuODZCDdsfDnw5mR{H7gKn?*O7hXFtUCPBkPuq>@SDGs^v-RNKbWS-#H9n z3AkNPdKl4g7+F7tAuOkm>^MgeeJ&w9vtL4ZcA5y3SUQ`O`VniVlhSSg`_buyCk6JS z1#}9rVG7xy&O{VdK?8)jXfN!B=F@T14#5(-2U#N*7cCR0?hq3gYaePjDy>k-#DRBp*efg23y1TzXwF z0Yf2%d(3dHauJ5t%}L$@!|rf@GaOAqd(b`PPmQDwQ+Fs1-Ho11*V4bzk7){K4hm)t zKG@wH?lUc54zYy!!3ug~4Ks%g%o_M6VJq)@E<)p|;{bm(!*CwSM-lirdV$$#;QWog z0I-gCnZRoRS^f_p4IaROdDtG##x!yOt!TLXFaziWy3uf=v;^1^^rGRWMhwsw*#Yze zUK+IqE*iCmS&fD>Wn+Nxu#2W)jNJkDgOd~uW9)$>@b!T|oQzk(x%d>~Qb|-1HJ4gW z?V>DbS2~amr-#s|=^He+9N*i(QUUg%05<0=fYk=$hR2?B4Hp0x{*f$d!to(24q#D7 z=z$Yx>kL+G1p2ywo{jN!4m?&!M%GM6k|H>rV;q5YZ0e~`{q!lLPeb&n7A+#}3`dnP zpCcG!79Xj{N9yq^eL6``pQOj9=xVg{7BHtCYOK7ZPzP8$eTP%Z zij^G-GBYFPiUPQpbooU}uuD;KexXv6tkew3S17eowx1|YHAr2c{G11v(2Z>x z#~(Krp~)>NQmS;_Kl<{&!UcO3+;)owKAc3(P;Lz84{_bk1#I^#KBSU3k zNtDI95wVXG%_1DoQlq*va5mQIN@3 z$P4Q$fk6}nDH^##**PDyQq`9j#Kpq6^;BxK5M3V^#;J1Dnj$$4J$d0rT;P51X?fSQ)EhK*L{V2_U|%$IBHOJfV=xh5!US)yK&vQS=1 zawg@5J|=1)q!qe)IfjBLb#a*{KR3^$D5_gBiK2YD%7hxHO;XCU6I6v|pArI7ipr!w z9~D>(Xq1(Y=bid$nPgr;i5jIAqQw|WDS6;_*$~PoQK=$nikf{Dfil%u1Bl1s00qB< z?@!4LLr^?j5QUZCS%hMYCB45xB{q^Hw4_{zrRXO#W2;hJq?N{$>Xa(%3tDM*VWFN2 z#i&Y(5Id0-5*w#LRI5;?jwA{-OadyH@1Yvjj-9#ih?AMp&{Vyfpt$a8U49Oki`j(( z#Ti`pqY{&8AfZH;kdq`=>L}u=KR;95y zGV5SdHE>^cQ8L=SVOeI8=|Y7vOSDS;%!AarJf(*1LT6=RG0yAPB9o~RxArmB*qEUR z_Y*IzAVjWDrFbnz?2-;D8U`XdU!JQ{Yhk7^l0G+&8>)QhCagbc_45=sEv%VJ?T7wm zvZ|55ML9TpQGC8aqt>c(bg*n>DBJPm74e~GDcX6TmwO&B@u%c zgp!XG(^Ii!^;xih} zAFELp>9f#)KF4kg4BQ%4fYH|su8g1)WbH$smqv#mtVopMy@R}1hj&x3uOi=Cr)rhS ziaaH3T3{dy#Mnah;FwZa8*o$_h_Hys%ZReDO)+dR$o@sE&4J)3V|_6$$5;sKINshE ziq*xLhK&@0e4I+D-&PqM#jqN|GFYrD!&^%He3dm-9x&%tm+imZ9B?q=OakIcC`!nY zAc_YWu^6LP7|=WkO<7s-9c(iwu`|!XHlLzJ7;zB0Qg#UF`8dIq$}6D075s!80p-fK zp(r=x$`w(z-qr%1*wZ$}R&J{#0-z1rRw;%@feBwsNQljUjRQcLD(iaB&eA zup%L%ZRJ97`A#09Aj4 zP@pZgRdY}f=iHDR0xd~jur@*wko_QIB_ZW@AOfQxU5|ST1Y%DI+ulHAMd5DYs;n{e zCShwqSH+%ufFNH0*1~L%;JPBPEX%~Vh92uhh|8b|n}%edyBG&c;A-N|kSBT&;|nER z$`$A|l!QYG4KJVsl(?0Eq2O&K>6IH98r$+ocvx+fxY!wl*~&!>4et}(kc}I~7tvq? zN+^Ia4FxeE4JX*t<%=LA(5F}gU_fR^UfdruW4Yx^z%d3=uGm*xoy7ufgU*PHEI?7h z;K~So z@j)2UaUDWxZyvieGLw7Cdi225uclA_y5;@1;#1pKx2?5$SG#jrv%&$BT8p}!`A&!7YRwzSy3_hZqCQ?wYab7_FY z!^F-oa1ij`IEbU6Slo`rcdT&TppQ}3jfkgXeD^# z^-o;DHkD55VsGRMK}n7`qPgA>FaV&EHxfGwy`d6m1%EbxA2&Q&DYRoRjl396BF5RC z>|V5#5Py1rpXL;5`VV(z2)=7T4#rhf5~bD@t2ONQ3%OIs#aOg&jYQf#CPfkpf3>6> ztkx7D6htBEzLgRqi)n4CB%-iTLKZ!(1QsT|JsVL3Tjfnl<2MeFR~(7>=DMeD4roM1(8cB>rnxd-@VV=xr9fYAVkjX&7h0p5@3 z&#U;L#ZA$aC|N3O&2yBRI8~OqR8I}3P+R@Dd~T~GC0j$|wyfbE5Jgg`{l6dpt~ao6 zxWY$4H29HOoC-FMu-Ai22HFw^O+7dswjud&4THd!-jBq-1pUL`H(|ds;YTkgy&bY; z1AS7Sc#ym7wD9?}~_zxE_|jtC46 zL3;COe$bl-o4IJq52;;WEFVcFwB6JezW*^isW>k&U=35lpU$yVI9+O@3k&1r`6^VT z#nx4lvmq&c?*&5eXL0|-ABrdm-%pk|RFu6RhVKhMqGP_!@ax?lAsr86?4#qgf=o}8 zj4}bnpd`q}!CzW-2Rsg7Ec;iNXeam4I~;v{Sga{@41elJo{stymX`)M(wH0#KMJJE zkp|@CL;S);7gC`d^3@<-{&B4oD3t?M3*~a813ooi?6Z!09#|;Q2~ICiqJrE++byfwknM9jtpi@G3yA8fvMb$2xEhp$06_wg!d9~!w>IarC>{# zui+^~&7m$HL2Nq>q;jCu_xfMgPYPpD2>-AHOQEf9&`vIC1>3F|#tnNxE{vECcvgZ< z|Gu52z#T!POH8C_fr>|8OL{a2U^cW2F+%#9py$M%hx=+6BaC5>`gizJeVO(MbiZJ-rALUM>O8Tg7n#CSBBJrdx(4W2I|P$$ra0pAG&URQziXEKy2NQ}T+VZw_?SqG!81uOvm<$@+UkW&J!j^2U))cI^cC0qC!R$1o9{f6eZ@Z^ z<^Natf7Alyc&ACjw^5ZIMSL@#>dw_KEGYq9Q|ZwUNNF@h$*dVmzFGh3&XkhFr70d_ z()l7^KE6<%p4eP?syQySAz7i-C6&-X`9UZ0?-i zcS;BVmZOh|o^d3tq*+eV*8BD+r?6J_2^b6n1`b2mK*W-BGh`MD~PDoKorkOVR^8RO<;DGOtQnZQ6f2NXZW@;!HJ5D79U*1zdd`X8@up} zy`#UMd2P0>+uM-wzJHWvq~bmFMZl~N6*$h_Z3fw zQtb`$jtJo&x7{}4$P1hK0dNbnq~O(xnR7bSjX9q_Kg4!w-J~NM7q1b%*igjja#{4G z_hUORhcc(*?(Wg=*Uf)Z=X2@c-UQ9F;eBq|cDg)gxXvbVg4LvoZ{lCJ%2qUfbZ61r zuYHy@y`4H~#_%J(P8~k;#5M8jW422EnzwYh^zo&`w+o#kB#SrswyKTGtF0K~^}ckb z&PG$mwRGRLeOkqug>&YfJD_mgCz&{P5nW;NI)BdYGR3%ts1mg~4-NcLQ%s3joxtoyU3&GcUJOPKpG{Fp3Tt}|`&+pOxzK)NS3tQye zeaoHOIJh8Y43mP3#oTzN>+(3Jlgyv-#m-}H=UMMOad4`KH_MU)c!@!7BD9ij`9=7I zDsyD)F+0!BGBAi?WP!e|f?LUgLRhUluvX>vomJVl5_#t;zjkWfy4mKUua1_`v)E?c zakETZO{bce>L`3k0Cxm~2M?AO8DApctAgT!e08xlK%prN0G;4Q0sI(T7<+Ig2L4QI ze7P>-nM{{rhf=9cx||`uuy{iOah@ zr#GMA(ZN z*v!`N%9_wy&My+*&AgsxHJR)EMN0Uq{t&fL0p^P}Gs{Qm8vxX9Xvyxk6FwKt0v*lk$+#fnqK+72Nv<^-aq{{-)uv-*!45&kwr6*S4yBny_?Z=%9mxQWo=P z->_-3LD}YYWZw(KkvD9uGX$}L;B(Bt2=pLD*eVDOD*(i`g+nD@zGX6?S1dR-X%I*^zPQ3ciV1T zN+zKy;nk_PkE^zv-(#~Xt}Ni*^ywWew~S;e1w)uhUKYCyh~!pN&yrP^^MSK46=VM+ z(<@BjI3ziCE$bsVNe%x?qbTt2{2cg%K&O;Ml)(2j_{)O&g+Ru%WCEcmsa|&8Dh5f$Ju?3_IKgk%NcYxFsZq1z@1gX#8VrizsCa?|Jv0)0zf*?GICBk4)aS(0X+vk5R{-ZR1o=dXf3~ zbkgpLGso=M(^Th`>FmAbcnj}Pueo7eLQV}^KYfj>NA1d-2XglTb>4A{GRNNV$~f1w zYlox*n|pQixo^Zv4Scy9Ua@mZyr8v;iC*lS_>?!n&PzdtP6?>)tDN_gvpy>+9b#~m>1 zcJTa)r~uup7pgx?CB6OZGWyS&-ytDr)a7+!ovwb-{n_kwJ7Q}J=bpX(!`O-Dh9&VK zEQ$9R8@`!-r{_Sy|3&~lM6X{1Ke-q+GFGssxfX6BxD&yrswfn}nB(c*nv2C$GuFnr zpT}@u323m)Y5d#JvZ+zu+4H*B{aX9I?2N~_R!kbM;m(DXh)Jl4ujyJHr(cC&wfcCO zBWoP|kI3-%EMz5uxP_>NU^OmwnM_b-U?5rS`WY5CSnQIRM5em|hs7@PuNJ!ig<+-p z3;8;xVlh@;!mXIYRLo>5rWuVSK@jRI(W!KB-^PKI*S)Zr6i6H_l*OdodErK{`Hc99d3POp1gaI=Fz+H%3|_KjDZ-`r&I z%&;5xvX4Z!FCF6X)Nc5fQ*~97o*ipW$NKCWZ?k>*N}k1nhk38^q_b*#I{Fm!j#Ids z<*U->&i(S}yywh~w`ytqOL!y0$RRJqQ=vKIoa@qcjq^#=wO%x$>s;^ys z`sWkJCG%UUAfN^5`ujKaHS8pcVH!uG+zwO#L%tLOs z$=9xx6e*^)KeMQ3_k`W$y_zj46$dsQ@+d;IzT@k!jxW#HyJYNwUITk}?;Nuy^2mZg zeMRM+3*MG3-n+A?Xuy#qt)1nN#1pbghrUduLoYZ2G8MD_+Y8rcPk|-})0&Dk3`{`! zbD#LVcq)BxPSt};6#=hM4<9ov;F6GXji)quagTooO68>sQ8KVhs zZMuX?PhT=L%4@#o{<{3ViQCKKqx`B4DVD{fUhRiA&-M8=ZP1HRS?$YGeFtl1dyWWS zEWXBYXb z&t`7C{Kt|?+gnVfZJp7$@HYmsO4~C)J7F9ld_Q5k3rO4G>;8}LCn~8Pd~<^r*uWJ< zB^3^~Z3jzQD0s78^r$`}4)uu(ipX33rEb?pZ`;(;dNq~zjkvb@%QjWJPll{cYuRI4 zOneT_@7HDj+&;O^c7Y7+5CdglvevSYR*aMhmZdS=a+-QpQ*nBE#R;b3=znBe>cx1# zasmfS*ZOT~L=pbTT5fW%lr?8OS+*uAdGbP~R+5sOEQv|(-XM z2GIA6W7nkK045siFJ&0^Qbs0|1qDKQ29dqE48}{QNB>ui5BT=S8++5co`s{SS4&1b zpDS{GnONS^yQ*@a-FN%Bc?*k6{J$T#)hhROm(>G1I$o^q(6(ROAop?JcZXy=OOvEb zKO?(va^w5*Z`1d=G*KuXJrUpS*yqvKE#vQP@_Az8UEn@9Gwtp&NtOJEpiyxn!!D;5 zbb8*Q%Z>>#m-imEXzkYaMcdKgE*^ourg(I-8}O>J`8C%o(*NWAB$vzdx6q_@nicwNDOSc<1P4r#n~fx97>pqL2v>md@2$UwB3x^9$Lh zTj{cZvwio5okw!cyPOPqIO$FBo`SjyQD#?rHDAMDw6Bk{ljUaL(C6uAq<{X<@`>Lm zk8Nvf-rO>5Y#W26oJ_W{PW{sC`(Hi$M7Ya0YJl+6p4AKXt!%Ixy`X55K3+EUY1GhR zv5gM~<)w`-N@aSoyU_#&u3c*2+QoP$^7nS5;H?l{;Hdc8g(252GO`m*GwkGGCyFmt zyBKiTiFWwhGJ@}Q>UW}_k^SL)iyiKP7uSLj8Jge-P1hs1RfWq!3iY2jZPC=n7RN%b zpLV!k_p0#a&BoVyWLk+!YZYfaC;u|0SlGjZ`Odn@o42!mOTB7Cjb5|k=@N@WZ_i%& zY4M7PA8voSZ_~Qk$9{{(Ep|J6cA@>y@pI$W{d#=%s?i-cE5=NjtVU@i_cLaBjC@zL zs72L@a^2NsUj(k$Zv8m^^?*&PvD(-1!IRf-S<&O=?DSPfEo?Q5v)bR?bz*7XDdtyp zRB!J8*6AyimuKg#)km*rTkRU#BkaM;EoDD++ibq9mw3vtoc#00;tzJ$hPrPbq%G)n zaBE`U9xu7Moh=%#&Tal3Z&B%rBc;Qy_a5^8EMs3-^<}l-@uIy{myv0XS9z~a9|`W+ z_;?%xchLi3;_G9$gfOchfBB8*4~+Fc=MsXQ_!zi#fSE2RBsdsfLIksDD~$e^r{#Y% zQ>|=bxnr<+d>hGwH+FNLzZ#i8vp|<(b76%DRgQlBa9Cbfzs!UCZ^`!!`nE%kZ{Nob z$t}1t_lU+WvznYVvzt6j&h%N&L|gyff9$A~D2pHCw}uKgM*ckGn;*1HujZA@Vk}Sp z`n*%ciQS(41AF(6ebT#Ab>JvBojiA1W<|>SQ!~0v-+SQ8j5BgOmG>c+m(}IlugTxU z?rqV;GuKw*(scaVuG!-fv({(49qiuzaj%kZc8-sX5ASitdLh3>9@&y`vJ71G3q_y7?Pt@5BaYZ~VE*-#U8>ZjbF@dE?Oaxg9G8a@sFiwxp?g zKbP$~#k;Zc-K$$E7>J|LO~`n=f}fEJ*1k^zBg@ZTtGW)~k~U7yS=>oP3~tqrwy zdLB?#p}e$mbHOj)pZw$K5Tx$PM0+-Ccj_T$#q244TJG5LmRnc6IIv5Lx2bCb-fg)x zIcR%U=KL$Y!tecla$e5ViSGwwjr{pw7xQV&Z-hN))McPz(a@$v`xh=-+V0iJ;j;%! zE&a0SY~8|_P2PlFocZj~3eoK94_-XmJwnmP%X)}3 ztkD@oS>b&a3Rm})_fqL-Diet5A--K;{aOl{@%1xRRO`dHXO}Ul7 zZamH>C2T|A%ZDvf=M5R7Z7aMz*Z0yBu=mT;`Ok zy0LM#ODgG;a3u@xSK;ja=aT<@$BCsLBIufc&-1n7&@LPY6z#D%dhm^nom7^QHgEif z=evcrh^&FTv5NBLBmT?lmC2ha9{kxh57oW6Wydsgwr0w z3wy@^hfOXe3xKVjNG||iriuX2bkp55T!0ElUc8BAco{MSGlZB_r}67(Ck)I zPi|V!t&b!bzkp7(OoV!zs* zR`^HK(8X6)zZkJ<(+uuj?Qb!gy6l*^C?T}kiJDS9%l_EJ{)>O*{jp{I{9yjicNX-U z+3l&Ul4A*HM>FElGyc0H%HAb?;^=C6msCl0VO)$i4se-d+2Bs$qx+(^Y{JB7hE%Rs70S++iwyVJdcVCG;+f{gI0Y z4;y2?rtqHG!?B{sn1=%!C-wVT6MIkjX#NbQV($NdQ24ar;Iiz{-J_);3nr>pH~(?Q zjA!p23-8^Zw0oc2!`Vd{!@qxVxT!3 zXzdT3&W9Y@zn^I|u6J~|!*kznJ9g0ih7fx6@MZTN1ef&BZ-T#2LFu|_Ui^7xcloW;jnJ2zur1L?#^kM`K8D42gY!(h4kblkDyOX8FcdiZ`y=ilY)BR zsJz#%XmZuzqwOVM+b>upo>mcTadU1Db``(;+sPYlZHyqCPmMCktj^+|NQ literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Xml.ReaderWriter.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Xml.ReaderWriter.dll new file mode 100644 index 0000000000000000000000000000000000000000..022e63a21a86003cb34d9e4082ad1816c5eedbc0 GIT binary patch literal 606592 zcmdSC37lM2l|TOaZMF20uI{d?P6DYWknpIblXSCm63D`85K#8+AS8s%AX3;3h$&tO zsGta86Bi_?sJNhr`@Zkn$fBr-5OvhiaT%Q%ml=iM_j}HLRj-y#0y_Vhe?IBD_ndp~ zx#ymH?tb6B$FINHaxBYo@%PkImi1A%{I^Dacm1;s!F`2~_gNoIeQTeOb{+SveNK7) z=9!U8rmGiBpZ&s-bI!i_;_9U%o6Z}VzU<ax`J9tSURXW%ywTp?^nQl*bC0sD zt$O;jT$pJ#c>gyQH-j+&%s`QWssKBmqAw z7J2m2^RBoQ@I`+z`C?uncl_UoWo;ato|!%eNRf?s_W}GDXk-7@K+4hS^De4_kg`%{ zj4J}A3(vbA=qL%2Nu@+rH+M^tuD*T45b5T$+xR8p>+CjXYu2fQ|__-dDUe=lx?Tz7rVqJ zY^$%|a%pJ+U}v z#DUkxfp5ft?%r6OW8%P#ao`(qU`}5w&Jl6o<#FJhao~4xpfV@Mpc)5mivwSX1HX?0 z^ZR2Aj*kN`i34AW16`R|oKhUPAP(Ff2R;=C{yPp-24dXKi~~2ufqUb?x8lHm$AQXV zjN37B;01BuZE@h2abWMEIDS9GEjV z&L9q45C?9G1K)}Re~Sa-^J3gy5C?9G17C;(gY#o?j*0`9#eq-7f#1i0`Fq6}tc?RN zi39h>f#1Y|1NM$FsKtRVG=R|uFo3j!2@Vg6c6B-2`A>FXa233V1DjsQt*!trSV;og zaRZEVN*Fv1F14+77&{?$X27z;LlHh;IpJaAy5TBu1B`~#;TrL0!?kez8lmoit^q4R z+|qz`B@w|9_$i*Isa6tp@IDSvwqj)J79}kR#yN+ig%N;@=tm+-_!{wN!`tEdHA2c8 zwB$`ha5Q(>ZrdY-07 zgyy9wJq#@+z2gzwNDpx&y%T_??l5GQ^qwoO=I=!DXTy`=`ZYqD9tLvE9}$|ryG)7Y z?CQxtR+7k`B&SMbt}*Om(be+{sU-bVK+p6s1eEko6IateUHsV)6D_1qNYlqypXn2! z>0h4@(!gzFk>%9eE8cEm`&f`G>{9*) zx@2ZOQrP0|0Q-bT{{UZkz)dUya-GUFd)f*2knh+@(YBou z-S_#vHvkv=ecBGu=S1}GI~S@(1UW!L6`Wp3H?)YDU%YuDxilZ2{z z92dX+_APgM`Kf*&%p}v8jx`vm}ADByyeb}o1YwXGpMgjckBt^(}m^Tr6q1+ z(qHEK?o_wqCgNfYdXXF%PXqyFzwP>C-=YpZi+u~4txP1=5|bB&w^?lMWIpKZcy5W1p^}_qb)xP9C;?IWfhU?b|Y1;}}*tQa(eTm^uInj^` z|Bpyq>^$|&!>1n&((yUVim2PU% zzH&c8S7M3Dl_vgs5We2TlLeZ1ItjE-N$cZ~_kXl~ZxMaaowa%2gIt)Vz9|=M>Lts$ zka=!2^^&q1vbfOHGmg!sp2@I2B(1xUck~AtyQvShw{K4S6+eIlmWqCUa`+6Xsokih zIn=P6^tFS2A}2*Ln8^4KP-heY;2de$SL~iGxpK;4WP9?)Z zsBh1l(`dF4V@WP4$qXhFxlA&b49-PxCfUu7n05DakQJR)#!kE4(sT4o+zOPBwmH3y z%|zksu>t&^zqE(`sX}`4q2AJo@UIp8(Sl!V@XLW;IyMKt%a^9;p91lI19ryMW_|_N z(R@4S*sWbmpLxpaK0O8U5itZcjxx)cZqdk}Az0r8PC>m#~sXcdx*N^rCru5|{OVK5+a z{iNQ{hkD17bDM=|muuKHVqiR~sdoFh#LRgpRBekf_Ovh>$mB4>@V0O6WgoD{ zcGv-R-O}Sp*FEhPtV@#f&Ivfg*x{!}_lx5Tb2iiix}(m*9s7izm=c@Ob{azsX-Bbu zh`EFleo|aF{FJy}_!)7vef_xjv*E|!`ZYq@zM_t>eI+8+PCFJxdGgQR8lX;Xu=D4t zXR_b2w;mv<;d9j^D2N5BdFO5wkDy9|T5#@G@d&Ccs6zj_gwQsZQ?{L-+K@vVn=2k} zbHGc)*};!cmc@S>ITio5QGk(g{M*KKN9N$)Hl~76&r{YmG9Td%&NebiO^Un znLkz-_SXv!j4;V1m(2MAhEZt@T?k9MP?Q-1kY#S!0;D2IDwq6J+Ly%q+cm=&uWh8! zF0g9{k;l87+*k^u7y_sSi(#QUS8+I-{Vj_G%l!XI7rJt-u$~@chXK~aH6cXaLZ>C=VU9g0a0|utiR)_TX&JLh7 zxsVPFL1bZjpNGz!%79yOy-HV6G+X8u!!jY!Golx=xmb#v7hf_W*crOnFsJC^H^T0~CO#5%VYe0rq5EJKNwi@9_u z2W=AYZvqcH_zy&c38Y~wW5AC67+l0Wa$*%2B@i9i0?fynEBsgzBHJ=lMv~;m1GT8i zh*3^r>&2836F3@bwF)3T@d0o!;e)1J8|7XCFEwhiuU>)}ss+R1MLONiJawPW2g+Tk5549SiCCPm`~# zv`1JxI_nax&AX9W4V68AbHZH`3ka6E>ZPGX=Li^zp7@ytW!EcB-tU6R!rX!xfRGsAJ4a zLbE|*z^cf;ov>4BSvAp2jC}=t7_-0RIFwZj2hFoDl~v;O)N8n=BQ-qE?Z@cY$PM#6 z7C*|_wcgPMA@R@6t$Gu@_GV}E*>g9nxEH9>pzW+X*&fEY!og3Mi&?&HZ=SoM?7~cb z>Mj^N+Fd}D^XyaXd6Uk(Nw~ug&s#s~$SBZr8+4O21%itC2+{hP-r130d$9Xs$r=3rILS@(XCbgvl?U zy#$h9Kzj=$zkp`R!*$HVgwfX?rVdRs@<#=L{V?RMi%z{WajG6lCxIM-Siv%M!<8(< z58J_)v6N*O3S3%em8O%Qyb&$1tiHQ;a2c(8HL0~<-vN#7O&i8MZWViP>Cm<7<5W&s z?;@;|aVFX74kQwLZ*p|)?(9izT9tn6XNg21a}JuJM4?-p`S`VKSoh}ujKXZVqqnpu zRr@lmJ~5t6)xHFeQ@tEQl@kgTQ?;)E*_*0-A2W-5L1`YzBE9R+B$3lB!jnF=G zr(mvTqAYQIG|Y~wb;&-qBSnNlL0RS}g{nJIPPxu0KKft`v$YN$Zg|-_>{Mou3W*ZR zWfVy#Bx%2lrKFr+eK8uz6JcNZ$?6sK7Mb5nscG{|EosRUe zRG8WN9N^{#FM*U;1PQjl4QlvFqxYD*^+W_F{jJZXbL(VqB?8_cE%XQm(bm`#LeL>L z3egEqW@@8bPl7X(gIvYy?HX~;f^!~za<4&*7S~T6@92KbX|Pw+S<97nT;52V*R%qcKnV zK5EZXKeVg{<}qTPh+~ANjyWH(Kr`h?WURq%8sThfa--HEELmy&73@?RWT5s(cyRa3 z$p=ry^c4IQJ_B%Z6#1w?oGkKyxUAD_;G!MKIOUaSpGO^SQ_<7VvJ!F2(#^~bw5*El zYs+oMK3~g9UxT5R;k6mOp0_8wU>KDpsMgA8$pRB6*dJ1s`yE#Jvsi_&mEzY^R@$zrX}nZn-clMa_0soN6}pZ`WUQ<7EsMGxGFZZrsyrEP2|q}tzzS$@}|2VPYV zVe_CN&}i2-HX1<|X>McHFD|z8xnKeye7U+WpI02)q8n_B=XNtT+HmRZDz;r5N~<3u zF1xUyiqF0)6+d2Xbx;vTOY$u=AR+ z{gz?Q~Al&`#ky7Q%TxcGO+{#Bok4A`LgVV`rujL zfL$)4T?Q|uwKN-L4olf;mSU7c9C+r&4utuk0ia>t6EjSrObGU#)G~1vLM_wJa&xV` zFypIL&V^^6x>Z7IF|z#BV8U5G7b0EtJaDsf+R#W7j?rzFi_D6{SO%uN;-%vqsrnjzw37jUuLe!ut zA*C|2XDctjx=<5#KVp-aL~0E>sAg3FIX;WN`!ap?#9$Yxx?RMz2dS5BKof&5hK zq77V3gKJIb;GBBEV1K4RGe>op@dq-UbvQiPL!Fcs`4NZNv zUp8nLj$VePhqI?ju3eD5(jxkP4!!fiN@%TkF}I5QP;$D&U{|k0MxEdhs1XP65Z2f- zv~$=M3?5|&`;fz-YFWPq(Ljs=Y&Ko#7nF>2XI=rs77X=uW?=@>DGZr|S3!a;I_CG~ zoD$lhSlx;)AWqk=a|r>_Nsol@&dUUzb&<5Di(KNLF$_ zTsZR#&+)s`L2m#R;mAf%6QQE1UbFDN5gy}-Ncgj;_PrV!%?Fo*0o5dVsgJEdRjyNM zeF&C;GVNzaMZK?(bTyu59UPOj!QI5;*o*OU-2Cuul`03JX0ZIoGFoL<{OMIlt~h-x ze;3ZNf>)woi!0_>L&5d%1+Qubv2Gp@y|Ec&TM~=Ay&1fz8N9g}yrmhumEa%k;5N8r zfBF=PX9rl?C3KcR7X_Ch8vxHIILDg42(C(fJ7fRB4qnp~`?c}dvqyd%BTKn-asSj> zO#7Yr0#-yYd3!Q<4h8|*$(XXM!o}Dv;~a&7Fi+sJ265L^YEx;E9lQW?_FJWc?cgHy zmFM6@NAP+ilnd^_Z)tw814ZQAFb@o-FJV5qX}MV9N^il8F(2HEA+-?GT%h{AhQ8eEBm%V)`0vb{F>7vU?LnJ=oq`p*J@{ zcQ-+AX@cIW&|Ho8wkGJFCg|-=5VkDS()O)~9s-tiT^F=E&7!{$yY5dx1vI@F>Z+nW zf`lzi^qpXpCaGnOXH3otm2tsrtFJR%h+x$Bj_IWLWn|0xx8}6!Xr>48O?vN=^h^|_ znQf#Q#jrG8ep^SI#vg3?OSI+3^NUTX-P2rZSRwf~2;@wUeq)ETrYS2wz)?2%Tm(KP zwKoTGD($zk2S3GRPC&nXR=W&07hhv=!%2DRMyh^*8+_Hn}b}Eyu z@*I2mqbSIE)%PJH8-1;kpKdN(>2Tiee7GoglLq>4#(Kc%`2>kSd1 z%H#T8a4jXn`4>#*nXlp&r|diV(Nrm6OOI2uWg!zgF844P%Q!AbucZH4x9q$5(K)4F zRH<~-MS+*s=QdGu%+^euYN6&Bgr%4Zw#8DRlv4M6>j>y-Dav&CMi>^p(RHxGIsIjt zvrJq#V8BwQ**^l{NNWuKsUG_pqIlQn5H6`VQCl7G9)q%baPyp7KI4K^`tlJUJn;=z;C^MINZo zpr&pNS0e7C(9<&eQtR#fB4LDKDZnC z&)zVDQV|;%5@ELZ!)GAAXZ;58$5I7chhc6F|co`qGp3**2>T`t2@On>9 zz?wOUZ(+zSdGAZ*PU%ZxEqL;O~7c~X7xerc=J{*UUqQ>m*@I1nOUWkPh7q=*!FQ6M<02ke) z<3gID;9e$bAWtD&zz}h9?`{yaq7C&)acXZUcqb*dK3#H$ymHcu_=w+dK|3rN!J75Z5Sr9?QHZnRJcmTZLbRzB-)FM2LXu!n z2;C|JM!|%^r4N~uaF)}NT1+S>vCQB-NZ4yHDJ>h<6p61zf~zaEOgt@<&)bzgDaj!; z{bW>hDxS+lNGay1OzgX(V5H4+3ajCc)1E7^iGbZ;y0mnTt-aW%VJY2noCbgc;7St| zKw5zMstozrZv>k$FMdHAZ)) z|0818L^Et?n5HwmbRQ!_&hQxyUw{CdGkhT&=7+*EA2!eNYCcq$PeXF-d!rK+7z;3V zjgfF@PU4Eaux!}>+BLF;>_RcV5(mm_Rba|E3wSYHmERZHYTrgr--LJwi0WsdJaiZ) z|AzEIAtlq%`*4OrWH*USi5Rl~?pfPW00)WPc293Xp3QkB%)YLvLz-7dw2X6(l5N!gO|akb#=pNUa7iiT~UA&e1_`Ec4G-^v?*_m9E=af1KjWd z=$<;D>Fo-aC*N!=~`s9*gOP}MKv=LXcO z`K(`#+;w#b(#@qEnVH*=!^dA5f2FZuY%$MGmrPNlIS-t@F8mbpB~%oq#)*~Wpu2Q( zQ@$yyF`bw;dsF2gCG+Im(%z);xX$o+I+2u5Ez>1zP*uMIu@*BCS(UH8## zxwmVgZZ~OsTO^6blxx`GAU-8D0W61ZJ5gnOY6u`3OV`gW`J|k?v#l+WUPasKmTEv2 zChGDg-XiK^-Dl4&#Rs&pbQz}QyG)iMc4beuu7*GWV` zKTx_ahAHP2n7$d!x<(7W4oa-IlZDtQ$1uxTP7c>#oXfB-W2gP0;6V_S_g6x{N^)Hs z#V3VK(XaAXP+YhvKBDn$WKTYjk{C`?Jc;2n#ltW&cmRAT`h`w8t7U`BFpR`1Z1HeW z;LKM+x$QQy&mNjL@{@&&}s&z5{Rfv>vGx1>V65c`@H@uZj zF1(H5+P83yHzI8Wk!YeB#ldHjx@>0G7-dN>jy;nF8rWAa`8mclB=+@K+BI4a!`A?X zDf4UTa5t0#%i964FGi)Q@fY`8h^1$G{V8Rel7HFV2a1um4q|1gf~0b)q~;a8og_M1o>UXGQfDM z@ttqWMGf-ZUE{Og`aLI&Pk-$ic9SqNs*gq31|5#S(zERvrL2AmGNRQMVEO@APW2PO zptU{((p2`RGVcSOU3)Kn$MYyfFIY)=gVRxSXMTjT-vXjwIfbtWN}2ud4oF>hNCLgE3 zG!=I5$ezj?kyUtZ08exh4gQ#KBdXyNFaJ(*V>jW++@8q|ro+whd|0b3cFsB1^F!8Q zu3^)yR**@wdh~~^;`oNB#=;;q`WQbXKx(=XHT_D>ym}TIK5MPyl{&(KOVJ%9kyeAf zLy^fy`?vfRC`7wPE!wsB;CIP*WXNm`<00yws+JI$--t5~zE;$z6t;Q*LT~}ABvZvz zVQ4^A$99d(a?;XP?}Y9bb%#tWQQm-(B!`JBaLIxxkmrHGaKT3;4AuEkBtRLQc})#N zQo9pC*&EYbkzgu$wVjxl+Mhiisz5uOk&CG6?Iu6bz*>xvjZMPeX%fbS*{|EyjrBSt zwn+AAe|YMsIV=|ZCCpzB+{O3{%pd*nzlbiP!IlO`!cJuY&Sa>azZ$%;s;q@;=19#i|d7d5LfyCoA|Tg@8J41Ldt(o`4iE^A9E?|7{mWB5?AlG__O%4;h*68 zHA2c~Ncj*EyW7H+yON$|`20=c>OFCP6@NDTZ@7Mqkn+hYA0qUgI8$DfXPx2G|E@CO)*QV+|i);yPhMTsKUL>xC(CRd1g7v!M&uuMtxIdF4+; zlitYx*@k~c;yU4gxNbNot{3);tNiDPKO6SJ^=pKb|FH5WqKQA+R_i#!e^}x=;aqW5 zuX*uj!yH_{Mo9V1RenUMK8`hmQ~e4QLjs(nciefwkF}C;oPaUEHG;J48iTo5HXt8T z>cANvQ_4rg=D`2YI(<dRkdn7~bL0~@gD>NIJ4+*>T?HZBQpFmoy)}of1p=VUTMFub=cGOfmYJEHEjCK@zpOzHQ zY)75dj^dc2CE~_*)YS8b=eq!S&k=WbQx`R%CbPElvt=`QU=cUe2#<(=qW+)j5zC%Tuk({1TQ zS8J!cvJ+j{3AvTXvznEUz0B%W?M$~3bwU$q_3BPMujxSe(hj(nb-=y66T@pe5MI}b z@D&{hUrAhZ18{vi>Q(Ki8`@Dfwxc+cXkmX-JL=|k)Gh6(TZwAX@NMm69CWoL$)Q&Z z>NP~+;7z<*dDYi;#J;X0_VpdHcM#jGPp*HoC&e*&3*nA-)Llfi0I7(V4d7T$Jz3ann_X4v(rBQG-#iA8nio~2JMgAXjT8GwB)V&lV-w5S8X=((>YB#o_y&of3e_Wc3?J9s_rSH;-Zgw%-K_1O1R>RUKf zmm{v+Wl;SveHi=RA((viPPiEReu54ghp)-lmx)wY0LSLGfpV%ViEAc1lqd`fVq`qx zR6UG%bSh2w>gsj|YuizWcZ_>XJK;K_T4X%71MbIBKx9MN^Lch>T=Tu+PL^vzIElp&yK0DHhpH$ge6LHkfw55$c z>B=U`Mt|5!TMe5DXO(knE1mXnt^C*@UfoP8YkBP7TWPD;G!ruI&boYQ6XEQ1FKeOG z@j`357^}Rzi4d~Q&hy$P(%I>*+e5ln>>(WX4V~n+PQ@vzN`QT8MXL zLpQY1&Q?A*Hc{@1=k_K_>V0-uZ)&5}aZ0NWsy8cK+2FE#Vrdp`l=q6@}d>JX}iXZ^fQwB_YXXy7>?6{ImanDP++8U~#?t zrJR;$cSma?b5%CjzY&=QS^2UFWXUa_z$vmw0-Oo1OHhwF@y-STjz852xSkv=0_%xa z2!UF5U5}Ebi#yRrd2FO`j4+U5iqva#Qi(BW(DR}TEss4ZDZ}a~D2^!Uy6h36&RbP8 zeFHcAx$=jXY7#a+U978c`i@4>^6lh#CEJXo+$6B5H#Zhy-x#)&Ovwjk!M=!D!p*kY zEHtU7d{R^L`;ii-PNh9Lq&;Xq6SP+p)X_+MY0z~4-j?qpPOsNV9G;2lBsQ7k6Jol! zW~osb=ka^gdBx$V#<7C(&{?M@L)Hq@nwD!_4OZB1&Dd4O$&-(XHhL(o3jnS>qFJa6 z<6`D-LTlJlCSTb!mSsC+P4EHQUtdUg>Xs;e;DNItN)S#(?)v<{)Ci2<~ig~M6k2vEW;UwKh!2?C6LQY<$tjFv*AH- z{Td{5mG({-i%#=IZ4ts_}C1)p)sHTEs_! z@~vN=-#5HSxm4qz)m2m7`mICb>`N~N8eoPAN8u^xSKV9{1 zfPl%r`d0d*RYIQe+6vx1(5GFaJm}h;;Mvl(3%4=1JlDRGvbfrvr}_MYA6&)upOIy0<8*v?a21qj zzTt9%W5L+L6^iET2ntP9ovkiTN}u041kg zC3NtT*BowdkgHy+T-9_4VLFw@?XuJF!1zfo(pZ$1k6k2!&=vpa@B=(aV<<|)DO3uT z-~=icXRf4}@nxn-&?HxtbyCR5zUg=>75`#oOm)e(eTKCuJGZd9uu55@H!-a1HTYOxp(G#ezsE z+_s63;}L?T{3P!25Sb#8ysE4zf8FS6Z`@X_hK{o_sI8_JIKf(WlTmTY;w`4YqTZyF z4_3uPWf?aLZLKX;StUc)8#TdRc}?Lnl&(`sGTK2zvK&bYJP{KDbLg zexpP*251zg^u>;a{Ud7w_1uYP{mNtw9jzqF89%$s$9lr#XcPaQB<_)yQAR8U*3SY8 zaif%@J%qbKbGR0C;$M-bqnFz+>Me{M`aQs@LV6r;y|7`Nz8{rPJ{?-|DTMfyK23gp zbWf*~NG8lRofFqf+}<^}!Np~fO1b1&4*c>N0@&gO9AW#xh;7;DUC5<#cF9>t@B*Pk z{dg3$GP=u1QPci1G$)I}A%1iJ>J-jl;&NH1=*Kc(uC0`|%!aPcZs^M8135iz?*t6V za#FV~8g!woPXoY!9)VpRINO1pPa>;53&TU|W zZnIT8a*yHEY@8$%lcyHN955SwlTHx1n+#IP)kRgu5YgZbHn+^X4>jy5*q zjZY+V%ML^lPe~EG

Ar7)s*Rwm=cG4?*cvUjpP9AnetOn;gMJYDH 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

{)UZ8%zSENXt}>>AelVY(_Gi@Q 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�(HI14PXGtdBp~+0vbSpLX;7%SFoNB8761Lb*sGNTd)fQV0<# zgoqR>MEnX7ze2>X5b>)-c$EmR65&-M{7ErlTWr(E*K299%^29Sr9afe*;e5q&2W*X zQ{)oW`>BFEn;Sim^mV*j|J;zo=|gznoBB< zfq7!zH9{>AYJpG#EZA}aEZ9N#7VJYIyum@O1*+a{2&oO zNW?D^=@*OiOGWynBK>l)SGg!*xmC=lMQY`cPUnY$MLNMEonVnp2<3&jga|c6s3AhF z5V=%|T&hJb;Ua#u$m_Dm>$1qJDfF*WuW*qpa3e_o8r%-#tUf%4Q z6-Uu)RvcrmS+SR0v*PG_&5GmgH7ky{*Q_`W53zOX+}+yN_SU0;jaFG^rH$!Q8-81) zb=6??VkdkNAd&5b?Nn9*ei|$5S{qgd4#RdXy9EAmb`|^z_8a(>V!Mi2yJ_%CRs~

+ /// Monitors the task (which should be ProcessRecordAsync) to control + /// the lifetime of the job itself + /// + /// + public void Monitor(Task task) + { + SetJobState(JobState.Running); + task.ContinueWith(antecedent => + { + if (antecedent.IsCanceled) + { + // if the task was canceled, we're just going to call it completed. + SetJobState(JobState.Completed); + } + else if (antecedent.IsFaulted) + { + foreach (var innerException in antecedent.Exception.Flatten().InnerExceptions) + { + WriteError(new System.Management.Automation.ErrorRecord(innerException, string.Empty, System.Management.Automation.ErrorCategory.NotSpecified, null)); + } + + // a fault indicates an actual failure + SetJobState(JobState.Failed); + } + else + { + // otherwiser it's a completed state. + SetJobState(JobState.Completed); + } + }, CancellationToken); + } + + private void CheckForCancellation() + { + if (IsJobDone) + { + throw new LongRunningJobCancelledException("Long running job is canceled or stopping, continuation of the cmdlet is not permitted."); + } + } + + public void WriteInformation(InformationRecord informationRecord) + { + CheckForCancellation(); + + this.Information.Add(informationRecord); + } + + public bool ShouldContinue(string query, string caption, bool hasSecurityImpact, ref bool yesToAll, ref bool noToAll) + { + CheckForInteractive(); + return false; + } + + public void WriteDebug(string text) + { + _statusMessage = text; + CheckForCancellation(); + + if (Debug.IsOpen && Debug.Count < MaxRecords) + { + Debug.Add(new DebugRecord(text)); + } + } + + public void WriteError(ErrorRecord errorRecord) + { + if (Error.IsOpen) + { + Error.Add(errorRecord); + } + } + + public void WriteObject(object sendToPipeline) + { + CheckForCancellation(); + + if (Output.IsOpen) + { + Output.Add(new PSObject(sendToPipeline)); + } + } + + public void WriteObject(object sendToPipeline, bool enumerateCollection) + { + CheckForCancellation(); + + if (enumerateCollection && sendToPipeline is System.Collections.IEnumerable enumerable) + { + foreach (var item in enumerable) + { + WriteObject(item); + } + } + else + { + WriteObject(sendToPipeline); + } + } + + public void WriteProgress(ProgressRecord progressRecord) + { + CheckForCancellation(); + + if (Progress.IsOpen && Progress.Count < MaxRecords) + { + Progress.Add(progressRecord); + } + } + + public void WriteProgress(long sourceId, ProgressRecord progressRecord) + { + CheckForCancellation(); + + if (Progress.IsOpen && Progress.Count < MaxRecords) + { + Progress.Add(progressRecord); + } + } + + public void WriteVerbose(string text) + { + CheckForCancellation(); + + if (Verbose.IsOpen && Verbose.Count < MaxRecords) + { + Verbose.Add(new VerboseRecord(text)); + } + } + + public void WriteWarning(string text) + { + CheckForCancellation(); + + if (Warning.IsOpen && Warning.Count < MaxRecords) + { + Warning.Add(new WarningRecord(text)); + } + } + + public void WriteCommandDetail(string text) + { + WriteVerbose(text); + } + + public bool ShouldProcess(string target) + { + CheckForInteractive(); + return false; + } + + public bool ShouldProcess(string target, string action) + { + CheckForInteractive(); + return false; + } + + public bool ShouldProcess(string verboseDescription, string verboseWarning, string caption) + { + CheckForInteractive(); + return false; + } + + public bool ShouldProcess(string verboseDescription, string verboseWarning, string caption, out ShouldProcessReason shouldProcessReason) + { + CheckForInteractive(); + shouldProcessReason = ShouldProcessReason.None; + return false; + } + + public bool ShouldContinue(string query, string caption) + { + CheckForInteractive(); + return false; + } + + public bool ShouldContinue(string query, string caption, ref bool yesToAll, ref bool noToAll) + { + CheckForInteractive(); + return false; + } + + public bool TransactionAvailable() + { + // interactivity required? + return false; + } + + public void ThrowTerminatingError(ErrorRecord errorRecord) + { + if (Error.IsOpen) + { + Error.Add(errorRecord); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/AsyncOperationResponse.cs b/swaggerci/redis/generated/runtime/AsyncOperationResponse.cs new file mode 100644 index 000000000000..62971dd10c7a --- /dev/null +++ b/swaggerci/redis/generated/runtime/AsyncOperationResponse.cs @@ -0,0 +1,176 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + [System.ComponentModel.TypeConverter(typeof(AsyncOperationResponseTypeConverter))] + public class AsyncOperationResponse + { + private string _target; + public string Target { get => _target; set => _target = value; } + public AsyncOperationResponse() + { + } + internal AsyncOperationResponse(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json) + { + // pull target + { Target = If(json?.PropertyT("target"), out var _v) ? (string)_v : (string)Target; } + } + public string ToJsonString() + { + return $"{{ \"target\" : \"{this.Target}\" }}"; + } + + public static AsyncOperationResponse FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject json ? new AsyncOperationResponse(json) : null; + } + + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static AsyncOperationResponse FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(jsonText)); + + } + + public partial class AsyncOperationResponseTypeConverter : System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the + /// parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the + /// parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to a type + /// parameter. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the + /// parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static object ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(AsyncOperationResponse).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return AsyncOperationResponse.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString()); ; + } + catch + { + // Unable to use JSON pattern + } + + if (typeof(System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return new AsyncOperationResponse { Target = (sourceValue as System.Management.Automation.PSObject).GetValueForProperty("target", "", global::System.Convert.ToString) }; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return new AsyncOperationResponse { Target = (sourceValue as global::System.Collections.IDictionary).GetValueForProperty("target", "", global::System.Convert.ToString) }; + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportCmdletSurface.cs b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportCmdletSurface.cs new file mode 100644 index 000000000000..ce21df158177 --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportCmdletSurface.cs @@ -0,0 +1,113 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Management.Automation; +using System.Text; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.PsHelpers; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + [Cmdlet(VerbsData.Export, "CmdletSurface")] + [DoNotExport] + public class ExportCmdletSurface : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ModuleName { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string CmdletFolder { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string OutputFolder { get; set; } + + [Parameter] + public bool IncludeGeneralParameters { get; set; } + + [Parameter] + public bool UseExpandedFormat { get; set; } + + protected override void ProcessRecord() + { + try + { + var variants = GetScriptCmdlets(this, CmdletFolder) + .SelectMany(fi => fi.ToVariants()) + .Where(v => !v.IsDoNotExport) + .ToArray(); + var allProfiles = variants.SelectMany(v => v.Profiles).Distinct().ToArray(); + var profileGroups = allProfiles.Any() + ? variants + .SelectMany(v => (v.Profiles.Any() ? v.Profiles : allProfiles).Select(p => (profile: p, variant: v))) + .GroupBy(pv => pv.profile) + .Select(pvg => new ProfileGroup(pvg.Select(pv => pv.variant).ToArray(), pvg.Key)) + : new[] { new ProfileGroup(variants) }; + foreach (var profileGroup in profileGroups) + { + var variantGroups = profileGroup.Variants + .GroupBy(v => new { v.CmdletName }) + .Select(vg => new VariantGroup(ModuleName, vg.Key.CmdletName, vg.Select(v => v).ToArray(), String.Empty, profileGroup.ProfileName)); + var sb = UseExpandedFormat ? ExpandedFormat(variantGroups) : CondensedFormat(variantGroups); + Directory.CreateDirectory(OutputFolder); + File.WriteAllText(Path.Combine(OutputFolder, $"CmdletSurface-{profileGroup.ProfileName}.md"), sb.ToString()); + } + } + catch (Exception ee) + { + Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + + private StringBuilder ExpandedFormat(IEnumerable variantGroups) + { + var sb = new StringBuilder(); + foreach (var variantGroup in variantGroups.OrderBy(vg => vg.CmdletName)) + { + sb.Append($"### {variantGroup.CmdletName}{Environment.NewLine}"); + var parameterGroups = variantGroup.ParameterGroups + .Where(pg => !pg.DontShow && (IncludeGeneralParameters || (pg.OrderCategory != ParameterCategory.Azure && pg.OrderCategory != ParameterCategory.Runtime))); + foreach (var parameterGroup in parameterGroups) + { + sb.Append($" - {parameterGroup.ParameterName} `{parameterGroup.ParameterType.ToSyntaxTypeName()}`{Environment.NewLine}"); + } + sb.AppendLine(); + } + + return sb; + } + + private StringBuilder CondensedFormat(IEnumerable variantGroups) + { + var sb = new StringBuilder(); + var condensedGroups = variantGroups + .GroupBy(vg => vg.CmdletNoun) + .Select(vgg => ( + CmdletNoun: vgg.Key, + CmdletVerbs: vgg.Select(vg => vg.CmdletVerb).OrderBy(cv => cv).ToArray(), + ParameterGroups: vgg.SelectMany(vg => vg.ParameterGroups).DistinctBy(p => p.ParameterName).ToArray(), + OutputTypes: vgg.SelectMany(vg => vg.OutputTypes).Select(ot => ot.Type).DistinctBy(t => t.Name).Select(t => t.ToSyntaxTypeName()).ToArray())) + .OrderBy(vg => vg.CmdletNoun); + foreach (var condensedGroup in condensedGroups) + { + sb.Append($"### {condensedGroup.CmdletNoun} [{String.Join(", ", condensedGroup.CmdletVerbs)}] `{String.Join(", ", condensedGroup.OutputTypes)}`{Environment.NewLine}"); + var parameterGroups = condensedGroup.ParameterGroups + .Where(pg => !pg.DontShow && (IncludeGeneralParameters || (pg.OrderCategory != ParameterCategory.Azure && pg.OrderCategory != ParameterCategory.Runtime))); + foreach (var parameterGroup in parameterGroups) + { + sb.Append($" - {parameterGroup.ParameterName} `{parameterGroup.ParameterType.ToSyntaxTypeName()}`{Environment.NewLine}"); + } + sb.AppendLine(); + } + + return sb; + } + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportExampleStub.cs b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportExampleStub.cs new file mode 100644 index 000000000000..c1d50b7c46fa --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportExampleStub.cs @@ -0,0 +1,74 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.IO; +using System.Linq; +using System.Management.Automation; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.MarkdownTypesExtensions; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.PsHelpers; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + [Cmdlet(VerbsData.Export, "ExampleStub")] + [DoNotExport] + public class ExportExampleStub : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ExportsFolder { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string OutputFolder { get; set; } + + protected override void ProcessRecord() + { + try + { + if (!Directory.Exists(ExportsFolder)) + { + throw new ArgumentException($"Exports folder '{ExportsFolder}' does not exist"); + } + + var exportDirectories = Directory.GetDirectories(ExportsFolder); + if (!exportDirectories.Any()) + { + exportDirectories = new[] { ExportsFolder }; + } + + var exampleText = String.Join(String.Empty, DefaultExampleHelpInfos.Select(ehi => ehi.ToHelpExampleOutput())); + foreach (var exportDirectory in exportDirectories) + { + var outputFolder = OutputFolder; + if (exportDirectory != ExportsFolder) + { + outputFolder = Path.Combine(OutputFolder, Path.GetFileName(exportDirectory)); + Directory.CreateDirectory(outputFolder); + } + + var cmdletFilePaths = GetScriptCmdlets(exportDirectory).Select(fi => Path.Combine(outputFolder, $"{fi.Name}.md")).ToArray(); + var currentExamplesFilePaths = Directory.GetFiles(outputFolder).ToArray(); + // Remove examples of non-existing cmdlets + var removedCmdletFilePaths = currentExamplesFilePaths.Except(cmdletFilePaths); + foreach (var removedCmdletFilePath in removedCmdletFilePaths) + { + File.Delete(removedCmdletFilePath); + } + + // Only create example stubs if they don't exist + foreach (var cmdletFilePath in cmdletFilePaths.Except(currentExamplesFilePaths)) + { + File.WriteAllText(cmdletFilePath, exampleText); + } + } + } + catch (Exception ee) + { + Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportFormatPs1xml.cs b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportFormatPs1xml.cs new file mode 100644 index 000000000000..3d2df3cebade --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportFormatPs1xml.cs @@ -0,0 +1,101 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Management.Automation; +using System.Reflection; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + [Cmdlet(VerbsData.Export, "FormatPs1xml")] + [DoNotExport] + public class ExportFormatPs1xml : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string FilePath { get; set; } + + private const string ModelNamespace = @"Microsoft.Azure.PowerShell.Cmdlets.Redis.Models"; + private const string SupportNamespace = @"Microsoft.Azure.PowerShell.Cmdlets.Redis.Support"; + private const string PropertiesExcludedForTableview = @""; + + private static readonly bool IsAzure = Convert.ToBoolean(@"true"); + + protected override void ProcessRecord() + { + try + { + var viewModels = GetFilteredViewParameters().Select(CreateViewModel).ToList(); + var ps1xml = new Configuration + { + ViewDefinitions = new ViewDefinitions + { + Views = viewModels + } + }; + File.WriteAllText(FilePath, ps1xml.ToXmlString()); + } + catch (Exception ee) + { + Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + + private static IEnumerable GetFilteredViewParameters() + { + //https://stackoverflow.com/a/79738/294804 + //https://stackoverflow.com/a/949285/294804 + var types = Assembly.GetExecutingAssembly().GetExportedTypes() + .Where(t => t.IsClass + && (t.Namespace.StartsWith(ModelNamespace) || t.Namespace.StartsWith(SupportNamespace)) + && !t.GetCustomAttributes().Any()); + return types.Select(t => new ViewParameters(t, t.GetProperties() + .Select(p => new PropertyFormat(p)) + .Where(pf => !pf.Property.GetCustomAttributes().Any() + && (!PropertiesExcludedForTableview.Split(',').Contains(pf.Property.Name)) + && (pf.FormatTable != null || (pf.Origin != PropertyOrigin.Inlined && pf.Property.PropertyType.IsPsSimple()))) + .OrderByDescending(pf => pf.Index.HasValue) + .ThenBy(pf => pf.Index) + .ThenByDescending(pf => pf.Origin.HasValue) + .ThenBy(pf => pf.Origin))).Where(vp => vp.Properties.Any()); + } + + private static View CreateViewModel(ViewParameters viewParameters) + { + var entries = viewParameters.Properties.Select(pf => + (TableColumnHeader: new TableColumnHeader { Label = pf.Label, Width = pf.Width }, + TableColumnItem: new TableColumnItem { PropertyName = pf.Property.Name })).ToArray(); + + return new View + { + Name = viewParameters.Type.FullName, + ViewSelectedBy = new ViewSelectedBy + { + TypeName = viewParameters.Type.FullName + }, + TableControl = new TableControl + { + TableHeaders = new TableHeaders + { + TableColumnHeaders = entries.Select(e => e.TableColumnHeader).ToList() + }, + TableRowEntries = new TableRowEntries + { + TableRowEntry = new TableRowEntry + { + TableColumnItems = new TableColumnItems + { + TableItems = entries.Select(e => e.TableColumnItem).ToList() + } + } + } + } + }; + } + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportHelpMarkdown.cs b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportHelpMarkdown.cs new file mode 100644 index 000000000000..0b5073a09b05 --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportHelpMarkdown.cs @@ -0,0 +1,53 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Linq; +using System.Management.Automation; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.MarkdownRenderer; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + [Cmdlet(VerbsData.Export, "HelpMarkdown")] + [DoNotExport] + public class ExportHelpMarkdown : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public PSModuleInfo ModuleInfo { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public PSObject[] FunctionInfo { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public PSObject[] HelpInfo { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string DocsFolder { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ExamplesFolder { get; set; } + + protected override void ProcessRecord() + { + try + { + var helpInfos = HelpInfo.Select(hi => hi.ToPsHelpInfo()); + var variantGroups = FunctionInfo.Select(fi => fi.BaseObject).Cast() + .Join(helpInfos, fi => fi.Name, phi => phi.CmdletName, (fi, phi) => fi.ToVariants(phi)) + .Select(va => new VariantGroup(ModuleInfo.Name, va.First().CmdletName, va, String.Empty)); + WriteMarkdowns(variantGroups, ModuleInfo.ToModuleInfo(), DocsFolder, ExamplesFolder); + } + catch (Exception ee) + { + Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportModelSurface.cs b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportModelSurface.cs new file mode 100644 index 000000000000..cac0462f0648 --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportModelSurface.cs @@ -0,0 +1,117 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Management.Automation; +using System.Reflection; +using System.Text; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + [Cmdlet(VerbsData.Export, "ModelSurface")] + [DoNotExport] + public class ExportModelSurface : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string OutputFolder { get; set; } + + [Parameter] + public bool UseExpandedFormat { get; set; } + + private const string ModelNamespace = @"Microsoft.Azure.PowerShell.Cmdlets.Redis.Models"; + private const string SupportNamespace = @"Microsoft.Azure.PowerShell.Cmdlets.Redis.Support"; + + protected override void ProcessRecord() + { + try + { + var types = Assembly.GetExecutingAssembly().GetExportedTypes() + .Where(t => t.IsClass && (t.Namespace.StartsWith(ModelNamespace) || t.Namespace.StartsWith(SupportNamespace))); + var typeInfos = types.Select(t => new ModelTypeInfo + { + Type = t, + TypeName = t.Name, + Properties = t.GetProperties(BindingFlags.Public | BindingFlags.Instance).Where(p => !p.GetIndexParameters().Any()).OrderBy(p => p.Name).ToArray(), + NamespaceGroup = t.Namespace.Split('.').LastOrDefault().EmptyIfNull() + }).Where(mti => mti.Properties.Any()); + var sb = UseExpandedFormat ? ExpandedFormat(typeInfos) : CondensedFormat(typeInfos); + Directory.CreateDirectory(OutputFolder); + File.WriteAllText(Path.Combine(OutputFolder, "ModelSurface.md"), sb.ToString()); + } + catch (Exception ee) + { + Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + + private static StringBuilder ExpandedFormat(IEnumerable typeInfos) + { + var sb = new StringBuilder(); + foreach (var typeInfo in typeInfos.OrderBy(mti => mti.TypeName).ThenBy(mti => mti.NamespaceGroup)) + { + sb.Append($"### {typeInfo.TypeName} [{typeInfo.NamespaceGroup}]{Environment.NewLine}"); + foreach (var property in typeInfo.Properties) + { + sb.Append($" - {property.Name} `{property.PropertyType.ToSyntaxTypeName()}`{Environment.NewLine}"); + } + sb.AppendLine(); + } + + return sb; + } + + private static StringBuilder CondensedFormat(IEnumerable typeInfos) + { + var sb = new StringBuilder(); + var typeGroups = typeInfos + .GroupBy(mti => mti.TypeName) + .Select(tig => ( + Types: tig.Select(mti => mti.Type).ToArray(), + TypeName: tig.Key, + Properties: tig.SelectMany(mti => mti.Properties).DistinctBy(p => p.Name).OrderBy(p => p.Name).ToArray(), + NamespaceGroups: tig.Select(mti => mti.NamespaceGroup).OrderBy(ng => ng).ToArray() + )) + .OrderBy(tg => tg.TypeName); + foreach (var typeGroup in typeGroups) + { + var aType = typeGroup.Types.Select(GetAssociativeType).FirstOrDefault(t => t != null); + var aText = aType != null ? $@" \<{aType.ToSyntaxTypeName()}\>" : String.Empty; + sb.Append($"### {typeGroup.TypeName}{aText} [{String.Join(", ", typeGroup.NamespaceGroups)}]{Environment.NewLine}"); + foreach (var property in typeGroup.Properties) + { + var propertyAType = GetAssociativeType(property.PropertyType); + var propertyAText = propertyAType != null ? $" <{propertyAType.ToSyntaxTypeName()}>" : String.Empty; + var enumNames = GetEnumFieldNames(property.PropertyType.Unwrap()); + var enumNamesText = enumNames.Any() ? $" **{{{String.Join(", ", enumNames)}}}**" : String.Empty; + sb.Append($" - {property.Name} `{property.PropertyType.ToSyntaxTypeName()}{propertyAText}`{enumNamesText}{Environment.NewLine}"); + } + sb.AppendLine(); + } + + return sb; + } + + //https://stackoverflow.com/a/4963190/294804 + private static Type GetAssociativeType(Type type) => + type.GetInterfaces().FirstOrDefault(i => i.IsGenericType && i.GetGenericTypeDefinition() == typeof(IAssociativeArray<>))?.GetGenericArguments().First(); + + private static string[] GetEnumFieldNames(Type type) => + type.IsValueType && !type.IsPrimitive && type != typeof(decimal) && type != typeof(DateTime) + ? type.GetFields(BindingFlags.Public | BindingFlags.Static).Where(f => f.FieldType == type).Select(p => p.Name).ToArray() + : new string[] { }; + + private class ModelTypeInfo + { + public Type Type { get; set; } + public string TypeName { get; set; } + public PropertyInfo[] Properties { get; set; } + public string NamespaceGroup { get; set; } + } + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportProxyCmdlet.cs b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportProxyCmdlet.cs new file mode 100644 index 000000000000..b1d48e33db99 --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportProxyCmdlet.cs @@ -0,0 +1,169 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.IO; +using System.Linq; +using System.Management.Automation; +using System.Text; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.PsHelpers; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.MarkdownRenderer; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.PsProxyTypeExtensions; +using System.Collections.Generic; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + [Cmdlet(VerbsData.Export, "ProxyCmdlet", DefaultParameterSetName = "Docs")] + [DoNotExport] + public class ExportProxyCmdlet : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ModuleName { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string[] ModulePath { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ExportsFolder { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string InternalFolder { get; set; } + + [Parameter(Mandatory = true, ParameterSetName = "Docs")] + [AllowEmptyString] + public string ModuleDescription { get; set; } + + [Parameter(Mandatory = true, ParameterSetName = "Docs")] + [ValidateNotNullOrEmpty] + public string DocsFolder { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ExamplesFolder { get; set; } + + [Parameter(Mandatory = true, ParameterSetName = "Docs")] + public Guid ModuleGuid { get; set; } + + [Parameter(Mandatory = true, ParameterSetName = "NoDocs")] + public SwitchParameter ExcludeDocs { get; set; } + + protected override void ProcessRecord() + { + try + { + var variants = GetModuleCmdletsAndHelpInfo(this, ModulePath).SelectMany(ci => ci.ToVariants()).Where(v => !v.IsDoNotExport).ToArray(); + var allProfiles = variants.SelectMany(v => v.Profiles).Distinct().ToArray(); + var profileGroups = allProfiles.Any() + ? variants + .SelectMany(v => (v.Profiles.Any() ? v.Profiles : allProfiles).Select(p => (profile: p, variant: v))) + .GroupBy(pv => pv.profile) + .Select(pvg => new ProfileGroup(pvg.Select(pv => pv.variant).ToArray(), pvg.Key)) + : new[] { new ProfileGroup(variants) }; + var variantGroups = profileGroups.SelectMany(pg => pg.Variants + .GroupBy(v => new { v.CmdletName, v.IsInternal }) + .Select(vg => new VariantGroup(ModuleName, vg.Key.CmdletName, vg.Select(v => v).ToArray(), + Path.Combine(vg.Key.IsInternal ? InternalFolder : ExportsFolder, pg.ProfileFolder), pg.ProfileName, isInternal: vg.Key.IsInternal))) + .ToArray(); + + var license = new StringBuilder(); + license.Append(@" +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- +"); + HashSet LicenseSet = new HashSet(); + foreach (var variantGroup in variantGroups) + { + var parameterGroups = variantGroup.ParameterGroups.ToList(); + var isValidProfile = !String.IsNullOrEmpty(variantGroup.ProfileName) && variantGroup.ProfileName != NoProfiles; + var examplesFolder = isValidProfile ? Path.Combine(ExamplesFolder, variantGroup.ProfileName) : ExamplesFolder; + var markdownInfo = new MarkdownHelpInfo(variantGroup, examplesFolder); + List examples = new List(); + foreach (var it in markdownInfo.Examples) + { + examples.Add(it); + } + variantGroup.HelpInfo.Examples = examples.ToArray(); + var sb = new StringBuilder(); + sb.Append($"{Environment.NewLine}"); + sb.Append(variantGroup.ToHelpCommentOutput()); + sb.Append($"function {variantGroup.CmdletName} {{{Environment.NewLine}"); + sb.Append(variantGroup.Aliases.ToAliasOutput()); + sb.Append(variantGroup.OutputTypes.ToOutputTypeOutput()); + sb.Append(variantGroup.ToCmdletBindingOutput()); + sb.Append(variantGroup.ProfileName.ToProfileOutput()); + + sb.Append("param("); + sb.Append($"{(parameterGroups.Any() ? Environment.NewLine : String.Empty)}"); + foreach (var parameterGroup in parameterGroups) + { + var parameters = parameterGroup.HasAllVariants ? parameterGroup.Parameters.Take(1) : parameterGroup.Parameters; + parameters = parameters.Where(p => !p.IsHidden()); + if (!parameters.Any()) + { + continue; + } + foreach (var parameter in parameters) + { + sb.Append(parameter.ToParameterOutput(variantGroup.HasMultipleVariants, parameterGroup.HasAllVariants)); + } + sb.Append(parameterGroup.Aliases.ToAliasOutput(true)); + sb.Append(parameterGroup.HasValidateNotNull.ToValidateNotNullOutput()); + sb.Append(parameterGroup.HasAllowEmptyArray.ToAllowEmptyArray()); + sb.Append(parameterGroup.CompleterInfo.ToArgumentCompleterOutput()); + sb.Append(parameterGroup.OrderCategory.ToParameterCategoryOutput()); + sb.Append(parameterGroup.InfoAttribute.ToInfoOutput(parameterGroup.ParameterType)); + sb.Append(parameterGroup.ToDefaultInfoOutput()); + sb.Append(parameterGroup.ParameterType.ToParameterTypeOutput()); + sb.Append(parameterGroup.Description.ToParameterDescriptionOutput()); + sb.Append(parameterGroup.ParameterName.ToParameterNameOutput(parameterGroups.IndexOf(parameterGroup) == parameterGroups.Count - 1)); + } + sb.Append($"){Environment.NewLine}{Environment.NewLine}"); + + sb.Append(variantGroup.ToBeginOutput()); + sb.Append(variantGroup.ToProcessOutput()); + sb.Append(variantGroup.ToEndOutput()); + + sb.Append($"}}{Environment.NewLine}"); + + Directory.CreateDirectory(variantGroup.OutputFolder); + File.WriteAllText(variantGroup.FilePath, license.ToString()); + File.AppendAllText(variantGroup.FilePath, sb.ToString()); + if (!LicenseSet.Contains(Path.Combine(variantGroup.OutputFolder, "ProxyCmdletDefinitions.ps1"))) + { + // only add license in the header + File.AppendAllText(Path.Combine(variantGroup.OutputFolder, "ProxyCmdletDefinitions.ps1"), license.ToString()); + LicenseSet.Add(Path.Combine(variantGroup.OutputFolder, "ProxyCmdletDefinitions.ps1")); + } + File.AppendAllText(Path.Combine(variantGroup.OutputFolder, "ProxyCmdletDefinitions.ps1"), sb.ToString()); + } + + if (!ExcludeDocs) + { + var moduleInfo = new PsModuleHelpInfo(ModuleName, ModuleGuid, ModuleDescription); + foreach (var variantGroupsByProfile in variantGroups.GroupBy(vg => vg.ProfileName)) + { + var profileName = variantGroupsByProfile.Key; + var isValidProfile = !String.IsNullOrEmpty(profileName) && profileName != NoProfiles; + var docsFolder = isValidProfile ? Path.Combine(DocsFolder, profileName) : DocsFolder; + var examplesFolder = isValidProfile ? Path.Combine(ExamplesFolder, profileName) : ExamplesFolder; + WriteMarkdowns(variantGroupsByProfile, moduleInfo, docsFolder, examplesFolder); + } + } + } + catch (Exception ee) + { + Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportPsd1.cs b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportPsd1.cs new file mode 100644 index 000000000000..2c6f8fe7f29d --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportPsd1.cs @@ -0,0 +1,191 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.IO; +using System.Linq; +using System.Management.Automation; +using System.Text; +using System.Text.RegularExpressions; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.PsHelpers; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + [Cmdlet(VerbsData.Export, "Psd1")] + [DoNotExport] + public class ExportPsd1 : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ExportsFolder { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string CustomFolder { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string Psd1Path { get; set; } + + [Parameter(Mandatory = true)] + public Guid ModuleGuid { get; set; } + + private static readonly bool IsAzure = Convert.ToBoolean(@"true"); + private const string CustomFolderRelative = "./custom"; + private const string Indent = Psd1Indent; + private const string Undefined = "undefined"; + private bool IsUndefined(string value) => string.Equals(Undefined, value, StringComparison.OrdinalIgnoreCase); + + protected override void ProcessRecord() + { + try + { + if (!Directory.Exists(ExportsFolder)) + { + throw new ArgumentException($"Exports folder '{ExportsFolder}' does not exist"); + } + + if (!Directory.Exists(CustomFolder)) + { + throw new ArgumentException($"Custom folder '{CustomFolder}' does not exist"); + } + + string version = Convert.ToString(@"0.1.0"); + // Validate the module version should be semantic version + // Following regex is official from https://semver.org/ + Regex rx = new Regex(@"^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$", RegexOptions.Compiled); + if (rx.Matches(version).Count != 1) + { + throw new ArgumentException("Module-version is not a valid Semantic Version"); + } + + string previewVersion = null; + if (version.Contains('-')) + { + string[] versions = version.Split("-".ToCharArray(), 2); + version = versions[0]; + previewVersion = versions[1]; + } + + var sb = new StringBuilder(); + sb.AppendLine("@{"); + sb.AppendLine($@"{GuidStart} = '{ModuleGuid}'"); + sb.AppendLine($@"{Indent}RootModule = '{"./Az.Redis.psm1"}'"); + sb.AppendLine($@"{Indent}ModuleVersion = '{version}'"); + sb.AppendLine($@"{Indent}CompatiblePSEditions = 'Core', 'Desktop'"); + sb.AppendLine($@"{Indent}Author = '{"Microsoft Corporation"}'"); + sb.AppendLine($@"{Indent}CompanyName = '{"Microsoft Corporation"}'"); + sb.AppendLine($@"{Indent}Copyright = '{"Microsoft Corporation. All rights reserved."}'"); + sb.AppendLine($@"{Indent}Description = '{"Microsoft Azure PowerShell: Redis cmdlets"}'"); + sb.AppendLine($@"{Indent}PowerShellVersion = '5.1'"); + sb.AppendLine($@"{Indent}DotNetFrameworkVersion = '4.7.2'"); + + // RequiredModules + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}RequiredModules = @({"undefined"})"); + } + + // RequiredAssemblies + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}RequiredAssemblies = @({"undefined"})"); + } + else + { + sb.AppendLine($@"{Indent}RequiredAssemblies = '{"./bin/Az.Redis.private.dll"}'"); + } + + // NestedModules + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}NestedModules = @({"undefined"})"); + } + + // FormatsToProcess + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}FormatsToProcess = @({"undefined"})"); + } + else + { + var customFormatPs1xmlFiles = Directory.GetFiles(CustomFolder) + .Where(f => f.EndsWith(".format.ps1xml")) + .Select(f => $"{CustomFolderRelative}/{Path.GetFileName(f)}"); + var formatList = customFormatPs1xmlFiles.Prepend("./Az.Redis.format.ps1xml").ToPsList(); + sb.AppendLine($@"{Indent}FormatsToProcess = {formatList}"); + } + + // TypesToProcess + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}TypesToProcess = @({"undefined"})"); + } + + // ScriptsToProcess + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}ScriptsToProcess = @({"undefined"})"); + } + + var functionInfos = GetScriptCmdlets(ExportsFolder).ToArray(); + // FunctionsToExport + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}FunctionsToExport = @({"undefined"})"); + } + else + { + var cmdletsList = functionInfos.Select(fi => fi.Name).Distinct().Append("*").ToPsList(); + sb.AppendLine($@"{Indent}FunctionsToExport = {cmdletsList}"); + } + + // AliasesToExport + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}AliasesToExport = @({"undefined"})"); + } + else + { + var aliasesList = functionInfos.SelectMany(fi => fi.ScriptBlock.Attributes).ToAliasNames().Append("*").ToPsList(); + sb.AppendLine($@"{Indent}AliasesToExport = {aliasesList}"); + } + + // CmdletsToExport + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}CmdletsToExport = @({"undefined"})"); + } + + sb.AppendLine($@"{Indent}PrivateData = @{{"); + sb.AppendLine($@"{Indent}{Indent}PSData = @{{"); + + if (previewVersion != null) + { + sb.AppendLine($@"{Indent}{Indent}{Indent}Prerelease = '{previewVersion}'"); + } + sb.AppendLine($@"{Indent}{Indent}{Indent}Tags = {"Azure ResourceManager ARM PSModule Redis".Split(' ').ToPsList().NullIfEmpty() ?? "''"}"); + sb.AppendLine($@"{Indent}{Indent}{Indent}LicenseUri = '{"https://aka.ms/azps-license"}'"); + sb.AppendLine($@"{Indent}{Indent}{Indent}ProjectUri = '{"https://github.com/Azure/azure-powershell"}'"); + sb.AppendLine($@"{Indent}{Indent}{Indent}ReleaseNotes = ''"); + var profilesList = ""; + if (IsAzure && !String.IsNullOrEmpty(profilesList)) + { + sb.AppendLine($@"{Indent}{Indent}{Indent}Profiles = {profilesList}"); + } + + sb.AppendLine($@"{Indent}{Indent}}}"); + sb.AppendLine($@"{Indent}}}"); + sb.AppendLine(@"}"); + + File.WriteAllText(Psd1Path, sb.ToString()); + } + catch (Exception ee) + { + Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportTestStub.cs b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportTestStub.cs new file mode 100644 index 000000000000..d309c8a3c4c7 --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/ExportTestStub.cs @@ -0,0 +1,148 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.IO; +using System.Linq; +using System.Management.Automation; +using System.Text; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.PsProxyOutputExtensions; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.PsHelpers; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + [Cmdlet(VerbsData.Export, "TestStub")] + [DoNotExport] + public class ExportTestStub : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ModuleName { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ExportsFolder { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string OutputFolder { get; set; } + + [Parameter] + public SwitchParameter IncludeGenerated { get; set; } + + protected override void ProcessRecord() + { + try + { + if (!Directory.Exists(ExportsFolder)) + { + throw new ArgumentException($"Exports folder '{ExportsFolder}' does not exist"); + } + + var exportDirectories = Directory.GetDirectories(ExportsFolder); + if (!exportDirectories.Any()) + { + exportDirectories = new[] { ExportsFolder }; + } + var utilFile = Path.Combine(OutputFolder, "utils.ps1"); + if (!File.Exists(utilFile)) + { + var sc = new StringBuilder(); + sc.AppendLine(@"function RandomString([bool]$allChars, [int32]$len) { + if ($allChars) { + return -join ((33..126) | Get-Random -Count $len | % {[char]$_}) + } else { + return -join ((48..57) + (97..122) | Get-Random -Count $len | % {[char]$_}) + } +} +$env = @{} +if ($UsePreviousConfigForRecord) { + $previousEnv = Get-Content (Join-Path $PSScriptRoot 'env.json') | ConvertFrom-Json + $previousEnv.psobject.properties | Foreach-Object { $env[$_.Name] = $_.Value } +} +# Add script method called AddWithCache to $env, when useCache is set true, it will try to get the value from the $env first. +# example: $val = $env.AddWithCache('key', $val, $true) +$env | Add-Member -Type ScriptMethod -Value { param( [string]$key, [object]$val, [bool]$useCache) if ($this.Contains($key) -and $useCache) { return $this[$key] } else { $this[$key] = $val; return $val } } -Name 'AddWithCache' +function setupEnv() { + # Preload subscriptionId and tenant from context, which will be used in test + # as default. You could change them if needed. + $env.SubscriptionId = (Get-AzContext).Subscription.Id + $env.Tenant = (Get-AzContext).Tenant.Id + # For any resources you created for test, you should add it to $env here. + $envFile = 'env.json' + if ($TestMode -eq 'live') { + $envFile = 'localEnv.json' + } + set-content -Path (Join-Path $PSScriptRoot $envFile) -Value (ConvertTo-Json $env) +} +function cleanupEnv() { + # Clean resources you create for testing +} +"); + File.WriteAllText(utilFile, sc.ToString()); + } + foreach (var exportDirectory in exportDirectories) + { + var outputFolder = OutputFolder; + if (exportDirectory != ExportsFolder) + { + outputFolder = Path.Combine(OutputFolder, Path.GetFileName(exportDirectory)); + Directory.CreateDirectory(outputFolder); + } + + var variantGroups = GetScriptCmdlets(exportDirectory) + .SelectMany(fi => fi.ToVariants()) + .Where(v => !v.IsDoNotExport) + .GroupBy(v => v.CmdletName) + .Select(vg => new VariantGroup(ModuleName, vg.Key, vg.Select(v => v).ToArray(), outputFolder, isTest: true)) + .Where(vtg => !File.Exists(vtg.FilePath) && (IncludeGenerated || !vtg.IsGenerated)); + + foreach (var variantGroup in variantGroups) + { + var sb = new StringBuilder(); + sb.AppendLine($"if(($null -eq $TestName) -or ($TestName -contains '{variantGroup.CmdletName}'))"); + sb.AppendLine(@"{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath)" +); + sb.AppendLine($@" $TestRecordingFile = Join-Path $PSScriptRoot '{variantGroup.CmdletName}.Recording.json'"); + sb.AppendLine(@" $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} +"); + + + sb.AppendLine($"Describe '{variantGroup.CmdletName}' {{"); + var variants = variantGroup.Variants + .Where(v => IncludeGenerated || !v.Attributes.OfType().Any()) + .ToList(); + + foreach (var variant in variants) + { + sb.AppendLine($"{Indent}It '{variant.VariantName}' -skip {{"); + sb.AppendLine($"{Indent}{Indent}{{ throw [System.NotImplementedException] }} | Should -Not -Throw"); + var variantSeparator = variants.IndexOf(variant) == variants.Count - 1 ? String.Empty : Environment.NewLine; + sb.AppendLine($"{Indent}}}{variantSeparator}"); + } + sb.AppendLine("}"); + + File.WriteAllText(variantGroup.FilePath, sb.ToString()); + } + } + } + catch (Exception ee) + { + Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/GetCommonParameter.cs b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/GetCommonParameter.cs new file mode 100644 index 000000000000..09f13394ffb0 --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/GetCommonParameter.cs @@ -0,0 +1,52 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + [Cmdlet(VerbsCommon.Get, "CommonParameter")] + [OutputType(typeof(Dictionary))] + [DoNotExport] + public class GetCommonParameter : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public PSCmdlet PSCmdlet { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public Dictionary PSBoundParameter { get; set; } + + protected override void ProcessRecord() + { + try + { + var variants = PSCmdlet.MyInvocation.MyCommand.ToVariants(); + var commonParameterNames = variants.ToParameterGroups() + .Where(pg => pg.OrderCategory == ParameterCategory.Azure || pg.OrderCategory == ParameterCategory.Runtime) + .Select(pg => pg.ParameterName); + if (variants.Any(v => v.SupportsShouldProcess)) + { + commonParameterNames = commonParameterNames.Append("Confirm").Append("WhatIf"); + } + if (variants.Any(v => v.SupportsPaging)) + { + commonParameterNames = commonParameterNames.Append("First").Append("Skip").Append("IncludeTotalCount"); + } + + var names = commonParameterNames.ToArray(); + var keys = PSBoundParameter.Keys.Where(k => names.Contains(k)); + WriteObject(keys.ToDictionary(key => key, key => PSBoundParameter[key]), true); + } + catch (System.Exception ee) + { + System.Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/GetModuleGuid.cs b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/GetModuleGuid.cs new file mode 100644 index 000000000000..93fb4795defa --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/GetModuleGuid.cs @@ -0,0 +1,31 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System.Management.Automation; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.PsHelpers; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + [Cmdlet(VerbsCommon.Get, "ModuleGuid")] + [DoNotExport] + public class GetModuleGuid : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string Psd1Path { get; set; } + + protected override void ProcessRecord() + { + try + { + WriteObject(ReadGuidFromPsd1(Psd1Path)); + } + catch (System.Exception ee) + { + System.Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/GetScriptCmdlet.cs b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/GetScriptCmdlet.cs new file mode 100644 index 000000000000..701a6677d062 --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/Cmdlets/GetScriptCmdlet.cs @@ -0,0 +1,54 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System.Linq; +using System.Management.Automation; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.PsHelpers; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + [Cmdlet(VerbsCommon.Get, "ScriptCmdlet")] + [OutputType(typeof(string[]))] + [DoNotExport] + public class GetScriptCmdlet : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ScriptFolder { get; set; } + + [Parameter] + public SwitchParameter IncludeDoNotExport { get; set; } + + [Parameter] + public SwitchParameter AsAlias { get; set; } + + [Parameter] + public SwitchParameter AsFunctionInfo { get; set; } + + protected override void ProcessRecord() + { + try + { + var functionInfos = GetScriptCmdlets(this, ScriptFolder) + .Where(fi => IncludeDoNotExport || !fi.ScriptBlock.Attributes.OfType().Any()) + .ToArray(); + if (AsFunctionInfo) + { + WriteObject(functionInfos, true); + return; + } + var aliases = functionInfos.SelectMany(i => i.ScriptBlock.Attributes).ToAliasNames(); + var names = functionInfos.Select(fi => fi.Name).Distinct(); + var output = (AsAlias ? aliases : names).DefaultIfEmpty("''").ToArray(); + WriteObject(output, true); + } + catch (System.Exception ee) + { + System.Console.Error.WriteLine($"{ee.GetType().Name}: {ee.Message}"); + System.Console.Error.WriteLine(ee.StackTrace); + throw ee; + } + } + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/CollectionExtensions.cs b/swaggerci/redis/generated/runtime/BuildTime/CollectionExtensions.cs new file mode 100644 index 000000000000..c6168c182c65 --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/CollectionExtensions.cs @@ -0,0 +1,20 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + internal static class CollectionExtensions + { + public static T[] NullIfEmpty(this T[] collection) => (collection?.Any() ?? false) ? collection : null; + public static IEnumerable EmptyIfNull(this IEnumerable collection) => collection ?? Enumerable.Empty(); + + // https://stackoverflow.com/a/4158364/294804 + public static IEnumerable DistinctBy(this IEnumerable collection, Func selector) => + collection.GroupBy(selector).Select(group => group.First()); + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/MarkdownRenderer.cs b/swaggerci/redis/generated/runtime/BuildTime/MarkdownRenderer.cs new file mode 100644 index 000000000000..1efcbcd0c128 --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/MarkdownRenderer.cs @@ -0,0 +1,114 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.MarkdownTypesExtensions; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.PsProxyOutputExtensions; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + internal static class MarkdownRenderer + { + public static void WriteMarkdowns(IEnumerable variantGroups, PsModuleHelpInfo moduleHelpInfo, string docsFolder, string examplesFolder) + { + Directory.CreateDirectory(docsFolder); + var markdownInfos = variantGroups.Where(vg => !vg.IsInternal).Select(vg => new MarkdownHelpInfo(vg, examplesFolder)).OrderBy(mhi => mhi.CmdletName).ToArray(); + + foreach (var markdownInfo in markdownInfos) + { + var sb = new StringBuilder(); + sb.Append(markdownInfo.ToHelpMetadataOutput()); + sb.Append($"# {markdownInfo.CmdletName}{Environment.NewLine}{Environment.NewLine}"); + sb.Append($"## SYNOPSIS{Environment.NewLine}{markdownInfo.Synopsis.ToDescriptionFormat()}{Environment.NewLine}{Environment.NewLine}"); + + sb.Append($"## SYNTAX{Environment.NewLine}{Environment.NewLine}"); + var hasMultipleParameterSets = markdownInfo.SyntaxInfos.Length > 1; + foreach (var syntaxInfo in markdownInfo.SyntaxInfos) + { + sb.Append(syntaxInfo.ToHelpSyntaxOutput(hasMultipleParameterSets)); + } + + sb.Append($"## DESCRIPTION{Environment.NewLine}{markdownInfo.Description.ToDescriptionFormat()}{Environment.NewLine}{Environment.NewLine}"); + + sb.Append($"## EXAMPLES{Environment.NewLine}{Environment.NewLine}"); + foreach (var exampleInfo in markdownInfo.Examples) + { + sb.Append(exampleInfo.ToHelpExampleOutput()); + } + + sb.Append($"## PARAMETERS{Environment.NewLine}{Environment.NewLine}"); + foreach (var parameter in markdownInfo.Parameters) + { + sb.Append(parameter.ToHelpParameterOutput()); + } + if (markdownInfo.SupportsShouldProcess) + { + foreach (var parameter in SupportsShouldProcessParameters) + { + sb.Append(parameter.ToHelpParameterOutput()); + } + } + + sb.Append($"### CommonParameters{Environment.NewLine}This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).{Environment.NewLine}{Environment.NewLine}"); + + sb.Append($"## INPUTS{Environment.NewLine}{Environment.NewLine}"); + foreach (var input in markdownInfo.Inputs) + { + sb.Append($"### {input}{Environment.NewLine}{Environment.NewLine}"); + } + + sb.Append($"## OUTPUTS{Environment.NewLine}{Environment.NewLine}"); + foreach (var output in markdownInfo.Outputs) + { + sb.Append($"### {output}{Environment.NewLine}{Environment.NewLine}"); + } + + sb.Append($"## NOTES{Environment.NewLine}{Environment.NewLine}"); + sb.Append($"ALIASES{Environment.NewLine}{Environment.NewLine}"); + foreach (var alias in markdownInfo.Aliases) + { + sb.Append($"{alias}{Environment.NewLine}{Environment.NewLine}"); + } + if (markdownInfo.ComplexInterfaceInfos.Any()) + { + sb.Append($"{ComplexParameterHeader}{Environment.NewLine}"); + } + foreach (var complexInterfaceInfo in markdownInfo.ComplexInterfaceInfos) + { + sb.Append($"{complexInterfaceInfo.ToNoteOutput(includeDashes: true, includeBackticks: true)}{Environment.NewLine}{Environment.NewLine}"); + } + + sb.Append($"## RELATED LINKS{Environment.NewLine}{Environment.NewLine}"); + foreach (var relatedLink in markdownInfo.RelatedLinks) + { + sb.Append($"{relatedLink}{Environment.NewLine}{Environment.NewLine}"); + } + + File.WriteAllText(Path.Combine(docsFolder, $"{markdownInfo.CmdletName}.md"), sb.ToString()); + } + + WriteModulePage(moduleHelpInfo, markdownInfos, docsFolder); + } + + private static void WriteModulePage(PsModuleHelpInfo moduleInfo, MarkdownHelpInfo[] markdownInfos, string docsFolder) + { + var sb = new StringBuilder(); + sb.Append(moduleInfo.ToModulePageMetadataOutput()); + sb.Append($"# {moduleInfo.Name} Module{Environment.NewLine}"); + sb.Append($"## Description{Environment.NewLine}{moduleInfo.Description.ToDescriptionFormat()}{Environment.NewLine}{Environment.NewLine}"); + + sb.Append($"## {moduleInfo.Name} Cmdlets{Environment.NewLine}"); + foreach (var markdownInfo in markdownInfos) + { + sb.Append(markdownInfo.ToModulePageCmdletOutput()); + } + + File.WriteAllText(Path.Combine(docsFolder, $"{moduleInfo.Name}.md"), sb.ToString()); + } + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/Models/PsFormatTypes.cs b/swaggerci/redis/generated/runtime/BuildTime/Models/PsFormatTypes.cs new file mode 100644 index 000000000000..9b62bc087d55 --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/Models/PsFormatTypes.cs @@ -0,0 +1,138 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Xml.Serialization; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + internal class ViewParameters + { + public Type Type { get; } + public IEnumerable Properties { get; } + + public ViewParameters(Type type, IEnumerable properties) + { + Type = type; + Properties = properties; + } + } + + internal class PropertyFormat + { + public PropertyInfo Property { get; } + public FormatTableAttribute FormatTable { get; } + + public int? Index { get; } + public string Label { get; } + public int? Width { get; } + public PropertyOrigin? Origin { get; } + + public PropertyFormat(PropertyInfo propertyInfo) + { + Property = propertyInfo; + FormatTable = Property.GetCustomAttributes().FirstOrDefault(); + var origin = Property.GetCustomAttributes().FirstOrDefault(); + + Index = FormatTable?.HasIndex ?? false ? (int?)FormatTable.Index : null; + Label = FormatTable?.Label ?? propertyInfo.Name; + Width = FormatTable?.HasWidth ?? false ? (int?)FormatTable.Width : null; + // If we have an index, we don't want to use Origin. + Origin = FormatTable?.HasIndex ?? false ? null : origin?.Origin; + } + } + + [Serializable] + [XmlRoot(nameof(Configuration))] + public class Configuration + { + [XmlElement("ViewDefinitions")] + public ViewDefinitions ViewDefinitions { get; set; } + } + + [Serializable] + public class ViewDefinitions + { + //https://stackoverflow.com/a/10518657/294804 + [XmlElement("View")] + public List Views { get; set; } + } + + [Serializable] + public class View + { + [XmlElement(nameof(Name))] + public string Name { get; set; } + [XmlElement(nameof(ViewSelectedBy))] + public ViewSelectedBy ViewSelectedBy { get; set; } + [XmlElement(nameof(TableControl))] + public TableControl TableControl { get; set; } + } + + [Serializable] + public class ViewSelectedBy + { + [XmlElement(nameof(TypeName))] + public string TypeName { get; set; } + } + + [Serializable] + public class TableControl + { + [XmlElement(nameof(TableHeaders))] + public TableHeaders TableHeaders { get; set; } + [XmlElement(nameof(TableRowEntries))] + public TableRowEntries TableRowEntries { get; set; } + } + + [Serializable] + public class TableHeaders + { + [XmlElement("TableColumnHeader")] + public List TableColumnHeaders { get; set; } + } + + [Serializable] + public class TableColumnHeader + { + [XmlElement(nameof(Label))] + public string Label { get; set; } + [XmlElement(nameof(Width))] + public int? Width { get; set; } + + //https://stackoverflow.com/a/4095225/294804 + public bool ShouldSerializeWidth() => Width.HasValue; + } + + [Serializable] + public class TableRowEntries + { + [XmlElement(nameof(TableRowEntry))] + public TableRowEntry TableRowEntry { get; set; } + } + + [Serializable] + public class TableRowEntry + { + [XmlElement(nameof(TableColumnItems))] + public TableColumnItems TableColumnItems { get; set; } + } + + [Serializable] + public class TableColumnItems + { + [XmlElement("TableColumnItem")] + public List TableItems { get; set; } + } + + [Serializable] + public class TableColumnItem + { + [XmlElement(nameof(PropertyName))] + public string PropertyName { get; set; } + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/Models/PsHelpMarkdownOutputs.cs b/swaggerci/redis/generated/runtime/BuildTime/Models/PsHelpMarkdownOutputs.cs new file mode 100644 index 000000000000..0c16de8d0667 --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/Models/PsHelpMarkdownOutputs.cs @@ -0,0 +1,199 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Linq; +using System.Management.Automation; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.PsHelpOutputExtensions; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + internal class HelpMetadataOutput + { + public MarkdownHelpInfo HelpInfo { get; } + + public HelpMetadataOutput(MarkdownHelpInfo helpInfo) + { + HelpInfo = helpInfo; + } + + public override string ToString() => $@"--- +external help file:{(!String.IsNullOrEmpty(HelpInfo.ExternalHelpFilename) ? $" {HelpInfo.ExternalHelpFilename}" : String.Empty)} +Module Name: {HelpInfo.ModuleName} +online version: {HelpInfo.OnlineVersion} +schema: {HelpInfo.Schema.ToString(3)} +--- + +"; + } + + internal class HelpSyntaxOutput + { + public MarkdownSyntaxHelpInfo SyntaxInfo { get; } + public bool HasMultipleParameterSets { get; } + + public HelpSyntaxOutput(MarkdownSyntaxHelpInfo syntaxInfo, bool hasMultipleParameterSets) + { + SyntaxInfo = syntaxInfo; + HasMultipleParameterSets = hasMultipleParameterSets; + } + + public override string ToString() + { + var psnText = HasMultipleParameterSets ? $"### {SyntaxInfo.ParameterSetName}{(SyntaxInfo.IsDefault ? " (Default)" : String.Empty)}{Environment.NewLine}" : String.Empty; + return $@"{psnText}``` +{SyntaxInfo.SyntaxText} +``` + +"; + } + } + + internal class HelpExampleOutput + { + private string ExampleTemplate = + "{0}{1}" + Environment.NewLine + + "{2}" + Environment.NewLine + "{3}" + Environment.NewLine + "{4}" + Environment.NewLine + Environment.NewLine + + "{5}" + Environment.NewLine + Environment.NewLine; + + private string ExampleTemplateWithOutput = + "{0}{1}" + Environment.NewLine + + "{2}" + Environment.NewLine + "{3}" + Environment.NewLine + "{4}" + Environment.NewLine + Environment.NewLine + + "{5}" + Environment.NewLine + "{6}" + Environment.NewLine + "{7}" + Environment.NewLine + Environment.NewLine + + "{8}" + Environment.NewLine + Environment.NewLine; + + public MarkdownExampleHelpInfo ExampleInfo { get; } + + public HelpExampleOutput(MarkdownExampleHelpInfo exampleInfo) + { + ExampleInfo = exampleInfo; + } + + public override string ToString() + { + if (string.IsNullOrEmpty(ExampleInfo.Output)) + { + return string.Format(ExampleTemplate, + ExampleNameHeader, ExampleInfo.Name, + ExampleCodeHeader, ExampleInfo.Code, ExampleCodeFooter, + ExampleInfo.Description.ToDescriptionFormat()); + } + else + { + return string.Format(ExampleTemplateWithOutput, + ExampleNameHeader, ExampleInfo.Name, + ExampleCodeHeader, ExampleInfo.Code, ExampleCodeFooter, + ExampleOutputHeader, ExampleInfo.Output, ExampleOutputFooter, + ExampleInfo.Description.ToDescriptionFormat()); ; + } + } + } + + internal class HelpParameterOutput + { + public MarkdownParameterHelpInfo ParameterInfo { get; } + + public HelpParameterOutput(MarkdownParameterHelpInfo parameterInfo) + { + ParameterInfo = parameterInfo; + } + + public override string ToString() + { + var pipelineInputTypes = new[] + { + ParameterInfo.AcceptsPipelineByValue ? "ByValue" : String.Empty, + ParameterInfo.AcceptsPipelineByPropertyName ? "ByPropertyName" : String.Empty + }.JoinIgnoreEmpty(", "); + var pipelineInput = ParameterInfo.AcceptsPipelineByValue || ParameterInfo.AcceptsPipelineByPropertyName + ? $@"{true} ({pipelineInputTypes})" + : false.ToString(); + + return $@"### -{ParameterInfo.Name} +{ParameterInfo.Description.ToDescriptionFormat()} + +```yaml +Type: {ParameterInfo.Type.FullName} +Parameter Sets: {(ParameterInfo.HasAllParameterSets ? "(All)" : ParameterInfo.ParameterSetNames.JoinIgnoreEmpty(", "))} +Aliases:{(ParameterInfo.Aliases.Any() ? $" {ParameterInfo.Aliases.JoinIgnoreEmpty(", ")}" : String.Empty)} + +Required: {ParameterInfo.IsRequired} +Position: {ParameterInfo.Position} +Default value: {ParameterInfo.DefaultValue} +Accept pipeline input: {pipelineInput} +Accept wildcard characters: {ParameterInfo.AcceptsWildcardCharacters} +``` + +"; + } + } + + internal class ModulePageMetadataOutput + { + public PsModuleHelpInfo ModuleInfo { get; } + + private static string HelpLinkPrefix { get; } = @"https://docs.microsoft.com/en-us/powershell/module/"; + + public ModulePageMetadataOutput(PsModuleHelpInfo moduleInfo) + { + ModuleInfo = moduleInfo; + } + + public override string ToString() => $@"--- +Module Name: {ModuleInfo.Name} +Module Guid: {ModuleInfo.Guid} +Download Help Link: {HelpLinkPrefix}{ModuleInfo.Name.ToLowerInvariant()} +Help Version: 1.0.0.0 +Locale: en-US +--- + +"; + } + + internal class ModulePageCmdletOutput + { + public MarkdownHelpInfo HelpInfo { get; } + + public ModulePageCmdletOutput(MarkdownHelpInfo helpInfo) + { + HelpInfo = helpInfo; + } + + public override string ToString() => $@"### [{HelpInfo.CmdletName}]({HelpInfo.CmdletName}.md) +{HelpInfo.Synopsis.ToDescriptionFormat()} + +"; + } + + internal static class PsHelpOutputExtensions + { + public static string EscapeAngleBrackets(this string text) => text?.Replace("<", @"\<").Replace(">", @"\>"); + public static string ReplaceSentenceEndWithNewline(this string text) => text?.Replace(". ", $".{Environment.NewLine}").Replace(". ", $".{Environment.NewLine}"); + public static string ReplaceBrWithNewline(this string text) => text?.Replace("
", $"{Environment.NewLine}"); + public static string ToDescriptionFormat(this string text, bool escapeAngleBrackets = true) + { + var description = text?.ReplaceBrWithNewline(); + description = escapeAngleBrackets ? description?.EscapeAngleBrackets() : description; + return description?.ReplaceSentenceEndWithNewline().Trim(); + } + + public const string ExampleNameHeader = "### "; + public const string ExampleCodeHeader = "```powershell"; + public const string ExampleCodeFooter = "```"; + public const string ExampleOutputHeader = "```output"; + public const string ExampleOutputFooter = "```"; + + public static HelpMetadataOutput ToHelpMetadataOutput(this MarkdownHelpInfo helpInfo) => new HelpMetadataOutput(helpInfo); + + public static HelpSyntaxOutput ToHelpSyntaxOutput(this MarkdownSyntaxHelpInfo syntaxInfo, bool hasMultipleParameterSets) => new HelpSyntaxOutput(syntaxInfo, hasMultipleParameterSets); + + public static HelpExampleOutput ToHelpExampleOutput(this MarkdownExampleHelpInfo exampleInfo) => new HelpExampleOutput(exampleInfo); + + public static HelpParameterOutput ToHelpParameterOutput(this MarkdownParameterHelpInfo parameterInfo) => new HelpParameterOutput(parameterInfo); + + public static ModulePageMetadataOutput ToModulePageMetadataOutput(this PsModuleHelpInfo moduleInfo) => new ModulePageMetadataOutput(moduleInfo); + + public static ModulePageCmdletOutput ToModulePageCmdletOutput(this MarkdownHelpInfo helpInfo) => new ModulePageCmdletOutput(helpInfo); + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/Models/PsHelpTypes.cs b/swaggerci/redis/generated/runtime/BuildTime/Models/PsHelpTypes.cs new file mode 100644 index 000000000000..b3becd861521 --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/Models/PsHelpTypes.cs @@ -0,0 +1,202 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + internal class PsHelpInfo + { + public string CmdletName { get; } + public string ModuleName { get; } + public string Synopsis { get; } + public string Description { get; } + public string AlertText { get; } + public string Category { get; } + public PsHelpLinkInfo OnlineVersion { get; } + public PsHelpLinkInfo[] RelatedLinks { get; } + public bool? HasCommonParameters { get; } + public bool? HasWorkflowCommonParameters { get; } + + public PsHelpTypeInfo[] InputTypes { get; } + public PsHelpTypeInfo[] OutputTypes { get; } + public PsHelpExampleInfo[] Examples { get; set; } + public string[] Aliases { get; } + + public PsParameterHelpInfo[] Parameters { get; } + public PsHelpSyntaxInfo[] Syntax { get; } + + public object Component { get; } + public object Functionality { get; } + public object PsSnapIn { get; } + public object Role { get; } + public string NonTerminatingErrors { get; } + + public PsHelpInfo(PSObject helpObject = null) + { + helpObject = helpObject ?? new PSObject(); + CmdletName = helpObject.GetProperty("Name").NullIfEmpty() ?? helpObject.GetNestedProperty("details", "name"); + ModuleName = helpObject.GetProperty("ModuleName"); + Synopsis = helpObject.GetProperty("Synopsis"); + Description = helpObject.GetProperty("description").EmptyIfNull().ToDescriptionText().NullIfEmpty() ?? + helpObject.GetNestedProperty("details", "description").EmptyIfNull().ToDescriptionText(); + AlertText = helpObject.GetNestedProperty("alertSet", "alert").EmptyIfNull().ToDescriptionText(); + Category = helpObject.GetProperty("Category"); + HasCommonParameters = helpObject.GetProperty("CommonParameters").ToNullableBool(); + HasWorkflowCommonParameters = helpObject.GetProperty("WorkflowCommonParameters").ToNullableBool(); + + var links = helpObject.GetNestedProperty("relatedLinks", "navigationLink").EmptyIfNull().Select(nl => nl.ToLinkInfo()).ToArray(); + OnlineVersion = links.FirstOrDefault(l => l.Text?.ToLowerInvariant().StartsWith("online version:") ?? links.Length == 1); + RelatedLinks = links.Where(l => !l.Text?.ToLowerInvariant().StartsWith("online version:") ?? links.Length != 1).ToArray(); + + InputTypes = helpObject.GetNestedProperty("inputTypes", "inputType").EmptyIfNull().Select(it => it.ToTypeInfo()).ToArray(); + OutputTypes = helpObject.GetNestedProperty("returnValues", "returnValue").EmptyIfNull().Select(rv => rv.ToTypeInfo()).ToArray(); + Examples = helpObject.GetNestedProperty("examples", "example").EmptyIfNull().Select(e => e.ToExampleInfo()).ToArray(); + Aliases = helpObject.GetProperty("aliases").EmptyIfNull().Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); + + Parameters = helpObject.GetNestedProperty("parameters", "parameter").EmptyIfNull().Select(p => p.ToPsParameterHelpInfo()).ToArray(); + Syntax = helpObject.GetNestedProperty("syntax", "syntaxItem").EmptyIfNull().Select(si => si.ToSyntaxInfo()).ToArray(); + + Component = helpObject.GetProperty("Component"); + Functionality = helpObject.GetProperty("Functionality"); + PsSnapIn = helpObject.GetProperty("PSSnapIn"); + Role = helpObject.GetProperty("Role"); + NonTerminatingErrors = helpObject.GetProperty("nonTerminatingErrors"); + } + } + + internal class PsHelpTypeInfo + { + public string Name { get; } + public string Description { get; } + + public PsHelpTypeInfo(PSObject typeObject) + { + Name = typeObject.GetNestedProperty("type", "name").EmptyIfNull().Trim(); + Description = typeObject.GetProperty("description").EmptyIfNull().ToDescriptionText(); + } + } + + internal class PsHelpLinkInfo + { + public string Uri { get; } + public string Text { get; } + + public PsHelpLinkInfo(PSObject linkObject) + { + Uri = linkObject.GetProperty("uri"); + Text = linkObject.GetProperty("linkText"); + } + } + + internal class PsHelpSyntaxInfo + { + public string CmdletName { get; } + public PsParameterHelpInfo[] Parameters { get; } + + public PsHelpSyntaxInfo(PSObject syntaxObject) + { + CmdletName = syntaxObject.GetProperty("name"); + Parameters = syntaxObject.GetProperty("parameter").EmptyIfNull().Select(p => p.ToPsParameterHelpInfo()).ToArray(); + } + } + + internal class PsHelpExampleInfo + { + public string Title { get; } + public string Code { get; } + public string Output { get; } + public string Remarks { get; } + + public PsHelpExampleInfo(PSObject exampleObject) + { + Title = exampleObject.GetProperty("title"); + Code = exampleObject.GetProperty("code"); + Output = exampleObject.GetProperty("output"); + Remarks = exampleObject.GetProperty("remarks").EmptyIfNull().ToDescriptionText(); + } + public PsHelpExampleInfo(MarkdownExampleHelpInfo markdownExample) + { + Title = markdownExample.Name; + Code = markdownExample.Code; + Output = markdownExample.Output; + Remarks = markdownExample.Description; + } + + public static implicit operator PsHelpExampleInfo(MarkdownExampleHelpInfo markdownExample) => new PsHelpExampleInfo(markdownExample); + } + + internal class PsParameterHelpInfo + { + public string DefaultValueAsString { get; } + + public string Name { get; } + public string TypeName { get; } + public string Description { get; } + public string SupportsPipelineInput { get; } + public string PositionText { get; } + public string[] ParameterSetNames { get; } + public string[] Aliases { get; } + + public bool? SupportsGlobbing { get; } + public bool? IsRequired { get; } + public bool? IsVariableLength { get; } + public bool? IsDynamic { get; } + + public PsParameterHelpInfo(PSObject parameterHelpObject = null) + { + parameterHelpObject = parameterHelpObject ?? new PSObject(); + DefaultValueAsString = parameterHelpObject.GetProperty("defaultValue"); + Name = parameterHelpObject.GetProperty("name"); + TypeName = parameterHelpObject.GetProperty("parameterValue").NullIfEmpty() ?? parameterHelpObject.GetNestedProperty("type", "name"); + Description = parameterHelpObject.GetProperty("Description").EmptyIfNull().ToDescriptionText(); + SupportsPipelineInput = parameterHelpObject.GetProperty("pipelineInput"); + PositionText = parameterHelpObject.GetProperty("position"); + ParameterSetNames = parameterHelpObject.GetProperty("parameterSetName").EmptyIfNull().Split(new[] { ", " }, StringSplitOptions.RemoveEmptyEntries); + Aliases = parameterHelpObject.GetProperty("aliases").EmptyIfNull().Split(new[] { ", " }, StringSplitOptions.RemoveEmptyEntries); + + SupportsGlobbing = parameterHelpObject.GetProperty("globbing").ToNullableBool(); + IsRequired = parameterHelpObject.GetProperty("required").ToNullableBool(); + IsVariableLength = parameterHelpObject.GetProperty("variableLength").ToNullableBool(); + IsDynamic = parameterHelpObject.GetProperty("isDynamic").ToNullableBool(); + } + } + + internal class PsModuleHelpInfo + { + public string Name { get; } + public Guid Guid { get; } + public string Description { get; } + + public PsModuleHelpInfo(PSModuleInfo moduleInfo) + : this(moduleInfo?.Name ?? String.Empty, moduleInfo?.Guid ?? Guid.NewGuid(), moduleInfo?.Description ?? String.Empty) + { + } + + public PsModuleHelpInfo(string name, Guid guid, string description) + { + Name = name; + Guid = guid; + Description = description; + } + } + + internal static class HelpTypesExtensions + { + public static PsHelpInfo ToPsHelpInfo(this PSObject helpObject) => new PsHelpInfo(helpObject); + public static PsParameterHelpInfo ToPsParameterHelpInfo(this PSObject parameterHelpObject) => new PsParameterHelpInfo(parameterHelpObject); + + public static string ToDescriptionText(this IEnumerable descriptionObject) => descriptionObject != null + ? String.Join(Environment.NewLine, descriptionObject.Select(dl => dl.GetProperty("Text").EmptyIfNull())).NullIfWhiteSpace() + : null; + public static PsHelpTypeInfo ToTypeInfo(this PSObject typeObject) => new PsHelpTypeInfo(typeObject); + public static PsHelpExampleInfo ToExampleInfo(this PSObject exampleObject) => new PsHelpExampleInfo(exampleObject); + public static PsHelpLinkInfo ToLinkInfo(this PSObject linkObject) => new PsHelpLinkInfo(linkObject); + public static PsHelpSyntaxInfo ToSyntaxInfo(this PSObject syntaxObject) => new PsHelpSyntaxInfo(syntaxObject); + public static PsModuleHelpInfo ToModuleInfo(this PSModuleInfo moduleInfo) => new PsModuleHelpInfo(moduleInfo); + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/Models/PsMarkdownTypes.cs b/swaggerci/redis/generated/runtime/BuildTime/Models/PsMarkdownTypes.cs new file mode 100644 index 000000000000..330a1d5ed988 --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/Models/PsMarkdownTypes.cs @@ -0,0 +1,294 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Management.Automation; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.MarkdownTypesExtensions; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.PsHelpOutputExtensions; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + internal class MarkdownHelpInfo + { + public string ExternalHelpFilename { get; } + public string ModuleName { get; } + public string OnlineVersion { get; } + public Version Schema { get; } + + public string CmdletName { get; } + public string[] Aliases { get; } + public string Synopsis { get; } + public string Description { get; } + + public MarkdownSyntaxHelpInfo[] SyntaxInfos { get; } + public MarkdownExampleHelpInfo[] Examples { get; } + public MarkdownParameterHelpInfo[] Parameters { get; } + + public string[] Inputs { get; } + public string[] Outputs { get; } + public ComplexInterfaceInfo[] ComplexInterfaceInfos { get; } + public string[] RelatedLinks { get; } + + public bool SupportsShouldProcess { get; } + public bool SupportsPaging { get; } + + public MarkdownHelpInfo(VariantGroup variantGroup, string examplesFolder, string externalHelpFilename = "") + { + ExternalHelpFilename = externalHelpFilename; + ModuleName = variantGroup.RootModuleName != "" ? variantGroup.RootModuleName : variantGroup.ModuleName; + var helpInfo = variantGroup.HelpInfo; + var commentInfo = variantGroup.CommentInfo; + Schema = Version.Parse("2.0.0"); + + CmdletName = variantGroup.CmdletName; + Aliases = (variantGroup.Aliases.NullIfEmpty() ?? helpInfo.Aliases).Where(a => a != "None").ToArray(); + Synopsis = commentInfo.Synopsis; + Description = commentInfo.Description; + + SyntaxInfos = variantGroup.Variants + .Select(v => new MarkdownSyntaxHelpInfo(v, variantGroup.ParameterGroups, v.VariantName == variantGroup.DefaultParameterSetName)) + .OrderByDescending(v => v.IsDefault).ThenBy(v => v.ParameterSetName).ToArray(); + Examples = GetExamplesFromMarkdown(examplesFolder).NullIfEmpty() + ?? helpInfo.Examples.Select(e => e.ToExampleHelpInfo()).ToArray().NullIfEmpty() + ?? DefaultExampleHelpInfos; + + Parameters = variantGroup.ParameterGroups + .Where(pg => !pg.DontShow && !pg.Parameters.All(p => p.IsHidden())) + .Select(pg => new MarkdownParameterHelpInfo( + variantGroup.Variants.SelectMany(v => v.HelpInfo.Parameters).Where(phi => phi.Name == pg.ParameterName).ToArray(), pg)) + .OrderBy(phi => phi.Name).ToArray(); + + Inputs = commentInfo.Inputs; + Outputs = commentInfo.Outputs; + + ComplexInterfaceInfos = variantGroup.ComplexInterfaceInfos; + OnlineVersion = commentInfo.OnlineVersion; + RelatedLinks = commentInfo.RelatedLinks; + + SupportsShouldProcess = variantGroup.SupportsShouldProcess; + SupportsPaging = variantGroup.SupportsPaging; + } + + private MarkdownExampleHelpInfo[] GetExamplesFromMarkdown(string examplesFolder) + { + var filePath = Path.Combine(examplesFolder, $"{CmdletName}.md"); + if (!Directory.Exists(examplesFolder) || !File.Exists(filePath)) return null; + + var lines = File.ReadAllLines(filePath); + var nameIndices = lines.Select((l, i) => l.StartsWith(ExampleNameHeader) ? i : -1).Where(i => i != -1).ToArray(); + //https://codereview.stackexchange.com/a/187148/68772 + var indexCountGroups = nameIndices.Skip(1).Append(lines.Length).Zip(nameIndices, (next, current) => (NameIndex: current, LineCount: next - current)); + var exampleGroups = indexCountGroups.Select(icg => lines.Skip(icg.NameIndex).Take(icg.LineCount).ToArray()); + return exampleGroups.Select(eg => + { + var name = eg.First().Replace(ExampleNameHeader, String.Empty); + var codeStartIndex = eg.Select((l, i) => l.StartsWith(ExampleCodeHeader) ? (int?)i : null).FirstOrDefault(i => i.HasValue); + var codeEndIndex = eg.Select((l, i) => l.StartsWith(ExampleCodeFooter) ? (int?)i : null).FirstOrDefault(i => i.HasValue && i != codeStartIndex); + var code = codeStartIndex.HasValue && codeEndIndex.HasValue + ? String.Join(Environment.NewLine, eg.Skip(codeStartIndex.Value + 1).Take(codeEndIndex.Value - (codeStartIndex.Value + 1))) + : String.Empty; + var outputStartIndex = eg.Select((l, i) => l.StartsWith(ExampleOutputHeader) ? (int?)i : null).FirstOrDefault(i => i.HasValue); + var outputEndIndex = eg.Select((l, i) => l.StartsWith(ExampleOutputFooter) ? (int?)i : null).FirstOrDefault(i => i.HasValue && i > outputStartIndex); + var output = outputStartIndex.HasValue && outputEndIndex.HasValue + ? String.Join(Environment.NewLine, eg.Skip(outputStartIndex.Value + 1).Take(outputEndIndex.Value - (outputStartIndex.Value + 1))) + : String.Empty; + var descriptionStartIndex = (outputEndIndex ?? (codeEndIndex ?? 0)) + 1; + descriptionStartIndex = String.IsNullOrWhiteSpace(eg[descriptionStartIndex]) ? descriptionStartIndex + 1 : descriptionStartIndex; + var descriptionEndIndex = eg.Length - 1; + descriptionEndIndex = String.IsNullOrWhiteSpace(eg[descriptionEndIndex]) ? descriptionEndIndex - 1 : descriptionEndIndex; + var description = String.Join(Environment.NewLine, eg.Skip(descriptionStartIndex).Take((descriptionEndIndex + 1) - descriptionStartIndex)); + return new MarkdownExampleHelpInfo(name, code, output, description); + }).ToArray(); + } + } + + internal class MarkdownSyntaxHelpInfo + { + public Variant Variant { get; } + public bool IsDefault { get; } + public string ParameterSetName { get; } + public Parameter[] Parameters { get; } + public string SyntaxText { get; } + + public MarkdownSyntaxHelpInfo(Variant variant, ParameterGroup[] parameterGroups, bool isDefault) + { + Variant = variant; + IsDefault = isDefault; + ParameterSetName = Variant.VariantName; + Parameters = Variant.Parameters + .Where(p => !p.DontShow && !p.IsHidden()).OrderByDescending(p => p.IsMandatory) + //https://stackoverflow.com/a/6461526/294804 + .ThenByDescending(p => p.Position.HasValue).ThenBy(p => p.Position) + // Use the OrderCategory of the parameter group because the final order category is the highest of the group, and not the order category of the individual parameters from the variants. + .ThenBy(p => parameterGroups.First(pg => pg.ParameterName == p.ParameterName).OrderCategory).ThenBy(p => p.ParameterName).ToArray(); + SyntaxText = CreateSyntaxFormat(); + } + + //https://github.com/PowerShell/platyPS/blob/a607a926bfffe1e1a1e53c19e0057eddd0c07611/src/Markdown.MAML/Renderer/Markdownv2Renderer.cs#L29-L32 + private const int SyntaxLineWidth = 110; + private string CreateSyntaxFormat() + { + var parameterStrings = Parameters.Select(p => p.ToPropertySyntaxOutput().ToString()); + if (Variant.SupportsShouldProcess) + { + parameterStrings = parameterStrings.Append(" [-Confirm]").Append(" [-WhatIf]"); + } + parameterStrings = parameterStrings.Append(" []"); + + var lines = new List(20); + return parameterStrings.Aggregate(Variant.CmdletName, (current, ps) => + { + var combined = current + ps; + if (combined.Length <= SyntaxLineWidth) return combined; + + lines.Add(current); + return ps; + }, last => + { + lines.Add(last); + return String.Join(Environment.NewLine, lines); + }); + } + } + + internal class MarkdownExampleHelpInfo + { + public string Name { get; } + public string Code { get; } + public string Output { get; } + public string Description { get; } + + public MarkdownExampleHelpInfo(string name, string code, string output, string description) + { + Name = name; + Code = code; + Output = output; + Description = description; + } + } + + internal class MarkdownParameterHelpInfo + { + public string Name { get; set; } + public string Description { get; set; } + public Type Type { get; set; } + public string Position { get; set; } + public string DefaultValue { get; set; } + + public bool HasAllParameterSets { get; set; } + public string[] ParameterSetNames { get; set; } + public string[] Aliases { get; set; } + + public bool IsRequired { get; set; } + public bool IsDynamic { get; set; } + public bool AcceptsPipelineByValue { get; set; } + public bool AcceptsPipelineByPropertyName { get; set; } + public bool AcceptsWildcardCharacters { get; set; } + + // For use by common parameters that have no backing data in the objects themselves. + public MarkdownParameterHelpInfo() { } + + public MarkdownParameterHelpInfo(PsParameterHelpInfo[] parameterHelpInfos, ParameterGroup parameterGroup) + { + Name = parameterGroup.ParameterName; + Description = parameterGroup.Description.NullIfEmpty() + ?? parameterHelpInfos.Select(phi => phi.Description).FirstOrDefault(d => !String.IsNullOrEmpty(d)).EmptyIfNull(); + Type = parameterGroup.ParameterType; + Position = parameterGroup.FirstPosition?.ToString() + ?? parameterHelpInfos.Select(phi => phi.PositionText).FirstOrDefault(d => !String.IsNullOrEmpty(d)).ToUpperFirstCharacter().NullIfEmpty() + ?? "Named"; + // This no longer uses firstHelpInfo.DefaultValueAsString since it seems to be broken. For example, it has a value of 0 for Int32, but no default value was declared. + DefaultValue = parameterGroup.DefaultInfo?.Script ?? "None"; + + HasAllParameterSets = parameterGroup.HasAllVariants; + ParameterSetNames = (parameterGroup.Parameters.Select(p => p.VariantName).ToArray().NullIfEmpty() + ?? parameterHelpInfos.SelectMany(phi => phi.ParameterSetNames).Distinct()) + .OrderBy(psn => psn).ToArray(); + Aliases = parameterGroup.Aliases.NullIfEmpty() ?? parameterHelpInfos.SelectMany(phi => phi.Aliases).ToArray(); + + IsRequired = parameterHelpInfos.Select(phi => phi.IsRequired).FirstOrDefault(r => r == true) ?? parameterGroup.Parameters.Any(p => p.IsMandatory); + IsDynamic = parameterHelpInfos.Select(phi => phi.IsDynamic).FirstOrDefault(d => d == true) ?? false; + AcceptsPipelineByValue = parameterHelpInfos.Select(phi => phi.SupportsPipelineInput?.Contains("ByValue")).FirstOrDefault(bv => bv == true) ?? parameterGroup.ValueFromPipeline; + AcceptsPipelineByPropertyName = parameterHelpInfos.Select(phi => phi.SupportsPipelineInput?.Contains("ByPropertyName")).FirstOrDefault(bv => bv == true) ?? parameterGroup.ValueFromPipelineByPropertyName; + AcceptsWildcardCharacters = parameterGroup.SupportsWildcards; + } + } + + internal static class MarkdownTypesExtensions + { + public static MarkdownExampleHelpInfo ToExampleHelpInfo(this PsHelpExampleInfo exampleInfo) => new MarkdownExampleHelpInfo(exampleInfo.Title, exampleInfo.Code, exampleInfo.Output, exampleInfo.Remarks); + + public static MarkdownExampleHelpInfo[] DefaultExampleHelpInfos = + { + new MarkdownExampleHelpInfo("Example 1: {{ Add title here }}", $@"{{{{ Add code here }}}}", $@"{{{{ Add output here }}}}", @"{{ Add description here }}"), + new MarkdownExampleHelpInfo("Example 2: {{ Add title here }}", $@"{{{{ Add code here }}}}", $@"{{{{ Add output here }}}}", @"{{ Add description here }}"), + }; + + public static MarkdownParameterHelpInfo[] SupportsShouldProcessParameters = + { + new MarkdownParameterHelpInfo + { + Name = "Confirm", + Description ="Prompts you for confirmation before running the cmdlet.", + Type = typeof(SwitchParameter), + Position = "Named", + DefaultValue = "None", + HasAllParameterSets = true, + ParameterSetNames = new [] { "(All)" }, + Aliases = new [] { "cf" } + }, + new MarkdownParameterHelpInfo + { + Name = "WhatIf", + Description ="Shows what would happen if the cmdlet runs. The cmdlet is not run.", + Type = typeof(SwitchParameter), + Position = "Named", + DefaultValue = "None", + HasAllParameterSets = true, + ParameterSetNames = new [] { "(All)" }, + Aliases = new [] { "wi" } + } + }; + + public static MarkdownParameterHelpInfo[] SupportsPagingParameters = + { + new MarkdownParameterHelpInfo + { + Name = "First", + Description ="Gets only the first 'n' objects.", + Type = typeof(ulong), + Position = "Named", + DefaultValue = "None", + HasAllParameterSets = true, + ParameterSetNames = new [] { "(All)" }, + Aliases = new string[0] + }, + new MarkdownParameterHelpInfo + { + Name = "IncludeTotalCount", + Description ="Reports the number of objects in the data set (an integer) followed by the objects. If the cmdlet cannot determine the total count, it returns \"Unknown total count\".", + Type = typeof(SwitchParameter), + Position = "Named", + DefaultValue = "None", + HasAllParameterSets = true, + ParameterSetNames = new [] { "(All)" }, + Aliases = new string[0] + }, + new MarkdownParameterHelpInfo + { + Name = "Skip", + Description ="Ignores the first 'n' objects and then gets the remaining objects.", + Type = typeof(ulong), + Position = "Named", + DefaultValue = "None", + HasAllParameterSets = true, + ParameterSetNames = new [] { "(All)" }, + Aliases = new string[0] + } + }; + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/Models/PsProxyOutputs.cs b/swaggerci/redis/generated/runtime/BuildTime/Models/PsProxyOutputs.cs new file mode 100644 index 000000000000..517d67a6ea23 --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/Models/PsProxyOutputs.cs @@ -0,0 +1,611 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using System.Text.RegularExpressions; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.PsProxyOutputExtensions; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.PsProxyTypeExtensions; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + internal class OutputTypeOutput + { + public PSTypeName[] OutputTypes { get; } + + public OutputTypeOutput(IEnumerable outputTypes) + { + OutputTypes = outputTypes.ToArray(); + } + + public override string ToString() => OutputTypes != null && OutputTypes.Any() ? $"[OutputType({OutputTypes.Select(ot => $"[{ot}]").JoinIgnoreEmpty(ItemSeparator)})]{Environment.NewLine}" : String.Empty; + } + + internal class CmdletBindingOutput + { + public VariantGroup VariantGroup { get; } + + public CmdletBindingOutput(VariantGroup variantGroup) + { + VariantGroup = variantGroup; + } + + public override string ToString() + { + var dpsText = VariantGroup.DefaultParameterSetName.IsValidDefaultParameterSetName() ? $"DefaultParameterSetName='{VariantGroup.DefaultParameterSetName}'" : String.Empty; + var sspText = VariantGroup.SupportsShouldProcess ? $"SupportsShouldProcess{ItemSeparator}ConfirmImpact='Medium'" : String.Empty; + var pbText = $"PositionalBinding={false.ToPsBool()}"; + var propertyText = new[] { dpsText, pbText, sspText }.JoinIgnoreEmpty(ItemSeparator); + return $"[CmdletBinding({propertyText})]{Environment.NewLine}"; + } + } + + internal class ParameterOutput + { + public Parameter Parameter { get; } + public bool HasMultipleVariantsInVariantGroup { get; } + public bool HasAllVariantsInParameterGroup { get; } + + public ParameterOutput(Parameter parameter, bool hasMultipleVariantsInVariantGroup, bool hasAllVariantsInParameterGroup) + { + Parameter = parameter; + HasMultipleVariantsInVariantGroup = hasMultipleVariantsInVariantGroup; + HasAllVariantsInParameterGroup = hasAllVariantsInParameterGroup; + } + + public override string ToString() + { + var psnText = HasMultipleVariantsInVariantGroup && !HasAllVariantsInParameterGroup ? $"ParameterSetName='{Parameter.VariantName}'" : String.Empty; + var positionText = Parameter.Position != null ? $"Position={Parameter.Position}" : String.Empty; + var mandatoryText = Parameter.IsMandatory ? "Mandatory" : String.Empty; + var dontShowText = Parameter.DontShow ? "DontShow" : String.Empty; + var vfpText = Parameter.ValueFromPipeline ? "ValueFromPipeline" : String.Empty; + var vfpbpnText = Parameter.ValueFromPipelineByPropertyName ? "ValueFromPipelineByPropertyName" : String.Empty; + var propertyText = new[] { psnText, positionText, mandatoryText, dontShowText, vfpText, vfpbpnText }.JoinIgnoreEmpty(ItemSeparator); + return $"{Indent}[Parameter({propertyText})]{Environment.NewLine}"; + } + } + + internal class AliasOutput + { + public string[] Aliases { get; } + public bool IncludeIndent { get; } + + public AliasOutput(string[] aliases, bool includeIndent = false) + { + Aliases = aliases; + IncludeIndent = includeIndent; + } + + public override string ToString() => Aliases?.Any() ?? false ? $"{(IncludeIndent ? Indent : String.Empty)}[Alias({Aliases.Select(an => $"'{an}'").JoinIgnoreEmpty(ItemSeparator)})]{Environment.NewLine}" : String.Empty; + } + + internal class ValidateNotNullOutput + { + public bool HasValidateNotNull { get; } + + public ValidateNotNullOutput(bool hasValidateNotNull) + { + HasValidateNotNull = hasValidateNotNull; + } + + public override string ToString() => HasValidateNotNull ? $"{Indent}[ValidateNotNull()]{Environment.NewLine}" : String.Empty; + } + + internal class AllowEmptyArrayOutput + { + public bool HasAllowEmptyArray { get; } + + public AllowEmptyArrayOutput(bool hasAllowEmptyArray) + { + HasAllowEmptyArray = hasAllowEmptyArray; + } + + public override string ToString() => HasAllowEmptyArray ? $"{Indent}[AllowEmptyCollection()]{Environment.NewLine}" : String.Empty; + } + internal class ArgumentCompleterOutput + { + public CompleterInfo CompleterInfo { get; } + + public ArgumentCompleterOutput(CompleterInfo completerInfo) + { + CompleterInfo = completerInfo; + } + + public override string ToString() => CompleterInfo != null + ? $"{Indent}[ArgumentCompleter({(CompleterInfo.IsTypeCompleter ? $"[{CompleterInfo.Type.Unwrap().ToPsType()}]" : $"{{{CompleterInfo.Script.ToPsSingleLine("; ")}}}")})]{Environment.NewLine}" + : String.Empty; + } + + internal class DefaultInfoOutput + { + public bool HasDefaultInfo { get; } + public DefaultInfo DefaultInfo { get; } + + public DefaultInfoOutput(ParameterGroup parameterGroup) + { + HasDefaultInfo = parameterGroup.HasDefaultInfo; + DefaultInfo = parameterGroup.DefaultInfo; + } + + public override string ToString() + { + var nameText = !String.IsNullOrEmpty(DefaultInfo?.Name) ? $"Name='{DefaultInfo?.Name}'" : String.Empty; + var descriptionText = !String.IsNullOrEmpty(DefaultInfo?.Description) ? $"Description='{DefaultInfo?.Description.ToPsStringLiteral()}'" : String.Empty; + var scriptText = !String.IsNullOrEmpty(DefaultInfo?.Script) ? $"Script='{DefaultInfo?.Script.ToPsSingleLine("; ")}'" : String.Empty; + var propertyText = new[] { nameText, descriptionText, scriptText }.JoinIgnoreEmpty(ItemSeparator); + return HasDefaultInfo ? $"{Indent}[{typeof(DefaultInfoAttribute).ToPsAttributeType()}({propertyText})]{Environment.NewLine}" : String.Empty; + } + } + + internal class ParameterTypeOutput + { + public Type ParameterType { get; } + + public ParameterTypeOutput(Type parameterType) + { + ParameterType = parameterType; + } + + public override string ToString() => $"{Indent}[{ParameterType.ToPsType()}]{Environment.NewLine}"; + } + + internal class ParameterNameOutput + { + public string ParameterName { get; } + public bool IsLast { get; } + + public ParameterNameOutput(string parameterName, bool isLast) + { + ParameterName = parameterName; + IsLast = isLast; + } + + public override string ToString() => $"{Indent}${{{ParameterName}}}{(IsLast ? String.Empty : $",{Environment.NewLine}")}{Environment.NewLine}"; + } + + internal class BaseOutput + { + public VariantGroup VariantGroup { get; } + + protected static readonly bool IsAzure = Convert.ToBoolean(@"true"); + public BaseOutput(VariantGroup variantGroup) + { + VariantGroup = variantGroup; + } + public string ClearTelemetryContext() + { + return (!VariantGroup.IsInternal && IsAzure) ? $@"{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()" : ""; + } + } + + internal class BeginOutput : BaseOutput + { + public BeginOutput(VariantGroup variantGroup) : base(variantGroup) + { + } + + public string GetProcessCustomAttributesAtRuntime() + { + return VariantGroup.IsInternal ? "" : $@"{Indent}{Indent}$cmdInfo = Get-Command -Name $mapping[$parameterSet]{Environment.NewLine}{Indent}{Indent}[Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)"; + } + private string GetTelemetry() + { + if (!VariantGroup.IsInternal && IsAzure) + { + return $@" +{Indent}{Indent}if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {{ +{Indent}{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() +{Indent}{Indent}}} +{Indent}{Indent}$preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId +{Indent}{Indent}if ($preTelemetryId -eq '') {{ +{Indent}{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() +{Indent}{Indent}{Indent}[Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) +{Indent}{Indent}}} else {{ +{Indent}{Indent}{Indent}$internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets +{Indent}{Indent}{Indent}if ($internalCalledCmdlets -eq '') {{ +{Indent}{Indent}{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name +{Indent}{Indent}{Indent}}} else {{ +{Indent}{Indent}{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name +{Indent}{Indent}{Indent}}} +{Indent}{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' +{Indent}{Indent}}} +"; + } + return ""; + } + public override string ToString() => $@"begin {{ +{Indent}try {{ +{Indent}{Indent}$outBuffer = $null +{Indent}{Indent}if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {{ +{Indent}{Indent}{Indent}$PSBoundParameters['OutBuffer'] = 1 +{Indent}{Indent}}} +{Indent}{Indent}$parameterSet = $PSCmdlet.ParameterSetName +{GetTelemetry()} +{GetParameterSetToCmdletMapping()}{GetDefaultValuesStatements()} +{GetProcessCustomAttributesAtRuntime()} +{Indent}{Indent}$wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) +{Indent}{Indent}$scriptCmd = {{& $wrappedCmd @PSBoundParameters}} +{Indent}{Indent}$steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) +{Indent}{Indent}$steppablePipeline.Begin($PSCmdlet) +{Indent}}} catch {{ +{ClearTelemetryContext()} +{Indent}{Indent}throw +{Indent}}} +}} + +"; + + private string GetParameterSetToCmdletMapping() + { + var sb = new StringBuilder(); + sb.AppendLine($"{Indent}{Indent}$mapping = @{{"); + foreach (var variant in VariantGroup.Variants) + { + sb.AppendLine($@"{Indent}{Indent}{Indent}{variant.VariantName} = '{variant.PrivateModuleName}\{variant.PrivateCmdletName}';"); + } + sb.Append($"{Indent}{Indent}}}"); + return sb.ToString(); + } + + private string GetDefaultValuesStatements() + { + var defaultInfos = VariantGroup.ParameterGroups.Where(pg => pg.HasDefaultInfo).Select(pg => pg.DefaultInfo).ToArray(); + var sb = new StringBuilder(); + + foreach (var defaultInfo in defaultInfos) + { + var variantListString = defaultInfo.ParameterGroup.VariantNames.ToPsList(); + var parameterName = defaultInfo.ParameterGroup.ParameterName; + sb.AppendLine(); + sb.AppendLine($"{Indent}{Indent}if (({variantListString}) -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('{parameterName}')) {{"); + sb.AppendLine($"{Indent}{Indent}{Indent}$PSBoundParameters['{parameterName}'] = {defaultInfo.Script}"); + sb.Append($"{Indent}{Indent}}}"); + } + return sb.ToString(); + } + } + + internal class ProcessOutput : BaseOutput + { + public ProcessOutput(VariantGroup variantGroup) : base(variantGroup) + { + } + + private string GetFinally() + { + if (IsAzure && !VariantGroup.IsInternal) + { + return $@" +{Indent}finally {{ +{Indent}{Indent}$backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId +{Indent}{Indent}$backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets +{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() +{Indent}}} +"; + } + return ""; + } + public override string ToString() => $@"process {{ +{Indent}try {{ +{Indent}{Indent}$steppablePipeline.Process($_) +{Indent}}} catch {{ +{ClearTelemetryContext()} +{Indent}{Indent}throw +{Indent}}} +{GetFinally()} +}} +"; + } + + internal class EndOutput : BaseOutput + { + public EndOutput(VariantGroup variantGroup) : base(variantGroup) + { + } + + private string GetTelemetry() + { + if (!VariantGroup.IsInternal && IsAzure) + { + return $@" +{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId +{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets +{Indent}{Indent}if ($preTelemetryId -eq '') {{ +{Indent}{Indent}{Indent}[Microsoft.Azure.PowerShell.Cmdlets.Redis.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) +{Indent}{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() +{Indent}{Indent}}} +{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId +"; + } + return ""; + } + public override string ToString() => $@"end {{ +{Indent}try {{ +{Indent}{Indent}$steppablePipeline.End() +{GetTelemetry()} +{Indent}}} catch {{ +{ClearTelemetryContext()} +{Indent}{Indent}throw +{Indent}}} +}} +"; + } + + internal class HelpCommentOutput + { + public VariantGroup VariantGroup { get; } + public CommentInfo CommentInfo { get; } + + public HelpCommentOutput(VariantGroup variantGroup) + { + VariantGroup = variantGroup; + CommentInfo = variantGroup.CommentInfo; + } + + public override string ToString() + { + var inputs = String.Join(Environment.NewLine, CommentInfo.Inputs.Select(i => $".Inputs{Environment.NewLine}{i}")); + var inputsText = !String.IsNullOrEmpty(inputs) ? $"{Environment.NewLine}{inputs}" : String.Empty; + var outputs = String.Join(Environment.NewLine, CommentInfo.Outputs.Select(o => $".Outputs{Environment.NewLine}{o}")); + var outputsText = !String.IsNullOrEmpty(outputs) ? $"{Environment.NewLine}{outputs}" : String.Empty; + var notes = String.Join($"{Environment.NewLine}{Environment.NewLine}", VariantGroup.ComplexInterfaceInfos.Select(cii => cii.ToNoteOutput())); + var notesText = !String.IsNullOrEmpty(notes) ? $"{Environment.NewLine}.Notes{Environment.NewLine}{ComplexParameterHeader}{notes}" : String.Empty; + var relatedLinks = String.Join(Environment.NewLine, CommentInfo.RelatedLinks.Select(l => $".Link{Environment.NewLine}{l}")); + var relatedLinksText = !String.IsNullOrEmpty(relatedLinks) ? $"{Environment.NewLine}{relatedLinks}" : String.Empty; + var examples = ""; + foreach (var example in VariantGroup.HelpInfo.Examples) + { + examples = examples + ".Example" + "\r\n" + example.Code + "\r\n"; + } + return $@"<# +.Synopsis +{CommentInfo.Synopsis.ToDescriptionFormat(false)} +.Description +{CommentInfo.Description.ToDescriptionFormat(false)} +{examples}{inputsText}{outputsText}{notesText} +.Link +{CommentInfo.OnlineVersion}{relatedLinksText} +#> +"; + } + } + + internal class ParameterDescriptionOutput + { + public string Description { get; } + + public ParameterDescriptionOutput(string description) + { + Description = description; + } + + public override string ToString() => !String.IsNullOrEmpty(Description) + ? Description.ToDescriptionFormat(false).NormalizeNewLines() + .Split(new[] { Environment.NewLine }, StringSplitOptions.None) + .Aggregate(String.Empty, (c, n) => c + $"{Indent}# {n}{Environment.NewLine}") + : String.Empty; + } + + internal class ProfileOutput + { + public string ProfileName { get; } + + public ProfileOutput(string profileName) + { + ProfileName = profileName; + } + + public override string ToString() => ProfileName != NoProfiles ? $"[{typeof(ProfileAttribute).ToPsAttributeType()}('{ProfileName}')]{Environment.NewLine}" : String.Empty; + } + + internal class DescriptionOutput + { + public string Description { get; } + + public DescriptionOutput(string description) + { + Description = description; + } + + public override string ToString() => !String.IsNullOrEmpty(Description) ? $"[{typeof(DescriptionAttribute).ToPsAttributeType()}('{Description.ToPsStringLiteral()}')]{Environment.NewLine}" : String.Empty; + } + + internal class ParameterCategoryOutput + { + public ParameterCategory Category { get; } + + public ParameterCategoryOutput(ParameterCategory category) + { + Category = category; + } + + public override string ToString() => $"{Indent}[{typeof(CategoryAttribute).ToPsAttributeType()}('{Category}')]{Environment.NewLine}"; + } + + internal class InfoOutput + { + public InfoAttribute Info { get; } + public Type ParameterType { get; } + + public InfoOutput(InfoAttribute info, Type parameterType) + { + Info = info; + ParameterType = parameterType; + } + + public override string ToString() + { + // Rendering of InfoAttribute members that are not used currently + /*var serializedNameText = Info.SerializedName != null ? $"SerializedName='{Info.SerializedName}'" : String.Empty; + var readOnlyText = Info.ReadOnly ? "ReadOnly" : String.Empty; + var descriptionText = !String.IsNullOrEmpty(Info.Description) ? $"Description='{Info.Description.ToPsStringLiteral()}'" : String.Empty;*/ + + var requiredText = Info.Required ? "Required" : String.Empty; + var unwrappedType = ParameterType.Unwrap(); + var hasValidPossibleTypes = Info.PossibleTypes.Any(pt => pt != unwrappedType); + var possibleTypesText = hasValidPossibleTypes + ? $"PossibleTypes=({Info.PossibleTypes.Select(pt => $"[{pt.ToPsType()}]").JoinIgnoreEmpty(ItemSeparator)})" + : String.Empty; + var propertyText = new[] { /*serializedNameText, */requiredText,/* readOnlyText,*/ possibleTypesText/*, descriptionText*/ }.JoinIgnoreEmpty(ItemSeparator); + return hasValidPossibleTypes ? $"{Indent}[{typeof(InfoAttribute).ToPsAttributeType()}({propertyText})]{Environment.NewLine}" : String.Empty; + } + } + + internal class PropertySyntaxOutput + { + public string ParameterName { get; } + public Type ParameterType { get; } + public bool IsMandatory { get; } + public int? Position { get; } + + public bool IncludeSpace { get; } + public bool IncludeDash { get; } + + public PropertySyntaxOutput(Parameter parameter) + { + ParameterName = parameter.ParameterName; + ParameterType = parameter.ParameterType; + IsMandatory = parameter.IsMandatory; + Position = parameter.Position; + IncludeSpace = true; + IncludeDash = true; + } + + public PropertySyntaxOutput(ComplexInterfaceInfo complexInterfaceInfo) + { + ParameterName = complexInterfaceInfo.Name; + ParameterType = complexInterfaceInfo.Type; + IsMandatory = complexInterfaceInfo.Required; + Position = null; + IncludeSpace = false; + IncludeDash = false; + } + + public override string ToString() + { + var leftOptional = !IsMandatory ? "[" : String.Empty; + var leftPositional = Position != null ? "[" : String.Empty; + var rightPositional = Position != null ? "]" : String.Empty; + var type = ParameterType != typeof(SwitchParameter) ? $" <{ParameterType.ToSyntaxTypeName()}>" : String.Empty; + var rightOptional = !IsMandatory ? "]" : String.Empty; + var space = IncludeSpace ? " " : String.Empty; + var dash = IncludeDash ? "-" : String.Empty; + return $"{space}{leftOptional}{leftPositional}{dash}{ParameterName}{rightPositional}{type}{rightOptional}"; + } + } + + internal static class PsProxyOutputExtensions + { + public const string NoParameters = "__NoParameters"; + + public const string AllParameterSets = "__AllParameterSets"; + + public const string HalfIndent = " "; + + public const string Indent = HalfIndent + HalfIndent; + + public const string ItemSeparator = ", "; + + public static readonly string ComplexParameterHeader = $"COMPLEX PARAMETER PROPERTIES{Environment.NewLine}{Environment.NewLine}To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.{Environment.NewLine}{Environment.NewLine}"; + + public static string ToPsBool(this bool value) => $"${value.ToString().ToLowerInvariant()}"; + + public static string ToPsType(this Type type) + { + var regex = new Regex(@"^(.*)`{1}\d+(.*)$"); + var typeText = type.ToString(); + var match = regex.Match(typeText); + return match.Success ? $"{match.Groups[1]}{match.Groups[2]}" : typeText; + } + + public static string ToPsAttributeType(this Type type) => type.ToPsType().RemoveEnd("Attribute"); + + // https://stackoverflow.com/a/5284606/294804 + private static string RemoveEnd(this string text, string suffix) => text.EndsWith(suffix) ? text.Substring(0, text.Length - suffix.Length) : text; + + public static string ToPsSingleLine(this string value, string replacer = " ") => value.ReplaceNewLines(replacer, new[] { "
", "\r\n", "\n" }); + + public static string ToPsStringLiteral(this string value) => value?.Replace("'", "''").Replace("‘", "''").Replace("’", "''").ToPsSingleLine().Trim() ?? String.Empty; + + public static string JoinIgnoreEmpty(this IEnumerable values, string separator) => String.Join(separator, values?.Where(v => !String.IsNullOrEmpty(v))); + + // https://stackoverflow.com/a/41961738/294804 + public static string ToSyntaxTypeName(this Type type) + { + if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>)) + { + return $"{type.GetGenericArguments().First().ToSyntaxTypeName()}?"; + } + + if (type.IsGenericType) + { + var genericTypes = String.Join(ItemSeparator, type.GetGenericArguments().Select(ToSyntaxTypeName)); + return $"{type.Name.Split('`').First()}<{genericTypes}>"; + } + + return type.Name; + } + + public static OutputTypeOutput ToOutputTypeOutput(this IEnumerable outputTypes) => new OutputTypeOutput(outputTypes); + + public static CmdletBindingOutput ToCmdletBindingOutput(this VariantGroup variantGroup) => new CmdletBindingOutput(variantGroup); + + public static ParameterOutput ToParameterOutput(this Parameter parameter, bool hasMultipleVariantsInVariantGroup, bool hasAllVariantsInParameterGroup) => new ParameterOutput(parameter, hasMultipleVariantsInVariantGroup, hasAllVariantsInParameterGroup); + + public static AliasOutput ToAliasOutput(this string[] aliases, bool includeIndent = false) => new AliasOutput(aliases, includeIndent); + + public static ValidateNotNullOutput ToValidateNotNullOutput(this bool hasValidateNotNull) => new ValidateNotNullOutput(hasValidateNotNull); + + public static AllowEmptyArrayOutput ToAllowEmptyArray(this bool hasAllowEmptyArray) => new AllowEmptyArrayOutput(hasAllowEmptyArray); + + public static ArgumentCompleterOutput ToArgumentCompleterOutput(this CompleterInfo completerInfo) => new ArgumentCompleterOutput(completerInfo); + + public static DefaultInfoOutput ToDefaultInfoOutput(this ParameterGroup parameterGroup) => new DefaultInfoOutput(parameterGroup); + + public static ParameterTypeOutput ToParameterTypeOutput(this Type parameterType) => new ParameterTypeOutput(parameterType); + + public static ParameterNameOutput ToParameterNameOutput(this string parameterName, bool isLast) => new ParameterNameOutput(parameterName, isLast); + + public static BeginOutput ToBeginOutput(this VariantGroup variantGroup) => new BeginOutput(variantGroup); + + public static ProcessOutput ToProcessOutput(this VariantGroup variantGroup) => new ProcessOutput(variantGroup); + + public static EndOutput ToEndOutput(this VariantGroup variantGroup) => new EndOutput(variantGroup); + + public static HelpCommentOutput ToHelpCommentOutput(this VariantGroup variantGroup) => new HelpCommentOutput(variantGroup); + + public static ParameterDescriptionOutput ToParameterDescriptionOutput(this string description) => new ParameterDescriptionOutput(description); + + public static ProfileOutput ToProfileOutput(this string profileName) => new ProfileOutput(profileName); + + public static DescriptionOutput ToDescriptionOutput(this string description) => new DescriptionOutput(description); + + public static ParameterCategoryOutput ToParameterCategoryOutput(this ParameterCategory category) => new ParameterCategoryOutput(category); + + public static PropertySyntaxOutput ToPropertySyntaxOutput(this Parameter parameter) => new PropertySyntaxOutput(parameter); + + public static PropertySyntaxOutput ToPropertySyntaxOutput(this ComplexInterfaceInfo complexInterfaceInfo) => new PropertySyntaxOutput(complexInterfaceInfo); + + public static InfoOutput ToInfoOutput(this InfoAttribute info, Type parameterType) => new InfoOutput(info, parameterType); + + public static string ToNoteOutput(this ComplexInterfaceInfo complexInterfaceInfo, string currentIndent = "", bool includeDashes = false, bool includeBackticks = false, bool isFirst = true) + { + string RenderProperty(ComplexInterfaceInfo info, string indent, bool dash, bool backtick) => + $"{indent}{(dash ? "- " : String.Empty)}{(backtick ? "`" : String.Empty)}{info.ToPropertySyntaxOutput()}{(backtick ? "`" : String.Empty)}: {info.Description}"; + + var nested = complexInterfaceInfo.NestedInfos.Select(ni => + { + var nestedIndent = $"{currentIndent}{HalfIndent}"; + return ni.IsComplexInterface + ? ni.ToNoteOutput(nestedIndent, includeDashes, includeBackticks, false) + : RenderProperty(ni, nestedIndent, includeDashes, includeBackticks); + }).Prepend(RenderProperty(complexInterfaceInfo, currentIndent, !isFirst && includeDashes, includeBackticks)); + return String.Join(Environment.NewLine, nested); + } + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/Models/PsProxyTypes.cs b/swaggerci/redis/generated/runtime/BuildTime/Models/PsProxyTypes.cs new file mode 100644 index 000000000000..30a20ead39e7 --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/Models/PsProxyTypes.cs @@ -0,0 +1,514 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Management.Automation; +using System.Reflection; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.PsProxyOutputExtensions; +using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell.PsProxyTypeExtensions; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + internal class ProfileGroup + { + public string ProfileName { get; } + public Variant[] Variants { get; } + public string ProfileFolder { get; } + + public ProfileGroup(Variant[] variants, string profileName = NoProfiles) + { + ProfileName = profileName; + Variants = variants; + ProfileFolder = ProfileName != NoProfiles ? ProfileName : String.Empty; + } + } + + internal class VariantGroup + { + public string ModuleName { get; } + + public string RootModuleName {get => @"";} + public string CmdletName { get; } + public string CmdletVerb { get; } + public string CmdletNoun { get; } + public string ProfileName { get; } + public Variant[] Variants { get; } + public ParameterGroup[] ParameterGroups { get; } + public ComplexInterfaceInfo[] ComplexInterfaceInfos { get; } + + public string[] Aliases { get; } + public PSTypeName[] OutputTypes { get; } + public bool SupportsShouldProcess { get; } + public bool SupportsPaging { get; } + public string DefaultParameterSetName { get; } + public bool HasMultipleVariants { get; } + public PsHelpInfo HelpInfo { get; } + public bool IsGenerated { get; } + public bool IsInternal { get; } + + public string OutputFolder { get; } + public string FileName { get; } + public string FilePath { get; } + + public CommentInfo CommentInfo { get; } + + public VariantGroup(string moduleName, string cmdletName, Variant[] variants, string outputFolder, string profileName = NoProfiles, bool isTest = false, bool isInternal = false) + { + ModuleName = moduleName; + CmdletName = cmdletName; + var cmdletNameParts = CmdletName.Split('-'); + CmdletVerb = cmdletNameParts.First(); + CmdletNoun = cmdletNameParts.Last(); + ProfileName = profileName; + Variants = variants; + ParameterGroups = Variants.ToParameterGroups().OrderBy(pg => pg.OrderCategory).ThenByDescending(pg => pg.IsMandatory).ToArray(); + var aliasDuplicates = ParameterGroups.SelectMany(pg => pg.Aliases) + //https://stackoverflow.com/a/18547390/294804 + .GroupBy(a => a).Where(g => g.Count() > 1).Select(g => g.Key).ToArray(); + if (aliasDuplicates.Any()) + { + throw new ParsingMetadataException($"The alias(es) [{String.Join(", ", aliasDuplicates)}] are defined on multiple parameters for cmdlet '{CmdletName}', which is not supported."); + } + ComplexInterfaceInfos = ParameterGroups.Where(pg => !pg.DontShow && pg.IsComplexInterface).OrderBy(pg => pg.ParameterName).Select(pg => pg.ComplexInterfaceInfo).ToArray(); + + Aliases = Variants.SelectMany(v => v.Attributes).ToAliasNames().ToArray(); + OutputTypes = Variants.SelectMany(v => v.Info.OutputType).Where(ot => ot.Type != null).GroupBy(ot => ot.Type).Select(otg => otg.First()).ToArray(); + SupportsShouldProcess = Variants.Any(v => v.SupportsShouldProcess); + SupportsPaging = Variants.Any(v => v.SupportsPaging); + DefaultParameterSetName = DetermineDefaultParameterSetName(); + HasMultipleVariants = Variants.Length > 1; + HelpInfo = Variants.Select(v => v.HelpInfo).FirstOrDefault() ?? new PsHelpInfo(); + IsGenerated = Variants.All(v => v.Attributes.OfType().Any()); + IsInternal = isInternal; + + OutputFolder = outputFolder; + FileName = $"{CmdletName}{(isTest ? ".Tests" : String.Empty)}.ps1"; + FilePath = Path.Combine(OutputFolder, FileName); + + CommentInfo = new CommentInfo(this); + } + + private string DetermineDefaultParameterSetName() + { + var defaultParameterSet = Variants + .Select(v => v.Metadata.DefaultParameterSetName) + .LastOrDefault(dpsn => dpsn.IsValidDefaultParameterSetName()); + + if (String.IsNullOrEmpty(defaultParameterSet)) + { + var variantParamCountGroups = Variants + .Select(v => ( + variant: v.VariantName, + paramCount: v.CmdletOnlyParameters.Count(p => p.IsMandatory), + isSimple: v.CmdletOnlyParameters.Where(p => p.IsMandatory).All(p => p.ParameterType.IsPsSimple()))) + .GroupBy(vpc => vpc.isSimple) + .ToArray(); + var variantParameterCounts = (variantParamCountGroups.Any(g => g.Key) ? variantParamCountGroups.Where(g => g.Key) : variantParamCountGroups).SelectMany(g => g).ToArray(); + var smallestParameterCount = variantParameterCounts.Min(vpc => vpc.paramCount); + defaultParameterSet = variantParameterCounts.First(vpc => vpc.paramCount == smallestParameterCount).variant; + } + + return defaultParameterSet; + } + } + + internal class Variant + { + public string CmdletName { get; } + public string VariantName { get; } + public CommandInfo Info { get; } + public CommandMetadata Metadata { get; } + public PsHelpInfo HelpInfo { get; } + public bool HasParameterSets { get; } + public bool IsFunction { get; } + public string PrivateModuleName { get; } + public string PrivateCmdletName { get; } + public bool SupportsShouldProcess { get; } + public bool SupportsPaging { get; } + + public Attribute[] Attributes { get; } + public Parameter[] Parameters { get; } + public Parameter[] CmdletOnlyParameters { get; } + public bool IsInternal { get; } + public bool IsDoNotExport { get; } + public string[] Profiles { get; } + + public Variant(string cmdletName, string variantName, CommandInfo info, CommandMetadata metadata, bool hasParameterSets = false, PsHelpInfo helpInfo = null) + { + CmdletName = cmdletName; + VariantName = variantName; + Info = info; + HelpInfo = helpInfo ?? new PsHelpInfo(); + Metadata = metadata; + HasParameterSets = hasParameterSets; + IsFunction = Info.CommandType == CommandTypes.Function; + PrivateModuleName = Info.Source; + PrivateCmdletName = Metadata.Name; + SupportsShouldProcess = Metadata.SupportsShouldProcess; + SupportsPaging = Metadata.SupportsPaging; + + Attributes = this.ToAttributes(); + Parameters = this.ToParameters().OrderBy(p => p.OrderCategory).ThenByDescending(p => p.IsMandatory).ToArray(); + IsInternal = Attributes.OfType().Any(); + IsDoNotExport = Attributes.OfType().Any(); + CmdletOnlyParameters = Parameters.Where(p => !p.Categories.Any(c => c == ParameterCategory.Azure || c == ParameterCategory.Runtime)).ToArray(); + Profiles = Attributes.OfType().SelectMany(pa => pa.Profiles).ToArray(); + } + } + + internal class ParameterGroup + { + public string ParameterName { get; } + public Parameter[] Parameters { get; } + + public string[] VariantNames { get; } + public string[] AllVariantNames { get; } + public bool HasAllVariants { get; } + public Type ParameterType { get; } + public string Description { get; } + + public string[] Aliases { get; } + public bool HasValidateNotNull { get; } + public bool HasAllowEmptyArray { get; } + public CompleterInfo CompleterInfo { get; } + public DefaultInfo DefaultInfo { get; } + public bool HasDefaultInfo { get; } + public ParameterCategory OrderCategory { get; } + public bool DontShow { get; } + public bool IsMandatory { get; } + public bool SupportsWildcards { get; } + public bool IsComplexInterface { get; } + public ComplexInterfaceInfo ComplexInterfaceInfo { get; } + public InfoAttribute InfoAttribute { get; } + + public int? FirstPosition { get; } + public bool ValueFromPipeline { get; } + public bool ValueFromPipelineByPropertyName { get; } + public bool IsInputType { get; } + + public ParameterGroup(string parameterName, Parameter[] parameters, string[] allVariantNames) + { + ParameterName = parameterName; + Parameters = parameters; + + VariantNames = Parameters.Select(p => p.VariantName).ToArray(); + AllVariantNames = allVariantNames; + HasAllVariants = VariantNames.Any(vn => vn == AllParameterSets) || !AllVariantNames.Except(VariantNames).Any(); + var types = Parameters.Select(p => p.ParameterType).Distinct().ToArray(); + if (types.Length > 1) + { + throw new ParsingMetadataException($"The parameter '{ParameterName}' has multiple parameter types [{String.Join(", ", types.Select(t => t.Name))}] defined, which is not supported."); + } + ParameterType = types.First(); + Description = Parameters.Select(p => p.Description).FirstOrDefault(d => !String.IsNullOrEmpty(d)).EmptyIfNull(); + + Aliases = Parameters.SelectMany(p => p.Attributes).ToAliasNames().ToArray(); + HasValidateNotNull = Parameters.SelectMany(p => p.Attributes.OfType()).Any(); + HasAllowEmptyArray = Parameters.SelectMany(p => p.Attributes.OfType()).Any(); + CompleterInfo = Parameters.Select(p => p.CompleterInfoAttribute).FirstOrDefault()?.ToCompleterInfo() + ?? Parameters.Select(p => p.ArgumentCompleterAttribute).FirstOrDefault()?.ToCompleterInfo(); + DefaultInfo = Parameters.Select(p => p.DefaultInfoAttribute).FirstOrDefault()?.ToDefaultInfo(this) + ?? Parameters.Select(p => p.DefaultValueAttribute).FirstOrDefault(dv => dv != null)?.ToDefaultInfo(this); + HasDefaultInfo = DefaultInfo != null && !String.IsNullOrEmpty(DefaultInfo.Script); + // When DefaultInfo is present, force all parameters from this group to be optional. + if (HasDefaultInfo) + { + foreach (var parameter in Parameters) + { + parameter.IsMandatory = false; + } + } + OrderCategory = Parameters.Select(p => p.OrderCategory).Distinct().DefaultIfEmpty(ParameterCategory.Body).Min(); + DontShow = Parameters.All(p => p.DontShow); + IsMandatory = HasAllVariants && Parameters.Any(p => p.IsMandatory); + SupportsWildcards = Parameters.Any(p => p.SupportsWildcards); + IsComplexInterface = Parameters.Any(p => p.IsComplexInterface); + ComplexInterfaceInfo = Parameters.Where(p => p.IsComplexInterface).Select(p => p.ComplexInterfaceInfo).FirstOrDefault(); + InfoAttribute = Parameters.Select(p => p.InfoAttribute).First(); + + FirstPosition = Parameters.Select(p => p.Position).FirstOrDefault(p => p != null); + ValueFromPipeline = Parameters.Any(p => p.ValueFromPipeline); + ValueFromPipelineByPropertyName = Parameters.Any(p => p.ValueFromPipelineByPropertyName); + IsInputType = ValueFromPipeline || ValueFromPipelineByPropertyName; + } + } + + internal class Parameter + { + public string VariantName { get; } + public string ParameterName { get; } + public ParameterMetadata Metadata { get; } + public PsParameterHelpInfo HelpInfo { get; } + public Type ParameterType { get; } + + public Attribute[] Attributes { get; } + public ParameterCategory[] Categories { get; } + public ParameterCategory OrderCategory { get; } + public PSDefaultValueAttribute DefaultValueAttribute { get; } + public DefaultInfoAttribute DefaultInfoAttribute { get; } + public ParameterAttribute ParameterAttribute { get; } + public bool SupportsWildcards { get; } + public CompleterInfoAttribute CompleterInfoAttribute { get; } + public ArgumentCompleterAttribute ArgumentCompleterAttribute { get; } + + public bool ValueFromPipeline { get; } + public bool ValueFromPipelineByPropertyName { get; } + public int? Position { get; } + public bool DontShow { get; } + public bool IsMandatory { get; set; } + + public InfoAttribute InfoAttribute { get; } + public ComplexInterfaceInfo ComplexInterfaceInfo { get; } + public bool IsComplexInterface { get; } + public string Description { get; } + + public Parameter(string variantName, string parameterName, ParameterMetadata metadata, PsParameterHelpInfo helpInfo = null) + { + VariantName = variantName; + ParameterName = parameterName; + Metadata = metadata; + HelpInfo = helpInfo ?? new PsParameterHelpInfo(); + + Attributes = Metadata.Attributes.ToArray(); + ParameterType = Attributes.OfType().FirstOrDefault()?.Type ?? Metadata.ParameterType; + Categories = Attributes.OfType().SelectMany(ca => ca.Categories).Distinct().ToArray(); + OrderCategory = Categories.DefaultIfEmpty(ParameterCategory.Body).Min(); + DefaultValueAttribute = Attributes.OfType().FirstOrDefault(); + DefaultInfoAttribute = Attributes.OfType().FirstOrDefault(); + ParameterAttribute = Attributes.OfType().FirstOrDefault(pa => pa.ParameterSetName == VariantName || pa.ParameterSetName == AllParameterSets); + if (ParameterAttribute == null) + { + throw new ParsingMetadataException($"The variant '{VariantName}' has multiple parameter sets defined, which is not supported."); + } + SupportsWildcards = Attributes.OfType().Any(); + CompleterInfoAttribute = Attributes.OfType().FirstOrDefault(); + ArgumentCompleterAttribute = Attributes.OfType().FirstOrDefault(); + + ValueFromPipeline = ParameterAttribute.ValueFromPipeline; + ValueFromPipelineByPropertyName = ParameterAttribute.ValueFromPipelineByPropertyName; + Position = ParameterAttribute.Position == Int32.MinValue ? (int?)null : ParameterAttribute.Position; + DontShow = ParameterAttribute.DontShow; + IsMandatory = ParameterAttribute.Mandatory; + + var complexParameterName = ParameterName.ToUpperInvariant(); + var complexMessage = $"{Environment.NewLine}To construct, see NOTES section for {complexParameterName} properties and create a hash table."; + var description = ParameterAttribute.HelpMessage.NullIfEmpty() ?? HelpInfo.Description.NullIfEmpty() ?? InfoAttribute?.Description.NullIfEmpty() ?? String.Empty; + // Remove the complex type message as it will be reinserted if this is a complex type + description = description.NormalizeNewLines().Replace(complexMessage, String.Empty).Replace(complexMessage.ToPsSingleLine(), String.Empty); + // Make an InfoAttribute for processing only if one isn't provided + InfoAttribute = Attributes.OfType().FirstOrDefault() ?? new InfoAttribute { PossibleTypes = new[] { ParameterType.Unwrap() }, Required = IsMandatory }; + // Set the description if the InfoAttribute does not have one since they are exported without a description + InfoAttribute.Description = String.IsNullOrEmpty(InfoAttribute.Description) ? description : InfoAttribute.Description; + ComplexInterfaceInfo = InfoAttribute.ToComplexInterfaceInfo(complexParameterName, ParameterType, true); + IsComplexInterface = ComplexInterfaceInfo.IsComplexInterface; + Description = $"{description}{(IsComplexInterface ? complexMessage : String.Empty)}"; + } + } + + internal class ComplexInterfaceInfo + { + public InfoAttribute InfoAttribute { get; } + + public string Name { get; } + public Type Type { get; } + public bool Required { get; } + public bool ReadOnly { get; } + public string Description { get; } + + public ComplexInterfaceInfo[] NestedInfos { get; } + public bool IsComplexInterface { get; } + + public ComplexInterfaceInfo(string name, Type type, InfoAttribute infoAttribute, bool? required, List seenTypes) + { + Name = name; + Type = type; + InfoAttribute = infoAttribute; + + Required = required ?? InfoAttribute.Required; + ReadOnly = InfoAttribute.ReadOnly; + Description = InfoAttribute.Description.ToPsSingleLine(); + + var unwrappedType = Type.Unwrap(); + var hasBeenSeen = seenTypes?.Contains(unwrappedType) ?? false; + (seenTypes ?? (seenTypes = new List())).Add(unwrappedType); + NestedInfos = hasBeenSeen ? new ComplexInterfaceInfo[]{} : + unwrappedType.GetInterfaces() + .Concat(InfoAttribute.PossibleTypes) + .SelectMany(pt => pt.GetProperties() + .SelectMany(pi => pi.GetCustomAttributes(true).OfType() + .Select(ia => ia.ToComplexInterfaceInfo(pi.Name, pi.PropertyType, seenTypes: seenTypes)))) + .Where(cii => !cii.ReadOnly).OrderByDescending(cii => cii.Required).ToArray(); + // https://stackoverflow.com/a/503359/294804 + var associativeArrayInnerType = Type.GetInterfaces() + .FirstOrDefault(i => i.IsGenericType && i.GetGenericTypeDefinition() == typeof(IAssociativeArray<>)) + ?.GetTypeInfo().GetGenericArguments().First(); + if (!hasBeenSeen && associativeArrayInnerType != null) + { + var anyInfo = new InfoAttribute { Description = "This indicates any property can be added to this object." }; + NestedInfos = NestedInfos.Prepend(anyInfo.ToComplexInterfaceInfo("(Any)", associativeArrayInnerType)).ToArray(); + } + IsComplexInterface = NestedInfos.Any(); + } + } + + internal class CommentInfo + { + public string Description { get; } + public string Synopsis { get; } + + public string[] Examples { get; } + public string[] Inputs { get; } + public string[] Outputs { get; } + + public string OnlineVersion { get; } + public string[] RelatedLinks { get; } + + private const string HelpLinkPrefix = @"https://docs.microsoft.com/en-us/powershell/module/"; + + public CommentInfo(VariantGroup variantGroup) + { + var helpInfo = variantGroup.HelpInfo; + Description = variantGroup.Variants.SelectMany(v => v.Attributes).OfType().FirstOrDefault()?.Description.NullIfEmpty() + ?? helpInfo.Description.EmptyIfNull(); + // If there is no Synopsis, PowerShell may put in the Syntax string as the Synopsis. This seems unintended, so we remove the Synopsis in this situation. + var synopsis = helpInfo.Synopsis.EmptyIfNull().Trim().StartsWith(variantGroup.CmdletName) ? String.Empty : helpInfo.Synopsis; + Synopsis = synopsis.NullIfEmpty() ?? Description; + + Examples = helpInfo.Examples.Select(rl => rl.Code).ToArray(); + + Inputs = (variantGroup.ParameterGroups.Where(pg => pg.IsInputType).Select(pg => pg.ParameterType.FullName).ToArray().NullIfEmpty() ?? + helpInfo.InputTypes.Where(it => it.Name.NullIfWhiteSpace() != null).Select(it => it.Name).ToArray()) + .Where(i => i != "None").Distinct().OrderBy(i => i).ToArray(); + Outputs = (variantGroup.OutputTypes.Select(ot => ot.Type.FullName).ToArray().NullIfEmpty() ?? + helpInfo.OutputTypes.Where(it => it.Name.NullIfWhiteSpace() != null).Select(ot => ot.Name).ToArray()) + .Where(o => o != "None").Distinct().OrderBy(o => o).ToArray(); + + // Use root module name in the help link + var moduleName = variantGroup.RootModuleName == "" ? variantGroup.ModuleName.ToLowerInvariant() : variantGroup.RootModuleName.ToLowerInvariant(); + OnlineVersion = helpInfo.OnlineVersion?.Uri.NullIfEmpty() ?? $@"{HelpLinkPrefix}{moduleName}/{variantGroup.CmdletName.ToLowerInvariant()}"; + RelatedLinks = helpInfo.RelatedLinks.Select(rl => rl.Text).ToArray(); + } + } + + internal class CompleterInfo + { + public string Name { get; } + public string Description { get; } + public string Script { get; } + public Type Type { get; } + public bool IsTypeCompleter { get; } + + public CompleterInfo(CompleterInfoAttribute infoAttribute) + { + Name = infoAttribute.Name; + Description = infoAttribute.Description; + Script = infoAttribute.Script; + } + + public CompleterInfo(ArgumentCompleterAttribute completerAttribute) + { + Script = completerAttribute.ScriptBlock?.ToString(); + if (completerAttribute.Type != null) + { + Type = completerAttribute.Type; + IsTypeCompleter = true; + } + } + } + + internal class DefaultInfo + { + public string Name { get; } + public string Description { get; } + public string Script { get; } + public ParameterGroup ParameterGroup { get; } + + public DefaultInfo(DefaultInfoAttribute infoAttribute, ParameterGroup parameterGroup) + { + Name = infoAttribute.Name; + Description = infoAttribute.Description; + Script = infoAttribute.Script; + ParameterGroup = parameterGroup; + } + + public DefaultInfo(PSDefaultValueAttribute defaultValueAttribute, ParameterGroup parameterGroup) + { + Description = defaultValueAttribute.Help; + ParameterGroup = parameterGroup; + if (defaultValueAttribute.Value != null) + { + Script = defaultValueAttribute.Value.ToString(); + } + } + } + + internal static class PsProxyTypeExtensions + { + public const string NoProfiles = "__NoProfiles"; + + public static bool IsValidDefaultParameterSetName(this string parameterSetName) => + !String.IsNullOrEmpty(parameterSetName) && parameterSetName != AllParameterSets; + + public static Variant[] ToVariants(this CommandInfo info, PsHelpInfo helpInfo) + { + var metadata = new CommandMetadata(info); + var privateCmdletName = metadata.Name.Split('!').First(); + var parts = privateCmdletName.Split('_'); + return parts.Length > 1 + ? new[] { new Variant(parts[0], parts[1], info, metadata, helpInfo: helpInfo) } + // Process multiple parameter sets, so we declare a variant per parameter set. + : info.ParameterSets.Select(ps => new Variant(privateCmdletName, ps.Name, info, metadata, true, helpInfo)).ToArray(); + } + + public static Variant[] ToVariants(this CmdletAndHelpInfo info) => info.CommandInfo.ToVariants(info.HelpInfo); + + public static Variant[] ToVariants(this CommandInfo info, PSObject helpInfo = null) => info.ToVariants(helpInfo?.ToPsHelpInfo()); + + public static Parameter[] ToParameters(this Variant variant) + { + var parameters = variant.Metadata.Parameters.AsEnumerable(); + var parameterHelp = variant.HelpInfo.Parameters.AsEnumerable(); + + if (variant.HasParameterSets) + { + parameters = parameters.Where(p => p.Value.ParameterSets.Keys.Any(k => k == variant.VariantName || k == AllParameterSets)); + parameterHelp = parameterHelp.Where(ph => (!ph.ParameterSetNames.Any() || ph.ParameterSetNames.Any(psn => psn == variant.VariantName || psn == AllParameterSets)) && ph.Name != "IncludeTotalCount"); + } + var result = parameters.Select(p => new Parameter(variant.VariantName, p.Key, p.Value, parameterHelp.FirstOrDefault(ph => ph.Name == p.Key))); + if (variant.SupportsPaging) { + // If supportsPaging is set, we will need to add First and Skip parameters since they are treated as common parameters which as not contained on Metadata>parameters + variant.Info.Parameters["First"].Attributes.OfType().FirstOrDefault(pa => pa.ParameterSetName == variant.VariantName || pa.ParameterSetName == AllParameterSets).HelpMessage = "Gets only the first 'n' objects."; + variant.Info.Parameters["Skip"].Attributes.OfType().FirstOrDefault(pa => pa.ParameterSetName == variant.VariantName || pa.ParameterSetName == AllParameterSets).HelpMessage = "Ignores the first 'n' objects and then gets the remaining objects."; + result = result.Append(new Parameter(variant.VariantName, "First", variant.Info.Parameters["First"], parameterHelp.FirstOrDefault(ph => ph.Name == "First"))); + result = result.Append(new Parameter(variant.VariantName, "Skip", variant.Info.Parameters["Skip"], parameterHelp.FirstOrDefault(ph => ph.Name == "Skip"))); + } + return result.ToArray(); + } + + public static Attribute[] ToAttributes(this Variant variant) => variant.IsFunction + ? ((FunctionInfo)variant.Info).ScriptBlock.Attributes.ToArray() + : variant.Metadata.CommandType.GetCustomAttributes(false).Cast().ToArray(); + + public static IEnumerable ToParameterGroups(this Variant[] variants) + { + var allVariantNames = variants.Select(vg => vg.VariantName).ToArray(); + return variants + .SelectMany(v => v.Parameters) + .GroupBy(p => p.ParameterName, StringComparer.InvariantCultureIgnoreCase) + .Select(pg => new ParameterGroup(pg.Key, pg.Select(p => p).ToArray(), allVariantNames)); + } + + public static ComplexInterfaceInfo ToComplexInterfaceInfo(this InfoAttribute infoAttribute, string name, Type type, bool? required = null, List seenTypes = null) + => new ComplexInterfaceInfo(name, type, infoAttribute, required, seenTypes); + + public static CompleterInfo ToCompleterInfo(this CompleterInfoAttribute infoAttribute) => new CompleterInfo(infoAttribute); + public static CompleterInfo ToCompleterInfo(this ArgumentCompleterAttribute completerAttribute) => new CompleterInfo(completerAttribute); + + public static DefaultInfo ToDefaultInfo(this DefaultInfoAttribute infoAttribute, ParameterGroup parameterGroup) => new DefaultInfo(infoAttribute, parameterGroup); + public static DefaultInfo ToDefaultInfo(this PSDefaultValueAttribute defaultValueAttribute, ParameterGroup parameterGroup) => new DefaultInfo(defaultValueAttribute, parameterGroup); + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/PsAttributes.cs b/swaggerci/redis/generated/runtime/BuildTime/PsAttributes.cs new file mode 100644 index 000000000000..48482b3360cb --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/PsAttributes.cs @@ -0,0 +1,114 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis +{ + [AttributeUsage(AttributeTargets.Class)] + public class DescriptionAttribute : Attribute + { + public string Description { get; } + + public DescriptionAttribute(string description) + { + Description = description; + } + } + + [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property)] + public class DoNotExportAttribute : Attribute + { + } + + [AttributeUsage(AttributeTargets.Class)] + public class InternalExportAttribute : Attribute + { + } + + [AttributeUsage(AttributeTargets.Class)] + public class GeneratedAttribute : Attribute + { + } + + [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property)] + public class DoNotFormatAttribute : Attribute + { + } + + [AttributeUsage(AttributeTargets.Class)] + public class ProfileAttribute : Attribute + { + public string[] Profiles { get; } + + public ProfileAttribute(params string[] profiles) + { + Profiles = profiles; + } + } + + [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)] + public class CategoryAttribute : Attribute + { + public ParameterCategory[] Categories { get; } + + public CategoryAttribute(params ParameterCategory[] categories) + { + Categories = categories; + } + } + + [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)] + public class ExportAsAttribute : Attribute + { + public Type Type { get; set; } + + public ExportAsAttribute(Type type) + { + Type = type; + } + } + + public enum ParameterCategory + { + // Note: Order is significant + Uri = 0, + Path, + Query, + Header, + Cookie, + Body, + Azure, + Runtime + } + + [AttributeUsage(AttributeTargets.Property)] + public class OriginAttribute : Attribute + { + public PropertyOrigin Origin { get; } + + public OriginAttribute(PropertyOrigin origin) + { + Origin = origin; + } + } + + public enum PropertyOrigin + { + // Note: Order is significant + Inherited = 0, + Owned, + Inlined + } + + [AttributeUsage(AttributeTargets.Property)] + public class FormatTableAttribute : Attribute + { + public int Index { get; set; } = -1; + public bool HasIndex => Index != -1; + public string Label { get; set; } + public int Width { get; set; } = -1; + public bool HasWidth => Width != -1; + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/PsExtensions.cs b/swaggerci/redis/generated/runtime/BuildTime/PsExtensions.cs new file mode 100644 index 000000000000..c72527f49b5a --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/PsExtensions.cs @@ -0,0 +1,169 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Reflection; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + internal static class PsExtensions + { + // https://stackoverflow.com/a/863944/294804 + // https://stackoverflow.com/a/4452598/294804 + // https://stackoverflow.com/a/28701974/294804 + // Note: This will unwrap nested collections, but we don't generate nested collections. + public static Type Unwrap(this Type type) + { + if (type.IsArray) + { + return type.GetElementType().Unwrap(); + } + + var typeInfo = type.GetTypeInfo(); + if (typeInfo.IsGenericType + && (typeInfo.GetGenericTypeDefinition() == typeof(Nullable<>) || typeof(IEnumerable<>).IsAssignableFrom(type))) + { + return typeInfo.GetGenericArguments().First().Unwrap(); + } + + return type; + } + + // https://stackoverflow.com/a/863944/294804 + private static bool IsSimple(this Type type) + { + var typeInfo = type.GetTypeInfo(); + return typeInfo.IsPrimitive + || typeInfo.IsEnum + || type == typeof(string) + || type == typeof(decimal); + } + + // https://stackoverflow.com/a/32025393/294804 + private static bool HasImplicitConversion(this Type baseType, Type targetType) => + baseType.GetMethods(BindingFlags.Public | BindingFlags.Static) + .Where(mi => mi.Name == "op_Implicit" && mi.ReturnType == targetType) + .Any(mi => mi.GetParameters().FirstOrDefault()?.ParameterType == baseType); + + public static bool IsPsSimple(this Type type) + { + var unwrappedType = type.Unwrap(); + return unwrappedType.IsSimple() + || unwrappedType == typeof(SwitchParameter) + || unwrappedType == typeof(Hashtable) + || unwrappedType == typeof(PSCredential) + || unwrappedType == typeof(ScriptBlock) + || unwrappedType == typeof(DateTime) + || unwrappedType == typeof(Uri) + || unwrappedType.HasImplicitConversion(typeof(string)); + } + + public static string ToPsList(this IEnumerable items) => String.Join(", ", items.Select(i => $"'{i}'")); + + public static IEnumerable ToAliasNames(this IEnumerable attributes) => attributes.OfType().SelectMany(aa => aa.AliasNames).Distinct(); + + public static bool IsArrayAndElementTypeIsT(this object item) + { + var itemType = item.GetType(); + var tType = typeof(T); + return itemType.IsArray && !tType.IsArray && tType.IsAssignableFrom(itemType.GetElementType()); + } + + public static bool IsTArrayAndElementTypeIsItem(this object item) + { + var itemType = item.GetType(); + var tType = typeof(T); + return !itemType.IsArray && tType.IsArray && (tType.GetElementType()?.IsAssignableFrom(itemType) ?? false); + } + + public static bool IsTypeOrArrayOfType(this object item) => item is T || item.IsArrayAndElementTypeIsT() || item.IsTArrayAndElementTypeIsItem(); + + public static T NormalizeArrayType(this object item) + { + if (item is T result) + { + return result; + } + + if (item.IsArrayAndElementTypeIsT()) + { + var array = (T[])Convert.ChangeType(item, typeof(T[])); + return array.FirstOrDefault(); + } + + if (item.IsTArrayAndElementTypeIsItem()) + { + var tType = typeof(T); + var array = Array.CreateInstance(tType.GetElementType(), 1); + array.SetValue(item, 0); + return (T)Convert.ChangeType(array, tType); + } + + return default(T); + } + + public static T GetNestedProperty(this PSObject psObject, params string[] names) => psObject.Properties.GetNestedProperty(names); + + public static T GetNestedProperty(this PSMemberInfoCollection properties, params string[] names) + { + var lastName = names.Last(); + var nestedProperties = names.Take(names.Length - 1).Aggregate(properties, (p, n) => p?.GetProperty(n)?.Properties); + return nestedProperties != null ? nestedProperties.GetProperty(lastName) : default(T); + } + + public static T GetProperty(this PSObject psObject, string name) => psObject.Properties.GetProperty(name); + + public static T GetProperty(this PSMemberInfoCollection properties, string name) + { + switch (properties[name]?.Value) + { + case PSObject psObject when psObject.BaseObject is PSCustomObject && psObject.ImmediateBaseObject.IsTypeOrArrayOfType(): + return psObject.ImmediateBaseObject.NormalizeArrayType(); + case PSObject psObject when psObject.BaseObject.IsTypeOrArrayOfType(): + return psObject.BaseObject.NormalizeArrayType(); + case object value when value.IsTypeOrArrayOfType(): + return value.NormalizeArrayType(); + default: + return default(T); + } + } + + public static IEnumerable RunScript(this PSCmdlet cmdlet, string script) + => PsHelpers.RunScript(cmdlet.InvokeCommand, script); + + public static void RunScript(this PSCmdlet cmdlet, string script) + => cmdlet.RunScript(script); + + public static IEnumerable RunScript(this EngineIntrinsics engineIntrinsics, string script) + => PsHelpers.RunScript(engineIntrinsics.InvokeCommand, script); + + public static void RunScript(this EngineIntrinsics engineIntrinsics, string script) + => engineIntrinsics.RunScript(script); + + public static IEnumerable RunScript(this PSCmdlet cmdlet, ScriptBlock block) + => PsHelpers.RunScript(cmdlet.InvokeCommand, block.ToString()); + + public static void RunScript(this PSCmdlet cmdlet, ScriptBlock block) + => cmdlet.RunScript(block.ToString()); + + public static IEnumerable RunScript(this EngineIntrinsics engineIntrinsics, ScriptBlock block) + => PsHelpers.RunScript(engineIntrinsics.InvokeCommand, block.ToString()); + + public static void RunScript(this EngineIntrinsics engineIntrinsics, ScriptBlock block) + => engineIntrinsics.RunScript(block.ToString()); + + /// + /// Returns if a parameter should be hidden by checking for . + /// + /// A PowerShell parameter. + public static bool IsHidden(this Parameter parameter) + { + return parameter.Attributes.Any(attr => attr is DoNotExportAttribute); + } + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/PsHelpers.cs b/swaggerci/redis/generated/runtime/BuildTime/PsHelpers.cs new file mode 100644 index 000000000000..0884de4bd8ca --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/PsHelpers.cs @@ -0,0 +1,105 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Management.Automation; +using Pwsh = System.Management.Automation.PowerShell; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + internal static class PsHelpers + { + public static IEnumerable RunScript(string script) + => Pwsh.Create().AddScript(script).Invoke(); + + public static void RunScript(string script) + => RunScript(script); + + public static IEnumerable RunScript(CommandInvocationIntrinsics cii, string script) + => cii.InvokeScript(script).Select(o => o?.BaseObject).Where(o => o != null).OfType(); + + public static void RunScript(CommandInvocationIntrinsics cii, string script) + => RunScript(cii, script); + + public static IEnumerable GetModuleCmdlets(PSCmdlet cmdlet, params string[] modulePaths) + { + var getCmdletsCommand = String.Join(" + ", modulePaths.Select(mp => $"(Get-Command -Module (Import-Module '{mp}' -PassThru))")); + return (cmdlet?.RunScript(getCmdletsCommand) ?? RunScript(getCmdletsCommand)) + .Where(ci => ci.CommandType != CommandTypes.Alias); + } + + public static IEnumerable GetModuleCmdlets(params string[] modulePaths) + => GetModuleCmdlets(null, modulePaths); + + public static IEnumerable GetScriptCmdlets(PSCmdlet cmdlet, string scriptFolder) + { + // https://stackoverflow.com/a/40969712/294804 + var wrappedFolder = scriptFolder.Contains("'") ? $@"""{scriptFolder}""" : $@"'{scriptFolder}'"; + var getCmdletsCommand = $@" +$currentFunctions = Get-ChildItem function: +Get-ChildItem -Path {wrappedFolder} -Recurse -Include '*.ps1' -File | ForEach-Object {{ . $_.FullName }} +Get-ChildItem function: | Where-Object {{ ($currentFunctions -notcontains $_) -and $_.CmdletBinding }} +"; + return cmdlet?.RunScript(getCmdletsCommand) ?? RunScript(getCmdletsCommand); + } + + public static IEnumerable GetScriptCmdlets(string scriptFolder) + => GetScriptCmdlets(null, scriptFolder); + + public static IEnumerable GetScriptHelpInfo(PSCmdlet cmdlet, params string[] modulePaths) + { + var importModules = String.Join(Environment.NewLine, modulePaths.Select(mp => $"Import-Module '{mp}'")); + var getHelpCommand = $@" +$currentFunctions = Get-ChildItem function: +{importModules} +Get-ChildItem function: | Where-Object {{ ($currentFunctions -notcontains $_) -and $_.CmdletBinding }} | ForEach-Object {{ Get-Help -Name $_.Name -Full }} +"; + return cmdlet?.RunScript(getHelpCommand) ?? RunScript(getHelpCommand); + } + + public static IEnumerable GetScriptHelpInfo(params string[] modulePaths) + => GetScriptHelpInfo(null, modulePaths); + + public static IEnumerable GetModuleCmdletsAndHelpInfo(PSCmdlet cmdlet, params string[] modulePaths) + { + var getCmdletAndHelp = String.Join(" + ", modulePaths.Select(mp => + $@"(Get-Command -Module (Import-Module '{mp}' -PassThru) | Where-Object {{ $_.CommandType -ne 'Alias' }} | ForEach-Object {{ @{{ CommandInfo = $_; HelpInfo = ( invoke-command {{ try {{ Get-Help -Name $_.Name -Full }} catch{{ '' }} }} ) }} }})" + )); + return (cmdlet?.RunScript(getCmdletAndHelp) ?? RunScript(getCmdletAndHelp)) + .Select(h => new CmdletAndHelpInfo { CommandInfo = (h["CommandInfo"] as PSObject)?.BaseObject as CommandInfo, HelpInfo = h["HelpInfo"] as PSObject }); + } + + public static IEnumerable GetModuleCmdletsAndHelpInfo(params string[] modulePaths) + => GetModuleCmdletsAndHelpInfo(null, modulePaths); + + public static CmdletAndHelpInfo ToCmdletAndHelpInfo(this CommandInfo commandInfo, PSObject helpInfo) => new CmdletAndHelpInfo { CommandInfo = commandInfo, HelpInfo = helpInfo }; + + public const string Psd1Indent = " "; + public const string GuidStart = Psd1Indent + "GUID"; + + public static Guid ReadGuidFromPsd1(string psd1Path) + { + var guid = Guid.NewGuid(); + if (File.Exists(psd1Path)) + { + var currentGuid = File.ReadAllLines(psd1Path) + .FirstOrDefault(l => l.StartsWith(GuidStart))?.Split(new[] { " = " }, StringSplitOptions.RemoveEmptyEntries) + .LastOrDefault()?.Replace("'", String.Empty); + guid = currentGuid != null ? Guid.Parse(currentGuid) : guid; + } + + return guid; + } + } + + internal class CmdletAndHelpInfo + { + public CommandInfo CommandInfo { get; set; } + public PSObject HelpInfo { get; set; } + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/StringExtensions.cs b/swaggerci/redis/generated/runtime/BuildTime/StringExtensions.cs new file mode 100644 index 000000000000..47ad65157d28 --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/StringExtensions.cs @@ -0,0 +1,24 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Linq; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + internal static class StringExtensions + { + public static string NullIfEmpty(this string text) => String.IsNullOrEmpty(text) ? null : text; + public static string NullIfWhiteSpace(this string text) => String.IsNullOrWhiteSpace(text) ? null : text; + public static string EmptyIfNull(this string text) => text ?? String.Empty; + + public static bool? ToNullableBool(this string text) => String.IsNullOrEmpty(text) ? (bool?)null : Convert.ToBoolean(text.ToLowerInvariant()); + + public static string ToUpperFirstCharacter(this string text) => String.IsNullOrEmpty(text) ? text : $"{text[0].ToString().ToUpperInvariant()}{text.Remove(0, 1)}"; + + public static string ReplaceNewLines(this string value, string replacer = " ", string[] newLineSymbols = null) + => (newLineSymbols ?? new []{ "\r\n", "\n" }).Aggregate(value.EmptyIfNull(), (current, symbol) => current.Replace(symbol, replacer)); + public static string NormalizeNewLines(this string value) => value.ReplaceNewLines("\u00A0").Replace("\u00A0", Environment.NewLine); + } +} diff --git a/swaggerci/redis/generated/runtime/BuildTime/XmlExtensions.cs b/swaggerci/redis/generated/runtime/BuildTime/XmlExtensions.cs new file mode 100644 index 000000000000..6956dfb75f18 --- /dev/null +++ b/swaggerci/redis/generated/runtime/BuildTime/XmlExtensions.cs @@ -0,0 +1,28 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System.IO; +using System.Xml; +using System.Xml.Serialization; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + internal static class XmlExtensions + { + public static string ToXmlString(this T inputObject, bool excludeDeclaration = false) + { + var serializer = new XmlSerializer(typeof(T)); + //https://stackoverflow.com/a/760290/294804 + //https://stackoverflow.com/a/3732234/294804 + var namespaces = new XmlSerializerNamespaces(new[] { XmlQualifiedName.Empty }); + var xmlSettings = new XmlWriterSettings { OmitXmlDeclaration = excludeDeclaration, Indent = true }; + using (var stringWriter = new StringWriter()) + using (var xmlWriter = XmlWriter.Create(stringWriter, xmlSettings)) + { + serializer.Serialize(xmlWriter, inputObject, namespaces); + return stringWriter.ToString(); + } + } + } +} diff --git a/swaggerci/redis/generated/runtime/CmdInfoHandler.cs b/swaggerci/redis/generated/runtime/CmdInfoHandler.cs new file mode 100644 index 000000000000..1b907a5c397f --- /dev/null +++ b/swaggerci/redis/generated/runtime/CmdInfoHandler.cs @@ -0,0 +1,40 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Management.Automation; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + using NextDelegate = Func, Task>, Task>; + using SignalDelegate = Func, Task>; + + public class CmdInfoHandler + { + private readonly string processRecordId; + private readonly string parameterSetName; + private readonly InvocationInfo invocationInfo; + + public CmdInfoHandler(string processRecordId, InvocationInfo invocationInfo, string parameterSetName) + { + this.processRecordId = processRecordId; + this.parameterSetName = parameterSetName; + this.invocationInfo = invocationInfo; + } + + public Task SendAsync(HttpRequestMessage request, CancellationToken token, Action cancel, SignalDelegate signal, NextDelegate next) + { + request.Headers.Add("x-ms-client-request-id", processRecordId); + request.Headers.Add("CommandName", invocationInfo?.InvocationName); + request.Headers.Add("FullCommandName", invocationInfo?.MyCommand?.Name); + request.Headers.Add("ParameterSetName", parameterSetName); + + // continue with pipeline. + return next(request, token, cancel, signal); + } + } +} diff --git a/swaggerci/redis/generated/runtime/Conversions/ConversionException.cs b/swaggerci/redis/generated/runtime/Conversions/ConversionException.cs new file mode 100644 index 000000000000..d464652e053a --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/ConversionException.cs @@ -0,0 +1,17 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal class ConversionException : Exception + { + internal ConversionException(string message) + : base(message) { } + + internal ConversionException(JsonNode node, Type targetType) + : base($"Cannot convert '{node.Type}' to a {targetType.Name}") { } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/IJsonConverter.cs b/swaggerci/redis/generated/runtime/Conversions/IJsonConverter.cs new file mode 100644 index 000000000000..c181e9042641 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/IJsonConverter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal interface IJsonConverter + { + JsonNode ToJson(object value); + + object FromJson(JsonNode node); + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/BinaryConverter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/BinaryConverter.cs new file mode 100644 index 000000000000..8b0022166825 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/BinaryConverter.cs @@ -0,0 +1,24 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class BinaryConverter : JsonConverter + { + internal override JsonNode ToJson(byte[] value) => new XBinary(value); + + internal override byte[] FromJson(JsonNode node) + { + switch (node.Type) + { + case JsonType.String : return Convert.FromBase64String(node.ToString()); // Base64 Encoded + case JsonType.Binary : return ((XBinary)node).Value; + } + + throw new ConversionException(node, typeof(byte[])); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/BooleanConverter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/BooleanConverter.cs new file mode 100644 index 000000000000..23dccba23bd8 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/BooleanConverter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class BooleanConverter : JsonConverter + { + internal override JsonNode ToJson(bool value) => new JsonBoolean(value); + + internal override bool FromJson(JsonNode node) => (bool)node; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/DateTimeConverter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/DateTimeConverter.cs new file mode 100644 index 000000000000..230d73604596 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/DateTimeConverter.cs @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class DateTimeConverter : JsonConverter + { + internal override JsonNode ToJson(DateTime value) + { + return new JsonDate(value); + } + + internal override DateTime FromJson(JsonNode node) => (DateTime)node; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/DateTimeOffsetConverter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/DateTimeOffsetConverter.cs new file mode 100644 index 000000000000..d5db8012256a --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/DateTimeOffsetConverter.cs @@ -0,0 +1,15 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class DateTimeOffsetConverter : JsonConverter + { + internal override JsonNode ToJson(DateTimeOffset value) => new JsonDate(value); + + internal override DateTimeOffset FromJson(JsonNode node) => (DateTimeOffset)node; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/DecimalConverter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/DecimalConverter.cs new file mode 100644 index 000000000000..fe25222de3a3 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/DecimalConverter.cs @@ -0,0 +1,16 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class DecimalConverter : JsonConverter + { + internal override JsonNode ToJson(decimal value) => new JsonNumber(value.ToString()); + + internal override decimal FromJson(JsonNode node) + { + return (decimal)node; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/DoubleConverter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/DoubleConverter.cs new file mode 100644 index 000000000000..1a423f144986 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/DoubleConverter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class DoubleConverter : JsonConverter + { + internal override JsonNode ToJson(double value) => new JsonNumber(value); + + internal override double FromJson(JsonNode node) => (double)node; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/EnumConverter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/EnumConverter.cs new file mode 100644 index 000000000000..aa9fc4dc5b8a --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/EnumConverter.cs @@ -0,0 +1,30 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class EnumConverter : IJsonConverter + { + private readonly Type type; + + internal EnumConverter(Type type) + { + this.type = type ?? throw new ArgumentNullException(nameof(type)); + } + + public JsonNode ToJson(object value) => new JsonString(value.ToString()); + + public object FromJson(JsonNode node) + { + if (node.Type == JsonType.Number) + { + return Enum.ToObject(type, (int)node); + } + + return Enum.Parse(type, node.ToString(), ignoreCase: true); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/GuidConverter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/GuidConverter.cs new file mode 100644 index 000000000000..526f624f1a2c --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/GuidConverter.cs @@ -0,0 +1,15 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class GuidConverter : JsonConverter + { + internal override JsonNode ToJson(Guid value) => new JsonString(value.ToString()); + + internal override Guid FromJson(JsonNode node) => (Guid)node; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/HashSet'1Converter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/HashSet'1Converter.cs new file mode 100644 index 000000000000..a7866af8e00c --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/HashSet'1Converter.cs @@ -0,0 +1,27 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class HashSetConverter : JsonConverter> + { + internal override JsonNode ToJson(HashSet value) + { + return new XSet(value); + } + + internal override HashSet FromJson(JsonNode node) + { + var collection = node as ICollection; + + if (collection.Count == 0) return null; + + // TODO: Remove Linq depedency + return new HashSet(collection.Cast()); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/Int16Converter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/Int16Converter.cs new file mode 100644 index 000000000000..8170a6d13f74 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/Int16Converter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class Int16Converter : JsonConverter + { + internal override JsonNode ToJson(short value) => new JsonNumber(value); + + internal override short FromJson(JsonNode node) => (short)node; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/Int32Converter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/Int32Converter.cs new file mode 100644 index 000000000000..97c768fe26ee --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/Int32Converter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class Int32Converter : JsonConverter + { + internal override JsonNode ToJson(int value) => new JsonNumber(value); + + internal override int FromJson(JsonNode node) => (int)node; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/Int64Converter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/Int64Converter.cs new file mode 100644 index 000000000000..5b323f99ac61 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/Int64Converter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class Int64Converter : JsonConverter + { + internal override JsonNode ToJson(long value) => new JsonNumber(value); + + internal override long FromJson(JsonNode node) => (long)node; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/JsonArrayConverter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/JsonArrayConverter.cs new file mode 100644 index 000000000000..64e4f2b5bd2c --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/JsonArrayConverter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class JsonArrayConverter : JsonConverter + { + internal override JsonNode ToJson(JsonArray value) => value; + + internal override JsonArray FromJson(JsonNode node) => (JsonArray)node; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/JsonObjectConverter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/JsonObjectConverter.cs new file mode 100644 index 000000000000..b8b507737c96 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/JsonObjectConverter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class JsonObjectConverter : JsonConverter + { + internal override JsonNode ToJson(JsonObject value) => value; + + internal override JsonObject FromJson(JsonNode node) => (JsonObject)node; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/SingleConverter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/SingleConverter.cs new file mode 100644 index 000000000000..33ff91d8a648 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/SingleConverter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class SingleConverter : JsonConverter + { + internal override JsonNode ToJson(float value) => new JsonNumber(value.ToString()); + + internal override float FromJson(JsonNode node) => (float)node; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/StringConverter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/StringConverter.cs new file mode 100644 index 000000000000..05259840595d --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/StringConverter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class StringConverter : JsonConverter + { + internal override JsonNode ToJson(string value) => new JsonString(value); + + internal override string FromJson(JsonNode node) => node.ToString(); + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/TimeSpanConverter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/TimeSpanConverter.cs new file mode 100644 index 000000000000..ca597a761733 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/TimeSpanConverter.cs @@ -0,0 +1,15 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class TimeSpanConverter : JsonConverter + { + internal override JsonNode ToJson(TimeSpan value) => new JsonString(value.ToString()); + + internal override TimeSpan FromJson(JsonNode node) => (TimeSpan)node; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/UInt16Converter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/UInt16Converter.cs new file mode 100644 index 000000000000..d5e72fbd2f54 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/UInt16Converter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class UInt16Converter : JsonConverter + { + internal override JsonNode ToJson(ushort value) => new JsonNumber(value); + + internal override ushort FromJson(JsonNode node) => (ushort)node; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/UInt32Converter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/UInt32Converter.cs new file mode 100644 index 000000000000..866f483a8e77 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/UInt32Converter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class UInt32Converter : JsonConverter + { + internal override JsonNode ToJson(uint value) => new JsonNumber(value); + + internal override uint FromJson(JsonNode node) => (uint)node; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/UInt64Converter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/UInt64Converter.cs new file mode 100644 index 000000000000..69e135220a51 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/UInt64Converter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class UInt64Converter : JsonConverter + { + internal override JsonNode ToJson(ulong value) => new JsonNumber(value.ToString()); + + internal override ulong FromJson(JsonNode node) => (ulong)node; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/Instances/UriConverter.cs b/swaggerci/redis/generated/runtime/Conversions/Instances/UriConverter.cs new file mode 100644 index 000000000000..58a4fafbaec4 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/Instances/UriConverter.cs @@ -0,0 +1,15 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class UriConverter : JsonConverter + { + internal override JsonNode ToJson(Uri value) => new JsonString(value.AbsoluteUri); + + internal override Uri FromJson(JsonNode node) => (Uri)node; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/JsonConverter.cs b/swaggerci/redis/generated/runtime/Conversions/JsonConverter.cs new file mode 100644 index 000000000000..10b4fdebad82 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/JsonConverter.cs @@ -0,0 +1,21 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public abstract class JsonConverter : IJsonConverter + { + internal abstract T FromJson(JsonNode node); + + internal abstract JsonNode ToJson(T value); + + #region IConverter + + object IJsonConverter.FromJson(JsonNode node) => FromJson(node); + + JsonNode IJsonConverter.ToJson(object value) => ToJson((T)value); + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/JsonConverterAttribute.cs b/swaggerci/redis/generated/runtime/Conversions/JsonConverterAttribute.cs new file mode 100644 index 000000000000..12c9e3c2fc22 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/JsonConverterAttribute.cs @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class JsonConverterAttribute : Attribute + { + internal JsonConverterAttribute(Type type) + { + Converter = (IJsonConverter)Activator.CreateInstance(type); + } + + internal IJsonConverter Converter { get; } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/JsonConverterFactory.cs b/swaggerci/redis/generated/runtime/Conversions/JsonConverterFactory.cs new file mode 100644 index 000000000000..85df8017fe00 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/JsonConverterFactory.cs @@ -0,0 +1,91 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class JsonConverterFactory + { + private static readonly Dictionary converters = new Dictionary(); + + static JsonConverterFactory() + { + AddInternal(new BooleanConverter()); + AddInternal(new DateTimeConverter()); + AddInternal(new DateTimeOffsetConverter()); + AddInternal(new BinaryConverter()); + AddInternal(new DecimalConverter()); + AddInternal(new DoubleConverter()); + AddInternal(new GuidConverter()); + AddInternal(new Int16Converter()); + AddInternal(new Int32Converter()); + AddInternal(new Int64Converter()); + AddInternal(new SingleConverter()); + AddInternal(new StringConverter()); + AddInternal(new TimeSpanConverter()); + AddInternal(new UInt16Converter()); + AddInternal(new UInt32Converter()); + AddInternal(new UInt64Converter()); + AddInternal(new UriConverter()); + + // Hash sets + AddInternal(new HashSetConverter()); + AddInternal(new HashSetConverter()); + AddInternal(new HashSetConverter()); + AddInternal(new HashSetConverter()); + AddInternal(new HashSetConverter()); + AddInternal(new HashSetConverter()); + + // JSON + + AddInternal(new JsonObjectConverter()); + AddInternal(new JsonArrayConverter()); + } + + internal static Dictionary Instances => converters; + + internal static IJsonConverter Get(Type type) + { + var details = TypeDetails.Get(type); + + if (details.JsonConverter == null) + { + throw new ConversionException($"No converter found for '{type.Name}'."); + } + + return details.JsonConverter; + } + + internal static bool TryGet(Type type, out IJsonConverter converter) + { + var typeDetails = TypeDetails.Get(type); + + converter = typeDetails.JsonConverter; + + return converter != null; + } + + private static void AddInternal(JsonConverter converter) + => converters.Add(typeof(T), converter); + + private static void AddInternal(IJsonConverter converter) + => converters.Add(typeof(T), converter); + + internal static void Add(JsonConverter converter) + { + if (converter == null) + { + throw new ArgumentNullException(nameof(converter)); + } + + AddInternal(converter); + + var type = TypeDetails.Get(); + + type.JsonConverter = converter; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Conversions/StringLikeConverter.cs b/swaggerci/redis/generated/runtime/Conversions/StringLikeConverter.cs new file mode 100644 index 000000000000..16c3184935d1 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Conversions/StringLikeConverter.cs @@ -0,0 +1,45 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Reflection; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class StringLikeConverter : IJsonConverter + { + private readonly Type type; + private readonly MethodInfo parseMethod; + + internal StringLikeConverter(Type type) + { + this.type = type ?? throw new ArgumentNullException(nameof(type)); + this.parseMethod = StringLikeHelper.GetParseMethod(type); + } + + public object FromJson(JsonNode node) => + parseMethod.Invoke(null, new[] { node.ToString() }); + + public JsonNode ToJson(object value) => new JsonString(value.ToString()); + } + + internal static class StringLikeHelper + { + private static readonly Type[] parseMethodParamaterTypes = new[] { typeof(string) }; + + internal static bool IsStringLike(Type type) + { + return GetParseMethod(type) != null; + } + + internal static MethodInfo GetParseMethod(Type type) + { + MethodInfo method = type.GetMethod("Parse", parseMethodParamaterTypes); + + if (method?.IsPublic != true) return null; + + return method; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Customizations/IJsonSerializable.cs b/swaggerci/redis/generated/runtime/Customizations/IJsonSerializable.cs new file mode 100644 index 000000000000..ddcb89d0c88f --- /dev/null +++ b/swaggerci/redis/generated/runtime/Customizations/IJsonSerializable.cs @@ -0,0 +1,263 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json; +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + public interface IJsonSerializable + { + JsonNode ToJson(JsonObject container = null, SerializationMode serializationMode = SerializationMode.None); + } + internal static class JsonSerializable + { + /// + /// Serializes an enumerable and returns a JsonNode. + /// + /// an IEnumerable collection of items + /// A JsonNode that contains the collection of items serialized. + private static JsonNode ToJsonValue(System.Collections.IEnumerable enumerable) + { + if (enumerable != null) + { + // is it a byte array of some kind? + if (enumerable is System.Collections.Generic.IEnumerable byteEnumerable) + { + return new XBinary(System.Linq.Enumerable.ToArray(byteEnumerable)); + } + + var hasValues = false; + // just create an array of value nodes. + var result = new XNodeArray(); + foreach (var each in enumerable) + { + // we had at least one value. + hasValues = true; + + // try to serialize it. + var node = ToJsonValue(each); + if (null != node) + { + result.Add(node); + } + } + + // if we were able to add values, (or it was just empty), return it. + if (result.Count > 0 || !hasValues) + { + return result; + } + } + + // we couldn't serialize the values. Sorry. + return null; + } + + /// + /// Serializes a valuetype to a JsonNode. + /// + /// a ValueType (ie, a primitive, enum or struct) to be serialized + /// a JsonNode with the serialized value + private static JsonNode ToJsonValue(ValueType vValue) + { + // numeric type + if (vValue is SByte || vValue is Int16 || vValue is Int32 || vValue is Int64 || vValue is Byte || vValue is UInt16 || vValue is UInt32 || vValue is UInt64 || vValue is decimal || vValue is float || vValue is double) + { + return new JsonNumber(vValue.ToString()); + } + + // boolean type + if (vValue is bool bValue) + { + return new JsonBoolean(bValue); + } + + // dates + if (vValue is DateTime dtValue) + { + return new JsonDate(dtValue); + } + + // DictionaryEntity struct type + if (vValue is System.Collections.DictionaryEntry deValue) + { + return new JsonObject { { deValue.Key.ToString(), ToJsonValue(deValue.Value) } }; + } + + // sorry, no idea. + return null; + } + /// + /// Attempts to serialize an object by using ToJson() or ToJsonString() if they exist. + /// + /// the object to be serialized. + /// the serialized JsonNode (if successful), otherwise, null + private static JsonNode TryToJsonValue(dynamic oValue) + { + object jsonValue = null; + dynamic v = oValue; + try + { + jsonValue = v.ToJson().ToString(); + } + catch + { + // no harm... + try + { + jsonValue = v.ToJsonString().ToString(); + } + catch + { + // no worries here either. + } + } + + // if we got something out, let's use it. + if (null != jsonValue) + { + // JsonNumber is really a literal json value. Just don't try to cast that back to an actual number, ok? + return new JsonNumber(jsonValue.ToString()); + } + + return null; + } + + /// + /// Serialize an object by using a variety of methods. + /// + /// the object to be serialized. + /// the serialized JsonNode (if successful), otherwise, null + internal static JsonNode ToJsonValue(object value) + { + // things that implement our interface are preferred. + if (value is Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IJsonSerializable jsonSerializable) + { + return jsonSerializable.ToJson(); + } + + // strings are easy. + if (value is string || value is char) + { + return new JsonString(value.ToString()); + } + + // value types are fairly straightforward (fallback to ToJson()/ToJsonString() or literal JsonString ) + if (value is System.ValueType vValue) + { + return ToJsonValue(vValue) ?? TryToJsonValue(vValue) ?? new JsonString(vValue.ToString()); + } + + // dictionaries are objects that should be able to serialize + if (value is System.Collections.Generic.IDictionary dictionary) + { + return Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.ToJson(dictionary, null); + } + + // hashtables are converted to dictionaries for serialization + if (value is System.Collections.Hashtable hashtable) + { + var dict = new System.Collections.Generic.Dictionary(); + DictionaryExtensions.HashTableToDictionary(hashtable, dict); + return Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.ToJson(dict, null); + } + + // enumerable collections are handled like arrays (again, fallback to ToJson()/ToJsonString() or literal JsonString) + if (value is System.Collections.IEnumerable enumerableValue) + { + // some kind of enumerable value + return ToJsonValue(enumerableValue) ?? TryToJsonValue(value) ?? new JsonString(value.ToString()); + } + + // at this point, we're going to fallback to a string literal here, since we really have no idea what it is. + return new JsonString(value.ToString()); + } + + internal static JsonObject ToJson(System.Collections.Generic.Dictionary dictionary, JsonObject container) => ToJson((System.Collections.Generic.IDictionary)dictionary, container); + + /// + /// Serializes a dictionary into a JsonObject container. + /// + /// The dictionary to serailize + /// the container to serialize the dictionary into + /// the container + internal static JsonObject ToJson(System.Collections.Generic.IDictionary dictionary, JsonObject container) + { + container = container ?? new JsonObject(); + if (dictionary != null && dictionary.Count > 0) + { + foreach (var key in dictionary) + { + // currently, we don't serialize null values. + if (null != key.Value) + { + container.Add(key.Key, ToJsonValue(key.Value)); + continue; + } + } + } + return container; + } + + internal static Func> DeserializeDictionary(Func> dictionaryFactory) + { + return (node) => FromJson(node, dictionaryFactory(), (object)(DeserializeDictionary(dictionaryFactory)) as Func); + } + + internal static System.Collections.Generic.IDictionary FromJson(JsonObject json, System.Collections.Generic.Dictionary container, System.Func objectFactory, System.Collections.Generic.HashSet excludes = null) => FromJson(json, (System.Collections.Generic.IDictionary)container, objectFactory, excludes); + + + internal static System.Collections.Generic.IDictionary FromJson(JsonObject json, System.Collections.Generic.IDictionary container, System.Func objectFactory, System.Collections.Generic.HashSet excludes = null) + { + if (null == json) + { + return container; + } + + foreach (var key in json.Keys) + { + if (true == excludes?.Contains(key)) + { + continue; + } + + var value = json[key]; + try + { + switch (value.Type) + { + case JsonType.Null: + // skip null values. + continue; + + case JsonType.Array: + case JsonType.Boolean: + case JsonType.Date: + case JsonType.Binary: + case JsonType.Number: + case JsonType.String: + container.Add(key, (V)value.ToValue()); + break; + case JsonType.Object: + if (objectFactory != null) + { + var v = objectFactory(value as JsonObject); + if (null != v) + { + container.Add(key, v); + } + } + break; + } + } + catch + { + } + } + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Customizations/JsonArray.cs b/swaggerci/redis/generated/runtime/Customizations/JsonArray.cs new file mode 100644 index 000000000000..033a847578a5 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Customizations/JsonArray.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public partial class JsonArray + { + internal override object ToValue() => Count == 0 ? new object[0] : System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Select(this, each => each.ToValue())); + } + + +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Customizations/JsonBoolean.cs b/swaggerci/redis/generated/runtime/Customizations/JsonBoolean.cs new file mode 100644 index 000000000000..1f0b128f99cc --- /dev/null +++ b/swaggerci/redis/generated/runtime/Customizations/JsonBoolean.cs @@ -0,0 +1,16 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal partial class JsonBoolean + { + internal static JsonBoolean Create(bool? value) => value is bool b ? new JsonBoolean(b) : null; + internal bool ToBoolean() => Value; + + internal override object ToValue() => Value; + } + + +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Customizations/JsonNode.cs b/swaggerci/redis/generated/runtime/Customizations/JsonNode.cs new file mode 100644 index 000000000000..3698ab200d25 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Customizations/JsonNode.cs @@ -0,0 +1,21 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + using System; + using System.Collections.Generic; + + public partial class JsonNode + { + /// + /// Returns the content of this node as the underlying value. + /// Will default to the string representation if not overridden in child classes. + /// + /// an object with the underlying value of the node. + internal virtual object ToValue() { + return this.ToString(); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Customizations/JsonNumber.cs b/swaggerci/redis/generated/runtime/Customizations/JsonNumber.cs new file mode 100644 index 000000000000..230edb9efd4f --- /dev/null +++ b/swaggerci/redis/generated/runtime/Customizations/JsonNumber.cs @@ -0,0 +1,78 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + using System; + + public partial class JsonNumber + { + internal static readonly DateTime EpochDate = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + private static long ToUnixTime(DateTime dateTime) + { + return (long)dateTime.Subtract(EpochDate).TotalSeconds; + } + private static DateTime FromUnixTime(long totalSeconds) + { + return EpochDate.AddSeconds(totalSeconds); + } + internal byte ToByte() => this; + internal int ToInt() => this; + internal long ToLong() => this; + internal short ToShort() => this; + internal UInt16 ToUInt16() => this; + internal UInt32 ToUInt32() => this; + internal UInt64 ToUInt64() => this; + internal decimal ToDecimal() => this; + internal double ToDouble() => this; + internal float ToFloat() => this; + + internal static JsonNumber Create(int? value) => value is int n ? new JsonNumber(n) : null; + internal static JsonNumber Create(long? value) => value is long n ? new JsonNumber(n) : null; + internal static JsonNumber Create(float? value) => value is float n ? new JsonNumber(n) : null; + internal static JsonNumber Create(double? value) => value is double n ? new JsonNumber(n) : null; + internal static JsonNumber Create(decimal? value) => value is decimal n ? new JsonNumber(n) : null; + internal static JsonNumber Create(DateTime? value) => value is DateTime date ? new JsonNumber(ToUnixTime(date)) : null; + + public static implicit operator DateTime(JsonNumber number) => FromUnixTime(number); + internal DateTime ToDateTime() => this; + + internal JsonNumber(decimal value) + { + this.value = value.ToString(); + } + internal override object ToValue() + { + if (IsInteger) + { + if (int.TryParse(this.value, out int iValue)) + { + return iValue; + } + if (long.TryParse(this.value, out long lValue)) + { + return lValue; + } + } + else + { + if (float.TryParse(this.value, out float fValue)) + { + return fValue; + } + if (double.TryParse(this.value, out double dValue)) + { + return dValue; + } + if (decimal.TryParse(this.value, out decimal dcValue)) + { + return dcValue; + } + } + return null; + } + } + + +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Customizations/JsonObject.cs b/swaggerci/redis/generated/runtime/Customizations/JsonObject.cs new file mode 100644 index 000000000000..9533bfd85a1c --- /dev/null +++ b/swaggerci/redis/generated/runtime/Customizations/JsonObject.cs @@ -0,0 +1,183 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + using System; + using System.Collections.Generic; + + public partial class JsonObject + { + internal override object ToValue() => Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.JsonSerializable.FromJson(this, new System.Collections.Generic.Dictionary(), (obj) => obj.ToValue()); + + internal void SafeAdd(string name, Func valueFn) + { + if (valueFn != null) + { + var value = valueFn(); + if (null != value) + { + items.Add(name, value); + } + } + } + + internal void SafeAdd(string name, JsonNode value) + { + if (null != value) + { + items.Add(name, value); + } + } + + internal T NullableProperty(string propertyName) where T : JsonNode + { + if (this.TryGetValue(propertyName, out JsonNode value)) + { + if (value.IsNull) + { + return null; + } + if (value is T tval) + { + return tval; + } + /* it's present, but not the correct type... */ + //throw new Exception($"Property {propertyName} in object expected type {typeof(T).Name} but value of type {value.Type.ToString()} was found."); + } + return null; + } + + internal JsonObject Property(string propertyName) + { + return PropertyT(propertyName); + } + + internal T PropertyT(string propertyName) where T : JsonNode + { + if (this.TryGetValue(propertyName, out JsonNode value)) + { + if (value.IsNull) + { + return null; // we're going to assume that the consumer knows what to do if null is explicity returned? + } + + if (value is T tval) + { + return tval; + } + /* it's present, but not the correct type... */ + // throw new Exception($"Property {propertyName} in object expected type {typeof(T).Name} but value of type {value.Type.ToString()} was found."); + } + return null; + } + + internal int NumberProperty(string propertyName, ref int output) => output = this.PropertyT(propertyName)?.ToInt() ?? output; + internal float NumberProperty(string propertyName, ref float output) => output = this.PropertyT(propertyName)?.ToFloat() ?? output; + internal byte NumberProperty(string propertyName, ref byte output) => output = this.PropertyT(propertyName)?.ToByte() ?? output; + internal long NumberProperty(string propertyName, ref long output) => output = this.PropertyT(propertyName)?.ToLong() ?? output; + internal double NumberProperty(string propertyName, ref double output) => output = this.PropertyT(propertyName)?.ToDouble() ?? output; + internal decimal NumberProperty(string propertyName, ref decimal output) => output = this.PropertyT(propertyName)?.ToDecimal() ?? output; + internal short NumberProperty(string propertyName, ref short output) => output = this.PropertyT(propertyName)?.ToShort() ?? output; + internal DateTime NumberProperty(string propertyName, ref DateTime output) => output = this.PropertyT(propertyName)?.ToDateTime() ?? output; + + internal int? NumberProperty(string propertyName, ref int? output) => output = this.NullableProperty(propertyName)?.ToInt() ?? null; + internal float? NumberProperty(string propertyName, ref float? output) => output = this.NullableProperty(propertyName)?.ToFloat() ?? null; + internal byte? NumberProperty(string propertyName, ref byte? output) => output = this.NullableProperty(propertyName)?.ToByte() ?? null; + internal long? NumberProperty(string propertyName, ref long? output) => output = this.NullableProperty(propertyName)?.ToLong() ?? null; + internal double? NumberProperty(string propertyName, ref double? output) => output = this.NullableProperty(propertyName)?.ToDouble() ?? null; + internal decimal? NumberProperty(string propertyName, ref decimal? output) => output = this.NullableProperty(propertyName)?.ToDecimal() ?? null; + internal short? NumberProperty(string propertyName, ref short? output) => output = this.NullableProperty(propertyName)?.ToShort() ?? null; + + internal DateTime? NumberProperty(string propertyName, ref DateTime? output) => output = this.NullableProperty(propertyName)?.ToDateTime() ?? null; + + + internal string StringProperty(string propertyName) => this.PropertyT(propertyName)?.ToString(); + internal string StringProperty(string propertyName, ref string output) => output = this.PropertyT(propertyName)?.ToString() ?? output; + internal char StringProperty(string propertyName, ref char output) => output = this.PropertyT(propertyName)?.ToChar() ?? output; + internal char? StringProperty(string propertyName, ref char? output) => output = this.PropertyT(propertyName)?.ToChar() ?? null; + + internal DateTime StringProperty(string propertyName, ref DateTime output) => DateTime.TryParse(this.PropertyT(propertyName)?.ToString(), out output) ? output : output; + internal DateTime? StringProperty(string propertyName, ref DateTime? output) => output = DateTime.TryParse(this.PropertyT(propertyName)?.ToString(), out var o) ? o : output; + + + internal bool BooleanProperty(string propertyName, ref bool output) => output = this.PropertyT(propertyName)?.ToBoolean() ?? output; + internal bool? BooleanProperty(string propertyName, ref bool? output) => output = this.PropertyT(propertyName)?.ToBoolean() ?? null; + + internal T[] ArrayProperty(string propertyName, ref T[] output, Func deserializer) + { + var array = this.PropertyT(propertyName); + if (array != null) + { + output = new T[array.Count]; + for (var i = 0; i < output.Length; i++) + { + output[i] = deserializer(array[i]); + } + } + return output; + } + internal T[] ArrayProperty(string propertyName, Func deserializer) + { + var array = this.PropertyT(propertyName); + if (array != null) + { + var output = new T[array.Count]; + for (var i = 0; i < output.Length; i++) + { + output[i] = deserializer(array[i]); + } + return output; + } + return new T[0]; + } + internal void IterateArrayProperty(string propertyName, Action deserializer) + { + var array = this.PropertyT(propertyName); + if (array != null) + { + for (var i = 0; i < array.Count; i++) + { + deserializer(array[i]); + } + } + } + + internal Dictionary DictionaryProperty(string propertyName, ref Dictionary output, Func deserializer) + { + var dictionary = this.PropertyT(propertyName); + if (output == null) + { + output = new Dictionary(); + } + else + { + output.Clear(); + } + if (dictionary != null) + { + foreach (var key in dictionary.Keys) + { + output[key] = deserializer(dictionary[key]); + } + } + return output; + } + + internal static JsonObject Create(IDictionary source, Func selector) + { + if (source == null || selector == null) + { + return null; + } + var result = new JsonObject(); + + foreach (var key in source.Keys) + { + result.SafeAdd(key, selector(source[key])); + } + return result; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Customizations/JsonString.cs b/swaggerci/redis/generated/runtime/Customizations/JsonString.cs new file mode 100644 index 000000000000..d4a821872946 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Customizations/JsonString.cs @@ -0,0 +1,34 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + using System; + using System.Globalization; + using System.Linq; + + public partial class JsonString + { + internal static string DateFormat = "yyyy-MM-dd"; + internal static string DateTimeFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK"; + internal static string DateTimeRfc1123Format = "R"; + + internal static JsonString Create(string value) => value == null ? null : new JsonString(value); + internal static JsonString Create(char? value) => value is char c ? new JsonString(c.ToString()) : null; + + internal static JsonString CreateDate(DateTime? value) => value is DateTime date ? new JsonString(date.ToString(DateFormat, CultureInfo.CurrentCulture)) : null; + internal static JsonString CreateDateTime(DateTime? value) => value is DateTime date ? new JsonString(date.ToString(DateTimeFormat, CultureInfo.CurrentCulture)) : null; + internal static JsonString CreateDateTimeRfc1123(DateTime? value) => value is DateTime date ? new JsonString(date.ToString(DateTimeRfc1123Format, CultureInfo.CurrentCulture)) : null; + + internal char ToChar() => this.Value?.ToString()?.FirstOrDefault() ?? default(char); + public static implicit operator char(JsonString value) => value?.ToString()?.FirstOrDefault() ?? default(char); + public static implicit operator char? (JsonString value) => value?.ToString()?.FirstOrDefault(); + + public static implicit operator DateTime(JsonString value) => DateTime.TryParse(value, out var output) ? output : default(DateTime); + public static implicit operator DateTime? (JsonString value) => DateTime.TryParse(value, out var output) ? output : default(DateTime?); + + } + + +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Customizations/XNodeArray.cs b/swaggerci/redis/generated/runtime/Customizations/XNodeArray.cs new file mode 100644 index 000000000000..66241d42d8b6 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Customizations/XNodeArray.cs @@ -0,0 +1,44 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + using System; + using System.Linq; + + public partial class XNodeArray + { + internal static XNodeArray Create(T[] source, Func selector) + { + if (source == null || selector == null) + { + return null; + } + var result = new XNodeArray(); + foreach (var item in source.Select(selector)) + { + result.SafeAdd(item); + } + return result; + } + internal void SafeAdd(JsonNode item) + { + if (item != null) + { + items.Add(item); + } + } + internal void SafeAdd(Func itemFn) + { + if (itemFn != null) + { + var item = itemFn(); + if (item != null) + { + items.Add(item); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Debugging.cs b/swaggerci/redis/generated/runtime/Debugging.cs new file mode 100644 index 000000000000..9ae503923bbf --- /dev/null +++ b/swaggerci/redis/generated/runtime/Debugging.cs @@ -0,0 +1,28 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + internal static class AttachDebugger + { + internal static void Break() + { + while (!System.Diagnostics.Debugger.IsAttached) + { + System.Console.Error.WriteLine($"Waiting for debugger to attach to process {System.Diagnostics.Process.GetCurrentProcess().Id}"); + for (int i = 0; i < 50; i++) + { + if (System.Diagnostics.Debugger.IsAttached) + { + break; + } + System.Threading.Thread.Sleep(100); + System.Console.Error.Write("."); + } + System.Console.Error.WriteLine(); + } + System.Diagnostics.Debugger.Break(); + } + } +} diff --git a/swaggerci/redis/generated/runtime/DictionaryExtensions.cs b/swaggerci/redis/generated/runtime/DictionaryExtensions.cs new file mode 100644 index 000000000000..008ff83fcb7b --- /dev/null +++ b/swaggerci/redis/generated/runtime/DictionaryExtensions.cs @@ -0,0 +1,33 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + internal static class DictionaryExtensions + { + internal static void HashTableToDictionary(System.Collections.Hashtable hashtable, System.Collections.Generic.IDictionary dictionary) + { + if (null == hashtable) + { + return; + } + foreach (var each in hashtable.Keys) + { + var key = each.ToString(); + var value = hashtable[key]; + if (null != value) + { + try + { + dictionary[key] = (V)value; + } + catch + { + // Values getting dropped; not compatible with target dictionary. Not sure what to do here. + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/EventData.cs b/swaggerci/redis/generated/runtime/EventData.cs new file mode 100644 index 000000000000..52f2dba3613f --- /dev/null +++ b/swaggerci/redis/generated/runtime/EventData.cs @@ -0,0 +1,78 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + + using System; + using System.Threading; + + ///Represents the data in signaled event. + public partial class EventData + { + /// + /// The type of the event being signaled + /// + public string Id; + + /// + /// The user-ready message from the event. + /// + public string Message; + + /// + /// When the event is about a parameter, this is the parameter name. + /// Used in Validation Events + /// + public string Parameter; + + /// + /// This represents a numeric value associated with the event. + /// Use for progress-style events + /// + public double Value; + + /// + /// Any extended data for an event should be serialized and stored here. + /// + public string ExtendedData; + + /// + /// If the event triggers after the request message has been created, this will contain the Request Message (which in HTTP calls would be HttpRequestMessage) + /// + /// Typically you'd cast this to the expected type to use it: + /// + /// if(eventData.RequestMessgae is HttpRequestMessage httpRequest) + /// { + /// httpRequest.Headers.Add("x-request-flavor", "vanilla"); + /// } + /// + /// + public object RequestMessage; + + /// + /// If the event triggers after the response is back, this will contain the Response Message (which in HTTP calls would be HttpResponseMessage) + /// + /// Typically you'd cast this to the expected type to use it: + /// + /// if(eventData.ResponseMessage is HttpResponseMessage httpResponse){ + /// var flavor = httpResponse.Headers.GetValue("x-request-flavor"); + /// } + /// + /// + public object ResponseMessage; + + /// + /// Cancellation method for this event. + /// + /// If the event consumer wishes to cancel the request that initiated this event, call Cancel() + /// + /// + /// The original initiator of the request must provide the implementation of this. + /// + public System.Action Cancel; + } + +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/EventDataExtensions.cs b/swaggerci/redis/generated/runtime/EventDataExtensions.cs new file mode 100644 index 000000000000..0fc61dee8b28 --- /dev/null +++ b/swaggerci/redis/generated/runtime/EventDataExtensions.cs @@ -0,0 +1,94 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + using System; + + /// + /// PowerShell-specific data on top of the llc# EventData + /// + /// + /// In PowerShell, we add on the EventDataConverter to support sending events between modules. + /// Obviously, this code would need to be duplcated on both modules. + /// This is preferable to sharing a common library, as versioning makes that problematic. + /// + [System.ComponentModel.TypeConverter(typeof(EventDataConverter))] + public partial class EventData : EventArgs + { + } + + /// + /// A PowerShell PSTypeConverter to adapt an EventData object that has been passed. + /// Usually used between modules. + /// + public class EventDataConverter : System.Management.Automation.PSTypeConverter + { + public override bool CanConvertTo(object sourceValue, Type destinationType) => false; + public override object ConvertTo(object sourceValue, Type destinationType, IFormatProvider formatProvider, bool ignoreCase) => null; + public override bool CanConvertFrom(dynamic sourceValue, Type destinationType) => destinationType == typeof(EventData) && CanConvertFrom(sourceValue); + public override object ConvertFrom(dynamic sourceValue, Type destinationType, IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Verifies that a given object has the required members to convert it to the target type (EventData) + /// + /// Uses a dynamic type so that it is able to use the simplest code without excessive checking. + /// + /// The instance to verify + /// True, if the object has all the required parameters. + public static bool CanConvertFrom(dynamic sourceValue) + { + try + { + // check if this has *required* parameters... + sourceValue?.Id?.GetType(); + sourceValue?.Message?.GetType(); + sourceValue?.Cancel?.GetType(); + + // remaining parameters are not *required*, + // and if they have values, it will copy them at conversion time. + } + catch + { + // if anything throws an exception (because it's null, or doesn't have that member) + return false; + } + return true; + } + + /// + /// Returns result of the delegate as the expected type, or default(T) + /// + /// This isolates any exceptions from the consumer. + /// + /// A delegate that returns a value + /// The desired output type + /// The value from the function if the type is correct + private static T To(Func srcValue) + { + try { return srcValue(); } + catch { return default(T); } + } + + /// + /// Converts an incoming object to the expected type by treating the incoming object as a dynamic, and coping the expected values. + /// + /// the incoming object + /// EventData + public static EventData ConvertFrom(dynamic sourceValue) + { + return new EventData + { + Id = To(() => sourceValue.Id), + Message = To(() => sourceValue.Message), + Parameter = To(() => sourceValue.Parameter), + Value = To(() => sourceValue.Value), + RequestMessage = To(() => sourceValue.RequestMessage), + ResponseMessage = To(() => sourceValue.ResponseMessage), + Cancel = To(() => sourceValue.Cancel) + }; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/EventListener.cs b/swaggerci/redis/generated/runtime/EventListener.cs new file mode 100644 index 000000000000..c8a41891baa8 --- /dev/null +++ b/swaggerci/redis/generated/runtime/EventListener.cs @@ -0,0 +1,247 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + + using System; + using System.Linq; + using System.Collections; + using System.Collections.Generic; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + using GetEventData = System.Func; + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + public interface IValidates + { + Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IEventListener listener); + } + + /// + /// The IEventListener Interface defines the communication mechanism for Signaling events during a remote call. + /// + /// + /// The interface is designed to be as minimal as possible, allow for quick peeking of the event type (id) + /// and the cancellation status and provides a delegate for retrieving the event details themselves. + /// + public interface IEventListener + { + Task Signal(string id, CancellationToken token, GetEventData createMessage); + CancellationToken Token { get; } + System.Action Cancel { get; } + } + + internal static partial class Extensions + { + public static Task Signal(this IEventListener instance, string id, CancellationToken token, Func createMessage) => instance.Signal(id, token, createMessage); + public static Task Signal(this IEventListener instance, string id, CancellationToken token) => instance.Signal(id, token, () => new EventData { Id = id, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, string messageText) => instance.Signal(id, token, () => new EventData { Id = id, Message = messageText, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, string messageText, HttpRequestMessage request) => instance.Signal(id, token, () => new EventData { Id = id, Message = messageText, RequestMessage = request, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, string messageText, HttpResponseMessage response) => instance.Signal(id, token, () => new EventData { Id = id, Message = messageText, RequestMessage = response.RequestMessage, ResponseMessage = response, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, string messageText, double magnitude) => instance.Signal(id, token, () => new EventData { Id = id, Message = messageText, Value = magnitude, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, string messageText, double magnitude, HttpRequestMessage request) => instance.Signal(id, token, () => new EventData { Id = id, Message = messageText, RequestMessage = request, Value = magnitude, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, string messageText, double magnitude, HttpResponseMessage response) => instance.Signal(id, token, () => new EventData { Id = id, Message = messageText, RequestMessage = response.RequestMessage, ResponseMessage = response, Value = magnitude, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, HttpRequestMessage request) => instance.Signal(id, token, () => new EventData { Id = id, RequestMessage = request, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, HttpRequestMessage request, HttpResponseMessage response) => instance.Signal(id, token, () => new EventData { Id = id, RequestMessage = request, ResponseMessage = response, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, HttpResponseMessage response) => instance.Signal(id, token, () => new EventData { Id = id, RequestMessage = response.RequestMessage, ResponseMessage = response, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, EventData message) => instance.Signal(id, token, () => { message.Id = id; message.Cancel = instance.Cancel; return message; }); + + public static Task Signal(this IEventListener instance, string id, Func createMessage) => instance.Signal(id, instance.Token, createMessage); + public static Task Signal(this IEventListener instance, string id) => instance.Signal(id, instance.Token, () => new EventData { Id = id, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, string messageText) => instance.Signal(id, instance.Token, () => new EventData { Id = id, Message = messageText, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, string messageText, HttpRequestMessage request) => instance.Signal(id, instance.Token, () => new EventData { Id = id, Message = messageText, RequestMessage = request, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, string messageText, HttpResponseMessage response) => instance.Signal(id, instance.Token, () => new EventData { Id = id, Message = messageText, RequestMessage = response.RequestMessage, ResponseMessage = response, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, string messageText, double magnitude) => instance.Signal(id, instance.Token, () => new EventData { Id = id, Message = messageText, Value = magnitude, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, string messageText, double magnitude, HttpRequestMessage request) => instance.Signal(id, instance.Token, () => new EventData { Id = id, Message = messageText, RequestMessage = request, Value = magnitude, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, string messageText, double magnitude, HttpResponseMessage response) => instance.Signal(id, instance.Token, () => new EventData { Id = id, Message = messageText, RequestMessage = response.RequestMessage, ResponseMessage = response, Value = magnitude, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, HttpRequestMessage request) => instance.Signal(id, instance.Token, () => new EventData { Id = id, RequestMessage = request, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, HttpRequestMessage request, HttpResponseMessage response) => instance.Signal(id, instance.Token, () => new EventData { Id = id, RequestMessage = request, ResponseMessage = response, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, HttpResponseMessage response) => instance.Signal(id, instance.Token, () => new EventData { Id = id, RequestMessage = response.RequestMessage, ResponseMessage = response, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, EventData message) => instance.Signal(id, instance.Token, () => { message.Id = id; message.Cancel = instance.Cancel; return message; }); + + public static Task Signal(this IEventListener instance, string id, System.Uri uri) => instance.Signal(id, instance.Token, () => new EventData { Id = id, Message = uri.ToString(), Cancel = instance.Cancel }); + + public static async Task AssertNotNull(this IEventListener instance, string parameterName, object value) + { + if (value == null) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, Message = $"'{parameterName}' should not be null", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + public static async Task AssertMinimumLength(this IEventListener instance, string parameterName, string value, int length) + { + if (value != null && value.Length < length) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, Message = $"Length of '{parameterName}' is less than {length}", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + public static async Task AssertMaximumLength(this IEventListener instance, string parameterName, string value, int length) + { + if (value != null && value.Length > length) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, Message = $"Length of '{parameterName}' is greater than {length}", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + + public static async Task AssertRegEx(this IEventListener instance, string parameterName, string value, string regularExpression) + { + if (value != null && !System.Text.RegularExpressions.Regex.Match(value, regularExpression).Success) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, Message = $"'{parameterName}' does not validate against pattern /{regularExpression}/", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + public static async Task AssertEnum(this IEventListener instance, string parameterName, string value, params string[] values) + { + if (!values.Any(each => each.Equals(value))) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, Message = $"'{parameterName}' is not one of ({values.Aggregate((c, e) => $"'{e}',{c}")}", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + public static async Task AssertObjectIsValid(this IEventListener instance, string parameterName, object inst) + { + await (inst as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.IValidates)?.Validate(instance); + } + + public static async Task AssertIsLessThan(this IEventListener instance, string parameterName, T? value, T max) where T : struct, System.IComparable + { + if (null != value && ((T)value).CompareTo(max) >= 0) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, Message = $"Value of '{parameterName}' must be less than {max} (value is {value})", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + public static async Task AssertIsGreaterThan(this IEventListener instance, string parameterName, T? value, T max) where T : struct, System.IComparable + { + if (null != value && ((T)value).CompareTo(max) <= 0) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, Message = $"Value of '{parameterName}' must be greater than {max} (value is {value})", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + public static async Task AssertIsLessThanOrEqual(this IEventListener instance, string parameterName, T? value, T max) where T : struct, System.IComparable + { + if (null != value && ((T)value).CompareTo(max) > 0) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, Message = $"Value of '{parameterName}' must be less than or equal to {max} (value is {value})", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + public static async Task AssertIsGreaterThanOrEqual(this IEventListener instance, string parameterName, T? value, T max) where T : struct, System.IComparable + { + if (null != value && ((T)value).CompareTo(max) < 0) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, Message = $"Value of '{parameterName}' must be greater than or equal to {max} (value is {value})", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + public static async Task AssertIsMultipleOf(this IEventListener instance, string parameterName, Int64? value, Int64 multiple) + { + if (null != value && value % multiple != 0) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, Message = $"Value of '{parameterName}' must be multiple of {multiple} (value is {value})", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + public static async Task AssertIsMultipleOf(this IEventListener instance, string parameterName, double? value, double multiple) + { + if (null != value) + { + var i = (Int64)(value / multiple); + if (i != value / multiple) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, Message = $"Value of '{parameterName}' must be multiple of {multiple} (value is {value})", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + } + public static async Task AssertIsMultipleOf(this IEventListener instance, string parameterName, decimal? value, decimal multiple) + { + if (null != value) + { + var i = (Int64)(value / multiple); + if (i != value / multiple) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Events.ValidationWarning, Message = $"Value of '{parameterName}' must be multiple of {multiple} (value is {value})", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + } + } + + /// + /// An Implementation of the IEventListener that supports subscribing to events and dispatching them + /// (used for manually using the lowlevel interface) + /// + public class EventListener : CancellationTokenSource, IEnumerable>, IEventListener + { + private Dictionary calls = new Dictionary(); + public IEnumerator> GetEnumerator() => calls.GetEnumerator(); + IEnumerator IEnumerable.GetEnumerator() => calls.GetEnumerator(); + public EventListener() + { + } + + public new Action Cancel => base.Cancel; + private Event tracer; + + public EventListener(params (string name, Event callback)[] initializer) + { + foreach (var each in initializer) + { + Add(each.name, each.callback); + } + } + + public void Add(string name, SynchEvent callback) + { + Add(name, (message) => { callback(message); return Task.CompletedTask; }); + } + + public void Add(string name, Event callback) + { + if (callback != null) + { + if (string.IsNullOrEmpty(name)) + { + if (calls.ContainsKey(name)) + { + tracer += callback; + } + else + { + tracer = callback; + } + } + else + { + if (calls.ContainsKey(name)) + { + calls[name ?? System.String.Empty] += callback; + } + else + { + calls[name ?? System.String.Empty] = callback; + } + } + } + } + + + public async Task Signal(string id, CancellationToken token, GetEventData createMessage) + { + using (NoSynchronizationContext) + { + if (!string.IsNullOrEmpty(id) && (calls.TryGetValue(id, out Event listener) || tracer != null)) + { + var message = createMessage(); + message.Id = id; + + await listener?.Invoke(message); + await tracer?.Invoke(message); + + if (token.IsCancellationRequested) + { + throw new OperationCanceledException($"Canceled by event {id} ", this.Token); + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Events.cs b/swaggerci/redis/generated/runtime/Events.cs new file mode 100644 index 000000000000..b86c1277b07b --- /dev/null +++ b/swaggerci/redis/generated/runtime/Events.cs @@ -0,0 +1,27 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + public static partial class Events + { + public const string Log = nameof(Log); + public const string Validation = nameof(Validation); + public const string ValidationWarning = nameof(ValidationWarning); + public const string AfterValidation = nameof(AfterValidation); + public const string RequestCreated = nameof(RequestCreated); + public const string ResponseCreated = nameof(ResponseCreated); + public const string URLCreated = nameof(URLCreated); + public const string Finally = nameof(Finally); + public const string HeaderParametersAdded = nameof(HeaderParametersAdded); + public const string BodyContentSet = nameof(BodyContentSet); + public const string BeforeCall = nameof(BeforeCall); + public const string BeforeResponseDispatch = nameof(BeforeResponseDispatch); + public const string FollowingNextLink = nameof(FollowingNextLink); + public const string DelayBeforePolling = nameof(DelayBeforePolling); + public const string Polling = nameof(Polling); + + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/EventsExtensions.cs b/swaggerci/redis/generated/runtime/EventsExtensions.cs new file mode 100644 index 000000000000..05f3bb7af6d6 --- /dev/null +++ b/swaggerci/redis/generated/runtime/EventsExtensions.cs @@ -0,0 +1,27 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + public static partial class Events + { + public const string CmdletProcessRecordStart = nameof(CmdletProcessRecordStart); + public const string CmdletProcessRecordAsyncStart = nameof(CmdletProcessRecordAsyncStart); + public const string CmdletException = nameof(CmdletException); + public const string CmdletGetPipeline = nameof(CmdletGetPipeline); + public const string CmdletBeforeAPICall = nameof(CmdletBeforeAPICall); + public const string CmdletBeginProcessing = nameof(CmdletBeginProcessing); + public const string CmdletEndProcessing = nameof(CmdletEndProcessing); + public const string CmdletProcessRecordEnd = nameof(CmdletProcessRecordEnd); + public const string CmdletProcessRecordAsyncEnd = nameof(CmdletProcessRecordAsyncEnd); + public const string CmdletAfterAPICall = nameof(CmdletAfterAPICall); + + public const string Verbose = nameof(Verbose); + public const string Debug = nameof(Debug); + public const string Information = nameof(Information); + public const string Error = nameof(Error); + public const string Warning = nameof(Warning); + } + +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Extensions.cs b/swaggerci/redis/generated/runtime/Extensions.cs new file mode 100644 index 000000000000..1dd71ebc2f38 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Extensions.cs @@ -0,0 +1,117 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + using System.Linq; + using System; + + internal static partial class Extensions + { + public static T[] SubArray(this T[] array, int offset, int length) + { + return new ArraySegment(array, offset, length) + .ToArray(); + } + + public static T ReadHeaders(this T instance, global::System.Net.Http.Headers.HttpResponseHeaders headers) where T : class + { + (instance as IHeaderSerializable)?.ReadHeaders(headers); + return instance; + } + + internal static bool If(T input, out T output) + { + if (null == input) + { + output = default(T); + return false; + } + output = input; + return true; + } + + internal static void AddIf(T value, System.Action addMethod) + { + // if value is present (and it's not just an empty JSON Object) + if (null != value && (value as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject)?.Keys.Count != 0) + { + addMethod(value); + } + } + + internal static void AddIf(T value, string serializedName, System.Action addMethod) + { + // if value is present (and it's not just an empty JSON Object) + if (null != value && (value as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject)?.Keys.Count != 0) + { + addMethod(serializedName, value); + } + } + + /// + /// Returns the first header value as a string from an HttpReponseMessage. + /// + /// the HttpResponseMessage to fetch a header from + /// the header name + /// the first header value as a string from an HttpReponseMessage. string.empty if there is no header value matching + internal static string GetFirstHeader(this System.Net.Http.HttpResponseMessage response, string headerName) => response.Headers.FirstOrDefault(each => string.Equals(headerName, each.Key, System.StringComparison.OrdinalIgnoreCase)).Value?.FirstOrDefault() ?? string.Empty; + + /// + /// Sets the Synchronization Context to null, and returns an IDisposable that when disposed, + /// will restore the synchonization context to the original value. + /// + /// This is used a less-invasive means to ensure that code in the library that doesn't + /// need to be continued in the original context doesn't have to have ConfigureAwait(false) + /// on every single await + /// + /// If the SynchronizationContext is null when this is used, the resulting IDisposable + /// will not do anything (this prevents excessive re-setting of the SynchronizationContext) + /// + /// Usage: + /// + /// using(NoSynchronizationContext) { + /// await SomeAsyncOperation(); + /// await SomeOtherOperation(); + /// } + /// + /// + /// + /// An IDisposable that will return the SynchronizationContext to original state + internal static System.IDisposable NoSynchronizationContext => System.Threading.SynchronizationContext.Current == null ? Dummy : new NoSyncContext(); + + /// + /// An instance of the Dummy IDispoable. + /// + /// + internal static System.IDisposable Dummy = new DummyDisposable(); + + /// + /// An IDisposable that does absolutely nothing. + /// + internal class DummyDisposable : System.IDisposable + { + public void Dispose() + { + } + } + /// + /// An IDisposable that saves the SynchronizationContext,sets it to null and + /// restores it to the original upon Dispose(). + /// + /// NOTE: This is designed to be less invasive than using .ConfigureAwait(false) + /// on every single await in library code (ie, places where we know we don't need + /// to continue in the same context as we went async) + /// + internal class NoSyncContext : System.IDisposable + { + private System.Threading.SynchronizationContext original = System.Threading.SynchronizationContext.Current; + internal NoSyncContext() + { + System.Threading.SynchronizationContext.SetSynchronizationContext(null); + } + public void Dispose() => System.Threading.SynchronizationContext.SetSynchronizationContext(original); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Helpers/Extensions/StringBuilderExtensions.cs b/swaggerci/redis/generated/runtime/Helpers/Extensions/StringBuilderExtensions.cs new file mode 100644 index 000000000000..12b0b12d5257 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Helpers/Extensions/StringBuilderExtensions.cs @@ -0,0 +1,23 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System.Text; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal static class StringBuilderExtensions + { + /// + /// Extracts the buffered value and resets the buffer + /// + internal static string Extract(this StringBuilder builder) + { + var text = builder.ToString(); + + builder.Clear(); + + return text; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Helpers/Extensions/TypeExtensions.cs b/swaggerci/redis/generated/runtime/Helpers/Extensions/TypeExtensions.cs new file mode 100644 index 000000000000..8e7c8fafe58d --- /dev/null +++ b/swaggerci/redis/generated/runtime/Helpers/Extensions/TypeExtensions.cs @@ -0,0 +1,61 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal static class TypeExtensions + { + internal static bool IsNullable(this Type type) => + type.IsGenericType && type.GetGenericTypeDefinition().Equals(typeof(Nullable<>)); + + internal static Type GetOpenGenericInterface(this Type candidateType, Type openGenericInterfaceType) + { + + if (candidateType.IsGenericType && candidateType.GetGenericTypeDefinition() == openGenericInterfaceType) + { + return candidateType; + } + + // Check if it references it's own converter.... + + foreach (Type interfaceType in candidateType.GetInterfaces()) + { + if (interfaceType.IsGenericType + && interfaceType.GetGenericTypeDefinition().Equals(openGenericInterfaceType)) + { + return interfaceType; + } + } + + return null; + } + + // Author: Sebastian Good + // http://stackoverflow.com/questions/503263/how-to-determine-if-a-type-implements-a-specific-generic-interface-type + internal static bool ImplementsOpenGenericInterface(this Type candidateType, Type openGenericInterfaceType) + { + if (candidateType.Equals(openGenericInterfaceType)) + { + return true; + } + + if (candidateType.IsGenericType && candidateType.GetGenericTypeDefinition().Equals(openGenericInterfaceType)) + { + return true; + } + + foreach (Type i in candidateType.GetInterfaces()) + { + if (i.IsGenericType && i.ImplementsOpenGenericInterface(openGenericInterfaceType)) + { + return true; + } + } + + return false; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Helpers/Seperator.cs b/swaggerci/redis/generated/runtime/Helpers/Seperator.cs new file mode 100644 index 000000000000..c71c5b871db7 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Helpers/Seperator.cs @@ -0,0 +1,11 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal static class Seperator + { + internal static readonly char[] Dash = { '-' }; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Helpers/TypeDetails.cs b/swaggerci/redis/generated/runtime/Helpers/TypeDetails.cs new file mode 100644 index 000000000000..f042b712bcc6 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Helpers/TypeDetails.cs @@ -0,0 +1,116 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Reflection; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + + + + internal class TypeDetails + { + private readonly Type info; + + internal TypeDetails(Type info) + { + this.info = info ?? throw new ArgumentNullException(nameof(info)); + } + + internal Type NonNullType { get; set; } + + internal object DefaultValue { get; set; } + + internal bool IsNullable { get; set; } + + internal bool IsList { get; set; } + + internal bool IsStringLike { get; set; } + + internal bool IsEnum => info.IsEnum; + + internal bool IsArray => info.IsArray; + + internal bool IsValueType => info.IsValueType; + + internal Type ElementType { get; set; } + + internal IJsonConverter JsonConverter { get; set; } + + #region Creation + + private static readonly ConcurrentDictionary cache = new ConcurrentDictionary(); + + internal static TypeDetails Get() => Get(typeof(T)); + + internal static TypeDetails Get(Type type) => cache.GetOrAdd(type, Create); + + private static TypeDetails Create(Type type) + { + var isGenericList = !type.IsPrimitive && type.ImplementsOpenGenericInterface(typeof(IList<>)); + var isList = !type.IsPrimitive && (isGenericList || typeof(IList).IsAssignableFrom(type)); + + var isNullable = type.IsNullable(); + + Type elementType; + + if (type.IsArray) + { + elementType = type.GetElementType(); + } + else if (isGenericList) + { + var iList = type.GetOpenGenericInterface(typeof(IList<>)); + + elementType = iList.GetGenericArguments()[0]; + } + else + { + elementType = null; + } + + var nonNullType = isNullable ? type.GetGenericArguments()[0] : type; + + var isStringLike = false; + + IJsonConverter converter; + + var jsonConverterAttribute = type.GetCustomAttribute(); + + if (jsonConverterAttribute != null) + { + converter = jsonConverterAttribute.Converter; + } + else if (nonNullType.IsEnum) + { + converter = new EnumConverter(nonNullType); + } + else if (JsonConverterFactory.Instances.TryGetValue(nonNullType, out converter)) + { + } + else if (StringLikeHelper.IsStringLike(nonNullType)) + { + isStringLike = true; + + converter = new StringLikeConverter(nonNullType); + } + + return new TypeDetails(nonNullType) { + NonNullType = nonNullType, + DefaultValue = type.IsValueType ? Activator.CreateInstance(type) : null, + IsNullable = isNullable, + IsList = isList, + IsStringLike = isStringLike, + ElementType = elementType, + JsonConverter = converter + }; + } + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Helpers/XHelper.cs b/swaggerci/redis/generated/runtime/Helpers/XHelper.cs new file mode 100644 index 000000000000..f5525a74fa09 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Helpers/XHelper.cs @@ -0,0 +1,75 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal static class XHelper + { + internal static JsonNode Create(JsonType type, TypeCode code, object value) + { + switch (type) + { + case JsonType.Binary : return new XBinary((byte[])value); + case JsonType.Boolean : return new JsonBoolean((bool)value); + case JsonType.Number : return new JsonNumber(value.ToString()); + case JsonType.String : return new JsonString((string)value); + } + + throw new Exception($"JsonType '{type}' does not have a fast conversion"); + } + + internal static bool TryGetElementType(TypeCode code, out JsonType type) + { + switch (code) + { + case TypeCode.Boolean : type = JsonType.Boolean; return true; + case TypeCode.Byte : type = JsonType.Number; return true; + case TypeCode.DateTime : type = JsonType.Date; return true; + case TypeCode.Decimal : type = JsonType.Number; return true; + case TypeCode.Double : type = JsonType.Number; return true; + case TypeCode.Empty : type = JsonType.Null; return true; + case TypeCode.Int16 : type = JsonType.Number; return true; + case TypeCode.Int32 : type = JsonType.Number; return true; + case TypeCode.Int64 : type = JsonType.Number; return true; + case TypeCode.SByte : type = JsonType.Number; return true; + case TypeCode.Single : type = JsonType.Number; return true; + case TypeCode.String : type = JsonType.String; return true; + case TypeCode.UInt16 : type = JsonType.Number; return true; + case TypeCode.UInt32 : type = JsonType.Number; return true; + case TypeCode.UInt64 : type = JsonType.Number; return true; + } + + type = default; + + return false; + } + + internal static JsonType GetElementType(TypeCode code) + { + switch (code) + { + case TypeCode.Boolean : return JsonType.Boolean; + case TypeCode.Byte : return JsonType.Number; + case TypeCode.DateTime : return JsonType.Date; + case TypeCode.Decimal : return JsonType.Number; + case TypeCode.Double : return JsonType.Number; + case TypeCode.Empty : return JsonType.Null; + case TypeCode.Int16 : return JsonType.Number; + case TypeCode.Int32 : return JsonType.Number; + case TypeCode.Int64 : return JsonType.Number; + case TypeCode.SByte : return JsonType.Number; + case TypeCode.Single : return JsonType.Number; + case TypeCode.String : return JsonType.String; + case TypeCode.UInt16 : return JsonType.Number; + case TypeCode.UInt32 : return JsonType.Number; + case TypeCode.UInt64 : return JsonType.Number; + default : return JsonType.Object; + } + + throw new Exception($"TypeCode '{code}' does not have a fast converter"); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/HttpPipeline.cs b/swaggerci/redis/generated/runtime/HttpPipeline.cs new file mode 100644 index 000000000000..6d5fc6dd852b --- /dev/null +++ b/swaggerci/redis/generated/runtime/HttpPipeline.cs @@ -0,0 +1,88 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + using System.Net.Http; + using System.Collections.Generic; + using System.Threading; + using System.Threading.Tasks; + using System.Collections; + using System.Linq; + + using GetEventData = System.Func; + using NextDelegate = System.Func, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>; + + using SignalDelegate = System.Func, System.Threading.Tasks.Task>; + using GetParameterDelegate = System.Func, string, object>; + using SendAsyncStepDelegate = System.Func, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>; + using PipelineChangeDelegate = System.Action, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>>; + using ModuleLoadPipelineDelegate = System.Action, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>>, System.Action, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>>>; + using NewRequestPipelineDelegate = System.Action, System.Action, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>>, System.Action, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>>>; + +/* + public class DelegateBasedEventListener : IEventListener + { + private EventListenerDelegate _listener; + public DelegateBasedEventListener(EventListenerDelegate listener) + { + _listener = listener; + } + public CancellationToken Token => CancellationToken.None; + public System.Action Cancel => () => { }; + + + public Task Signal(string id, CancellationToken token, GetEventData createMessage) + { + return _listener(id, token, () => createMessage()); + } + } +*/ + /// + /// This is a necessary extension to the SendAsyncFactory to support the 'generic' delegate format. + /// + public partial class SendAsyncFactory + { + /// + /// This translates a generic-defined delegate for a listener into one that fits our ISendAsync pattern. + /// (Provided to support out-of-module delegation for Azure Cmdlets) + /// + /// The Pipeline Step as a delegate + public SendAsyncFactory(SendAsyncStepDelegate step) => this.implementation = (request, listener, next) => + step( + request, + listener.Token, + listener.Cancel, + (id, token, getEventData) => listener.Signal(id, token, () => { + var data = EventDataConverter.ConvertFrom( getEventData() ) as EventData; + data.Id = id; + data.Cancel = listener.Cancel; + data.RequestMessage = request; + return data; + }), + (req, token, cancel, listenerDelegate) => next.SendAsync(req, listener)); + } + + public partial class HttpPipeline : ISendAsync + { + public HttpPipeline Append(SendAsyncStepDelegate item) + { + if (item != null) + { + Append(new SendAsyncFactory(item)); + } + return this; + } + + public HttpPipeline Prepend(SendAsyncStepDelegate item) + { + if (item != null) + { + Prepend(new SendAsyncFactory(item)); + } + return this; + } + } +} diff --git a/swaggerci/redis/generated/runtime/HttpPipelineMocking.ps1 b/swaggerci/redis/generated/runtime/HttpPipelineMocking.ps1 new file mode 100644 index 000000000000..716d2cb251ad --- /dev/null +++ b/swaggerci/redis/generated/runtime/HttpPipelineMocking.ps1 @@ -0,0 +1,110 @@ +$ErrorActionPreference = "Stop" + +# get the recording path +if (-not $TestRecordingFile) { + $TestRecordingFile = Join-Path $PSScriptRoot 'recording.json' +} + +# create the Http Pipeline Recorder +$Mock = New-Object -Type Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PipelineMock $TestRecordingFile + +# set the recorder to the appropriate mode (default to 'live') +Write-Host -ForegroundColor Green "Running '$TestMode' mode..." +switch ($TestMode) { + 'record' { + Write-Host -ForegroundColor Green "Recording to $TestRecordingFile" + $Mock.SetRecord() + $null = erase -ea 0 $TestRecordingFile + } + 'playback' { + if (-not (Test-Path $TestRecordingFile)) { + Write-Host -fore:yellow "Recording file '$TestRecordingFile' is not present. Tests expecting recorded responses will fail" + } else { + Write-Host -ForegroundColor Green "Using recording $TestRecordingFile" + } + $Mock.SetPlayback() + $Mock.ForceResponseHeaders["Retry-After"] = "0"; + } + default: { + $Mock.SetLive() + } +} + +# overrides for Pester Describe/Context/It + +function Describe( + [Parameter(Mandatory = $true, Position = 0)] + [string] $Name, + + [Alias('Tags')] + [string[]] $Tag = @(), + + [Parameter(Position = 1)] + [ValidateNotNull()] + [ScriptBlock] $Fixture = $(Throw "No test script block is provided. (Have you put the open curly brace on the next line?)") +) { + $Mock.PushDescription($Name) + try { + return pester\Describe -Name $Name -Tag $Tag -Fixture $fixture + } + finally { + $Mock.PopDescription() + } +} + +function Context( + [Parameter(Mandatory = $true, Position = 0)] + [string] $Name, + + [Alias('Tags')] + [string[]] $Tag = @(), + + [Parameter(Position = 1)] + [ValidateNotNull()] + [ScriptBlock] $Fixture = $(Throw "No test script block is provided. (Have you put the open curly brace on the next line?)") +) { + $Mock.PushContext($Name) + try { + return pester\Context -Name $Name -Tag $Tag -Fixture $fixture + } + finally { + $Mock.PopContext() + } +} + +function It { + [CmdletBinding(DefaultParameterSetName = 'Normal')] + param( + [Parameter(Mandatory = $true, Position = 0)] + [string]$Name, + + [Parameter(Position = 1)] + [ScriptBlock] $Test = { }, + + [System.Collections.IDictionary[]] $TestCases, + + [Parameter(ParameterSetName = 'Pending')] + [Switch] $Pending, + + [Parameter(ParameterSetName = 'Skip')] + [Alias('Ignore')] + [Switch] $Skip + ) + $Mock.PushScenario($Name) + + try { + if ($skip) { + return pester\It -Name $Name -Test $Test -TestCases $TestCases -Skip + } + if ($pending) { + return pester\It -Name $Name -Test $Test -TestCases $TestCases -Pending + } + return pester\It -Name $Name -Test $Test -TestCases $TestCases + } + finally { + $null = $Mock.PopScenario() + } +} + +# set the HttpPipelineAppend for all the cmdlets +$PSDefaultParameterValues["*:HttpPipelinePrepend"] = $Mock diff --git a/swaggerci/redis/generated/runtime/IAssociativeArray.cs b/swaggerci/redis/generated/runtime/IAssociativeArray.cs new file mode 100644 index 000000000000..9cf06862b8c5 --- /dev/null +++ b/swaggerci/redis/generated/runtime/IAssociativeArray.cs @@ -0,0 +1,24 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +#define DICT_PROPERTIES +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + /// A subset of IDictionary that doesn't implement IEnumerable or IDictionary to work around PowerShell's aggressive formatter + public interface IAssociativeArray + { +#if DICT_PROPERTIES + System.Collections.Generic.IEnumerable Keys { get; } + System.Collections.Generic.IEnumerable Values { get; } + int Count { get; } +#endif + System.Collections.Generic.IDictionary AdditionalProperties { get; } + T this[string index] { get; set; } + void Add(string key, T value); + bool ContainsKey(string key); + bool Remove(string key); + bool TryGetValue(string key, out T value); + void Clear(); + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/IHeaderSerializable.cs b/swaggerci/redis/generated/runtime/IHeaderSerializable.cs new file mode 100644 index 000000000000..7b9da241b07c --- /dev/null +++ b/swaggerci/redis/generated/runtime/IHeaderSerializable.cs @@ -0,0 +1,14 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + public interface IHeaderSerializable + { + void ReadHeaders(global::System.Net.Http.Headers.HttpResponseHeaders headers); + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/ISendAsync.cs b/swaggerci/redis/generated/runtime/ISendAsync.cs new file mode 100644 index 000000000000..4e1bc9b1d7a0 --- /dev/null +++ b/swaggerci/redis/generated/runtime/ISendAsync.cs @@ -0,0 +1,300 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + using System.Net.Http; + using System.Collections.Generic; + using System.Threading; + using System.Threading.Tasks; + using System.Collections; + using System.Linq; + + /// + /// The interface for sending an HTTP request across the wire. + /// + public interface ISendAsync + { + Task SendAsync(HttpRequestMessage request, IEventListener callback); + } + + public class SendAsyncTerminalFactory : ISendAsyncTerminalFactory, ISendAsync + { + SendAsync implementation; + + public SendAsyncTerminalFactory(SendAsync implementation) => this.implementation = implementation; + public SendAsyncTerminalFactory(ISendAsync implementation) => this.implementation = implementation.SendAsync; + public ISendAsync Create() => this; + public Task SendAsync(HttpRequestMessage request, IEventListener callback) => implementation(request, callback); + } + + public partial class SendAsyncFactory : ISendAsyncFactory + { + public class Sender : ISendAsync + { + internal ISendAsync next; + internal SendAsyncStep implementation; + + public Task SendAsync(HttpRequestMessage request, IEventListener callback) => implementation(request, callback, next); + } + SendAsyncStep implementation; + + public SendAsyncFactory(SendAsyncStep implementation) => this.implementation = implementation; + public ISendAsync Create(ISendAsync next) => new Sender { next = next, implementation = implementation }; + + } + + public class HttpClientFactory : ISendAsyncTerminalFactory, ISendAsync + { + HttpClient client; + public HttpClientFactory() : this(new HttpClient()) + { + } + public HttpClientFactory(HttpClient client) => this.client = client; + public ISendAsync Create() => this; + + public Task SendAsync(HttpRequestMessage request, IEventListener callback) => client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead, callback.Token); + } + + public interface ISendAsyncFactory + { + ISendAsync Create(ISendAsync next); + } + + public interface ISendAsyncTerminalFactory + { + ISendAsync Create(); + } + + public partial class HttpPipeline : ISendAsync + { + private ISendAsync pipeline; + private ISendAsyncTerminalFactory terminal; + private List steps = new List(); + + public HttpPipeline() : this(new HttpClientFactory()) + { + } + + public HttpPipeline(ISendAsyncTerminalFactory terminalStep) + { + if (terminalStep == null) + { + throw new System.ArgumentNullException(nameof(terminalStep), "Terminal Step Factory in HttpPipeline may not be null"); + } + TerminalFactory = terminalStep; + } + + /// + /// Returns an HttpPipeline with the current state of this pipeline. + /// + public HttpPipeline Clone() => new HttpPipeline(terminal) { steps = this.steps.ToList(), pipeline = this.pipeline }; + + public ISendAsyncTerminalFactory TerminalFactory + { + get => terminal; + set + { + if (value == null) + { + throw new System.ArgumentNullException("TerminalFactory in HttpPipeline may not be null"); + } + terminal = value; + } + } + + public ISendAsync Pipeline + { + get + { + // if the pipeline has been created and not invalidated, return it. + if (this.pipeline != null) + { + return this.pipeline; + } + + // create the pipeline from scratch. + var next = terminal.Create(); + foreach (var factory in steps) + { + // skip factories that return null. + next = factory.Create(next) ?? next; + } + return this.pipeline = next; + } + } + + public int Count => steps.Count; + + public HttpPipeline Prepend(ISendAsyncFactory item) + { + if (item != null) + { + steps.Add(item); + pipeline = null; + } + return this; + } + + public HttpPipeline Append(SendAsyncStep item) + { + if (item != null) + { + Append(new SendAsyncFactory(item)); + } + return this; + } + + public HttpPipeline Prepend(SendAsyncStep item) + { + if (item != null) + { + Prepend(new SendAsyncFactory(item)); + } + return this; + } + public HttpPipeline Append(IEnumerable items) + { + if (items != null) + { + foreach (var item in items) + { + Append(new SendAsyncFactory(item)); + } + } + return this; + } + + public HttpPipeline Prepend(IEnumerable items) + { + if (items != null) + { + foreach (var item in items) + { + Prepend(new SendAsyncFactory(item)); + } + } + return this; + } + + public HttpPipeline Append(ISendAsyncFactory item) + { + if (item != null) + { + steps.Insert(0, item); + pipeline = null; + } + return this; + } + public HttpPipeline Prepend(IEnumerable items) + { + if (items != null) + { + foreach (var item in items) + { + Prepend(item); + } + } + return this; + } + + public HttpPipeline Append(IEnumerable items) + { + if (items != null) + { + foreach (var item in items) + { + Append(item); + } + } + return this; + } + + // you can use this as the ISendAsync Implementation + public Task SendAsync(HttpRequestMessage request, IEventListener callback) => Pipeline.SendAsync(request, callback); + } + + internal static partial class Extensions + { + internal static HttpRequestMessage CloneAndDispose(this HttpRequestMessage original, System.Uri requestUri = null, System.Net.Http.HttpMethod method = null) + { + using (original) + { + return original.Clone(requestUri, method); + } + } + + internal static Task CloneWithContentAndDispose(this HttpRequestMessage original, System.Uri requestUri = null, System.Net.Http.HttpMethod method = null) + { + using (original) + { + return original.CloneWithContent(requestUri, method); + } + } + + /// + /// Clones an HttpRequestMessage (without the content) + /// + /// Original HttpRequestMessage (Will be diposed before returning) + /// + /// + /// A clone of the HttpRequestMessage + internal static HttpRequestMessage Clone(this HttpRequestMessage original, System.Uri requestUri = null, System.Net.Http.HttpMethod method = null) + { + var clone = new HttpRequestMessage + { + Method = method ?? original.Method, + RequestUri = requestUri ?? original.RequestUri, + Version = original.Version, + }; + + foreach (KeyValuePair prop in original.Properties) + { + clone.Properties.Add(prop); + } + + foreach (KeyValuePair> header in original.Headers) + { + /* + **temporarily skip cloning telemetry related headers** + clone.Headers.TryAddWithoutValidation(header.Key, header.Value); + */ + if (!"x-ms-unique-id".Equals(header.Key) && !"x-ms-client-request-id".Equals(header.Key) && !"CommandName".Equals(header.Key) && !"FullCommandName".Equals(header.Key) && !"ParameterSetName".Equals(header.Key) && !"User-Agent".Equals(header.Key)) + { + clone.Headers.TryAddWithoutValidation(header.Key, header.Value); + } + } + + return clone; + } + + /// + /// Clones an HttpRequestMessage (including the content stream and content headers) + /// + /// Original HttpRequestMessage (Will be diposed before returning) + /// + /// + /// A clone of the HttpRequestMessage + internal static async Task CloneWithContent(this HttpRequestMessage original, System.Uri requestUri = null, System.Net.Http.HttpMethod method = null) + { + var clone = original.Clone(requestUri, method); + var stream = new System.IO.MemoryStream(); + if (original.Content != null) + { + await original.Content.CopyToAsync(stream).ConfigureAwait(false); + stream.Position = 0; + clone.Content = new StreamContent(stream); + if (original.Content.Headers != null) + { + foreach (var h in original.Content.Headers) + { + clone.Content.Headers.Add(h.Key, h.Value); + } + } + } + return clone; + } + } +} diff --git a/swaggerci/redis/generated/runtime/InfoAttribute.cs b/swaggerci/redis/generated/runtime/InfoAttribute.cs new file mode 100644 index 000000000000..2c6a5e45cc96 --- /dev/null +++ b/swaggerci/redis/generated/runtime/InfoAttribute.cs @@ -0,0 +1,34 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + using System; + + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Class)] + public class InfoAttribute : Attribute + { + public bool Required { get; set; } = false; + public bool ReadOnly { get; set; } = false; + public Type[] PossibleTypes { get; set; } = new Type[0]; + public string Description { get; set; } = ""; + public string SerializedName { get; set; } = ""; + } + + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)] + public class CompleterInfoAttribute : Attribute + { + public string Script { get; set; } = ""; + public string Name { get; set; } = ""; + public string Description { get; set; } = ""; + } + + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)] + public class DefaultInfoAttribute : Attribute + { + public string Script { get; set; } = ""; + public string Name { get; set; } = ""; + public string Description { get; set; } = ""; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Iso/IsoDate.cs b/swaggerci/redis/generated/runtime/Iso/IsoDate.cs new file mode 100644 index 000000000000..a3193747def3 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Iso/IsoDate.cs @@ -0,0 +1,214 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Text; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal struct IsoDate + { + internal int Year { get; set; } // 0-3000 + + internal int Month { get; set; } // 1-12 + + internal int Day { get; set; } // 1-31 + + internal int Hour { get; set; } // 0-24 + + internal int Minute { get; set; } // 0-60 (60 is a special case) + + internal int Second { get; set; } // 0-60 (60 is used for leap seconds) + + internal double Millisecond { get; set; } // 0-999.9... + + internal TimeSpan Offset { get; set; } + + internal DateTimeKind Kind { get; set; } + + internal TimeSpan TimeOfDay => new TimeSpan(Hour, Minute, Second); + + internal DateTime ToDateTime() + { + if (Kind == DateTimeKind.Utc || Offset == TimeSpan.Zero) + { + return new DateTime(Year, Month, Day, Hour, Minute, Second, (int)Millisecond, DateTimeKind.Utc); + } + + return ToDateTimeOffset().DateTime; + } + + internal DateTimeOffset ToDateTimeOffset() + { + return new DateTimeOffset( + Year, + Month, + Day, + Hour, + Minute, + Second, + (int)Millisecond, + Offset + ); + } + + internal DateTime ToUtcDateTime() + { + return ToDateTimeOffset().UtcDateTime; + } + + public override string ToString() + { + var sb = new StringBuilder(); + + // yyyy-MM-dd + sb.Append($"{Year}-{Month:00}-{Day:00}"); + + if (TimeOfDay > new TimeSpan(0)) + { + sb.Append($"T{Hour:00}:{Minute:00}"); + + if (TimeOfDay.Seconds > 0) + { + sb.Append($":{Second:00}"); + } + } + + if (Offset.Ticks == 0) + { + sb.Append('Z'); // UTC + } + else + { + if (Offset.Ticks >= 0) + { + sb.Append('+'); + } + + sb.Append($"{Offset.Hours:00}:{Offset.Minutes:00}"); + } + + return sb.ToString(); + } + + internal static IsoDate FromDateTimeOffset(DateTimeOffset date) + { + return new IsoDate { + Year = date.Year, + Month = date.Month, + Day = date.Day, + Hour = date.Hour, + Minute = date.Minute, + Second = date.Second, + Offset = date.Offset, + Kind = date.Offset == TimeSpan.Zero ? DateTimeKind.Utc : DateTimeKind.Unspecified + }; + } + + private static readonly char[] timeSeperators = { ':', '.' }; + + internal static IsoDate Parse(string text) + { + var tzIndex = -1; + var timeIndex = text.IndexOf('T'); + + var builder = new IsoDate { Day = 1, Month = 1 }; + + // TODO: strip the time zone offset off the end + string dateTime = text; + string timeZone = null; + + if (dateTime.IndexOf('Z') > -1) + { + tzIndex = dateTime.LastIndexOf('Z'); + + builder.Kind = DateTimeKind.Utc; + } + else if (dateTime.LastIndexOf('+') > 10) + { + tzIndex = dateTime.LastIndexOf('+'); + } + else if (dateTime.LastIndexOf('-') > 10) + { + tzIndex = dateTime.LastIndexOf('-'); + } + + if (tzIndex > -1) + { + timeZone = dateTime.Substring(tzIndex); + dateTime = dateTime.Substring(0, tzIndex); + } + + string date = (timeIndex == -1) ? dateTime : dateTime.Substring(0, timeIndex); + + var dateParts = date.Split(Seperator.Dash); // '-' + + for (int i = 0; i < dateParts.Length; i++) + { + var part = dateParts[i]; + + switch (i) + { + case 0: builder.Year = int.Parse(part); break; + case 1: builder.Month = int.Parse(part); break; + case 2: builder.Day = int.Parse(part); break; + } + } + + if (timeIndex > -1) + { + string[] timeParts = dateTime.Substring(timeIndex + 1).Split(timeSeperators); + + for (int i = 0; i < timeParts.Length; i++) + { + var part = timeParts[i]; + + switch (i) + { + case 0: builder.Hour = int.Parse(part); break; + case 1: builder.Minute = int.Parse(part); break; + case 2: builder.Second = int.Parse(part); break; + case 3: builder.Millisecond = double.Parse("0." + part) * 1000; break; + } + } + } + + if (timeZone != null && timeZone != "Z") + { + var hours = int.Parse(timeZone.Substring(1, 2)); + var minutes = int.Parse(timeZone.Substring(4, 2)); + + if (timeZone[0] == '-') + { + hours = -hours; + minutes = -minutes; + } + + builder.Offset = new TimeSpan(hours, minutes, 0); + } + + return builder; + } + } + + /* + YYYY # eg 1997 + YYYY-MM # eg 1997-07 + YYYY-MM-DD # eg 1997-07-16 + YYYY-MM-DDThh:mmTZD # eg 1997-07-16T19:20+01:00 + YYYY-MM-DDThh:mm:ssTZD # eg 1997-07-16T19:20:30+01:00 + YYYY-MM-DDThh:mm:ss.sTZD # eg 1997-07-16T19:20:30.45+01:00 + + where: + + YYYY = four-digit year + MM = two-digit month (01=January, etc.) + DD = two-digit day of month (01 through 31) + hh = two digits of hour (00 through 23) (am/pm NOT allowed) + mm = two digits of minute (00 through 59) + ss = two digits of second (00 through 59) + s = one or more digits representing a decimal fraction of a second + TZD = time zone designator (Z or +hh:mm or -hh:mm) + */ +} diff --git a/swaggerci/redis/generated/runtime/JsonType.cs b/swaggerci/redis/generated/runtime/JsonType.cs new file mode 100644 index 000000000000..8263991bb283 --- /dev/null +++ b/swaggerci/redis/generated/runtime/JsonType.cs @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal enum JsonType + { + Null = 0, + Object = 1, + Array = 2, + Binary = 3, + Boolean = 4, + Date = 5, + Number = 6, + String = 7 + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/MessageAttribute.cs b/swaggerci/redis/generated/runtime/MessageAttribute.cs new file mode 100644 index 000000000000..c68ca1c36066 --- /dev/null +++ b/swaggerci/redis/generated/runtime/MessageAttribute.cs @@ -0,0 +1,360 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.generated.runtime.Properties; + using System; + using System.Collections.Generic; + using System.Globalization; + using System.Linq; + using System.Management.Automation; + using System.Text; + + [AttributeUsage(AttributeTargets.All)] + public class GenericBreakingChangeAttribute : Attribute + { + private string _message; + //A dexcription of what the change is about, non mandatory + public string ChangeDescription { get; set; } = null; + + //The version the change is effective from, non mandatory + public string DeprecateByVersion { get; } + public bool DeprecateByVersionSet { get; } = false; + + //The date on which the change comes in effect + public DateTime ChangeInEfectByDate { get; } + public bool ChangeInEfectByDateSet { get; } = false; + + //Old way of calling the cmdlet + public string OldWay { get; set; } + //New way fo calling the cmdlet + public string NewWay { get; set; } + + public GenericBreakingChangeAttribute(string message) + { + _message = message; + } + + public GenericBreakingChangeAttribute(string message, string deprecateByVersion) + { + _message = message; + this.DeprecateByVersion = deprecateByVersion; + this.DeprecateByVersionSet = true; + } + + public GenericBreakingChangeAttribute(string message, string deprecateByVersion, string changeInEfectByDate) + { + _message = message; + this.DeprecateByVersion = deprecateByVersion; + this.DeprecateByVersionSet = true; + + if (DateTime.TryParse(changeInEfectByDate, new CultureInfo("en-US"), DateTimeStyles.None, out DateTime result)) + { + this.ChangeInEfectByDate = result; + this.ChangeInEfectByDateSet = true; + } + } + + public DateTime getInEffectByDate() + { + return this.ChangeInEfectByDate.Date; + } + + + /** + * This function prints out the breaking change message for the attribute on the cmdline + * */ + public void PrintCustomAttributeInfo(Action writeOutput) + { + + if (!GetAttributeSpecificMessage().StartsWith(Environment.NewLine)) + { + writeOutput(Environment.NewLine); + } + writeOutput(string.Format(Resources.BreakingChangesAttributesDeclarationMessage, GetAttributeSpecificMessage())); + + + if (!string.IsNullOrWhiteSpace(ChangeDescription)) + { + writeOutput(string.Format(Resources.BreakingChangesAttributesChangeDescriptionMessage, this.ChangeDescription)); + } + + if (ChangeInEfectByDateSet) + { + writeOutput(string.Format(Resources.BreakingChangesAttributesInEffectByDateMessage, this.ChangeInEfectByDate.ToString("d"))); + } + + if (DeprecateByVersionSet) + { + writeOutput(string.Format(Resources.BreakingChangesAttributesInEffectByVersion, this.DeprecateByVersion)); + } + + if (OldWay != null && NewWay != null) + { + writeOutput(string.Format(Resources.BreakingChangesAttributesUsageChangeMessageConsole, OldWay, NewWay)); + } + } + + public virtual bool IsApplicableToInvocation(InvocationInfo invocation) + { + return true; + } + + protected virtual string GetAttributeSpecificMessage() + { + return _message; + } + } + + [AttributeUsage(AttributeTargets.All)] + public class CmdletBreakingChangeAttribute : GenericBreakingChangeAttribute + { + + public string ReplacementCmdletName { get; set; } + + public CmdletBreakingChangeAttribute() : + base(string.Empty) + { + } + + public CmdletBreakingChangeAttribute(string deprecateByVersione) : + base(string.Empty, deprecateByVersione) + { + } + + public CmdletBreakingChangeAttribute(string deprecateByVersion, string changeInEfectByDate) : + base(string.Empty, deprecateByVersion, changeInEfectByDate) + { + } + + protected override string GetAttributeSpecificMessage() + { + if (string.IsNullOrWhiteSpace(ReplacementCmdletName)) + { + return Resources.BreakingChangesAttributesCmdLetDeprecationMessageNoReplacement; + } + else + { + return string.Format(Resources.BreakingChangesAttributesCmdLetDeprecationMessageWithReplacement, ReplacementCmdletName); + } + } + } + + [AttributeUsage(AttributeTargets.All)] + public class ParameterSetBreakingChangeAttribute : GenericBreakingChangeAttribute + { + public string[] ChangedParameterSet { set; get; } + public ParameterSetBreakingChangeAttribute(string[] changedParameterSet) : + base(string.Empty) + { + ChangedParameterSet = changedParameterSet; + } + + public ParameterSetBreakingChangeAttribute(string[] changedParameterSet, string deprecateByVersione) : + base(string.Empty, deprecateByVersione) + { + ChangedParameterSet = changedParameterSet; + } + + public ParameterSetBreakingChangeAttribute(string[] changedParameterSet, string deprecateByVersion, string changeInEfectByDate) : + base(string.Empty, deprecateByVersion, changeInEfectByDate) + { + ChangedParameterSet = changedParameterSet; + } + + protected override string GetAttributeSpecificMessage() + { + + return Resources.BreakingChangesAttributesParameterSetDeprecationMessageNoReplacement; + + } + + public bool IsApplicableToInvocation(InvocationInfo invocation, string parameterSetName) + { + if (ChangedParameterSet != null) + return ChangedParameterSet.Contains(parameterSetName); + return false; + } + + } + + [AttributeUsage(AttributeTargets.All)] + public class PreviewMessageAttribute : Attribute + { + public string _message; + + public PreviewMessageAttribute() + { + this._message = Resources.PreviewCmdletMessage; + } + + public PreviewMessageAttribute(string message) + { + this._message = message; + } + + public void PrintCustomAttributeInfo(System.Management.Automation.PSCmdlet psCmdlet) + { + psCmdlet.WriteWarning(this._message); + } + + public virtual bool IsApplicableToInvocation(InvocationInfo invocation) + { + return true; + } + } + + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)] + public class ParameterBreakingChangeAttribute : GenericBreakingChangeAttribute + { + public string NameOfParameterChanging { get; } + + public string ReplaceMentCmdletParameterName { get; set; } = null; + + public bool IsBecomingMandatory { get; set; } = false; + + public String OldParamaterType { get; set; } + + public String NewParameterType { get; set; } + + public ParameterBreakingChangeAttribute(string nameOfParameterChanging) : + base(string.Empty) + { + this.NameOfParameterChanging = nameOfParameterChanging; + } + + public ParameterBreakingChangeAttribute(string nameOfParameterChanging, string deprecateByVersion) : + base(string.Empty, deprecateByVersion) + { + this.NameOfParameterChanging = nameOfParameterChanging; + } + + public ParameterBreakingChangeAttribute(string nameOfParameterChanging, string deprecateByVersion, string changeInEfectByDate) : + base(string.Empty, deprecateByVersion, changeInEfectByDate) + { + this.NameOfParameterChanging = nameOfParameterChanging; + } + + protected override string GetAttributeSpecificMessage() + { + StringBuilder message = new StringBuilder(); + if (!string.IsNullOrWhiteSpace(ReplaceMentCmdletParameterName)) + { + if (IsBecomingMandatory) + { + message.Append(string.Format(Resources.BreakingChangeAttributeParameterReplacedMandatory, NameOfParameterChanging, ReplaceMentCmdletParameterName)); + } + else + { + message.Append(string.Format(Resources.BreakingChangeAttributeParameterReplaced, NameOfParameterChanging, ReplaceMentCmdletParameterName)); + } + } + else + { + if (IsBecomingMandatory) + { + message.Append(string.Format(Resources.BreakingChangeAttributeParameterMandatoryNow, NameOfParameterChanging)); + } + else + { + message.Append(string.Format(Resources.BreakingChangeAttributeParameterChanging, NameOfParameterChanging)); + } + } + + //See if the type of the param is changing + if (OldParamaterType != null && !string.IsNullOrWhiteSpace(NewParameterType)) + { + message.Append(string.Format(Resources.BreakingChangeAttributeParameterTypeChange, OldParamaterType, NewParameterType)); + } + return message.ToString(); + } + + /// + /// See if the bound parameters contain the current parameter, if they do + /// then the attribbute is applicable + /// If the invocationInfo is null we return true + /// + /// + /// bool + public override bool IsApplicableToInvocation(InvocationInfo invocationInfo) + { + bool? applicable = invocationInfo == null ? true : invocationInfo.BoundParameters?.Keys?.Contains(this.NameOfParameterChanging); + return applicable.HasValue ? applicable.Value : false; + } + } + + [AttributeUsage(AttributeTargets.All)] + public class OutputBreakingChangeAttribute : GenericBreakingChangeAttribute + { + public string DeprecatedCmdLetOutputType { get; } + + //This is still a String instead of a Type as this + //might be undefined at the time of adding the attribute + public string ReplacementCmdletOutputType { get; set; } + + public string[] DeprecatedOutputProperties { get; set; } + + public string[] NewOutputProperties { get; set; } + + public OutputBreakingChangeAttribute(string deprecatedCmdletOutputType) : + base(string.Empty) + { + this.DeprecatedCmdLetOutputType = deprecatedCmdletOutputType; + } + + public OutputBreakingChangeAttribute(string deprecatedCmdletOutputType, string deprecateByVersion) : + base(string.Empty, deprecateByVersion) + { + this.DeprecatedCmdLetOutputType = deprecatedCmdletOutputType; + } + + public OutputBreakingChangeAttribute(string deprecatedCmdletOutputType, string deprecateByVersion, string changeInEfectByDate) : + base(string.Empty, deprecateByVersion, changeInEfectByDate) + { + this.DeprecatedCmdLetOutputType = deprecatedCmdletOutputType; + } + + protected override string GetAttributeSpecificMessage() + { + StringBuilder message = new StringBuilder(); + + //check for the deprecation scenario + if (string.IsNullOrWhiteSpace(ReplacementCmdletOutputType) && NewOutputProperties == null && DeprecatedOutputProperties == null && string.IsNullOrWhiteSpace(ChangeDescription)) + { + message.Append(string.Format(Resources.BreakingChangesAttributesCmdLetOutputTypeDeprecated, DeprecatedCmdLetOutputType)); + } + else + { + if (!string.IsNullOrWhiteSpace(ReplacementCmdletOutputType)) + { + message.Append(string.Format(Resources.BreakingChangesAttributesCmdLetOutputChange1, DeprecatedCmdLetOutputType, ReplacementCmdletOutputType)); + } + else + { + message.Append(string.Format(Resources.BreakingChangesAttributesCmdLetOutputChange2, DeprecatedCmdLetOutputType)); + } + + if (DeprecatedOutputProperties != null && DeprecatedOutputProperties.Length > 0) + { + message.Append(Resources.BreakingChangesAttributesCmdLetOutputPropertiesRemoved); + foreach (string property in DeprecatedOutputProperties) + { + message.Append(" '" + property + "'"); + } + } + + if (NewOutputProperties != null && NewOutputProperties.Length > 0) + { + message.Append(Resources.BreakingChangesAttributesCmdLetOutputPropertiesAdded); + foreach (string property in NewOutputProperties) + { + message.Append(" '" + property + "'"); + } + } + } + return message.ToString(); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/MessageAttributeHelper.cs b/swaggerci/redis/generated/runtime/MessageAttributeHelper.cs new file mode 100644 index 000000000000..6ff7324ce258 --- /dev/null +++ b/swaggerci/redis/generated/runtime/MessageAttributeHelper.cs @@ -0,0 +1,161 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + using Microsoft.Azure.PowerShell.Cmdlets.Redis.generated.runtime.Properties; + using System; + using System.Collections.Generic; + using System.Linq; + using System.Management.Automation; + using System.Reflection; + using System.Text; + using System.Threading.Tasks; + public class MessageAttributeHelper + { + public const string BREAKING_CHANGE_ATTRIBUTE_INFORMATION_LINK = "https://aka.ms/azps-changewarnings"; + public const string SUPPRESS_ERROR_OR_WARNING_MESSAGE_ENV_VARIABLE_NAME = "SuppressAzurePowerShellBreakingChangeWarnings"; + + /** + * This function takes in a CommandInfo (CmdletInfo or FunctionInfo) + * And reads all the deprecation attributes attached to it + * Prints a message on the cmdline For each of the attribute found + * + * the boundParameterNames is a list of parameters bound to the cmdlet at runtime, + * We only process the Parameter beaking change attributes attached only params listed in this list (if present) + * */ + public static void ProcessCustomAttributesAtRuntime(CommandInfo commandInfo, InvocationInfo invocationInfo, String parameterSet, System.Management.Automation.PSCmdlet psCmdlet) + { + bool supressWarningOrError = false; + + try + { + supressWarningOrError = bool.Parse(System.Environment.GetEnvironmentVariable(SUPPRESS_ERROR_OR_WARNING_MESSAGE_ENV_VARIABLE_NAME)); + } + catch (Exception) + { + //no action + } + + if (supressWarningOrError) + { + //Do not process the attributes at runtime... The env variable to override the warning messages is set + return; + } + + List attributes = new List(GetAllBreakingChangeAttributesInType(commandInfo, invocationInfo, parameterSet)); + StringBuilder sb = new StringBuilder(); + Action appendBreakingChangeInfo = (string s) => sb.Append(s); + + if (attributes != null && attributes.Count > 0) + { + appendBreakingChangeInfo(string.Format(Resources.BreakingChangesAttributesHeaderMessage, commandInfo.Name.Split('_')[0])); + + foreach (GenericBreakingChangeAttribute attribute in attributes) + { + attribute.PrintCustomAttributeInfo(appendBreakingChangeInfo); + } + + appendBreakingChangeInfo(string.Format(Resources.BreakingChangesAttributesFooterMessage, BREAKING_CHANGE_ATTRIBUTE_INFORMATION_LINK)); + + psCmdlet.WriteWarning(sb.ToString()); + } + + List previewAttributes = new List(GetAllPreviewAttributesInType(commandInfo, invocationInfo)); + + if (previewAttributes != null && previewAttributes.Count > 0) + { + foreach (PreviewMessageAttribute attribute in previewAttributes) + { + attribute.PrintCustomAttributeInfo(psCmdlet); + } + } + } + + + /** + * This function takes in a CommandInfo (CmdletInfo or FunctionInfo) + * And returns all the deprecation attributes attached to it + * + * the boundParameterNames is a list of parameters bound to the cmdlet at runtime, + * We only process the Parameter beaking change attributes attached only params listed in this list (if present) + **/ + private static IEnumerable GetAllBreakingChangeAttributesInType(CommandInfo commandInfo, InvocationInfo invocationInfo, String parameterSet) + { + List attributeList = new List(); + + if (commandInfo.GetType() == typeof(CmdletInfo)) + { + var type = ((CmdletInfo)commandInfo).ImplementingType; + attributeList.AddRange(type.GetCustomAttributes(typeof(GenericBreakingChangeAttribute), false).Cast()); + + foreach (MethodInfo m in type.GetRuntimeMethods()) + { + attributeList.AddRange((m.GetCustomAttributes(typeof(GenericBreakingChangeAttribute), false).Cast())); + } + + foreach (FieldInfo f in type.GetRuntimeFields()) + { + attributeList.AddRange(f.GetCustomAttributes(typeof(GenericBreakingChangeAttribute), false).Cast()); + } + + foreach (PropertyInfo p in type.GetRuntimeProperties()) + { + attributeList.AddRange(p.GetCustomAttributes(typeof(GenericBreakingChangeAttribute), false).Cast()); + } + } + else if (commandInfo.GetType() == typeof(FunctionInfo)) + { + attributeList.AddRange(((FunctionInfo)commandInfo).ScriptBlock.Attributes.Where(e => typeof(GenericBreakingChangeAttribute).IsAssignableFrom(e.GetType())).Cast()); + foreach (var parameter in ((FunctionInfo)commandInfo).Parameters) + { + attributeList.AddRange(parameter.Value.Attributes.Where(e => typeof(GenericBreakingChangeAttribute).IsAssignableFrom(e.GetType())).Cast()); + } + } + return invocationInfo == null ? attributeList : attributeList.Where(e => e.GetType() == typeof(ParameterSetBreakingChangeAttribute) ? ((ParameterSetBreakingChangeAttribute)e).IsApplicableToInvocation(invocationInfo, parameterSet) : e.IsApplicableToInvocation(invocationInfo)); + } + private static IEnumerable GetAllPreviewAttributesInType(CommandInfo commandInfo, InvocationInfo invocationInfo) + { + List attributeList = new List(); + if (commandInfo.GetType() == typeof(CmdletInfo)) + { + var type = ((CmdletInfo)commandInfo).ImplementingType; + attributeList.AddRange(type.GetCustomAttributes(typeof(PreviewMessageAttribute), false).Cast()); + + foreach (MethodInfo m in type.GetRuntimeMethods()) + { + attributeList.AddRange((m.GetCustomAttributes(typeof(PreviewMessageAttribute), false).Cast())); + } + + foreach (FieldInfo f in type.GetRuntimeFields()) + { + attributeList.AddRange(f.GetCustomAttributes(typeof(PreviewMessageAttribute), false).Cast()); + } + + foreach (PropertyInfo p in type.GetRuntimeProperties()) + { + attributeList.AddRange(p.GetCustomAttributes(typeof(PreviewMessageAttribute), false).Cast()); + } + } + else if (commandInfo.GetType() == typeof(FunctionInfo)) + { + attributeList.AddRange(((FunctionInfo)commandInfo).ScriptBlock.Attributes.Where(e => typeof(PreviewMessageAttribute).IsAssignableFrom(e.GetType())).Cast()); + foreach (var parameter in ((FunctionInfo)commandInfo).Parameters) + { + attributeList.AddRange(parameter.Value.Attributes.Where(e => typeof(PreviewMessageAttribute).IsAssignableFrom(e.GetType())).Cast()); + } + } + return invocationInfo == null ? attributeList : attributeList.Where(e => e.IsApplicableToInvocation(invocationInfo)); + } + } +} diff --git a/swaggerci/redis/generated/runtime/Method.cs b/swaggerci/redis/generated/runtime/Method.cs new file mode 100644 index 000000000000..2b6dca85d88b --- /dev/null +++ b/swaggerci/redis/generated/runtime/Method.cs @@ -0,0 +1,19 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + internal static class Method + { + internal static System.Net.Http.HttpMethod Get = System.Net.Http.HttpMethod.Get; + internal static System.Net.Http.HttpMethod Put = System.Net.Http.HttpMethod.Put; + internal static System.Net.Http.HttpMethod Head = System.Net.Http.HttpMethod.Head; + internal static System.Net.Http.HttpMethod Post = System.Net.Http.HttpMethod.Post; + internal static System.Net.Http.HttpMethod Delete = System.Net.Http.HttpMethod.Delete; + internal static System.Net.Http.HttpMethod Options = System.Net.Http.HttpMethod.Options; + internal static System.Net.Http.HttpMethod Trace = System.Net.Http.HttpMethod.Trace; + internal static System.Net.Http.HttpMethod Patch = new System.Net.Http.HttpMethod("PATCH"); + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Models/JsonMember.cs b/swaggerci/redis/generated/runtime/Models/JsonMember.cs new file mode 100644 index 000000000000..59cb8ae56616 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Models/JsonMember.cs @@ -0,0 +1,83 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Reflection; +using System.Runtime.Serialization; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + + + internal sealed class JsonMember + { + private readonly TypeDetails type; + + private readonly Func getter; + private readonly Action setter; + + internal JsonMember(PropertyInfo property, int defaultOrder) + { + getter = property.GetValue; + setter = property.SetValue; + + var dataMember = property.GetCustomAttribute(); + + Name = dataMember?.Name ?? property.Name; + Order = dataMember?.Order ?? defaultOrder; + EmitDefaultValue = dataMember?.EmitDefaultValue ?? true; + + this.type = TypeDetails.Get(property.PropertyType); + + CanRead = property.CanRead; + } + + internal JsonMember(FieldInfo field, int defaultOrder) + { + getter = field.GetValue; + setter = field.SetValue; + + var dataMember = field.GetCustomAttribute(); + + Name = dataMember?.Name ?? field.Name; + Order = dataMember?.Order ?? defaultOrder; + EmitDefaultValue = dataMember?.EmitDefaultValue ?? true; + + this.type = TypeDetails.Get(field.FieldType); + + CanRead = true; + } + + internal string Name { get; } + + internal int Order { get; } + + internal TypeDetails TypeDetails => type; + + internal Type Type => type.NonNullType; + + internal bool IsList => type.IsList; + + // Arrays, Sets, ... + internal Type ElementType => type.ElementType; + + internal IJsonConverter Converter => type.JsonConverter; + + internal bool EmitDefaultValue { get; } + + internal bool IsStringLike => type.IsStringLike; + + internal object DefaultValue => type.DefaultValue; + + internal bool CanRead { get; } + + #region Helpers + + internal object GetValue(object instance) => getter(instance); + + internal void SetValue(object instance, object value) => setter(instance, value); + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Models/JsonModel.cs b/swaggerci/redis/generated/runtime/Models/JsonModel.cs new file mode 100644 index 000000000000..c55b9c1f4120 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Models/JsonModel.cs @@ -0,0 +1,89 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.Runtime.Serialization; +using System.Reflection; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal class JsonModel + { + private Dictionary map; + private readonly object _sync = new object(); + + private JsonModel(Type type, List members) + { + Type = type ?? throw new ArgumentNullException(nameof(type)); + Members = members ?? throw new ArgumentNullException(nameof(members)); + } + + internal string Name => Type.Name; + + internal Type Type { get; } + + internal List Members { get; } + + internal JsonMember this[string name] + { + get + { + if (map == null) + { + lock (_sync) + { + if (map == null) + { + map = new Dictionary(); + + foreach (JsonMember m in Members) + { + map[m.Name.ToLower()] = m; + } + } + } + } + + + map.TryGetValue(name.ToLower(), out JsonMember member); + + return member; + } + } + + internal static JsonModel FromType(Type type) + { + var members = new List(); + + int i = 0; + + // BindingFlags.Instance | BindingFlags.Public + + foreach (var member in type.GetFields()) + { + if (member.IsStatic) continue; + + if (member.IsDefined(typeof(IgnoreDataMemberAttribute))) continue; + + members.Add(new JsonMember(member, i)); + + i++; + } + + foreach (var member in type.GetProperties(BindingFlags.Public | BindingFlags.Instance)) + { + if (member.IsDefined(typeof(IgnoreDataMemberAttribute))) continue; + + members.Add(new JsonMember(member, i)); + + i++; + } + + members.Sort((a, b) => a.Order.CompareTo(b.Order)); // inline sort + + return new JsonModel(type, members); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Models/JsonModelCache.cs b/swaggerci/redis/generated/runtime/Models/JsonModelCache.cs new file mode 100644 index 000000000000..6a8732712a11 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Models/JsonModelCache.cs @@ -0,0 +1,19 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Runtime.CompilerServices; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal static class JsonModelCache + { + private static readonly ConditionalWeakTable cache + = new ConditionalWeakTable(); + + internal static JsonModel Get(Type type) => cache.GetValue(type, Create); + + private static JsonModel Create(Type type) => JsonModel.FromType(type); + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Nodes/Collections/JsonArray.cs b/swaggerci/redis/generated/runtime/Nodes/Collections/JsonArray.cs new file mode 100644 index 000000000000..c5f7cfb04a9a --- /dev/null +++ b/swaggerci/redis/generated/runtime/Nodes/Collections/JsonArray.cs @@ -0,0 +1,65 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public abstract partial class JsonArray : JsonNode, IEnumerable + { + internal override JsonType Type => JsonType.Array; + + internal abstract JsonType? ElementType { get; } + + public abstract int Count { get; } + + internal virtual bool IsSet => false; + + internal bool IsEmpty => Count == 0; + + #region IEnumerable + + IEnumerator IEnumerable.GetEnumerator() + { + throw new NotImplementedException(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + throw new NotImplementedException(); + } + + #endregion + + #region Static Helpers + + internal static JsonArray Create(short[] values) + => new XImmutableArray(values); + + internal static JsonArray Create(int[] values) + => new XImmutableArray(values); + + internal static JsonArray Create(long[] values) + => new XImmutableArray(values); + + internal static JsonArray Create(decimal[] values) + => new XImmutableArray(values); + + internal static JsonArray Create(float[] values) + => new XImmutableArray(values); + + internal static JsonArray Create(string[] values) + => new XImmutableArray(values); + + internal static JsonArray Create(XBinary[] values) + => new XImmutableArray(values); + + #endregion + + internal static new JsonArray Parse(string text) + => (JsonArray)JsonNode.Parse(text); + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Nodes/Collections/XImmutableArray.cs b/swaggerci/redis/generated/runtime/Nodes/Collections/XImmutableArray.cs new file mode 100644 index 000000000000..5cfe858da17e --- /dev/null +++ b/swaggerci/redis/generated/runtime/Nodes/Collections/XImmutableArray.cs @@ -0,0 +1,62 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal sealed class XImmutableArray : JsonArray, IEnumerable + { + private readonly T[] values; + private readonly JsonType elementType; + private readonly TypeCode elementCode; + + internal XImmutableArray(T[] values) + { + this.values = values ?? throw new ArgumentNullException(nameof(values)); + this.elementCode = System.Type.GetTypeCode(typeof(T)); + this.elementType = XHelper.GetElementType(this.elementCode); + } + + public override JsonNode this[int index] => + XHelper.Create(elementType, elementCode, values[index]); + + internal override JsonType? ElementType => elementType; + + public override int Count => values.Length; + + public bool IsReadOnly => true; + + #region IEnumerable Members + + IEnumerator IEnumerable.GetEnumerator() + { + foreach (T value in values) + { + yield return XHelper.Create(elementType, elementCode, value); + } + } + + IEnumerator IEnumerable.GetEnumerator() + { + foreach (T value in values) + { + yield return XHelper.Create(elementType, elementCode, value); + } + } + + #endregion + + #region Static Constructor + + internal XImmutableArray Create(T[] items) + { + return new XImmutableArray(items); + } + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Nodes/Collections/XList.cs b/swaggerci/redis/generated/runtime/Nodes/Collections/XList.cs new file mode 100644 index 000000000000..42b2c929e665 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Nodes/Collections/XList.cs @@ -0,0 +1,64 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal sealed class XList : JsonArray, IEnumerable + { + private readonly IList values; + private readonly JsonType elementType; + private readonly TypeCode elementCode; + + internal XList(IList values) + { + this.values = values ?? throw new ArgumentNullException(nameof(values)); + this.elementCode = System.Type.GetTypeCode(typeof(T)); + this.elementType = XHelper.GetElementType(this.elementCode); + } + + public override JsonNode this[int index] => + XHelper.Create(elementType, elementCode, values[index]); + + internal override JsonType? ElementType => elementType; + + public override int Count => values.Count; + + public bool IsReadOnly => values.IsReadOnly; + + #region IList + + public void Add(T value) + { + values.Add(value); + } + + public bool Contains(T value) => values.Contains(value); + + #endregion + + #region IEnumerable Members + + IEnumerator IEnumerable.GetEnumerator() + { + foreach (var value in values) + { + yield return XHelper.Create(elementType, elementCode, value); + } + } + + IEnumerator IEnumerable.GetEnumerator() + { + foreach (var value in values) + { + yield return XHelper.Create(elementType, elementCode, value); + } + } + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Nodes/Collections/XNodeArray.cs b/swaggerci/redis/generated/runtime/Nodes/Collections/XNodeArray.cs new file mode 100644 index 000000000000..f3db7136ae50 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Nodes/Collections/XNodeArray.cs @@ -0,0 +1,68 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System.Collections; +using System.Collections.Generic; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed partial class XNodeArray : JsonArray, ICollection + { + private readonly List items; + + internal XNodeArray() + { + items = new List(); + } + + internal XNodeArray(params JsonNode[] values) + { + items = new List(values); + } + + public override JsonNode this[int index] => items[index]; + + internal override JsonType? ElementType => null; + + public bool IsReadOnly => false; + + public override int Count => items.Count; + + #region ICollection Members + + public void Add(JsonNode item) + { + items.Add(item); + } + + void ICollection.Clear() + { + items.Clear(); + } + + public bool Contains(JsonNode item) => items.Contains(item); + + void ICollection.CopyTo(JsonNode[] array, int arrayIndex) + { + items.CopyTo(array, arrayIndex); + } + + public bool Remove(JsonNode item) + { + return items.Remove(item); + } + + #endregion + + #region IEnumerable Members + + IEnumerator IEnumerable.GetEnumerator() + => items.GetEnumerator(); + + IEnumerator IEnumerable.GetEnumerator() + => items.GetEnumerator(); + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Nodes/Collections/XSet.cs b/swaggerci/redis/generated/runtime/Nodes/Collections/XSet.cs new file mode 100644 index 000000000000..0129fe96e4ff --- /dev/null +++ b/swaggerci/redis/generated/runtime/Nodes/Collections/XSet.cs @@ -0,0 +1,60 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal sealed class XSet : JsonArray, IEnumerable + { + private readonly HashSet values; + private readonly JsonType elementType; + private readonly TypeCode elementCode; + + internal XSet(IEnumerable values) + : this(new HashSet(values)) + { } + + internal XSet(HashSet values) + { + this.values = values ?? throw new ArgumentNullException(nameof(values)); + this.elementCode = System.Type.GetTypeCode(typeof(T)); + this.elementType = XHelper.GetElementType(this.elementCode); + } + + internal override JsonType Type => JsonType.Array; + + internal override JsonType? ElementType => elementType; + + public bool IsReadOnly => true; + + public override int Count => values.Count; + + internal override bool IsSet => true; + + #region IEnumerable Members + + IEnumerator IEnumerable.GetEnumerator() + { + foreach (var value in values) + { + yield return XHelper.Create(elementType, elementCode, value); + } + } + + IEnumerator IEnumerable.GetEnumerator() + { + foreach (var value in values) + { + yield return XHelper.Create(elementType, elementCode, value); + } + } + + #endregion + + internal HashSet AsHashSet() => values; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Nodes/JsonBoolean.cs b/swaggerci/redis/generated/runtime/Nodes/JsonBoolean.cs new file mode 100644 index 000000000000..df9e9bd891fa --- /dev/null +++ b/swaggerci/redis/generated/runtime/Nodes/JsonBoolean.cs @@ -0,0 +1,42 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal sealed partial class JsonBoolean : JsonNode + { + internal static readonly JsonBoolean True = new JsonBoolean(true); + internal static readonly JsonBoolean False = new JsonBoolean(false); + + internal JsonBoolean(bool value) + { + Value = value; + } + + internal bool Value { get; } + + internal override JsonType Type => JsonType.Boolean; + + internal static new JsonBoolean Parse(string text) + { + switch (text) + { + case "false": return False; + case "true": return True; + + default: throw new ArgumentException($"Expected true or false. Was {text}."); + } + } + + #region Implicit Casts + + public static implicit operator bool(JsonBoolean data) => data.Value; + + public static implicit operator JsonBoolean(bool data) => new JsonBoolean(data); + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Nodes/JsonDate.cs b/swaggerci/redis/generated/runtime/Nodes/JsonDate.cs new file mode 100644 index 000000000000..dabd3a6e1ed4 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Nodes/JsonDate.cs @@ -0,0 +1,173 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + + + internal sealed partial class JsonDate : JsonNode, IEquatable, IComparable + { + internal static bool AssumeUtcWhenKindIsUnspecified = true; + + private readonly DateTimeOffset value; + + internal JsonDate(DateTime value) + { + if (value.Kind == DateTimeKind.Unspecified && AssumeUtcWhenKindIsUnspecified) + { + value = DateTime.SpecifyKind(value, DateTimeKind.Utc); + } + + this.value = value; + } + + internal JsonDate(DateTimeOffset value) + { + this.value = value; + } + + internal override JsonType Type => JsonType.Date; + + #region Helpers + + internal DateTimeOffset ToDateTimeOffset() + { + return value; + } + + internal DateTime ToDateTime() + { + if (value.Offset == TimeSpan.Zero) + { + return value.UtcDateTime; + } + + return value.DateTime; + } + + internal DateTime ToUtcDateTime() => value.UtcDateTime; + + internal int ToUnixTimeSeconds() + { + return (int)value.ToUnixTimeSeconds(); + } + + internal long ToUnixTimeMilliseconds() + { + return (int)value.ToUnixTimeMilliseconds(); + } + + internal string ToIsoString() + { + return IsoDate.FromDateTimeOffset(value).ToString(); + } + + #endregion + + public override string ToString() + { + return ToIsoString(); + } + + internal static new JsonDate Parse(string text) + { + if (text == null) throw new ArgumentNullException(nameof(text)); + + // TODO support: unixtimeseconds.partialseconds + + if (text.Length > 4 && _IsNumber(text)) // UnixTime + { + var date = DateTimeOffset.FromUnixTimeSeconds(long.Parse(text)); + + return new JsonDate(date); + } + else if (text.Length <= 4 || text[4] == '-') // ISO: 2012- + { + return new JsonDate(IsoDate.Parse(text).ToDateTimeOffset()); + } + else + { + // NOT ISO ENCODED + // "Thu, 5 Apr 2012 16:59:01 +0200", + return new JsonDate(DateTimeOffset.Parse(text)); + } + } + + private static bool _IsNumber(string text) + { + foreach (var c in text) + { + if (!char.IsDigit(c)) return false; + } + + return true; + } + + internal static JsonDate FromUnixTime(int seconds) + { + return new JsonDate(DateTimeOffset.FromUnixTimeSeconds(seconds)); + } + + internal static JsonDate FromUnixTime(double seconds) + { + var milliseconds = (long)(seconds * 1000d); + + return new JsonDate(DateTimeOffset.FromUnixTimeMilliseconds(milliseconds)); + } + + #region Implicit Casts + + public static implicit operator DateTimeOffset(JsonDate value) + => value.ToDateTimeOffset(); + + public static implicit operator DateTime(JsonDate value) + => value.ToDateTime(); + + // From Date + public static implicit operator JsonDate(DateTimeOffset value) + { + return new JsonDate(value); + } + + public static implicit operator JsonDate(DateTime value) + { + return new JsonDate(value); + } + + // From String + public static implicit operator JsonDate(string value) + { + return Parse(value); + } + + #endregion + + #region Equality + + public override bool Equals(object obj) + { + return obj is JsonDate date && date.value == this.value; + } + + public bool Equals(JsonDate other) + { + return this.value == other.value; + } + + public override int GetHashCode() => value.GetHashCode(); + + #endregion + + #region IComparable Members + + int IComparable.CompareTo(JsonDate other) + { + return value.CompareTo(other.value); + } + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Nodes/JsonNode.cs b/swaggerci/redis/generated/runtime/Nodes/JsonNode.cs new file mode 100644 index 000000000000..6d58043338a3 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Nodes/JsonNode.cs @@ -0,0 +1,250 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.IO; +using System.Text; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + + + public abstract partial class JsonNode + { + internal abstract JsonType Type { get; } + + public virtual JsonNode this[int index] => throw new NotImplementedException(); + + public virtual JsonNode this[string name] + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + + #region Type Helpers + + internal bool IsArray => Type == JsonType.Array; + + internal bool IsDate => Type == JsonType.Date; + + internal bool IsObject => Type == JsonType.Object; + + internal bool IsNumber => Type == JsonType.Number; + + internal bool IsNull => Type == JsonType.Null; + + #endregion + + internal void WriteTo(TextWriter textWriter, bool pretty = true) + { + var writer = new JsonWriter(textWriter, pretty); + + writer.WriteNode(this); + } + + internal T As() + where T : new() + => new JsonSerializer().Deseralize((JsonObject)this); + + internal T[] ToArrayOf() + { + return (T[])new JsonSerializer().DeserializeArray(typeof(T[]), (JsonArray)this); + } + + #region ToString Overrides + + public override string ToString() => ToString(pretty: true); + + internal string ToString(bool pretty) + { + var sb = new StringBuilder(); + + using (var writer = new StringWriter(sb)) + { + WriteTo(writer, pretty); + + return sb.ToString(); + } + } + + #endregion + + #region Static Constructors + + internal static JsonNode Parse(string text) + { + return Parse(new SourceReader(new StringReader(text))); + } + + internal static JsonNode Parse(TextReader textReader) + => Parse(new SourceReader(textReader)); + + private static JsonNode Parse(SourceReader sourceReader) + { + using (var parser = new JsonParser(sourceReader)) + { + return parser.ReadNode(); + } + } + + internal static JsonNode FromObject(object instance) + => new JsonSerializer().Serialize(instance); + + #endregion + + #region Implict Casts + + public static implicit operator string(JsonNode node) => node.ToString(); + + #endregion + + #region Explict Casts + + public static explicit operator DateTime(JsonNode node) + { + switch (node.Type) + { + case JsonType.Date: + return ((JsonDate)node).ToDateTime(); + + case JsonType.String: + return JsonDate.Parse(node.ToString()).ToDateTime(); + + case JsonType.Number: + var num = (JsonNumber)node; + + if (num.IsInteger) + { + return DateTimeOffset.FromUnixTimeSeconds(num).UtcDateTime; + } + else + { + return DateTimeOffset.FromUnixTimeMilliseconds((long)((double)num * 1000)).UtcDateTime; + } + } + + throw new ConversionException(node, typeof(DateTime)); + } + + public static explicit operator DateTimeOffset(JsonNode node) + { + switch (node.Type) + { + case JsonType.Date : return ((JsonDate)node).ToDateTimeOffset(); + case JsonType.String : return JsonDate.Parse(node.ToString()).ToDateTimeOffset(); + + case JsonType.Number: + var num = (JsonNumber)node; + + if (num.IsInteger) + { + return DateTimeOffset.FromUnixTimeSeconds(num); + } + else + { + return DateTimeOffset.FromUnixTimeMilliseconds((long)((double)num * 1000)); + } + + } + + throw new ConversionException(node, typeof(DateTimeOffset)); + } + + public static explicit operator float(JsonNode node) + { + switch (node.Type) + { + case JsonType.Number : return (JsonNumber)node; + case JsonType.String : return float.Parse(node.ToString()); + } + + throw new ConversionException(node, typeof(float)); + } + + public static explicit operator double(JsonNode node) + { + switch (node.Type) + { + case JsonType.Number : return (JsonNumber)node; + case JsonType.String : return double.Parse(node.ToString()); + } + + throw new ConversionException(node, typeof(double)); + } + + public static explicit operator decimal(JsonNode node) + { + switch (node.Type) + { + case JsonType.Number: return (JsonNumber)node; + case JsonType.String: return decimal.Parse(node.ToString()); + } + + throw new ConversionException(node, typeof(decimal)); + } + + public static explicit operator Guid(JsonNode node) + => new Guid(node.ToString()); + + public static explicit operator short(JsonNode node) + { + switch (node.Type) + { + case JsonType.Number : return (JsonNumber)node; + case JsonType.String : return short.Parse(node.ToString()); + } + + throw new ConversionException(node, typeof(short)); + } + + public static explicit operator int(JsonNode node) + { + switch (node.Type) + { + case JsonType.Number : return (JsonNumber)node; + case JsonType.String : return int.Parse(node.ToString()); + } + + throw new ConversionException(node, typeof(int)); + } + + public static explicit operator long(JsonNode node) + { + switch (node.Type) + { + case JsonType.Number: return (JsonNumber)node; + case JsonType.String: return long.Parse(node.ToString()); + } + + throw new ConversionException(node, typeof(long)); + } + + public static explicit operator bool(JsonNode node) + => ((JsonBoolean)node).Value; + + public static explicit operator ushort(JsonNode node) + => (JsonNumber)node; + + public static explicit operator uint(JsonNode node) + => (JsonNumber)node; + + public static explicit operator ulong(JsonNode node) + => (JsonNumber)node; + + public static explicit operator TimeSpan(JsonNode node) + => TimeSpan.Parse(node.ToString()); + + public static explicit operator Uri(JsonNode node) + { + if (node.Type == JsonType.String) + { + return new Uri(node.ToString()); + } + + throw new ConversionException(node, typeof(Uri)); + } + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Nodes/JsonNumber.cs b/swaggerci/redis/generated/runtime/Nodes/JsonNumber.cs new file mode 100644 index 000000000000..a48aea4d41eb --- /dev/null +++ b/swaggerci/redis/generated/runtime/Nodes/JsonNumber.cs @@ -0,0 +1,109 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed partial class JsonNumber : JsonNode + { + private readonly string value; + private readonly bool overflows = false; + + internal JsonNumber(string value) + { + this.value = value ?? throw new ArgumentNullException(nameof(value)); + } + + internal JsonNumber(int value) + { + this.value = value.ToString(); + } + + internal JsonNumber(long value) + { + this.value = value.ToString(); + + if (value > 9007199254740991) + { + overflows = true; + } + } + + internal JsonNumber(float value) + { + this.value = value.ToString(System.Globalization.CultureInfo.InvariantCulture); + } + + internal JsonNumber(double value) + { + this.value = value.ToString(System.Globalization.CultureInfo.InvariantCulture); + } + + internal override JsonType Type => JsonType.Number; + + internal string Value => value; + + #region Helpers + + internal bool Overflows => overflows; + + internal bool IsInteger => !value.Contains("."); + + internal bool IsFloat => value.Contains("."); + + #endregion + + #region Casting + + public static implicit operator byte(JsonNumber number) + => byte.Parse(number.Value); + + public static implicit operator short(JsonNumber number) + => short.Parse(number.Value); + + public static implicit operator int(JsonNumber number) + => int.Parse(number.Value); + + public static implicit operator long(JsonNumber number) + => long.Parse(number.value); + + public static implicit operator UInt16(JsonNumber number) + => ushort.Parse(number.Value); + + public static implicit operator UInt32(JsonNumber number) + => uint.Parse(number.Value); + + public static implicit operator UInt64(JsonNumber number) + => ulong.Parse(number.Value); + + public static implicit operator decimal(JsonNumber number) + => decimal.Parse(number.Value, System.Globalization.CultureInfo.InvariantCulture); + + public static implicit operator Double(JsonNumber number) + => double.Parse(number.value, System.Globalization.CultureInfo.InvariantCulture); + + public static implicit operator float(JsonNumber number) + => float.Parse(number.value, System.Globalization.CultureInfo.InvariantCulture); + + public static implicit operator JsonNumber(short data) + => new JsonNumber(data.ToString()); + + public static implicit operator JsonNumber(int data) + => new JsonNumber(data); + + public static implicit operator JsonNumber(long data) + => new JsonNumber(data); + + public static implicit operator JsonNumber(Single data) + => new JsonNumber(data.ToString()); + + public static implicit operator JsonNumber(double data) + => new JsonNumber(data.ToString()); + + #endregion + + public override string ToString() => value; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Nodes/JsonObject.cs b/swaggerci/redis/generated/runtime/Nodes/JsonObject.cs new file mode 100644 index 000000000000..4f5316eea25c --- /dev/null +++ b/swaggerci/redis/generated/runtime/Nodes/JsonObject.cs @@ -0,0 +1,172 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public partial class JsonObject : JsonNode, IDictionary + { + private readonly Dictionary items; + + internal JsonObject() + { + items = new Dictionary(); + } + + internal JsonObject(IEnumerable> properties) + { + if (properties == null) throw new ArgumentNullException(nameof(properties)); + + items = new Dictionary(); + + foreach (var field in properties) + { + items.Add(field.Key, field.Value); + } + } + + #region IDictionary Constructors + + internal JsonObject(IDictionary dic) + { + items = new Dictionary(dic.Count); + + foreach (var pair in dic) + { + Add(pair.Key, pair.Value); + } + } + + #endregion + + internal override JsonType Type => JsonType.Object; + + #region Add Overloads + + public void Add(string name, JsonNode value) => + items.Add(name, value); + + public void Add(string name, byte[] value) => + items.Add(name, new XBinary(value)); + + public void Add(string name, DateTime value) => + items.Add(name, new JsonDate(value)); + + public void Add(string name, int value) => + items.Add(name, new JsonNumber(value.ToString())); + + public void Add(string name, long value) => + items.Add(name, new JsonNumber(value.ToString())); + + public void Add(string name, float value) => + items.Add(name, new JsonNumber(value.ToString())); + + public void Add(string name, double value) => + items.Add(name, new JsonNumber(value.ToString())); + + public void Add(string name, string value) => + items.Add(name, new JsonString(value)); + + public void Add(string name, bool value) => + items.Add(name, new JsonBoolean(value)); + + public void Add(string name, Uri url) => + items.Add(name, new JsonString(url.AbsoluteUri)); + + public void Add(string name, string[] values) => + items.Add(name, new XImmutableArray(values)); + + public void Add(string name, int[] values) => + items.Add(name, new XImmutableArray(values)); + + #endregion + + #region ICollection> Members + + void ICollection>.Add(KeyValuePair item) + { + items.Add(item.Key, item.Value); + } + + void ICollection>.Clear() + { + items.Clear(); + } + + bool ICollection>.Contains(KeyValuePair item) => + throw new NotImplementedException(); + + void ICollection>.CopyTo(KeyValuePair[] array, int arrayIndex) => + throw new NotImplementedException(); + + + int ICollection>.Count => items.Count; + + bool ICollection>.IsReadOnly => false; + + bool ICollection>.Remove(KeyValuePair item) => + throw new NotImplementedException(); + + #endregion + + #region IDictionary Members + + public bool ContainsKey(string key) => items.ContainsKey(key); + + public ICollection Keys => items.Keys; + + public bool Remove(string key) => items.Remove(key); + + public bool TryGetValue(string key, out JsonNode value) => + items.TryGetValue(key, out value); + + public ICollection Values => items.Values; + + public override JsonNode this[string key] + { + get => items[key]; + set => items[key] = value; + } + + #endregion + + #region IEnumerable + + IEnumerator> IEnumerable>.GetEnumerator() + => items.GetEnumerator(); + + IEnumerator IEnumerable.GetEnumerator() + => items.GetEnumerator(); + + #endregion + + #region Helpers + + internal static new JsonObject FromObject(object instance) => + (JsonObject)new JsonSerializer().Serialize(instance); + + #endregion + + #region Static Constructors + + internal static JsonObject FromStream(Stream stream) + { + using (var tr = new StreamReader(stream)) + { + return (JsonObject)Parse(tr); + } + } + + internal static new JsonObject Parse(string text) + { + return (JsonObject)JsonNode.Parse(text); + } + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Nodes/JsonString.cs b/swaggerci/redis/generated/runtime/Nodes/JsonString.cs new file mode 100644 index 000000000000..7922b296ee57 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Nodes/JsonString.cs @@ -0,0 +1,42 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed partial class JsonString : JsonNode, IEquatable + { + private readonly string value; + + internal JsonString(string value) + { + this.value = value ?? throw new ArgumentNullException(nameof(value)); + } + + internal override JsonType Type => JsonType.String; + + internal string Value => value; + + internal int Length => value.Length; + + #region #region Implicit Casts + + public static implicit operator string(JsonString data) => data.Value; + + public static implicit operator JsonString(string value) => new JsonString(value); + + #endregion + + public override int GetHashCode() => value.GetHashCode(); + + public override string ToString() => value; + + #region IEquatable + + bool IEquatable.Equals(JsonString other) => this.Value == other.Value; + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Nodes/XBinary.cs b/swaggerci/redis/generated/runtime/Nodes/XBinary.cs new file mode 100644 index 000000000000..4715ee8b4850 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Nodes/XBinary.cs @@ -0,0 +1,40 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal sealed class XBinary : JsonNode + { + private readonly byte[] _value; + private readonly string _base64; + + internal XBinary(byte[] value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + internal XBinary(string base64EncodedString) + { + _base64 = base64EncodedString ?? throw new ArgumentNullException(nameof(base64EncodedString)); + } + + internal override JsonType Type => JsonType.Binary; + + internal byte[] Value => _value ?? Convert.FromBase64String(_base64); + + #region #region Implicit Casts + + public static implicit operator byte[] (XBinary data) => data.Value; + + public static implicit operator XBinary(byte[] data) => new XBinary(data); + + #endregion + + public override int GetHashCode() => Value.GetHashCode(); + + public override string ToString() => _base64 ?? Convert.ToBase64String(_value); + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Nodes/XNull.cs b/swaggerci/redis/generated/runtime/Nodes/XNull.cs new file mode 100644 index 000000000000..a31f87451e42 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Nodes/XNull.cs @@ -0,0 +1,15 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal sealed class XNull : JsonNode + { + internal static readonly XNull Instance = new XNull(); + + private XNull() { } + + internal override JsonType Type => JsonType.Null; + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Parser/Exceptions/ParseException.cs b/swaggerci/redis/generated/runtime/Parser/Exceptions/ParseException.cs new file mode 100644 index 000000000000..cc28510e298d --- /dev/null +++ b/swaggerci/redis/generated/runtime/Parser/Exceptions/ParseException.cs @@ -0,0 +1,24 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal class ParserException : Exception + { + internal ParserException(string message) + : base(message) + { } + + internal ParserException(string message, SourceLocation location) + : base(message) + { + + Location = location; + } + + internal SourceLocation Location { get; } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Parser/JsonParser.cs b/swaggerci/redis/generated/runtime/Parser/JsonParser.cs new file mode 100644 index 000000000000..9656d8ee97e2 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Parser/JsonParser.cs @@ -0,0 +1,180 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.IO; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public class JsonParser : IDisposable + { + private readonly TokenReader reader; + + internal JsonParser(TextReader reader) + : this(new SourceReader(reader)) { } + + internal JsonParser(SourceReader sourceReader) + { + if (sourceReader == null) + throw new ArgumentNullException(nameof(sourceReader)); + + this.reader = new TokenReader(new JsonTokenizer(sourceReader)); + + this.reader.Next(); // Start with the first token + } + + internal IEnumerable ReadNodes() + { + JsonNode node; + + while ((node = ReadNode()) != null) yield return node; + } + + internal JsonNode ReadNode() + { + if (reader.Current.Kind == TokenKind.Eof || reader.Current.IsTerminator) + { + return null; + } + + switch (reader.Current.Kind) + { + case TokenKind.LeftBrace : return ReadObject(); // { + case TokenKind.LeftBracket : return ReadArray(); // [ + + default: throw new ParserException($"Expected '{{' or '['. Was {reader.Current}."); + } + } + + private JsonNode ReadFieldValue() + { + // Boolean, Date, Null, Number, String, Uri + if (reader.Current.IsLiteral) + { + return ReadLiteral(); + } + else + { + switch (reader.Current.Kind) + { + case TokenKind.LeftBracket: return ReadArray(); + case TokenKind.LeftBrace : return ReadObject(); + + default: throw new ParserException($"Unexpected token reading field value. Was {reader.Current}."); + } + } + } + + private JsonNode ReadLiteral() + { + var literal = reader.Current; + + reader.Next(); // Read the literal token + + switch (literal.Kind) + { + case TokenKind.Boolean : return JsonBoolean.Parse(literal.Value); + case TokenKind.Null : return XNull.Instance; + case TokenKind.Number : return new JsonNumber(literal.Value); + case TokenKind.String : return new JsonString(literal.Value); + + default: throw new ParserException($"Unexpected token reading literal. Was {literal}."); + } + } + + internal JsonObject ReadObject() + { + reader.Ensure(TokenKind.LeftBrace, "object"); + + reader.Next(); // Read '{' (Object start) + + var jsonObject = new JsonObject(); + + // Read the object's fields until we reach the end of the object ('}') + while (reader.Current.Kind != TokenKind.RightBrace) + { + if (reader.Current.Kind == TokenKind.Comma) + { + reader.Next(); // Read ',' (Seperator) + } + + // Ensure we have a field name + reader.Ensure(TokenKind.String, "Expected field name"); + + var field = ReadField(); + + jsonObject.Add(field.Key, field.Value); + } + + reader.Next(); // Read '}' (Object end) + + return jsonObject; + } + + + // TODO: Use ValueTuple in C#7 + private KeyValuePair ReadField() + { + var fieldName = reader.Current.Value; + + reader.Next(); // Read the field name + + reader.Ensure(TokenKind.Colon, "field"); + + reader.Next(); // Read ':' (Field value indicator) + + return new KeyValuePair(fieldName, ReadFieldValue()); + } + + + internal JsonArray ReadArray() + { + reader.Ensure(TokenKind.LeftBracket, "array"); + + var array = new XNodeArray(); + + reader.Next(); // Read the '[' (Array start) + + // Read the array's items + while (reader.Current.Kind != TokenKind.RightBracket) + { + if (reader.Current.Kind == TokenKind.Comma) + { + reader.Next(); // Read the ',' (Seperator) + } + + if (reader.Current.IsLiteral) + { + array.Add(ReadLiteral()); // Boolean, Date, Number, Null, String, Uri + } + else if (reader.Current.Kind == TokenKind.LeftBracket) + { + array.Add(ReadArray()); // Array + } + else if (reader.Current.Kind == TokenKind.LeftBrace) + { + array.Add(ReadObject()); // Object + } + else + { + throw new ParserException($"Expected comma, literal, or object. Was {reader.Current}."); + } + } + + reader.Next(); // Read the ']' (Array end) + + return array; + } + + #region IDisposable + + public void Dispose() + { + reader.Dispose(); + } + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Parser/JsonToken.cs b/swaggerci/redis/generated/runtime/Parser/JsonToken.cs new file mode 100644 index 000000000000..eca3451fd653 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Parser/JsonToken.cs @@ -0,0 +1,66 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal enum TokenKind + { + LeftBrace, // { Object start + RightBrace, // } Object end + + LeftBracket, // [ Array start + RightBracket, // ] Array end + + Comma, // , Comma + Colon, // : Value indicator + Dot, // . Access field indicator + Terminator, // \0 Stream terminator + + Boolean = 31, // true or false + Null = 33, // null + Number = 34, // i.e. -1.93, -1, 0, 1, 1.1 + String = 35, // i.e. "text" + + Eof = 50 + } + + internal /* readonly */ struct JsonToken + { + internal static readonly JsonToken BraceOpen = new JsonToken(TokenKind.LeftBrace, "{"); + internal static readonly JsonToken BraceClose = new JsonToken(TokenKind.RightBrace, "}"); + + internal static readonly JsonToken BracketOpen = new JsonToken(TokenKind.LeftBracket, "["); + internal static readonly JsonToken BracketClose = new JsonToken(TokenKind.RightBracket, "]"); + + internal static readonly JsonToken Colon = new JsonToken(TokenKind.Colon, ":"); + internal static readonly JsonToken Comma = new JsonToken(TokenKind.Comma, ","); + internal static readonly JsonToken Terminator = new JsonToken(TokenKind.Terminator, "\0"); + + internal static readonly JsonToken True = new JsonToken(TokenKind.Boolean, "true"); + internal static readonly JsonToken False = new JsonToken(TokenKind.Boolean, "false"); + internal static readonly JsonToken Null = new JsonToken(TokenKind.Null, "null"); + + internal static readonly JsonToken Eof = new JsonToken(TokenKind.Eof, null); + + internal JsonToken(TokenKind kind, string value) + { + Kind = kind; + Value = value; + } + + internal readonly TokenKind Kind; + + internal readonly string Value; + + public override string ToString() => Kind + ": " + Value; + + #region Helpers + + internal bool IsLiteral => (byte)Kind > 30 && (byte)Kind < 40; + + internal bool IsTerminator => Kind == TokenKind.Terminator; + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Parser/JsonTokenizer.cs b/swaggerci/redis/generated/runtime/Parser/JsonTokenizer.cs new file mode 100644 index 000000000000..dee56ea173f5 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Parser/JsonTokenizer.cs @@ -0,0 +1,177 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Text; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + using System.IO; + + + public class JsonTokenizer : IDisposable + { + private readonly StringBuilder sb = new StringBuilder(); + + private readonly SourceReader reader; + + internal JsonTokenizer(TextReader reader) + : this(new SourceReader(reader)) { } + + internal JsonTokenizer(SourceReader reader) + { + this.reader = reader; + + reader.Next(); // Start with the first char + } + + internal JsonToken ReadNext() + { + reader.SkipWhitespace(); + + if (reader.IsEof) return JsonToken.Eof; + + switch (reader.Current) + { + case '"': return ReadQuotedString(); + + // Symbols + case '[' : reader.Next(); return JsonToken.BracketOpen; // Array start + case ']' : reader.Next(); return JsonToken.BracketClose; // Array end + case ',' : reader.Next(); return JsonToken.Comma; // Value seperator + case ':' : reader.Next(); return JsonToken.Colon; // Field value indicator + case '{' : reader.Next(); return JsonToken.BraceOpen; // Object start + case '}' : reader.Next(); return JsonToken.BraceClose; // Object end + case '\0' : reader.Next(); return JsonToken.Terminator; // Stream terminiator + + default: return ReadLiteral(); + } + } + + private JsonToken ReadQuotedString() + { + Expect('"', "quoted string indicator"); + + reader.Next(); // Read '"' (Starting quote) + + // Read until we reach an unescaped quote char + while (reader.Current != '"') + { + EnsureNotEof("quoted string"); + + if (reader.Current == '\\') + { + char escapedCharacter = reader.ReadEscapeCode(); + + sb.Append(escapedCharacter); + + continue; + } + + StoreCurrentCharacterAndReadNext(); + } + + reader.Next(); // Read '"' (Ending quote) + + return new JsonToken(TokenKind.String, value: sb.Extract()); + } + + private JsonToken ReadLiteral() + { + if (char.IsDigit(reader.Current) || + reader.Current == '-' || + reader.Current == '+') + { + return ReadNumber(); + } + + return ReadIdentifer(); + } + + private JsonToken ReadNumber() + { + // Read until we hit a non-numeric character + // -6.247737e-06 + // E + + while (char.IsDigit(reader.Current) + || reader.Current == '.' + || reader.Current == 'e' + || reader.Current == 'E' + || reader.Current == '-' + || reader.Current == '+') + { + StoreCurrentCharacterAndReadNext(); + } + + return new JsonToken(TokenKind.Number, value: sb.Extract()); + } + + int count = 0; + + private JsonToken ReadIdentifer() + { + count++; + + if (!char.IsLetter(reader.Current)) + { + throw new ParserException( + message : $"Expected literal (number, boolean, or null). Was '{reader.Current}'.", + location : reader.Location + ); + } + + // Read letters, numbers, and underscores '_' + while (char.IsLetterOrDigit(reader.Current) || reader.Current == '_') + { + StoreCurrentCharacterAndReadNext(); + } + + string text = sb.Extract(); + + switch (text) + { + case "true": return JsonToken.True; + case "false": return JsonToken.False; + case "null": return JsonToken.Null; + + default: return new JsonToken(TokenKind.String, text); + } + } + + private void Expect(char character, string description) + { + if (reader.Current != character) + { + throw new ParserException( + message: $"Expected {description} ('{character}'). Was '{reader.Current}'.", + location: reader.Location + ); + } + } + + private void EnsureNotEof(string tokenType) + { + if (reader.IsEof) + { + throw new ParserException( + message: $"Unexpected EOF while reading {tokenType}.", + location: reader.Location + ); + } + } + + private void StoreCurrentCharacterAndReadNext() + { + sb.Append(reader.Current); + + reader.Next(); + } + + public void Dispose() + { + reader.Dispose(); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Parser/Location.cs b/swaggerci/redis/generated/runtime/Parser/Location.cs new file mode 100644 index 000000000000..bbe7bfecb7df --- /dev/null +++ b/swaggerci/redis/generated/runtime/Parser/Location.cs @@ -0,0 +1,43 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal struct SourceLocation + { + private int line; + private int column; + private int position; + + internal SourceLocation(int line = 0, int column = 0, int position = 0) + { + this.line = line; + this.column = column; + this.position = position; + } + + internal int Line => line; + + internal int Column => column; + + internal int Position => position; + + internal void Advance() + { + this.column++; + this.position++; + } + + internal void MarkNewLine() + { + this.line++; + this.column = 0; + } + + internal SourceLocation Clone() + { + return new SourceLocation(line, column, position); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Parser/Readers/SourceReader.cs b/swaggerci/redis/generated/runtime/Parser/Readers/SourceReader.cs new file mode 100644 index 000000000000..32395fbdffaf --- /dev/null +++ b/swaggerci/redis/generated/runtime/Parser/Readers/SourceReader.cs @@ -0,0 +1,130 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Globalization; +using System.IO; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public sealed class SourceReader : IDisposable + { + private readonly TextReader source; + + private char current; + + private readonly SourceLocation location = new SourceLocation(); + + private bool isEof = false; + + internal SourceReader(TextReader textReader) + { + this.source = textReader ?? throw new ArgumentNullException(nameof(textReader)); + } + + /// + /// Advances to the next character + /// + internal void Next() + { + // Advance to the new line when we see a new line '\n'. + // A new line may be prefixed by a carriage return '\r'. + + if (current == '\n') + { + location.MarkNewLine(); + } + + int charCode = source.Read(); // -1 for end + + if (charCode >= 0) + { + current = (char)charCode; + } + else + { + // If we've already marked this as the EOF, throw an exception + if (isEof) + { + throw new EndOfStreamException("Cannot advance past end of stream."); + } + + isEof = true; + + current = '\0'; + } + + location.Advance(); + } + + internal void SkipWhitespace() + { + while (char.IsWhiteSpace(current)) + { + Next(); + } + } + + internal char ReadEscapeCode() + { + Next(); + + char escapedChar = current; + + Next(); // Consume escaped character + + switch (escapedChar) + { + // Special escape codes + case '"': return '"'; // " (Quotation mark) U+0022 + case '/': return '/'; // / (Solidus) U+002F + case '\\': return '\\'; // \ (Reverse solidus) U+005C + + // Control Characters + case '0': return '\0'; // Nul (0) U+0000 + case 'a': return '\a'; // Alert (7) + case 'b': return '\b'; // Backspace (8) U+0008 + case 'f': return '\f'; // Form feed (12) U+000C + case 'n': return '\n'; // Line feed (10) U+000A + case 'r': return '\r'; // Carriage return (13) U+000D + case 't': return '\t'; // Horizontal tab (9) U+0009 + case 'v': return '\v'; // Vertical tab + + // Unicode escape sequence + case 'u': return ReadUnicodeEscapeSequence(); // U+XXXX + + default: throw new Exception($"Unrecognized escape sequence '\\{escapedChar}'"); + } + } + + private readonly char[] hexCode = new char[4]; + + private char ReadUnicodeEscapeSequence() + { + hexCode[0] = current; Next(); + hexCode[1] = current; Next(); + hexCode[2] = current; Next(); + hexCode[3] = current; Next(); + + return Convert.ToChar(int.Parse( + s : new string(hexCode), + style : NumberStyles.HexNumber, + provider: NumberFormatInfo.InvariantInfo + )); + } + + internal char Current => current; + + internal bool IsEof => isEof; + + internal char Peek() => (char)source.Peek(); + + internal SourceLocation Location => location; + + public void Dispose() + { + source.Dispose(); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Parser/TokenReader.cs b/swaggerci/redis/generated/runtime/Parser/TokenReader.cs new file mode 100644 index 000000000000..026ab393c869 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Parser/TokenReader.cs @@ -0,0 +1,39 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + public class TokenReader : IDisposable + { + private readonly JsonTokenizer tokenizer; + private JsonToken current; + + internal TokenReader(JsonTokenizer tokenizer) + { + this.tokenizer = tokenizer ?? throw new ArgumentNullException(nameof(tokenizer)); + } + + internal void Next() + { + current = tokenizer.ReadNext(); + } + + internal JsonToken Current => current; + + internal void Ensure(TokenKind kind, string readerName) + { + if (current.Kind != kind) + { + throw new ParserException($"Expected {kind} while reading {readerName}). Was {current}."); + } + } + + public void Dispose() + { + tokenizer.Dispose(); + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/PipelineMocking.cs b/swaggerci/redis/generated/runtime/PipelineMocking.cs new file mode 100644 index 000000000000..c1d23c94947e --- /dev/null +++ b/swaggerci/redis/generated/runtime/PipelineMocking.cs @@ -0,0 +1,262 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + using System.Threading.Tasks; + using System.Collections.Generic; + using System.Net.Http; + using System.Linq; + using System.Net; + using Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json; + + public enum MockMode + { + Live, + Record, + Playback, + + } + + public class PipelineMock + { + + private System.Collections.Generic.Stack scenario = new System.Collections.Generic.Stack(); + private System.Collections.Generic.Stack context = new System.Collections.Generic.Stack(); + private System.Collections.Generic.Stack description = new System.Collections.Generic.Stack(); + + private readonly string recordingPath; + private int counter = 0; + + public static implicit operator Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep(PipelineMock instance) => instance.SendAsync; + + public MockMode Mode { get; set; } = MockMode.Live; + public PipelineMock(string recordingPath) + { + this.recordingPath = recordingPath; + } + + public void PushContext(string text) => context.Push(text); + + public void PushDescription(string text) => description.Push(text); + + + public void PushScenario(string it) + { + // reset counter too + counter = 0; + + scenario.Push(it); + } + + public void PopContext() => context.Pop(); + + public void PopDescription() => description.Pop(); + + public void PopScenario() => scenario.Pop(); + + public void SetRecord() => Mode = MockMode.Record; + + public void SetPlayback() => Mode = MockMode.Playback; + + public void SetLive() => Mode = MockMode.Live; + + public string Scenario => (scenario.Count > 0 ? scenario.Peek() : "[NoScenario]"); + public string Description => (description.Count > 0 ? description.Peek() : "[NoDescription]"); + public string Context => (context.Count > 0 ? context.Peek() : "[NoContext]"); + + /// + /// Headers that we substitute out blank values for in the recordings + /// Add additional headers as necessary + /// + public static HashSet Blacklist = new HashSet(System.StringComparer.CurrentCultureIgnoreCase) { + "Authorization", + }; + + public Dictionary ForceResponseHeaders = new Dictionary(); + + internal static XImmutableArray Removed = new XImmutableArray(new string[] { "[Filtered]" }); + + internal static IEnumerable> FilterHeaders(IEnumerable>> headers) => headers.Select(header => new KeyValuePair(header.Key, Blacklist.Contains(header.Key) ? Removed : new XImmutableArray(header.Value.ToArray()))); + + internal static JsonNode SerializeContent(HttpContent content, ref bool isBase64) => content == null ? XNull.Instance : SerializeContent(content.ReadAsByteArrayAsync().Result, ref isBase64); + + internal static JsonNode SerializeContent(byte[] content, ref bool isBase64) + { + if (null == content || content.Length == 0) + { + return XNull.Instance; + } + var first = content[0]; + var last = content[content.Length - 1]; + + // plaintext for JSON/SGML/XML/HTML/STRINGS/ARRAYS + if ((first == '{' && last == '}') || (first == '<' && last == '>') || (first == '[' && last == ']') || (first == '"' && last == '"')) + { + return new JsonString(System.Text.Encoding.UTF8.GetString(content)); + } + + // base64 for everyone else + return new JsonString(System.Convert.ToBase64String(content)); + } + + internal static byte[] DeserializeContent(string content, bool isBase64) + { + if (string.IsNullOrWhiteSpace(content)) + { + return new byte[0]; + } + + if (isBase64) + { + try + { + return System.Convert.FromBase64String(content); + } + catch + { + // hmm. didn't work, return it as a string I guess. + } + } + return System.Text.Encoding.UTF8.GetBytes(content); + } + + public void SaveMessage(string rqKey, HttpRequestMessage request, HttpResponseMessage response) + { + var messages = System.IO.File.Exists(this.recordingPath) ? Load() : new JsonObject() ?? new JsonObject(); + bool isBase64Request = false; + bool isBase64Response = false; + messages[rqKey] = new JsonObject { + { "Request",new JsonObject { + { "Method", request.Method.Method }, + { "RequestUri", request.RequestUri }, + { "Content", SerializeContent( request.Content, ref isBase64Request) }, + { "isContentBase64", isBase64Request }, + { "Headers", new JsonObject(FilterHeaders(request.Headers)) }, + { "ContentHeaders", request.Content == null ? new JsonObject() : new JsonObject(FilterHeaders(request.Content.Headers))} + } }, + {"Response", new JsonObject { + { "StatusCode", (int)response.StatusCode}, + { "Headers", new JsonObject(FilterHeaders(response.Headers))}, + { "ContentHeaders", new JsonObject(FilterHeaders(response.Content.Headers))}, + { "Content", SerializeContent(response.Content, ref isBase64Response) }, + { "isContentBase64", isBase64Response }, + }} + }; + System.IO.File.WriteAllText(this.recordingPath, messages.ToString()); + } + + private JsonObject Load() + { + if (System.IO.File.Exists(this.recordingPath)) + { + try + { + return JsonObject.FromStream(System.IO.File.OpenRead(this.recordingPath)); + } + catch + { + throw new System.Exception($"Invalid recording file: '{recordingPath}'"); + } + } + + throw new System.ArgumentException($"Missing recording file: '{recordingPath}'", nameof(recordingPath)); + } + + public HttpResponseMessage LoadMessage(string rqKey) + { + var responses = Load(); + var message = responses.Property(rqKey); + + if (null == message) + { + throw new System.ArgumentException($"Missing Request '{rqKey}' in recording file", nameof(rqKey)); + } + + var sc = 0; + var reqMessage = message.Property("Request"); + var respMessage = message.Property("Response"); + + // --------------------------- deserialize response ---------------------------------------------------------------- + bool isBase64Response = false; + respMessage.BooleanProperty("isContentBase64", ref isBase64Response); + var response = new HttpResponseMessage + { + StatusCode = (HttpStatusCode)respMessage.NumberProperty("StatusCode", ref sc), + Content = new System.Net.Http.ByteArrayContent(DeserializeContent(respMessage.StringProperty("Content"), isBase64Response)) + }; + + foreach (var each in respMessage.Property("Headers")) + { + response.Headers.TryAddWithoutValidation(each.Key, each.Value.ToArrayOf()); + } + + foreach (var frh in ForceResponseHeaders) + { + response.Headers.Remove(frh.Key); + response.Headers.TryAddWithoutValidation(frh.Key, frh.Value); + } + + foreach (var each in respMessage.Property("ContentHeaders")) + { + response.Content.Headers.TryAddWithoutValidation(each.Key, each.Value.ToArrayOf()); + } + + // --------------------------- deserialize request ---------------------------------------------------------------- + bool isBase64Request = false; + reqMessage.BooleanProperty("isContentBase64", ref isBase64Request); + response.RequestMessage = new HttpRequestMessage + { + Method = new HttpMethod(reqMessage.StringProperty("Method")), + RequestUri = new System.Uri(reqMessage.StringProperty("RequestUri")), + Content = new System.Net.Http.ByteArrayContent(DeserializeContent(reqMessage.StringProperty("Content"), isBase64Request)) + }; + + foreach (var each in reqMessage.Property("Headers")) + { + response.RequestMessage.Headers.TryAddWithoutValidation(each.Key, each.Value.ToArrayOf()); + } + foreach (var each in reqMessage.Property("ContentHeaders")) + { + response.RequestMessage.Content.Headers.TryAddWithoutValidation(each.Key, each.Value.ToArrayOf()); + } + + return response; + } + + public async Task SendAsync(HttpRequestMessage request, IEventListener callback, ISendAsync next) + { + counter++; + var rqkey = $"{Description}+{Context}+{Scenario}+${request.Method.Method}+{request.RequestUri}+{counter}"; + + switch (Mode) + { + case MockMode.Record: + //Add following code since the request.Content will be released after sendAsync + var requestClone = request; + if (requestClone.Content != null) + { + requestClone = await request.CloneWithContent(request.RequestUri, request.Method); + } + // make the call + var response = await next.SendAsync(request, callback); + + // save the message to the recording file + SaveMessage(rqkey, requestClone, response); + + // return the response. + return response; + + case MockMode.Playback: + // load and return the response. + return LoadMessage(rqkey); + + default: + // pass-thru, do nothing + return await next.SendAsync(request, callback); + } + } + } +} diff --git a/swaggerci/redis/generated/runtime/Properties/Resources.Designer.cs b/swaggerci/redis/generated/runtime/Properties/Resources.Designer.cs new file mode 100644 index 000000000000..0c8d5b3db6db --- /dev/null +++ b/swaggerci/redis/generated/runtime/Properties/Resources.Designer.cs @@ -0,0 +1,5633 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.generated.runtime.Properties +{ + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager + { + get + { + if (object.ReferenceEquals(resourceMan, null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Azure.PowerShell.Cmdlets.Redis.generated.runtime.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to The remote server returned an error: (401) Unauthorized.. + /// + public static string AccessDeniedExceptionMessage + { + get + { + return ResourceManager.GetString("AccessDeniedExceptionMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Account id doesn't match one in subscription.. + /// + public static string AccountIdDoesntMatchSubscription + { + get + { + return ResourceManager.GetString("AccountIdDoesntMatchSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Account needs to be specified. + /// + public static string AccountNeedsToBeSpecified + { + get + { + return ResourceManager.GetString("AccountNeedsToBeSpecified", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Account "{0}" has been added.. + /// + public static string AddAccountAdded + { + get + { + return ResourceManager.GetString("AddAccountAdded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to To switch to a different subscription, please use Select-AzureSubscription.. + /// + public static string AddAccountChangeSubscription + { + get + { + return ResourceManager.GetString("AddAccountChangeSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Skipping external tenant {0}, because you are using a guest or a foreign principal object identity. In order to access this tenant, please run Add-AzureAccount without "-Credential".. + /// + public static string AddAccountNonInteractiveGuestOrFpo + { + get + { + return ResourceManager.GetString("AddAccountNonInteractiveGuestOrFpo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Subscription "{0}" is selected as the default subscription.. + /// + public static string AddAccountShowDefaultSubscription + { + get + { + return ResourceManager.GetString("AddAccountShowDefaultSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to To view all the subscriptions, please use Get-AzureSubscription.. + /// + public static string AddAccountViewSubscriptions + { + get + { + return ResourceManager.GetString("AddAccountViewSubscriptions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Add-On {0} is created successfully.. + /// + public static string AddOnCreatedMessage + { + get + { + return ResourceManager.GetString("AddOnCreatedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Add-on name {0} is already used.. + /// + public static string AddOnNameAlreadyUsed + { + get + { + return ResourceManager.GetString("AddOnNameAlreadyUsed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Add-On {0} not found.. + /// + public static string AddOnNotFound + { + get + { + return ResourceManager.GetString("AddOnNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Add-on {0} is removed successfully.. + /// + public static string AddOnRemovedMessage + { + get + { + return ResourceManager.GetString("AddOnRemovedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Add-On {0} is updated successfully.. + /// + public static string AddOnUpdatedMessage + { + get + { + return ResourceManager.GetString("AddOnUpdatedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Role has been created at {0}\{1}.. + /// + public static string AddRoleMessageCreate + { + get + { + return ResourceManager.GetString("AddRoleMessageCreate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Role has been created at {0}\{1}. For easy access to Microsoft Azure services from your application code, install the Microsoft Azure client library for Node.js by running ‘npm install azure’.. + /// + public static string AddRoleMessageCreateNode + { + get + { + return ResourceManager.GetString("AddRoleMessageCreateNode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Role has been created at {0}\{1}. For easy access to Microsoft Azure services from your application code, install the Microsoft Azure client library for PHP by running "pear WindowsAzure/WindowsAzure".. + /// + public static string AddRoleMessageCreatePHP + { + get + { + return ResourceManager.GetString("AddRoleMessageCreatePHP", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to set role permissions. Please give the 'Network Service' user 'Read & execute' and 'Modify' permissions to the role folder, or run PowerShell as an Administrator. + /// + public static string AddRoleMessageInsufficientPermissions + { + get + { + return ResourceManager.GetString("AddRoleMessageInsufficientPermissions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A role name '{0}' already exists. + /// + public static string AddRoleMessageRoleExists + { + get + { + return ResourceManager.GetString("AddRoleMessageRoleExists", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Profile {0} already has an endpoint with name {1}. + /// + public static string AddTrafficManagerEndpointFailed + { + get + { + return ResourceManager.GetString("AddTrafficManagerEndpointFailed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Azure PowerShell collects usage data in order to improve your experience. + ///The data is anonymous and does not include commandline argument values. + ///The data is collected by Microsoft. + /// + ///Use the Disable-AzDataCollection cmdlet to turn the feature Off. The cmdlet can be found in the Az.Accounts module. To disable data collection: PS > Disable-AzDataCollection. + ///Use the Enable-AzDataCollection cmdlet to turn the feature On. The cmdlet can be found in the Az.Accounts module. To enable [rest of string was truncated]";. + /// + public static string ARMDataCollectionMessage + { + get + { + return ResourceManager.GetString("ARMDataCollectionMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [Common.Authentication]: Authenticating for account {0} with single tenant {1}.. + /// + public static string AuthenticatingForSingleTenant + { + get + { + return ResourceManager.GetString("AuthenticatingForSingleTenant", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Windows Azure Powershell\. + /// + public static string AzureDirectory + { + get + { + return ResourceManager.GetString("AzureDirectory", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to https://manage.windowsazure.com. + /// + public static string AzurePortalUrl + { + get + { + return ResourceManager.GetString("AzurePortalUrl", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AZURE_PORTAL_URL. + /// + public static string AzurePortalUrlEnv + { + get + { + return ResourceManager.GetString("AzurePortalUrlEnv", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Selected profile must not be null.. + /// + public static string AzureProfileMustNotBeNull + { + get + { + return ResourceManager.GetString("AzureProfileMustNotBeNull", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Azure SDK\{0}\. + /// + public static string AzureSdkDirectory + { + get + { + return ResourceManager.GetString("AzureSdkDirectory", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to File '{0}' already exists. Use the -Force parameter to overwrite it.. + /// + public static string AzureVMDscArchiveAlreadyExists + { + get + { + return ResourceManager.GetString("AzureVMDscArchiveAlreadyExists", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot find configuration data file: {0}. + /// + public static string AzureVMDscCannotFindConfigurationDataFile + { + get + { + return ResourceManager.GetString("AzureVMDscCannotFindConfigurationDataFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Create Archive. + /// + public static string AzureVMDscCreateArchiveAction + { + get + { + return ResourceManager.GetString("AzureVMDscCreateArchiveAction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The configuration data must be a .psd1 file. + /// + public static string AzureVMDscInvalidConfigurationDataFile + { + get + { + return ResourceManager.GetString("AzureVMDscInvalidConfigurationDataFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Parsing configuration script: {0}. + /// + public static string AzureVMDscParsingConfiguration + { + get + { + return ResourceManager.GetString("AzureVMDscParsingConfiguration", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Storage Blob '{0}' already exists. Use the -Force parameter to overwrite it.. + /// + public static string AzureVMDscStorageBlobAlreadyExists + { + get + { + return ResourceManager.GetString("AzureVMDscStorageBlobAlreadyExists", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Upload '{0}'. + /// + public static string AzureVMDscUploadToBlobStorageAction + { + get + { + return ResourceManager.GetString("AzureVMDscUploadToBlobStorageAction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Execution failed because a background thread could not prompt the user.. + /// + public static string BaseShouldMethodFailureReason + { + get + { + return ResourceManager.GetString("BaseShouldMethodFailureReason", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Base Uri was empty.. + /// + public static string BaseUriEmpty + { + get + { + return ResourceManager.GetString("BaseUriEmpty", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} begin processing without ParameterSet.. + /// + public static string BeginProcessingWithoutParameterSetLog + { + get + { + return ResourceManager.GetString("BeginProcessingWithoutParameterSetLog", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} begin processing with ParameterSet '{1}'.. + /// + public static string BeginProcessingWithParameterSetLog + { + get + { + return ResourceManager.GetString("BeginProcessingWithParameterSetLog", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Blob with the name {0} already exists in the account.. + /// + public static string BlobAlreadyExistsInTheAccount + { + get + { + return ResourceManager.GetString("BlobAlreadyExistsInTheAccount", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to https://{0}.blob.core.windows.net/. + /// + public static string BlobEndpointUri + { + get + { + return ResourceManager.GetString("BlobEndpointUri", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AZURE_BLOBSTORAGE_TEMPLATE. + /// + public static string BlobEndpointUriEnv + { + get + { + return ResourceManager.GetString("BlobEndpointUriEnv", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The parameter : '{0}' is changing.. + /// + public static string BreakingChangeAttributeParameterChanging + { + get + { + return ResourceManager.GetString("BreakingChangeAttributeParameterChanging", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The parameter : '{0}' is becoming mandatory.. + /// + public static string BreakingChangeAttributeParameterMandatoryNow + { + get + { + return ResourceManager.GetString("BreakingChangeAttributeParameterMandatoryNow", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The parameter : '{0}' is being replaced by parameter : '{1}'.. + /// + public static string BreakingChangeAttributeParameterReplaced + { + get + { + return ResourceManager.GetString("BreakingChangeAttributeParameterReplaced", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The parameter : '{0}' is being replaced by mandatory parameter : '{1}'.. + /// + public static string BreakingChangeAttributeParameterReplacedMandatory + { + get + { + return ResourceManager.GetString("BreakingChangeAttributeParameterReplacedMandatory", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The type of the parameter is changing from '{0}' to '{1}'.. + /// + public static string BreakingChangeAttributeParameterTypeChange + { + get + { + return ResourceManager.GetString("BreakingChangeAttributeParameterTypeChange", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Change description : {0} + ///. + /// + public static string BreakingChangesAttributesChangeDescriptionMessage + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesChangeDescriptionMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The cmdlet is being deprecated. There will be no replacement for it.. + /// + public static string BreakingChangesAttributesCmdLetDeprecationMessageNoReplacement + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesCmdLetDeprecationMessageNoReplacement", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The cmdlet is being deprecated. There will be no replacement for it.. + /// + public static string BreakingChangesAttributesParameterSetDeprecationMessageNoReplacement + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesParameterSetDeprecationMessageNoReplacement", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The cmdlet '{0}' is replacing this cmdlet.. + /// + public static string BreakingChangesAttributesCmdLetDeprecationMessageWithReplacement + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesCmdLetDeprecationMessageWithReplacement", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The output type is changing from the existing type :'{0}' to the new type :'{1}'. + /// + public static string BreakingChangesAttributesCmdLetOutputChange1 + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesCmdLetOutputChange1", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to "The output type '{0}' is changing". + /// + public static string BreakingChangesAttributesCmdLetOutputChange2 + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesCmdLetOutputChange2", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to + ///- The following properties are being added to the output type : + ///. + /// + public static string BreakingChangesAttributesCmdLetOutputPropertiesAdded + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesCmdLetOutputPropertiesAdded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to + /// - The following properties in the output type are being deprecated : + ///. + /// + public static string BreakingChangesAttributesCmdLetOutputPropertiesRemoved + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesCmdLetOutputPropertiesRemoved", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The output type '{0}' is being deprecated without a replacement.. + /// + public static string BreakingChangesAttributesCmdLetOutputTypeDeprecated + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesCmdLetOutputTypeDeprecated", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to - {0} + /// + ///. + /// + public static string BreakingChangesAttributesDeclarationMessage + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesDeclarationMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to - Cmdlet : '{0}' + /// - {1} + ///. + /// + public static string BreakingChangesAttributesDeclarationMessageWithCmdletName + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesDeclarationMessageWithCmdletName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to NOTE : Go to {0} for steps to suppress (and other related information on) the breaking change messages.. + /// + public static string BreakingChangesAttributesFooterMessage + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesFooterMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Breaking changes in the cmdlet '{0}' :. + /// + public static string BreakingChangesAttributesHeaderMessage + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesHeaderMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Note : This change will take effect on '{0}' + ///. + /// + public static string BreakingChangesAttributesInEffectByDateMessage + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesInEffectByDateMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Note :The change is expected to take effect from the version : '{0}' + /// + ///. + /// + public static string BreakingChangesAttributesInEffectByVersion + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesInEffectByVersion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ```powershell + ///# Old + ///{0} + /// + ///# New + ///{1} + ///``` + /// + ///. + /// + public static string BreakingChangesAttributesUsageChangeMessage + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesUsageChangeMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cmdlet invocation changes : + /// Old Way : {0} + /// New Way : {1}. + /// + public static string BreakingChangesAttributesUsageChangeMessageConsole + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesUsageChangeMessageConsole", resourceCulture); + } + } + + /// + /// The cmdlet is in experimental stage. The function may not be enabled in current subscription. + /// + public static string ExperimentalCmdletMessage + { + get + { + return ResourceManager.GetString("ExperimentalCmdletMessage", resourceCulture); + } + } + + + + /// + /// Looks up a localized string similar to CACHERUNTIMEURL. + /// + public static string CacheRuntimeUrl + { + get + { + return ResourceManager.GetString("CacheRuntimeUrl", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to cache. + /// + public static string CacheRuntimeValue + { + get + { + return ResourceManager.GetString("CacheRuntimeValue", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to CacheRuntimeVersion. + /// + public static string CacheRuntimeVersionKey + { + get + { + return ResourceManager.GetString("CacheRuntimeVersionKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Installing caching version {0} for Role '{1}' (the caching version locally installed is: {2}). + /// + public static string CacheVersionWarningText + { + get + { + return ResourceManager.GetString("CacheVersionWarningText", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot change built-in environment {0}.. + /// + public static string CannotChangeBuiltinEnvironment + { + get + { + return ResourceManager.GetString("CannotChangeBuiltinEnvironment", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot find {0} with name {1}.. + /// + public static string CannotFind + { + get + { + return ResourceManager.GetString("CannotFind", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Deployment for service {0} with {1} slot doesn't exist. + /// + public static string CannotFindDeployment + { + get + { + return ResourceManager.GetString("CannotFindDeployment", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Can't find valid Microsoft Azure role in current directory {0}. + /// + public static string CannotFindRole + { + get + { + return ResourceManager.GetString("CannotFindRole", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to service {0} configuration file (ServiceConfiguration.Cloud.cscfg) is either null or doesn't exist. + /// + public static string CannotFindServiceConfigurationFile + { + get + { + return ResourceManager.GetString("CannotFindServiceConfigurationFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid service path! Cannot locate ServiceDefinition.csdef in current folder or parent folders.. + /// + public static string CannotFindServiceRoot + { + get + { + return ResourceManager.GetString("CannotFindServiceRoot", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The subscription named {0} with id {1} is not currently imported. You must import this subscription before it can be updated.. + /// + public static string CannotUpdateUnknownSubscription + { + get + { + return ResourceManager.GetString("CannotUpdateUnknownSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ManagementCertificate. + /// + public static string CertificateElementName + { + get + { + return ResourceManager.GetString("CertificateElementName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to certificate.pfx. + /// + public static string CertificateFileName + { + get + { + return ResourceManager.GetString("CertificateFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Certificate imported into CurrentUser\My\{0}. + /// + public static string CertificateImportedMessage + { + get + { + return ResourceManager.GetString("CertificateImportedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No certificate was found in the certificate store with thumbprint {0}. + /// + public static string CertificateNotFoundInStore + { + get + { + return ResourceManager.GetString("CertificateNotFoundInStore", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Your account does not have access to the private key for certificate {0}. + /// + public static string CertificatePrivateKeyAccessError + { + get + { + return ResourceManager.GetString("CertificatePrivateKeyAccessError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} {1} deployment for {2} service. + /// + public static string ChangeDeploymentStateWaitMessage + { + get + { + return ResourceManager.GetString("ChangeDeploymentStateWaitMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cloud service {0} is in {1} state.. + /// + public static string ChangeDeploymentStatusCompleteMessage + { + get + { + return ResourceManager.GetString("ChangeDeploymentStatusCompleteMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Changing/Removing public environment '{0}' is not allowed.. + /// + public static string ChangePublicEnvironmentMessage + { + get + { + return ResourceManager.GetString("ChangePublicEnvironmentMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Service {0} is set to value {1}. + /// + public static string ChangeSettingsElementMessage + { + get + { + return ResourceManager.GetString("ChangeSettingsElementMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Changing public environment is not supported.. + /// + public static string ChangingDefaultEnvironmentNotSupported + { + get + { + return ResourceManager.GetString("ChangingDefaultEnvironmentNotSupported", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Choose which publish settings file to use:. + /// + public static string ChoosePublishSettingsFile + { + get + { + return ResourceManager.GetString("ChoosePublishSettingsFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel. + /// + public static string ClientDiagnosticLevelName + { + get + { + return ResourceManager.GetString("ClientDiagnosticLevelName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1. + /// + public static string ClientDiagnosticLevelValue + { + get + { + return ResourceManager.GetString("ClientDiagnosticLevelValue", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to cloud_package.cspkg. + /// + public static string CloudPackageFileName + { + get + { + return ResourceManager.GetString("CloudPackageFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ServiceConfiguration.Cloud.cscfg. + /// + public static string CloudServiceConfigurationFileName + { + get + { + return ResourceManager.GetString("CloudServiceConfigurationFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Add-ons for {0}. + /// + public static string CloudServiceDescription + { + get + { + return ResourceManager.GetString("CloudServiceDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Communication could not be established. This could be due to an invalid subscription ID. Note that subscription IDs are case sensitive.. + /// + public static string CommunicationCouldNotBeEstablished + { + get + { + return ResourceManager.GetString("CommunicationCouldNotBeEstablished", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Complete. + /// + public static string CompleteMessage + { + get + { + return ResourceManager.GetString("CompleteMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OperationID : '{0}'. + /// + public static string ComputeCloudExceptionOperationIdMessage + { + get + { + return ResourceManager.GetString("ComputeCloudExceptionOperationIdMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to config.json. + /// + public static string ConfigurationFileName + { + get + { + return ResourceManager.GetString("ConfigurationFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to VirtualMachine creation failed.. + /// + public static string CreateFailedErrorMessage + { + get + { + return ResourceManager.GetString("CreateFailedErrorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Creating the website failed. If this is the first website for this subscription, please create it using the management portal instead.. + /// + public static string CreateWebsiteFailed + { + get + { + return ResourceManager.GetString("CreateWebsiteFailed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core. + /// + public static string DataCacheClientsType + { + get + { + return ResourceManager.GetString("DataCacheClientsType", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to //blobcontainer[@datacenter='{0}']. + /// + public static string DatacenterBlobQuery + { + get + { + return ResourceManager.GetString("DatacenterBlobQuery", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft Azure PowerShell Data Collection Confirmation. + /// + public static string DataCollectionActivity + { + get + { + return ResourceManager.GetString("DataCollectionActivity", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You choose not to participate in Microsoft Azure PowerShell data collection.. + /// + public static string DataCollectionConfirmNo + { + get + { + return ResourceManager.GetString("DataCollectionConfirmNo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This confirmation message will be dismissed in '{0}' second(s).... + /// + public static string DataCollectionConfirmTime + { + get + { + return ResourceManager.GetString("DataCollectionConfirmTime", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You choose to participate in Microsoft Azure PowerShell data collection.. + /// + public static string DataCollectionConfirmYes + { + get + { + return ResourceManager.GetString("DataCollectionConfirmYes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The setting profile has been saved to the following path '{0}'.. + /// + public static string DataCollectionSaveFileInformation + { + get + { + return ResourceManager.GetString("DataCollectionSaveFileInformation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Setting: {0} as the default and current subscription. To view other subscriptions use Get-AzureSubscription. + /// + public static string DefaultAndCurrentSubscription + { + get + { + return ResourceManager.GetString("DefaultAndCurrentSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to none. + /// + public static string DefaultFileVersion + { + get + { + return ResourceManager.GetString("DefaultFileVersion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to There are no hostnames which could be used for validation.. + /// + public static string DefaultHostnamesValidation + { + get + { + return ResourceManager.GetString("DefaultHostnamesValidation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 8080. + /// + public static string DefaultPort + { + get + { + return ResourceManager.GetString("DefaultPort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1000. + /// + public static string DefaultRoleCachingInMB + { + get + { + return ResourceManager.GetString("DefaultRoleCachingInMB", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Auto. + /// + public static string DefaultUpgradeMode + { + get + { + return ResourceManager.GetString("DefaultUpgradeMode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 80. + /// + public static string DefaultWebPort + { + get + { + return ResourceManager.GetString("DefaultWebPort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete. + /// + public static string Delete + { + get + { + return ResourceManager.GetString("Delete", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The {0} slot for service {1} is already in {2} state. + /// + public static string DeploymentAlreadyInState + { + get + { + return ResourceManager.GetString("DeploymentAlreadyInState", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The deployment in {0} slot for service {1} is removed. + /// + public static string DeploymentRemovedMessage + { + get + { + return ResourceManager.GetString("DeploymentRemovedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel. + /// + public static string DiagnosticLevelName + { + get + { + return ResourceManager.GetString("DiagnosticLevelName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1. + /// + public static string DiagnosticLevelValue + { + get + { + return ResourceManager.GetString("DiagnosticLevelValue", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The key to add already exists in the dictionary.. + /// + public static string DictionaryAddAlreadyContainsKey + { + get + { + return ResourceManager.GetString("DictionaryAddAlreadyContainsKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The array index cannot be less than zero.. + /// + public static string DictionaryCopyToArrayIndexLessThanZero + { + get + { + return ResourceManager.GetString("DictionaryCopyToArrayIndexLessThanZero", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The supplied array does not have enough room to contain the copied elements.. + /// + public static string DictionaryCopyToArrayTooShort + { + get + { + return ResourceManager.GetString("DictionaryCopyToArrayTooShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided dns {0} doesn't exist. + /// + public static string DnsDoesNotExist + { + get + { + return ResourceManager.GetString("DnsDoesNotExist", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft Azure Certificate. + /// + public static string EnableRemoteDesktop_FriendlyCertificateName + { + get + { + return ResourceManager.GetString("EnableRemoteDesktop_FriendlyCertificateName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Endpoint can't be retrieved for storage account. + /// + public static string EndPointNotFoundForBlobStorage + { + get + { + return ResourceManager.GetString("EndPointNotFoundForBlobStorage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} end processing.. + /// + public static string EndProcessingLog + { + get + { + return ResourceManager.GetString("EndProcessingLog", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to To use Active Directory authentication, you must configure the ActiveDirectoryEndpoint, ActiveDirectoryTenantId, and ActiveDirectorServiceEndpointResourceId for environment of '{0}'. You can configure these properties for this environment using the Set-AzureEnvironment cmdlet.. + /// + public static string EnvironmentDoesNotSupportActiveDirectory + { + get + { + return ResourceManager.GetString("EnvironmentDoesNotSupportActiveDirectory", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The environment '{0}' already exists.. + /// + public static string EnvironmentExists + { + get + { + return ResourceManager.GetString("EnvironmentExists", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Environment name doesn't match one in subscription.. + /// + public static string EnvironmentNameDoesntMatchSubscription + { + get + { + return ResourceManager.GetString("EnvironmentNameDoesntMatchSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Environment name needs to be specified.. + /// + public static string EnvironmentNameNeedsToBeSpecified + { + get + { + return ResourceManager.GetString("EnvironmentNameNeedsToBeSpecified", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Environment needs to be specified.. + /// + public static string EnvironmentNeedsToBeSpecified + { + get + { + return ResourceManager.GetString("EnvironmentNeedsToBeSpecified", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The environment name '{0}' is not found.. + /// + public static string EnvironmentNotFound + { + get + { + return ResourceManager.GetString("EnvironmentNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to environments.xml. + /// + public static string EnvironmentsFileName + { + get + { + return ResourceManager.GetString("EnvironmentsFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error creating VirtualMachine. + /// + public static string ErrorCreatingVirtualMachine + { + get + { + return ResourceManager.GetString("ErrorCreatingVirtualMachine", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to download available runtimes for location '{0}'. + /// + public static string ErrorRetrievingRuntimesForLocation + { + get + { + return ResourceManager.GetString("ErrorRetrievingRuntimesForLocation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error updating VirtualMachine. + /// + public static string ErrorUpdatingVirtualMachine + { + get + { + return ResourceManager.GetString("ErrorUpdatingVirtualMachine", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Job Id {0} failed. Error: {1}, ExceptionDetails: {2}. + /// + public static string FailedJobErrorMessage + { + get + { + return ResourceManager.GetString("FailedJobErrorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to File path is not valid.. + /// + public static string FilePathIsNotValid + { + get + { + return ResourceManager.GetString("FilePathIsNotValid", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The HTTP request was forbidden with client authentication scheme 'Anonymous'.. + /// + public static string FirstPurchaseErrorMessage + { + get + { + return ResourceManager.GetString("FirstPurchaseErrorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This add-on requires you to purchase the first instance through the Microsoft Azure Portal. Subsequent purchases can be performed through PowerShell.. + /// + public static string FirstPurchaseMessage + { + get + { + return ResourceManager.GetString("FirstPurchaseMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Operation Status:. + /// + public static string GatewayOperationStatus + { + get + { + return ResourceManager.GetString("GatewayOperationStatus", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resources\Scaffolding\General. + /// + public static string GeneralScaffolding + { + get + { + return ResourceManager.GetString("GeneralScaffolding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Getting all available Microsoft Azure Add-Ons, this may take few minutes.... + /// + public static string GetAllAddOnsWaitMessage + { + get + { + return ResourceManager.GetString("GetAllAddOnsWaitMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Name{0}Primary Key{0}Seconday Key. + /// + public static string GetStorageKeysHeader + { + get + { + return ResourceManager.GetString("GetStorageKeysHeader", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Git not found. Please install git and place it in your command line path.. + /// + public static string GitNotFound + { + get + { + return ResourceManager.GetString("GitNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Could not find publish settings. Please run Import-AzurePublishSettingsFile.. + /// + public static string GlobalSettingsManager_Load_PublishSettingsNotFound + { + get + { + return ResourceManager.GetString("GlobalSettingsManager_Load_PublishSettingsNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot find the WadCfg end element in the config.. + /// + public static string IaasDiagnosticsBadConfigNoEndWadCfg + { + get + { + return ResourceManager.GetString("IaasDiagnosticsBadConfigNoEndWadCfg", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to WadCfg start element in the config is not matching the end element.. + /// + public static string IaasDiagnosticsBadConfigNoMatchingWadCfg + { + get + { + return ResourceManager.GetString("IaasDiagnosticsBadConfigNoMatchingWadCfg", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot find the WadCfg element in the config.. + /// + public static string IaasDiagnosticsBadConfigNoWadCfg + { + get + { + return ResourceManager.GetString("IaasDiagnosticsBadConfigNoWadCfg", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to iisnode.dll. + /// + public static string IISNodeDll + { + get + { + return ResourceManager.GetString("IISNodeDll", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to iisnode. + /// + public static string IISNodeEngineKey + { + get + { + return ResourceManager.GetString("IISNodeEngineKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to iisnode-dev\\release\\x64. + /// + public static string IISNodePath + { + get + { + return ResourceManager.GetString("IISNodePath", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to iisnode. + /// + public static string IISNodeRuntimeValue + { + get + { + return ResourceManager.GetString("IISNodeRuntimeValue", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Installing IISNode version {0} in Azure for WebRole '{1}' (the version locally installed is: {2}). + /// + public static string IISNodeVersionWarningText + { + get + { + return ResourceManager.GetString("IISNodeVersionWarningText", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Illegal characters in path.. + /// + public static string IllegalPath + { + get + { + return ResourceManager.GetString("IllegalPath", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Internal Server Error. + /// + public static string InternalServerErrorMessage + { + get + { + return ResourceManager.GetString("InternalServerErrorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot enable memcach protocol on a cache worker role {0}.. + /// + public static string InvalidCacheRoleName + { + get + { + return ResourceManager.GetString("InvalidCacheRoleName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid certificate format. Publish settings may be corrupted. Use Get-AzurePublishSettingsFile to download updated settings. + /// + public static string InvalidCertificate + { + get + { + return ResourceManager.GetString("InvalidCertificate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid certificate format.. + /// + public static string InvalidCertificateSingle + { + get + { + return ResourceManager.GetString("InvalidCertificateSingle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided configuration path is invalid or doesn't exist. + /// + public static string InvalidConfigPath + { + get + { + return ResourceManager.GetString("InvalidConfigPath", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The country name is invalid, please use a valid two character country code, as described in ISO 3166-1 alpha-2.. + /// + public static string InvalidCountryNameMessage + { + get + { + return ResourceManager.GetString("InvalidCountryNameMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No default subscription has been designated. Use Select-AzureSubscription -Default <subscriptionName> to set the default subscription.. + /// + public static string InvalidDefaultSubscription + { + get + { + return ResourceManager.GetString("InvalidDefaultSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Deployment with {0} does not exist. + /// + public static string InvalidDeployment + { + get + { + return ResourceManager.GetString("InvalidDeployment", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The deployment slot name {0} is invalid. Slot name must be either "Staging" or "Production".. + /// + public static string InvalidDeploymentSlot + { + get + { + return ResourceManager.GetString("InvalidDeploymentSlot", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to "{0}" is an invalid DNS name for {1}. + /// + public static string InvalidDnsName + { + get + { + return ResourceManager.GetString("InvalidDnsName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid service endpoint.. + /// + public static string InvalidEndpoint + { + get + { + return ResourceManager.GetString("InvalidEndpoint", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided file in {0} must be have {1} extension. + /// + public static string InvalidFileExtension + { + get + { + return ResourceManager.GetString("InvalidFileExtension", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to File {0} has invalid characters. + /// + public static string InvalidFileName + { + get + { + return ResourceManager.GetString("InvalidFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You must create your git publishing credentials using the Microsoft Azure portal. + ///Please follow these steps in the portal: + ///1. On the left side open "Web Sites" + ///2. Click on any website + ///3. Choose "Setup Git Publishing" or "Reset deployment credentials" + ///4. Back in the PowerShell window, rerun this command by typing "New-AzureWebSite {site name} -Git -PublishingUsername {username}. + /// + public static string InvalidGitCredentials + { + get + { + return ResourceManager.GetString("InvalidGitCredentials", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The value {0} provided is not a valid GUID. Please provide a valid GUID.. + /// + public static string InvalidGuid + { + get + { + return ResourceManager.GetString("InvalidGuid", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The specified hostname does not exist. Please specify a valid hostname for the site.. + /// + public static string InvalidHostnameValidation + { + get + { + return ResourceManager.GetString("InvalidHostnameValidation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Role {0} instances must be greater than or equal 0 and less than or equal 20. + /// + public static string InvalidInstancesCount + { + get + { + return ResourceManager.GetString("InvalidInstancesCount", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to There was an error creating your webjob. Please make sure that the script is in the root folder of the zip file.. + /// + public static string InvalidJobFile + { + get + { + return ResourceManager.GetString("InvalidJobFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Could not download a valid runtime manifest, Please check your internet connection and try again.. + /// + public static string InvalidManifestError + { + get + { + return ResourceManager.GetString("InvalidManifestError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The account {0} was not found. Please specify a valid account name.. + /// + public static string InvalidMediaServicesAccount + { + get + { + return ResourceManager.GetString("InvalidMediaServicesAccount", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided name "{0}" does not match the service bus namespace naming rules.. + /// + public static string InvalidNamespaceName + { + get + { + return ResourceManager.GetString("InvalidNamespaceName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Path must specify a valid path to an Azure profile.. + /// + public static string InvalidNewProfilePath + { + get + { + return ResourceManager.GetString("InvalidNewProfilePath", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Value cannot be null. Parameter name: '{0}'. + /// + public static string InvalidNullArgument + { + get + { + return ResourceManager.GetString("InvalidNullArgument", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} is invalid or empty. + /// + public static string InvalidOrEmptyArgumentMessage + { + get + { + return ResourceManager.GetString("InvalidOrEmptyArgumentMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided package path is invalid or doesn't exist. + /// + public static string InvalidPackagePath + { + get + { + return ResourceManager.GetString("InvalidPackagePath", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to '{0}' is an invalid parameter set name.. + /// + public static string InvalidParameterSetName + { + get + { + return ResourceManager.GetString("InvalidParameterSetName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} doesn't exist in {1} or you've not passed valid value for it. + /// + public static string InvalidPath + { + get + { + return ResourceManager.GetString("InvalidPath", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Path {0} has invalid characters. + /// + public static string InvalidPathName + { + get + { + return ResourceManager.GetString("InvalidPathName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Property bag Hashtable must contain one of the following sets of properties: {SubscriptionId, Certificate}, {SubscriptionId, Username, Password}, {SubscriptionId, ServicePrincipal, Password, Tenant}, {SubscriptionId, AccountId, Token}. + /// + public static string InvalidProfileProperties + { + get + { + return ResourceManager.GetString("InvalidProfileProperties", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided publish settings file {0} has invalid content. Please get valid by running cmdlet Get-AzurePublishSettingsFile. + /// + public static string InvalidPublishSettingsSchema + { + get + { + return ResourceManager.GetString("InvalidPublishSettingsSchema", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided role name "{0}" has invalid characters. + /// + public static string InvalidRoleNameMessage + { + get + { + return ResourceManager.GetString("InvalidRoleNameMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A valid name for the service root folder is required. + /// + public static string InvalidRootNameMessage + { + get + { + return ResourceManager.GetString("InvalidRootNameMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} is not a recognized runtime type. + /// + public static string InvalidRuntimeError + { + get + { + return ResourceManager.GetString("InvalidRuntimeError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A valid language is required. + /// + public static string InvalidScaffoldingLanguageArg + { + get + { + return ResourceManager.GetString("InvalidScaffoldingLanguageArg", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No subscription is currently selected. Use Select-Subscription to activate a subscription.. + /// + public static string InvalidSelectedSubscription + { + get + { + return ResourceManager.GetString("InvalidSelectedSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided location "{0}" does not exist in the available locations use Get-AzureSBLocation for listing available locations.. + /// + public static string InvalidServiceBusLocation + { + get + { + return ResourceManager.GetString("InvalidServiceBusLocation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please provide a service name or run this command from inside a service project directory.. + /// + public static string InvalidServiceName + { + get + { + return ResourceManager.GetString("InvalidServiceName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You must provide valid value for {0}. + /// + public static string InvalidServiceSettingElement + { + get + { + return ResourceManager.GetString("InvalidServiceSettingElement", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to settings.json is invalid or doesn't exist. + /// + public static string InvalidServiceSettingMessage + { + get + { + return ResourceManager.GetString("InvalidServiceSettingMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The subscription named '{0}' cannot be found. Use Set-AzureSubscription to initialize the subscription data.. + /// + public static string InvalidSubscription + { + get + { + return ResourceManager.GetString("InvalidSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided subscription id {0} is not valid. + /// + public static string InvalidSubscriptionId + { + get + { + return ResourceManager.GetString("InvalidSubscriptionId", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Must specify a non-null subscription name.. + /// + public static string InvalidSubscriptionName + { + get + { + return ResourceManager.GetString("InvalidSubscriptionName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A valid subscription name is required. This can be provided using the -Subscription parameter or by setting the subscription via the Set-AzureSubscription cmdlet. + /// + public static string InvalidSubscriptionNameMessage + { + get + { + return ResourceManager.GetString("InvalidSubscriptionNameMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided subscriptions file {0} has invalid content.. + /// + public static string InvalidSubscriptionsDataSchema + { + get + { + return ResourceManager.GetString("InvalidSubscriptionsDataSchema", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Role {0} VM size should be ExtraSmall, Small, Medium, Large or ExtraLarge.. + /// + public static string InvalidVMSize + { + get + { + return ResourceManager.GetString("InvalidVMSize", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The web job file must have *.zip extension. + /// + public static string InvalidWebJobFile + { + get + { + return ResourceManager.GetString("InvalidWebJobFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Singleton option works for continuous jobs only.. + /// + public static string InvalidWebJobSingleton + { + get + { + return ResourceManager.GetString("InvalidWebJobSingleton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The website {0} was not found. Please specify a valid website name.. + /// + public static string InvalidWebsite + { + get + { + return ResourceManager.GetString("InvalidWebsite", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No job for id: {0} was found.. + /// + public static string JobNotFound + { + get + { + return ResourceManager.GetString("JobNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to engines. + /// + public static string JsonEnginesSectionName + { + get + { + return ResourceManager.GetString("JsonEnginesSectionName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Scaffolding for this language is not yet supported. + /// + public static string LanguageScaffoldingIsNotSupported + { + get + { + return ResourceManager.GetString("LanguageScaffoldingIsNotSupported", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Link already established. + /// + public static string LinkAlreadyEstablished + { + get + { + return ResourceManager.GetString("LinkAlreadyEstablished", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to local_package.csx. + /// + public static string LocalPackageFileName + { + get + { + return ResourceManager.GetString("LocalPackageFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ServiceConfiguration.Local.cscfg. + /// + public static string LocalServiceConfigurationFileName + { + get + { + return ResourceManager.GetString("LocalServiceConfigurationFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Looking for {0} deployment for {1} cloud service.... + /// + public static string LookingForDeploymentMessage + { + get + { + return ResourceManager.GetString("LookingForDeploymentMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Looking for cloud service {0}.... + /// + public static string LookingForServiceMessage + { + get + { + return ResourceManager.GetString("LookingForServiceMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Azure Long-Running Job. + /// + public static string LROJobName + { + get + { + return ResourceManager.GetString("LROJobName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The cmdlet failed in background execution. The returned error was '{0}'. Please execute the cmdlet again. You may need to execute this cmdlet synchronously, by omitting the '-AsJob' parameter.. + /// + public static string LROTaskExceptionMessage + { + get + { + return ResourceManager.GetString("LROTaskExceptionMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to managementCertificate.pem. + /// + public static string ManagementCertificateFileName + { + get + { + return ResourceManager.GetString("ManagementCertificateFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ?whr={0}. + /// + public static string ManagementPortalRealmFormat + { + get + { + return ResourceManager.GetString("ManagementPortalRealmFormat", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to //baseuri. + /// + public static string ManifestBaseUriQuery + { + get + { + return ResourceManager.GetString("ManifestBaseUriQuery", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to uri. + /// + public static string ManifestBlobUriKey + { + get + { + return ResourceManager.GetString("ManifestBlobUriKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to http://az413943.vo.msecnd.net/node/runtimemanifest_0.7.5.2.xml. + /// + public static string ManifestUri + { + get + { + return ResourceManager.GetString("ManifestUri", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Property bag Hashtable must contain a 'Certificate' of type 'X509Certificate2'.. + /// + public static string MissingCertificateInProfileProperties + { + get + { + return ResourceManager.GetString("MissingCertificateInProfileProperties", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Property bag Hashtable must contain a 'Password' with an associated 'Username' or 'ServicePrincipal'.. + /// + public static string MissingPasswordInProfileProperties + { + get + { + return ResourceManager.GetString("MissingPasswordInProfileProperties", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Property bag Hashtable must contain a 'SubscriptionId'.. + /// + public static string MissingSubscriptionInProfileProperties + { + get + { + return ResourceManager.GetString("MissingSubscriptionInProfileProperties", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Multiple Add-Ons found holding name {0}. + /// + public static string MultipleAddOnsFoundMessage + { + get + { + return ResourceManager.GetString("MultipleAddOnsFoundMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Multiple possible publishing users. Please go to the Portal and use the listed deployment user, or click 'set/reset deployment credentials' to set up a new user account, then reurn this cmdlet and specify PublishingUsername.. + /// + public static string MultiplePublishingUsernames + { + get + { + return ResourceManager.GetString("MultiplePublishingUsernames", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The first publish settings file "{0}" is used. If you want to use another file specify the file name.. + /// + public static string MultiplePublishSettingsFilesFoundMessage + { + get + { + return ResourceManager.GetString("MultiplePublishSettingsFilesFoundMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft.WindowsAzure.Plugins.Caching.NamedCaches. + /// + public static string NamedCacheSettingName + { + get + { + return ResourceManager.GetString("NamedCacheSettingName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {"caches":[{"name":"default","policy":{"eviction":{"type":0},"expiration":{"defaultTTL":10,"isExpirable":true,"type":1},"serverNotification":{"isEnabled":false}},"secondaries":0}]}. + /// + public static string NamedCacheSettingValue + { + get + { + return ResourceManager.GetString("NamedCacheSettingValue", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A publishing username is required. Please specify one using the argument PublishingUsername.. + /// + public static string NeedPublishingUsernames + { + get + { + return ResourceManager.GetString("NeedPublishingUsernames", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to New Add-On Confirmation. + /// + public static string NewAddOnConformation + { + get + { + return ResourceManager.GetString("NewAddOnConformation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to By typing "Yes", I (a) authorize Microsoft to charge my current payment method on a monthly basis + ///for the amount indicated at {0} for {1} until my service is cancelled or terminated, and (b) + ///agree to the {2}'s terms of user and privacy statement at {0} and (c) agree to sharing my + ///contact information with {2}.. + /// + public static string NewMicrosoftAddOnMessage + { + get + { + return ResourceManager.GetString("NewMicrosoftAddOnMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Internal Server Error. This could happen because the namespace name is already used or due to an incorrect location name. Use Get-AzureSBLocation cmdlet to list valid names.. + /// + public static string NewNamespaceErrorMessage + { + get + { + return ResourceManager.GetString("NewNamespaceErrorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to By typing "Yes", I (a) authorize Microsoft to charge my current payment method on a monthly basis + ///for the amount indicated at {0} for {1} until my service is cancelled or terminated, and (b) + ///acknowledge the offering is provided by {2}, not Microsoft, and agree to {2}'s terms of + ///use and privacy statement at {0} and (c) agree to sharing my contact information with {2}.. + /// + public static string NewNonMicrosoftAddOnMessage + { + get + { + return ResourceManager.GetString("NewNonMicrosoftAddOnMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Service has been created at {0}. + /// + public static string NewServiceCreatedMessage + { + get + { + return ResourceManager.GetString("NewServiceCreatedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No. + /// + public static string No + { + get + { + return ResourceManager.GetString("No", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to There is no access token cached for subscription {0}, user id {1}. Use the Add-AzureAccount cmdlet to log in again and get a token for this subscription.. + /// + public static string NoCachedToken + { + get + { + return ResourceManager.GetString("NoCachedToken", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The service does not have any cache worker roles, add one first by running cmdlet Add-AzureCacheWorkerRole.. + /// + public static string NoCacheWorkerRoles + { + get + { + return ResourceManager.GetString("NoCacheWorkerRoles", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No clouds available. + /// + public static string NoCloudsAvailable + { + get + { + return ResourceManager.GetString("NoCloudsAvailable", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to "There is no current context, please log in using Connect-AzAccount.". + /// + public static string NoCurrentContextForDataCmdlet + { + get + { + return ResourceManager.GetString("NoCurrentContextForDataCmdlet", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to nodejs. + /// + public static string NodeDirectory + { + get + { + return ResourceManager.GetString("NodeDirectory", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to node. + /// + public static string NodeEngineKey + { + get + { + return ResourceManager.GetString("NodeEngineKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to node.exe. + /// + public static string NodeExe + { + get + { + return ResourceManager.GetString("NodeExe", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to There is no default subscription set, please set a default subscription by running Set-AzureSubscription -Default <subscription name>. + /// + public static string NoDefaultSubscriptionMessage + { + get + { + return ResourceManager.GetString("NoDefaultSubscriptionMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft SDKs\Azure\Nodejs\Nov2011. + /// + public static string NodeModulesPath + { + get + { + return ResourceManager.GetString("NodeModulesPath", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to nodejs. + /// + public static string NodeProgramFilesFolderName + { + get + { + return ResourceManager.GetString("NodeProgramFilesFolderName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to node. + /// + public static string NodeRuntimeValue + { + get + { + return ResourceManager.GetString("NodeRuntimeValue", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resources\Scaffolding\Node. + /// + public static string NodeScaffolding + { + get + { + return ResourceManager.GetString("NodeScaffolding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft.WindowsAzure.Commands.CloudService.ScaffoldingResources.Node. + /// + public static string NodeScaffoldingResources + { + get + { + return ResourceManager.GetString("NodeScaffoldingResources", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Installing Node version {0} in Azure for Role '{1}' (the Node version locally installed is: {2}). + /// + public static string NodeVersionWarningText + { + get + { + return ResourceManager.GetString("NodeVersionWarningText", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No, I do not agree. + /// + public static string NoHint + { + get + { + return ResourceManager.GetString("NoHint", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please connect to internet before executing this cmdlet. + /// + public static string NoInternetConnection + { + get + { + return ResourceManager.GetString("NoInternetConnection", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to <NONE>. + /// + public static string None + { + get + { + return ResourceManager.GetString("None", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No publish settings files with extension *.publishsettings are found in the directory "{0}".. + /// + public static string NoPublishSettingsFilesFoundMessage + { + get + { + return ResourceManager.GetString("NoPublishSettingsFilesFoundMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to There is no subscription associated with account {0}.. + /// + public static string NoSubscriptionAddedMessage + { + get + { + return ResourceManager.GetString("NoSubscriptionAddedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No subscriptions are associated with the logged in account in Azure Service Management (RDFE). This means that the logged in user is not an administrator or co-administrator for any account.\r\nDid you mean to execute Connect-AzAccount?. + /// + public static string NoSubscriptionFoundForTenant + { + get + { + return ResourceManager.GetString("NoSubscriptionFoundForTenant", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to '{0}' must be a cache worker role. Verify that it has proper cache worker role configuration.. + /// + public static string NotCacheWorkerRole + { + get + { + return ResourceManager.GetString("NotCacheWorkerRole", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Certificate can't be null.. + /// + public static string NullCertificateMessage + { + get + { + return ResourceManager.GetString("NullCertificateMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} could not be null or empty. + /// + public static string NullObjectMessage + { + get + { + return ResourceManager.GetString("NullObjectMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to add a null RoleSettings to {0}. + /// + public static string NullRoleSettingsMessage + { + get + { + return ResourceManager.GetString("NullRoleSettingsMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to add new role to null service definition. + /// + public static string NullServiceDefinitionMessage + { + get + { + return ResourceManager.GetString("NullServiceDefinitionMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The request offer '{0}' is not found.. + /// + public static string OfferNotFoundMessage + { + get + { + return ResourceManager.GetString("OfferNotFoundMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Operation "{0}" failed on VM with ID: {1}. + /// + public static string OperationFailedErrorMessage + { + get + { + return ResourceManager.GetString("OperationFailedErrorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The REST operation failed with message '{0}' and error code '{1}'. + /// + public static string OperationFailedMessage + { + get + { + return ResourceManager.GetString("OperationFailedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Job Id {0} did not complete within expected time or it is in Failed/Canceled/Invalid state.. + /// + public static string OperationTimedOutOrError + { + get + { + return ResourceManager.GetString("OperationTimedOutOrError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to package. + /// + public static string Package + { + get + { + return ResourceManager.GetString("Package", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Package is created at service root path {0}.. + /// + public static string PackageCreated + { + get + { + return ResourceManager.GetString("PackageCreated", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {{ + /// "author": "", + /// + /// "name": "{0}", + /// "version": "0.0.0", + /// "dependencies":{{}}, + /// "devDependencies":{{}}, + /// "optionalDependencies": {{}}, + /// "engines": {{ + /// "node": "*", + /// "iisnode": "*" + /// }} + /// + ///}} + ///. + /// + public static string PackageJsonDefaultFile + { + get + { + return ResourceManager.GetString("PackageJsonDefaultFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to package.json. + /// + public static string PackageJsonFileName + { + get + { + return ResourceManager.GetString("PackageJsonFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Path {0} doesn't exist.. + /// + public static string PathDoesNotExist + { + get + { + return ResourceManager.GetString("PathDoesNotExist", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Path for {0} doesn't exist in {1}.. + /// + public static string PathDoesNotExistForElement + { + get + { + return ResourceManager.GetString("PathDoesNotExistForElement", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A value for the Peer Asn has to be provided.. + /// + public static string PeerAsnRequired + { + get + { + return ResourceManager.GetString("PeerAsnRequired", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 5.4.0. + /// + public static string PHPDefaultRuntimeVersion + { + get + { + return ResourceManager.GetString("PHPDefaultRuntimeVersion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to php. + /// + public static string PhpRuntimeValue + { + get + { + return ResourceManager.GetString("PhpRuntimeValue", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resources\Scaffolding\PHP. + /// + public static string PHPScaffolding + { + get + { + return ResourceManager.GetString("PHPScaffolding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft.WindowsAzure.Commands.CloudService.ScaffoldingResources.PHP. + /// + public static string PHPScaffoldingResources + { + get + { + return ResourceManager.GetString("PHPScaffoldingResources", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Installing PHP version {0} for Role '{1}' (the PHP version locally installed is: {2}). + /// + public static string PHPVersionWarningText + { + get + { + return ResourceManager.GetString("PHPVersionWarningText", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You must create your first web site using the Microsoft Azure portal. + ///Please follow these steps in the portal: + ///1. At the bottom of the page, click on New > Web Site > Quick Create + ///2. Type {0} in the URL field + ///3. Click on "Create Web Site" + ///4. Once the site has been created, click on the site name + ///5. Click on "Set up Git publishing" or "Reset deployment credentials" and setup a publishing username and password. Use those credentials for all new websites you create.. + /// + public static string PortalInstructions + { + get + { + return ResourceManager.GetString("PortalInstructions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 6. Back in the console window, rerun this command by typing "New-AzureWebsite <site name> -Git". + /// + public static string PortalInstructionsGit + { + get + { + return ResourceManager.GetString("PortalInstructionsGit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This cmdlet is in preview. The functionality may not be available in the selected subscription. + /// + public static string PreviewCmdletMessage + { + get + { + return ResourceManager.GetString("PreviewCmdletMessage", resourceCulture); + } + } + + + /// + /// Looks up a localized string similar to A value for the Primary Peer Subnet has to be provided.. + /// + public static string PrimaryPeerSubnetRequired + { + get + { + return ResourceManager.GetString("PrimaryPeerSubnetRequired", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Promotion code can be used only when updating to a new plan.. + /// + public static string PromotionCodeWithCurrentPlanMessage + { + get + { + return ResourceManager.GetString("PromotionCodeWithCurrentPlanMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Service not published at user request.. + /// + public static string PublishAbortedAtUserRequest + { + get + { + return ResourceManager.GetString("PublishAbortedAtUserRequest", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Complete.. + /// + public static string PublishCompleteMessage + { + get + { + return ResourceManager.GetString("PublishCompleteMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Connecting.... + /// + public static string PublishConnectingMessage + { + get + { + return ResourceManager.GetString("PublishConnectingMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Created Deployment ID: {0}.. + /// + public static string PublishCreatedDeploymentMessage + { + get + { + return ResourceManager.GetString("PublishCreatedDeploymentMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Created hosted service '{0}'.. + /// + public static string PublishCreatedServiceMessage + { + get + { + return ResourceManager.GetString("PublishCreatedServiceMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Created Website URL: {0}.. + /// + public static string PublishCreatedWebsiteMessage + { + get + { + return ResourceManager.GetString("PublishCreatedWebsiteMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Creating.... + /// + public static string PublishCreatingServiceMessage + { + get + { + return ResourceManager.GetString("PublishCreatingServiceMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Initializing.... + /// + public static string PublishInitializingMessage + { + get + { + return ResourceManager.GetString("PublishInitializingMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to busy. + /// + public static string PublishInstanceStatusBusy + { + get + { + return ResourceManager.GetString("PublishInstanceStatusBusy", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to creating the virtual machine. + /// + public static string PublishInstanceStatusCreating + { + get + { + return ResourceManager.GetString("PublishInstanceStatusCreating", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Instance {0} of role {1} is {2}.. + /// + public static string PublishInstanceStatusMessage + { + get + { + return ResourceManager.GetString("PublishInstanceStatusMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ready. + /// + public static string PublishInstanceStatusReady + { + get + { + return ResourceManager.GetString("PublishInstanceStatusReady", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Preparing deployment for {0} with Subscription ID: {1}.... + /// + public static string PublishPreparingDeploymentMessage + { + get + { + return ResourceManager.GetString("PublishPreparingDeploymentMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Publishing {0} to Microsoft Azure. This may take several minutes.... + /// + public static string PublishServiceStartMessage + { + get + { + return ResourceManager.GetString("PublishServiceStartMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to publish settings. + /// + public static string PublishSettings + { + get + { + return ResourceManager.GetString("PublishSettings", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Azure. + /// + public static string PublishSettingsElementName + { + get + { + return ResourceManager.GetString("PublishSettingsElementName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to .PublishSettings. + /// + public static string PublishSettingsFileExtention + { + get + { + return ResourceManager.GetString("PublishSettingsFileExtention", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to publishSettings.xml. + /// + public static string PublishSettingsFileName + { + get + { + return ResourceManager.GetString("PublishSettingsFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to &whr={0}. + /// + public static string PublishSettingsFileRealmFormat + { + get + { + return ResourceManager.GetString("PublishSettingsFileRealmFormat", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Publish settings imported. + /// + public static string PublishSettingsSetSuccessfully + { + get + { + return ResourceManager.GetString("PublishSettingsSetSuccessfully", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AZURE_PUBLISHINGPROFILE_URL. + /// + public static string PublishSettingsUrlEnv + { + get + { + return ResourceManager.GetString("PublishSettingsUrlEnv", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Starting.... + /// + public static string PublishStartingMessage + { + get + { + return ResourceManager.GetString("PublishStartingMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Upgrading.... + /// + public static string PublishUpgradingMessage + { + get + { + return ResourceManager.GetString("PublishUpgradingMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Uploading Package to storage service {0}.... + /// + public static string PublishUploadingPackageMessage + { + get + { + return ResourceManager.GetString("PublishUploadingPackageMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Verifying storage account '{0}'.... + /// + public static string PublishVerifyingStorageMessage + { + get + { + return ResourceManager.GetString("PublishVerifyingStorageMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Path '{0}' not found.. + /// + public static string PublishVMDscExtensionAdditionalContentPathNotExist + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionAdditionalContentPathNotExist", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Configuration published to {0}. + /// + public static string PublishVMDscExtensionArchiveUploadedMessage + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionArchiveUploadedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Copy '{0}' to '{1}'.. + /// + public static string PublishVMDscExtensionCopyFileVerbose + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionCopyFileVerbose", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Copy the module '{0}' to '{1}'.. + /// + public static string PublishVMDscExtensionCopyModuleVerbose + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionCopyModuleVerbose", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid configuration file: {0}. + ///The file needs to be a PowerShell script (.ps1 or .psm1).. + /// + public static string PublishVMDscExtensionCreateArchiveConfigFileInvalidExtension + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionCreateArchiveConfigFileInvalidExtension", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Deleted '{0}'. + /// + public static string PublishVMDscExtensionDeletedFileMessage + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionDeletedFileMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot delete '{0}': {1}. + /// + public static string PublishVMDscExtensionDeleteErrorMessage + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionDeleteErrorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Path '{0}' not found.. + /// + public static string PublishVMDscExtensionDirectoryNotExist + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionDirectoryNotExist", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot get module for DscResource '{0}'. Possible solutions: + ///1) Specify -ModuleName for Import-DscResource in your configuration. + ///2) Unblock module that contains resource. + ///3) Move Import-DscResource inside Node block. + ///. + /// + public static string PublishVMDscExtensionGetDscResourceFailed + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionGetDscResourceFailed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to List of required modules: [{0}].. + /// + public static string PublishVMDscExtensionRequiredModulesVerbose + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionRequiredModulesVerbose", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Your current PowerShell version {1} is less then required by this cmdlet {0}. Consider download and install latest PowerShell version.. + /// + public static string PublishVMDscExtensionRequiredPsVersion + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionRequiredPsVersion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Configuration script '{0}' contained parse errors: + ///{1}. + /// + public static string PublishVMDscExtensionStorageParserErrors + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionStorageParserErrors", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Temp folder '{0}' created.. + /// + public static string PublishVMDscExtensionTempFolderVerbose + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionTempFolderVerbose", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid configuration file: {0}. + ///The file needs to be a PowerShell script (.ps1 or .psm1) or a ZIP archive (.zip).. + /// + public static string PublishVMDscExtensionUploadArchiveConfigFileInvalidExtension + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionUploadArchiveConfigFileInvalidExtension", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Configuration file '{0}' not found.. + /// + public static string PublishVMDscExtensionUploadArchiveConfigFileNotExist + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionUploadArchiveConfigFileNotExist", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Azure PowerShell collects usage data in order to improve your experience. + ///The data is anonymous and does not include commandline argument values. + ///The data is collected by Microsoft. + /// + ///Use the Disable-AzureDataCollection cmdlet to turn the feature Off. The cmdlet can be found in the Azure module. To disable data collection: PS > Disable-AzureDataCollection. + ///Use the Enable-AzureDataCollection cmdlet to turn the feature On. The cmdlet can be found in the Azure module. To enable data collection: PS > Enab [rest of string was truncated]";. + /// + public static string RDFEDataCollectionMessage + { + get + { + return ResourceManager.GetString("RDFEDataCollectionMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Replace current deployment with '{0}' Id ?. + /// + public static string RedeployCommit + { + get + { + return ResourceManager.GetString("RedeployCommit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to regenerate key?. + /// + public static string RegenerateKeyWarning + { + get + { + return ResourceManager.GetString("RegenerateKeyWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Generate new key.. + /// + public static string RegenerateKeyWhatIfMessage + { + get + { + return ResourceManager.GetString("RegenerateKeyWhatIfMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove account '{0}'?. + /// + public static string RemoveAccountConfirmation + { + get + { + return ResourceManager.GetString("RemoveAccountConfirmation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing account. + /// + public static string RemoveAccountMessage + { + get + { + return ResourceManager.GetString("RemoveAccountMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remove Add-On Confirmation. + /// + public static string RemoveAddOnConformation + { + get + { + return ResourceManager.GetString("RemoveAddOnConformation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to If you delete this add-on, your data may be deleted and the operation may not be undone. You may have to purchase it again from the Microsoft Azure Store to use it. The price of the add-on may not be refunded. Are you sure you want to delete this add-on? Enter “Yes” to confirm.. + /// + public static string RemoveAddOnMessage + { + get + { + return ResourceManager.GetString("RemoveAddOnMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remove-AzureBGPPeering Operation failed.. + /// + public static string RemoveAzureBGPPeeringFailed + { + get + { + return ResourceManager.GetString("RemoveAzureBGPPeeringFailed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing Bgp Peering. + /// + public static string RemoveAzureBGPPeeringMessage + { + get + { + return ResourceManager.GetString("RemoveAzureBGPPeeringMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Successfully removed Azure Bgp Peering with Service Key {0}.. + /// + public static string RemoveAzureBGPPeeringSucceeded + { + get + { + return ResourceManager.GetString("RemoveAzureBGPPeeringSucceeded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove the Bgp Peering with service key '{0}'?. + /// + public static string RemoveAzureBGPPeeringWarning + { + get + { + return ResourceManager.GetString("RemoveAzureBGPPeeringWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove the Dedicated Circuit with service key '{0}'?. + /// + public static string RemoveAzureDedicatdCircuitWarning + { + get + { + return ResourceManager.GetString("RemoveAzureDedicatdCircuitWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remove-AzureDedicatedCircuit Operation failed.. + /// + public static string RemoveAzureDedicatedCircuitFailed + { + get + { + return ResourceManager.GetString("RemoveAzureDedicatedCircuitFailed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remove-AzureDedicatedCircuitLink Operation failed.. + /// + public static string RemoveAzureDedicatedCircuitLinkFailed + { + get + { + return ResourceManager.GetString("RemoveAzureDedicatedCircuitLinkFailed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing Dedicated Circui Link. + /// + public static string RemoveAzureDedicatedCircuitLinkMessage + { + get + { + return ResourceManager.GetString("RemoveAzureDedicatedCircuitLinkMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Successfully removed Azure Dedicated Circuit Link with Service Key {0} and Vnet Name {1}. + /// + public static string RemoveAzureDedicatedCircuitLinkSucceeded + { + get + { + return ResourceManager.GetString("RemoveAzureDedicatedCircuitLinkSucceeded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove the Dedicated Circuit Link with service key '{0}' and virtual network name '{1}'?. + /// + public static string RemoveAzureDedicatedCircuitLinkWarning + { + get + { + return ResourceManager.GetString("RemoveAzureDedicatedCircuitLinkWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing Dedicated Circuit. + /// + public static string RemoveAzureDedicatedCircuitMessage + { + get + { + return ResourceManager.GetString("RemoveAzureDedicatedCircuitMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Successfully removed Azure Dedicated Circuit with Service Key {0}.. + /// + public static string RemoveAzureDedicatedCircuitSucceeded + { + get + { + return ResourceManager.GetString("RemoveAzureDedicatedCircuitSucceeded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing cloud service {0}.... + /// + public static string RemoveAzureServiceWaitMessage + { + get + { + return ResourceManager.GetString("RemoveAzureServiceWaitMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The default subscription is being removed. Use Select-AzureSubscription -Default <subscriptionName> to select a new default subscription.. + /// + public static string RemoveDefaultSubscription + { + get + { + return ResourceManager.GetString("RemoveDefaultSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing {0} deployment for {1} service. + /// + public static string RemoveDeploymentWaitMessage + { + get + { + return ResourceManager.GetString("RemoveDeploymentWaitMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing an environment will remove all associated subscriptions and accounts. Are you sure you want to remove an environment '{0}'?. + /// + public static string RemoveEnvironmentConfirmation + { + get + { + return ResourceManager.GetString("RemoveEnvironmentConfirmation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing environment. + /// + public static string RemoveEnvironmentMessage + { + get + { + return ResourceManager.GetString("RemoveEnvironmentMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing job collection. + /// + public static string RemoveJobCollectionMessage + { + get + { + return ResourceManager.GetString("RemoveJobCollectionMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove the job collection "{0}". + /// + public static string RemoveJobCollectionWarning + { + get + { + return ResourceManager.GetString("RemoveJobCollectionWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing job. + /// + public static string RemoveJobMessage + { + get + { + return ResourceManager.GetString("RemoveJobMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove the job "{0}". + /// + public static string RemoveJobWarning + { + get + { + return ResourceManager.GetString("RemoveJobWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove the account?. + /// + public static string RemoveMediaAccountWarning + { + get + { + return ResourceManager.GetString("RemoveMediaAccountWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Account removed.. + /// + public static string RemoveMediaAccountWhatIfMessage + { + get + { + return ResourceManager.GetString("RemoveMediaAccountWhatIfMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Internal Server Error. This could happen because the namespace does not exist or it does not exist under your subscription.. + /// + public static string RemoveNamespaceErrorMessage + { + get + { + return ResourceManager.GetString("RemoveNamespaceErrorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing old package {0}.... + /// + public static string RemovePackage + { + get + { + return ResourceManager.GetString("RemovePackage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing the Azure profile will remove all associated environments, subscriptions, and accounts. Are you sure you want to remove the Azure profile?. + /// + public static string RemoveProfileConfirmation + { + get + { + return ResourceManager.GetString("RemoveProfileConfirmation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing the Azure profile. + /// + public static string RemoveProfileMessage + { + get + { + return ResourceManager.GetString("RemoveProfileMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to delete the namespace '{0}'?. + /// + public static string RemoveServiceBusNamespaceConfirmation + { + get + { + return ResourceManager.GetString("RemoveServiceBusNamespaceConfirmation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove cloud service?. + /// + public static string RemoveServiceWarning + { + get + { + return ResourceManager.GetString("RemoveServiceWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remove cloud service and all it's deployments. + /// + public static string RemoveServiceWhatIfMessage + { + get + { + return ResourceManager.GetString("RemoveServiceWhatIfMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove subscription '{0}'?. + /// + public static string RemoveSubscriptionConfirmation + { + get + { + return ResourceManager.GetString("RemoveSubscriptionConfirmation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing subscription. + /// + public static string RemoveSubscriptionMessage + { + get + { + return ResourceManager.GetString("RemoveSubscriptionMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The endpoint {0} cannot be removed from profile {1} because it's not in the profile.. + /// + public static string RemoveTrafficManagerEndpointMissing + { + get + { + return ResourceManager.GetString("RemoveTrafficManagerEndpointMissing", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remove-AzureTrafficManagerProfile Operation failed.. + /// + public static string RemoveTrafficManagerProfileFailed + { + get + { + return ResourceManager.GetString("RemoveTrafficManagerProfileFailed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Successfully removed Traffic Manager profile with name {0}.. + /// + public static string RemoveTrafficManagerProfileSucceeded + { + get + { + return ResourceManager.GetString("RemoveTrafficManagerProfileSucceeded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove the Traffic Manager profile "{0}"?. + /// + public static string RemoveTrafficManagerProfileWarning + { + get + { + return ResourceManager.GetString("RemoveTrafficManagerProfileWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to delete the VM '{0}'?. + /// + public static string RemoveVMConfirmationMessage + { + get + { + return ResourceManager.GetString("RemoveVMConfirmationMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Deleting VM.. + /// + public static string RemoveVMMessage + { + get + { + return ResourceManager.GetString("RemoveVMMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing WebJob.... + /// + public static string RemoveWebJobMessage + { + get + { + return ResourceManager.GetString("RemoveWebJobMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove job '{0}'?. + /// + public static string RemoveWebJobWarning + { + get + { + return ResourceManager.GetString("RemoveWebJobWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing website. + /// + public static string RemoveWebsiteMessage + { + get + { + return ResourceManager.GetString("RemoveWebsiteMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove the website "{0}". + /// + public static string RemoveWebsiteWarning + { + get + { + return ResourceManager.GetString("RemoveWebsiteWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing public environment is not supported.. + /// + public static string RemovingDefaultEnvironmentsNotSupported + { + get + { + return ResourceManager.GetString("RemovingDefaultEnvironmentsNotSupported", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Deleting namespace. + /// + public static string RemovingNamespaceMessage + { + get + { + return ResourceManager.GetString("RemovingNamespaceMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Repository is not setup. You need to pass a valid site name.. + /// + public static string RepositoryNotSetup + { + get + { + return ResourceManager.GetString("RepositoryNotSetup", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reserved IP with the Name:'{0}' will no longer be in use after the deployment is deleted, and it is still reserved for later use.. + /// + public static string ReservedIPNameNoLongerInUseButStillBeingReserved + { + get + { + return ResourceManager.GetString("ReservedIPNameNoLongerInUseButStillBeingReserved", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resource with ID : {0} does not exist.. + /// + public static string ResourceNotFound + { + get + { + return ResourceManager.GetString("ResourceNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Restart. + /// + public static string Restart + { + get + { + return ResourceManager.GetString("Restart", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resume. + /// + public static string Resume + { + get + { + return ResourceManager.GetString("Resume", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to /role:{0};"{1}/{0}" . + /// + public static string RoleArgTemplate + { + get + { + return ResourceManager.GetString("RoleArgTemplate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to bin. + /// + public static string RoleBinFolderName + { + get + { + return ResourceManager.GetString("RoleBinFolderName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Role {0} is {1}. + /// + public static string RoleInstanceWaitMsg + { + get + { + return ResourceManager.GetString("RoleInstanceWaitMsg", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 20. + /// + public static string RoleMaxInstances + { + get + { + return ResourceManager.GetString("RoleMaxInstances", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to role name. + /// + public static string RoleName + { + get + { + return ResourceManager.GetString("RoleName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided role name {0} doesn't exist. + /// + public static string RoleNotFoundMessage + { + get + { + return ResourceManager.GetString("RoleNotFoundMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to RoleSettings.xml. + /// + public static string RoleSettingsTemplateFileName + { + get + { + return ResourceManager.GetString("RoleSettingsTemplateFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Role type {0} doesn't exist. + /// + public static string RoleTypeDoesNotExist + { + get + { + return ResourceManager.GetString("RoleTypeDoesNotExist", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to public static Dictionary<string, Location> ReverseLocations { get; private set; }. + /// + public static string RuntimeDeploymentLocationError + { + get + { + return ResourceManager.GetString("RuntimeDeploymentLocationError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Preparing runtime deployment for service '{0}'. + /// + public static string RuntimeDeploymentStart + { + get + { + return ResourceManager.GetString("RuntimeDeploymentStart", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to WARNING Runtime Mismatch: Are you sure that you want to publish service '{0}' using an Azure runtime version that does not match your local runtime version?. + /// + public static string RuntimeMismatchWarning + { + get + { + return ResourceManager.GetString("RuntimeMismatchWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to RUNTIMEOVERRIDEURL. + /// + public static string RuntimeOverrideKey + { + get + { + return ResourceManager.GetString("RuntimeOverrideKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to /runtimemanifest/runtimes/runtime. + /// + public static string RuntimeQuery + { + get + { + return ResourceManager.GetString("RuntimeQuery", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to RUNTIMEID. + /// + public static string RuntimeTypeKey + { + get + { + return ResourceManager.GetString("RuntimeTypeKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to RUNTIMEURL. + /// + public static string RuntimeUrlKey + { + get + { + return ResourceManager.GetString("RuntimeUrlKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to RUNTIMEVERSIONPRIMARYKEY. + /// + public static string RuntimeVersionPrimaryKey + { + get + { + return ResourceManager.GetString("RuntimeVersionPrimaryKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to scaffold.xml. + /// + public static string ScaffoldXml + { + get + { + return ResourceManager.GetString("ScaffoldXml", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid location entered. Pick one of the locations from Get-AzureSchedulerLocation. + /// + public static string SchedulerInvalidLocation + { + get + { + return ResourceManager.GetString("SchedulerInvalidLocation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A value for the Secondary Peer Subnet has to be provided.. + /// + public static string SecondaryPeerSubnetRequired + { + get + { + return ResourceManager.GetString("SecondaryPeerSubnetRequired", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Service {0} already exists on disk in location {1}. + /// + public static string ServiceAlreadyExistsOnDisk + { + get + { + return ResourceManager.GetString("ServiceAlreadyExistsOnDisk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No ServiceBus authorization rule with the given characteristics was found. + /// + public static string ServiceBusAuthorizationRuleNotFound + { + get + { + return ResourceManager.GetString("ServiceBusAuthorizationRuleNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The service bus entity '{0}' is not found.. + /// + public static string ServiceBusEntityTypeNotFound + { + get + { + return ResourceManager.GetString("ServiceBusEntityTypeNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Internal Server Error. This could happen due to an incorrect/missing namespace. + /// + public static string ServiceBusNamespaceMissingMessage + { + get + { + return ResourceManager.GetString("ServiceBusNamespaceMissingMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to service configuration. + /// + public static string ServiceConfiguration + { + get + { + return ResourceManager.GetString("ServiceConfiguration", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to service definition. + /// + public static string ServiceDefinition + { + get + { + return ResourceManager.GetString("ServiceDefinition", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ServiceDefinition.csdef. + /// + public static string ServiceDefinitionFileName + { + get + { + return ResourceManager.GetString("ServiceDefinitionFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0}Deploy. + /// + public static string ServiceDeploymentName + { + get + { + return ResourceManager.GetString("ServiceDeploymentName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The specified cloud service "{0}" does not exist.. + /// + public static string ServiceDoesNotExist + { + get + { + return ResourceManager.GetString("ServiceDoesNotExist", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} slot for service {1} is in {2} state, please wait until it finish and update it's status. + /// + public static string ServiceIsInTransitionState + { + get + { + return ResourceManager.GetString("ServiceIsInTransitionState", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to "An exception occurred when calling the ServiceManagement API. HTTP Status Code: {0}. Service Management Error Code: {1}. Message: {2}. Operation Tracking ID: {3}.". + /// + public static string ServiceManagementClientExceptionStringFormat + { + get + { + return ResourceManager.GetString("ServiceManagementClientExceptionStringFormat", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Begin Operation: {0}. + /// + public static string ServiceManagementExecuteClientActionBeginOperation + { + get + { + return ResourceManager.GetString("ServiceManagementExecuteClientActionBeginOperation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Completed Operation: {0}. + /// + public static string ServiceManagementExecuteClientActionCompletedOperation + { + get + { + return ResourceManager.GetString("ServiceManagementExecuteClientActionCompletedOperation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Begin Operation: {0}. + /// + public static string ServiceManagementExecuteClientActionInOCSBeginOperation + { + get + { + return ResourceManager.GetString("ServiceManagementExecuteClientActionInOCSBeginOperation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Completed Operation: {0}. + /// + public static string ServiceManagementExecuteClientActionInOCSCompletedOperation + { + get + { + return ResourceManager.GetString("ServiceManagementExecuteClientActionInOCSCompletedOperation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to service name. + /// + public static string ServiceName + { + get + { + return ResourceManager.GetString("ServiceName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided service name {0} already exists, please pick another name. + /// + public static string ServiceNameExists + { + get + { + return ResourceManager.GetString("ServiceNameExists", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please provide name for the hosted service. + /// + public static string ServiceNameMissingMessage + { + get + { + return ResourceManager.GetString("ServiceNameMissingMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to service parent directory. + /// + public static string ServiceParentDirectory + { + get + { + return ResourceManager.GetString("ServiceParentDirectory", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Service {0} removed successfully. + /// + public static string ServiceRemovedMessage + { + get + { + return ResourceManager.GetString("ServiceRemovedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to service directory. + /// + public static string ServiceRoot + { + get + { + return ResourceManager.GetString("ServiceRoot", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to service settings. + /// + public static string ServiceSettings + { + get + { + return ResourceManager.GetString("ServiceSettings", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The storage account name '{0}' is invalid. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.. + /// + public static string ServiceSettings_ValidateStorageAccountName_InvalidName + { + get + { + return ResourceManager.GetString("ServiceSettings_ValidateStorageAccountName_InvalidName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The {0} slot for cloud service {1} doesn't exist.. + /// + public static string ServiceSlotDoesNotExist + { + get + { + return ResourceManager.GetString("ServiceSlotDoesNotExist", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} slot for service {1} is {2}. + /// + public static string ServiceStatusChanged + { + get + { + return ResourceManager.GetString("ServiceStatusChanged", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Set Add-On Confirmation. + /// + public static string SetAddOnConformation + { + get + { + return ResourceManager.GetString("SetAddOnConformation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Profile {0} does not contain endpoint {1}. Adding it.. + /// + public static string SetInexistentTrafficManagerEndpointMessage + { + get + { + return ResourceManager.GetString("SetInexistentTrafficManagerEndpointMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Note - You will be charged the amount for the new plan, without being refunded for time remaining + ///in the existing plan. + ///By typing "Yes", I (a) authorize Microsoft to charge my current payment method on a monthly basis + ///for the amount indicated at {0} for {1} until my service is cancelled or terminated, and (b) + ///agree to the {2}'s terms of user and privacy statement at {0} and (c) agree to sharing my + ///contact information with {2}.. + /// + public static string SetMicrosoftAddOnMessage + { + get + { + return ResourceManager.GetString("SetMicrosoftAddOnMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Note - You will be charged the amount for the new plan, without being refunded for time remaining + ///in the existing plan. + ///By typing "Yes", I (a) authorize Microsoft to charge my current payment method on a monthly basis + ///for the amount indicated at {0} for {1} until my service is cancelled or terminated, and (b) + ///acknowledge the offering is provided by {2}, not Microsoft, and agree to {2}'s terms of + ///use and privacy statement at <url> and (c) agree to sharing my contact information with {2}.. + /// + public static string SetNonMicrosoftAddOnMessage + { + get + { + return ResourceManager.GetString("SetNonMicrosoftAddOnMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Role {0} instances are set to {1}. + /// + public static string SetRoleInstancesMessage + { + get + { + return ResourceManager.GetString("SetRoleInstancesMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {"Slot":"","Location":"","Subscription":"","StorageAccountName":""}. + /// + public static string SettingsFileEmptyContent + { + get + { + return ResourceManager.GetString("SettingsFileEmptyContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to deploymentSettings.json. + /// + public static string SettingsFileName + { + get + { + return ResourceManager.GetString("SettingsFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Insufficient parameters passed to create a new endpoint.. + /// + public static string SetTrafficManagerEndpointNeedsParameters + { + get + { + return ResourceManager.GetString("SetTrafficManagerEndpointNeedsParameters", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Ambiguous operation: the profile name specified doesn't match the name of the profile object.. + /// + public static string SetTrafficManagerProfileAmbiguous + { + get + { + return ResourceManager.GetString("SetTrafficManagerProfileAmbiguous", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please execute the cmdlet again and include the 'Force' parameter, if available, to avoid unnecessary prompts.. + /// + public static string ShouldContinueFail + { + get + { + return ResourceManager.GetString("ShouldContinueFail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Confirm. + /// + public static string ShouldProcessCaption + { + get + { + return ResourceManager.GetString("ShouldProcessCaption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please execute the cmdlet again and omit the 'Confirm' parameter when using the 'AsJob' parameter.. + /// + public static string ShouldProcessFailConfirm + { + get + { + return ResourceManager.GetString("ShouldProcessFailConfirm", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please increase the user $ConfirmPreference setting, or include turn off confirmation using '-Confirm:$false' when using the 'AsJob' parameter and execute the cmdet again.. + /// + public static string ShouldProcessFailImpact + { + get + { + return ResourceManager.GetString("ShouldProcessFailImpact", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please execute the cmdlet again and omit the 'WhatIf' parameter when using the 'AsJob' parameter.. + /// + public static string ShouldProcessFailWhatIf + { + get + { + return ResourceManager.GetString("ShouldProcessFailWhatIf", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Shutdown. + /// + public static string Shutdown + { + get + { + return ResourceManager.GetString("Shutdown", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to /sites:{0};{1};"{2}/{0}" . + /// + public static string SitesArgTemplate + { + get + { + return ResourceManager.GetString("SitesArgTemplate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1000. + /// + public static string StandardRetryDelayInMs + { + get + { + return ResourceManager.GetString("StandardRetryDelayInMs", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start. + /// + public static string Start + { + get + { + return ResourceManager.GetString("Start", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Started. + /// + public static string StartedEmulator + { + get + { + return ResourceManager.GetString("StartedEmulator", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Starting Emulator.... + /// + public static string StartingEmulator + { + get + { + return ResourceManager.GetString("StartingEmulator", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to start. + /// + public static string StartStorageEmulatorCommandArgument + { + get + { + return ResourceManager.GetString("StartStorageEmulatorCommandArgument", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stop. + /// + public static string Stop + { + get + { + return ResourceManager.GetString("Stop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stopping emulator.... + /// + public static string StopEmulatorMessage + { + get + { + return ResourceManager.GetString("StopEmulatorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stopped. + /// + public static string StoppedEmulatorMessage + { + get + { + return ResourceManager.GetString("StoppedEmulatorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to stop. + /// + public static string StopStorageEmulatorCommandArgument + { + get + { + return ResourceManager.GetString("StopStorageEmulatorCommandArgument", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Account Name:. + /// + public static string StorageAccountName + { + get + { + return ResourceManager.GetString("StorageAccountName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot find storage account '{0}' please type the name of an existing storage account.. + /// + public static string StorageAccountNotFound + { + get + { + return ResourceManager.GetString("StorageAccountNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AzureStorageEmulator.exe. + /// + public static string StorageEmulatorExe + { + get + { + return ResourceManager.GetString("StorageEmulatorExe", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to InstallPath. + /// + public static string StorageEmulatorInstallPathRegistryKeyValue + { + get + { + return ResourceManager.GetString("StorageEmulatorInstallPathRegistryKeyValue", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SOFTWARE\Microsoft\Windows Azure Storage Emulator. + /// + public static string StorageEmulatorRegistryKey + { + get + { + return ResourceManager.GetString("StorageEmulatorRegistryKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Primary Key:. + /// + public static string StoragePrimaryKey + { + get + { + return ResourceManager.GetString("StoragePrimaryKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Secondary Key:. + /// + public static string StorageSecondaryKey + { + get + { + return ResourceManager.GetString("StorageSecondaryKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The subscription named {0} already exists.. + /// + public static string SubscriptionAlreadyExists + { + get + { + return ResourceManager.GetString("SubscriptionAlreadyExists", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The SubscriptionDataFile parameter is deprecated. This parameter will be removed in a future release. See https://github.com/Azure/azure-powershell/wiki/Proposed-Design-Stateless-Azure-Profile for a description of the upcoming mechanism for providing alternate sources of subscription information.. + /// + public static string SubscriptionDataFileDeprecated + { + get + { + return ResourceManager.GetString("SubscriptionDataFileDeprecated", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to DefaultSubscriptionData.xml. + /// + public static string SubscriptionDataFileName + { + get + { + return ResourceManager.GetString("SubscriptionDataFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The subscription data file {0} does not exist.. + /// + public static string SubscriptionDataFileNotFound + { + get + { + return ResourceManager.GetString("SubscriptionDataFileNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The subscription id {0} doesn't exist.. + /// + public static string SubscriptionIdNotFoundMessage + { + get + { + return ResourceManager.GetString("SubscriptionIdNotFoundMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Subscription must not be null. + /// + public static string SubscriptionMustNotBeNull + { + get + { + return ResourceManager.GetString("SubscriptionMustNotBeNull", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Subscription name needs to be specified.. + /// + public static string SubscriptionNameNeedsToBeSpecified + { + get + { + return ResourceManager.GetString("SubscriptionNameNeedsToBeSpecified", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The subscription name {0} doesn't exist.. + /// + public static string SubscriptionNameNotFoundMessage + { + get + { + return ResourceManager.GetString("SubscriptionNameNotFoundMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Subscription needs to be specified.. + /// + public static string SubscriptionNeedsToBeSpecified + { + get + { + return ResourceManager.GetString("SubscriptionNeedsToBeSpecified", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Suspend. + /// + public static string Suspend + { + get + { + return ResourceManager.GetString("Suspend", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Swapping website production slot .... + /// + public static string SwappingWebsite + { + get + { + return ResourceManager.GetString("SwappingWebsite", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to swap the website '{0}' production slot with slot '{1}'?. + /// + public static string SwapWebsiteSlotWarning + { + get + { + return ResourceManager.GetString("SwapWebsiteSlotWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The Switch-AzureMode cmdlet is deprecated and will be removed in a future release.. + /// + public static string SwitchAzureModeDeprecated + { + get + { + return ResourceManager.GetString("SwitchAzureModeDeprecated", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [AzureLongRunningJob]: Starting cmdlet execution, setting for cmdlet confirmation required: '{0}'. + /// + public static string TraceBeginLROJob + { + get + { + return ResourceManager.GetString("TraceBeginLROJob", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [AzureLongRunningJob]: Blocking job for ShouldMethod '{0}'. + /// + public static string TraceBlockLROThread + { + get + { + return ResourceManager.GetString("TraceBlockLROThread", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [AzureLongRunningJob]: Completing cmdlet execution in RunJob. + /// + public static string TraceEndLROJob + { + get + { + return ResourceManager.GetString("TraceEndLROJob", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [AzureLongRunningJob]: State change from '{0}' to '{1}' because '{2}'. + /// + public static string TraceHandleLROStateChange + { + get + { + return ResourceManager.GetString("TraceHandleLROStateChange", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [AzureLongRunningJob]: Unblocking job due to stoppage or failure. + /// + public static string TraceHandlerCancelJob + { + get + { + return ResourceManager.GetString("TraceHandlerCancelJob", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [AzureLongRunningJob]: Unblocking job that was previously blocked.. + /// + public static string TraceHandlerUnblockJob + { + get + { + return ResourceManager.GetString("TraceHandlerUnblockJob", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [AzureLongRunningJob]: Error in cmdlet execution. + /// + public static string TraceLROJobException + { + get + { + return ResourceManager.GetString("TraceLROJobException", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [AzureLongRunningJob]: Removing state changed event handler, exception '{0}'. + /// + public static string TraceRemoveLROEventHandler + { + get + { + return ResourceManager.GetString("TraceRemoveLROEventHandler", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [AzureLongRunningJob]: ShouldMethod '{0}' unblocked.. + /// + public static string TraceUnblockLROThread + { + get + { + return ResourceManager.GetString("TraceUnblockLROThread", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to decode string from base 64. Please make sure the string is correctly encoded: {0}.. + /// + public static string UnableToDecodeBase64String + { + get + { + return ResourceManager.GetString("UnableToDecodeBase64String", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to update mismatching Json structured: {0} {1}.. + /// + public static string UnableToPatchJson + { + get + { + return ResourceManager.GetString("UnableToPatchJson", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provider {0} is unknown.. + /// + public static string UnknownProviderMessage + { + get + { + return ResourceManager.GetString("UnknownProviderMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update. + /// + public static string Update + { + get + { + return ResourceManager.GetString("Update", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Updated settings for subscription '{0}'. Current subscription is '{1}'.. + /// + public static string UpdatedSettings + { + get + { + return ResourceManager.GetString("UpdatedSettings", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to User name is not valid.. + /// + public static string UserNameIsNotValid + { + get + { + return ResourceManager.GetString("UserNameIsNotValid", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to User name needs to be specified.. + /// + public static string UserNameNeedsToBeSpecified + { + get + { + return ResourceManager.GetString("UserNameNeedsToBeSpecified", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A value for the VLan Id has to be provided.. + /// + public static string VlanIdRequired + { + get + { + return ResourceManager.GetString("VlanIdRequired", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please wait.... + /// + public static string WaitMessage + { + get + { + return ResourceManager.GetString("WaitMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The azure storage emulator is not installed, skip launching.... + /// + public static string WarningWhenStorageEmulatorIsMissing + { + get + { + return ResourceManager.GetString("WarningWhenStorageEmulatorIsMissing", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Web.cloud.config. + /// + public static string WebCloudConfig + { + get + { + return ResourceManager.GetString("WebCloudConfig", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to web.config. + /// + public static string WebConfigTemplateFileName + { + get + { + return ResourceManager.GetString("WebConfigTemplateFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to MSDeploy. + /// + public static string WebDeployKeywordInWebSitePublishProfile + { + get + { + return ResourceManager.GetString("WebDeployKeywordInWebSitePublishProfile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot build the project successfully. Please see logs in {0}.. + /// + public static string WebProjectBuildFailTemplate + { + get + { + return ResourceManager.GetString("WebProjectBuildFailTemplate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to WebRole. + /// + public static string WebRole + { + get + { + return ResourceManager.GetString("WebRole", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to setup_web.cmd > log.txt. + /// + public static string WebRoleStartupTaskCommandLine + { + get + { + return ResourceManager.GetString("WebRoleStartupTaskCommandLine", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to WebRole.xml. + /// + public static string WebRoleTemplateFileName + { + get + { + return ResourceManager.GetString("WebRoleTemplateFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to WebSite with given name {0} already exists in the specified Subscription and Webspace.. + /// + public static string WebsiteAlreadyExists + { + get + { + return ResourceManager.GetString("WebsiteAlreadyExists", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to WebSite with given name {0} already exists in the specified Subscription and Location.. + /// + public static string WebsiteAlreadyExistsReplacement + { + get + { + return ResourceManager.GetString("WebsiteAlreadyExistsReplacement", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Site {0} already has repository created for it.. + /// + public static string WebsiteRepositoryAlreadyExists + { + get + { + return ResourceManager.GetString("WebsiteRepositoryAlreadyExists", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Workspaces/WebsiteExtension/Website/{0}/dashboard/. + /// + public static string WebsiteSufixUrl + { + get + { + return ResourceManager.GetString("WebsiteSufixUrl", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to https://{0}/msdeploy.axd?site={1}. + /// + public static string WebSiteWebDeployUriTemplate + { + get + { + return ResourceManager.GetString("WebSiteWebDeployUriTemplate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to WorkerRole. + /// + public static string WorkerRole + { + get + { + return ResourceManager.GetString("WorkerRole", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to setup_worker.cmd > log.txt. + /// + public static string WorkerRoleStartupTaskCommandLine + { + get + { + return ResourceManager.GetString("WorkerRoleStartupTaskCommandLine", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to WorkerRole.xml. + /// + public static string WorkerRoleTemplateFileName + { + get + { + return ResourceManager.GetString("WorkerRoleTemplateFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to (x86). + /// + public static string x86InProgramFiles + { + get + { + return ResourceManager.GetString("x86InProgramFiles", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Yes. + /// + public static string Yes + { + get + { + return ResourceManager.GetString("Yes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Yes, I agree. + /// + public static string YesHint + { + get + { + return ResourceManager.GetString("YesHint", resourceCulture); + } + } + } +} diff --git a/swaggerci/redis/generated/runtime/Properties/Resources.resx b/swaggerci/redis/generated/runtime/Properties/Resources.resx new file mode 100644 index 000000000000..598cd53e958a --- /dev/null +++ b/swaggerci/redis/generated/runtime/Properties/Resources.resx @@ -0,0 +1,1741 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + The remote server returned an error: (401) Unauthorized. + + + Account "{0}" has been added. + + + To switch to a different subscription, please use Select-AzureSubscription. + + + Subscription "{0}" is selected as the default subscription. + + + To view all the subscriptions, please use Get-AzureSubscription. + + + Add-On {0} is created successfully. + + + Add-on name {0} is already used. + + + Add-On {0} not found. + + + Add-on {0} is removed successfully. + + + Add-On {0} is updated successfully. + + + Role has been created at {0}\{1}. + + + Role has been created at {0}\{1}. For easy access to Microsoft Azure services from your application code, install the Microsoft Azure client library for Node.js by running ‘npm install azure’. + + + Role has been created at {0}\{1}. For easy access to Microsoft Azure services from your application code, install the Microsoft Azure client library for PHP by running "pear WindowsAzure/WindowsAzure". + + + Unable to set role permissions. Please give the 'Network Service' user 'Read & execute' and 'Modify' permissions to the role folder, or run PowerShell as an Administrator + + + A role name '{0}' already exists + + + Windows Azure Powershell\ + + + https://manage.windowsazure.com + + + AZURE_PORTAL_URL + + + Azure SDK\{0}\ + + + Base Uri was empty. + WAPackIaaS + + + {0} begin processing without ParameterSet. + + + {0} begin processing with ParameterSet '{1}'. + + + Blob with the name {0} already exists in the account. + + + https://{0}.blob.core.windows.net/ + + + AZURE_BLOBSTORAGE_TEMPLATE + + + CACHERUNTIMEURL + + + cache + + + CacheRuntimeVersion + + + Installing caching version {0} for Role '{1}' (the caching version locally installed is: {2}) + + + Cannot find {0} with name {1}. + + + Deployment for service {0} with {1} slot doesn't exist + + + Can't find valid Microsoft Azure role in current directory {0} + + + service {0} configuration file (ServiceConfiguration.Cloud.cscfg) is either null or doesn't exist + + + Invalid service path! Cannot locate ServiceDefinition.csdef in current folder or parent folders. + + + The subscription named {0} with id {1} is not currently imported. You must import this subscription before it can be updated. + + + ManagementCertificate + + + certificate.pfx + + + Certificate imported into CurrentUser\My\{0} + + + Your account does not have access to the private key for certificate {0} + + + {0} {1} deployment for {2} service + + + Cloud service {0} is in {1} state. + + + Changing/Removing public environment '{0}' is not allowed. + + + Service {0} is set to value {1} + + + Choose which publish settings file to use: + + + Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel + + + 1 + + + cloud_package.cspkg + + + ServiceConfiguration.Cloud.cscfg + + + Add-ons for {0} + + + Communication could not be established. This could be due to an invalid subscription ID. Note that subscription IDs are case sensitive. + + + Complete + + + config.json + + + VirtualMachine creation failed. + WAPackIaaS + + + Creating the website failed. If this is the first website for this subscription, please create it using the management portal instead. + + + Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core + + + //blobcontainer[@datacenter='{0}'] + + + Setting: {0} as the default and current subscription. To view other subscriptions use Get-AzureSubscription + + + none + + + There are no hostnames which could be used for validation. + + + 8080 + + + 1000 + + + Auto + + + 80 + + + Delete + WAPackIaaS + + + The {0} slot for service {1} is already in {2} state + + + The deployment in {0} slot for service {1} is removed + + + Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel + + + 1 + + + The key to add already exists in the dictionary. + + + The array index cannot be less than zero. + + + The supplied array does not have enough room to contain the copied elements. + + + The provided dns {0} doesn't exist + + + Microsoft Azure Certificate + + + Endpoint can't be retrieved for storage account + + + {0} end processing. + + + To use Active Directory authentication, you must configure the ActiveDirectoryEndpoint, ActiveDirectoryTenantId, and ActiveDirectorServiceEndpointResourceId for environment of '{0}'. You can configure these properties for this environment using the Set-AzureEnvironment cmdlet. + + + The environment '{0}' already exists. + + + environments.xml + + + Error creating VirtualMachine + WAPackIaaS + + + Unable to download available runtimes for location '{0}' + + + Error updating VirtualMachine + WAPackIaaS + + + Job Id {0} failed. Error: {1}, ExceptionDetails: {2} + WAPackIaaS + + + The HTTP request was forbidden with client authentication scheme 'Anonymous'. + + + This add-on requires you to purchase the first instance through the Microsoft Azure Portal. Subsequent purchases can be performed through PowerShell. + + + Operation Status: + + + Resources\Scaffolding\General + + + Getting all available Microsoft Azure Add-Ons, this may take few minutes... + + + Name{0}Primary Key{0}Seconday Key + + + Git not found. Please install git and place it in your command line path. + + + Could not find publish settings. Please run Import-AzurePublishSettingsFile. + + + iisnode.dll + + + iisnode + + + iisnode-dev\\release\\x64 + + + iisnode + + + Installing IISNode version {0} in Azure for WebRole '{1}' (the version locally installed is: {2}) + + + Internal Server Error + + + Cannot enable memcach protocol on a cache worker role {0}. + + + Invalid certificate format. + + + The provided configuration path is invalid or doesn't exist + + + The country name is invalid, please use a valid two character country code, as described in ISO 3166-1 alpha-2. + + + Deployment with {0} does not exist + + + The deployment slot name {0} is invalid. Slot name must be either "Staging" or "Production". + + + Invalid service endpoint. + + + File {0} has invalid characters + + + You must create your git publishing credentials using the Microsoft Azure portal. +Please follow these steps in the portal: +1. On the left side open "Web Sites" +2. Click on any website +3. Choose "Setup Git Publishing" or "Reset deployment credentials" +4. Back in the PowerShell window, rerun this command by typing "New-AzureWebSite {site name} -Git -PublishingUsername {username} + + + The value {0} provided is not a valid GUID. Please provide a valid GUID. + + + The specified hostname does not exist. Please specify a valid hostname for the site. + + + Role {0} instances must be greater than or equal 0 and less than or equal 20 + + + There was an error creating your webjob. Please make sure that the script is in the root folder of the zip file. + + + Could not download a valid runtime manifest, Please check your internet connection and try again. + + + The account {0} was not found. Please specify a valid account name. + + + The provided name "{0}" does not match the service bus namespace naming rules. + + + Value cannot be null. Parameter name: '{0}' + + + The provided package path is invalid or doesn't exist + + + '{0}' is an invalid parameter set name. + + + {0} doesn't exist in {1} or you've not passed valid value for it + + + Path {0} has invalid characters + + + The provided publish settings file {0} has invalid content. Please get valid by running cmdlet Get-AzurePublishSettingsFile + + + The provided role name "{0}" has invalid characters + + + A valid name for the service root folder is required + + + {0} is not a recognized runtime type + + + A valid language is required + + + No subscription is currently selected. Use Select-Subscription to activate a subscription. + + + The provided location "{0}" does not exist in the available locations use Get-AzureSBLocation for listing available locations. + + + Please provide a service name or run this command from inside a service project directory. + + + You must provide valid value for {0} + + + settings.json is invalid or doesn't exist + + + The subscription named '{0}' cannot be found. Use Set-AzureSubscription to initialize the subscription data. + + + The provided subscription id {0} is not valid + + + A valid subscription name is required. This can be provided using the -Subscription parameter or by setting the subscription via the Set-AzureSubscription cmdlet + + + The provided subscriptions file {0} has invalid content. + + + Role {0} VM size should be ExtraSmall, Small, Medium, Large or ExtraLarge. + + + The web job file must have *.zip extension + + + Singleton option works for continuous jobs only. + + + The website {0} was not found. Please specify a valid website name. + + + No job for id: {0} was found. + WAPackIaaS + + + engines + + + Scaffolding for this language is not yet supported + + + Link already established + + + local_package.csx + + + ServiceConfiguration.Local.cscfg + + + Looking for {0} deployment for {1} cloud service... + + + Looking for cloud service {0}... + + + managementCertificate.pem + + + ?whr={0} + + + //baseuri + + + uri + + + http://az413943.vo.msecnd.net/node/runtimemanifest_0.7.5.2.xml + + + Multiple Add-Ons found holding name {0} + + + Multiple possible publishing users. Please go to the Portal and use the listed deployment user, or click 'set/reset deployment credentials' to set up a new user account, then reurn this cmdlet and specify PublishingUsername. + + + The first publish settings file "{0}" is used. If you want to use another file specify the file name. + + + Microsoft.WindowsAzure.Plugins.Caching.NamedCaches + + + {"caches":[{"name":"default","policy":{"eviction":{"type":0},"expiration":{"defaultTTL":10,"isExpirable":true,"type":1},"serverNotification":{"isEnabled":false}},"secondaries":0}]} + + + A publishing username is required. Please specify one using the argument PublishingUsername. + + + New Add-On Confirmation + + + By typing "Yes", I (a) authorize Microsoft to charge my current payment method on a monthly basis +for the amount indicated at {0} for {1} until my service is cancelled or terminated, and (b) +agree to the {2}'s terms of user and privacy statement at {0} and (c) agree to sharing my +contact information with {2}. + + + Internal Server Error. This could happen because the namespace name is already used or due to an incorrect location name. Use Get-AzureSBLocation cmdlet to list valid names. + + + By typing "Yes", I (a) authorize Microsoft to charge my current payment method on a monthly basis +for the amount indicated at {0} for {1} until my service is cancelled or terminated, and (b) +acknowledge the offering is provided by {2}, not Microsoft, and agree to {2}'s terms of +use and privacy statement at {0} and (c) agree to sharing my contact information with {2}. + + + Service has been created at {0} + + + No + + + There is no access token cached for subscription {0}, user id {1}. Use the Add-AzureAccount cmdlet to log in again and get a token for this subscription. + + + The service does not have any cache worker roles, add one first by running cmdlet Add-AzureCacheWorkerRole. + + + No clouds available + WAPackIaaS + + + nodejs + + + node + + + node.exe + + + There is no default subscription set, please set a default subscription by running Set-AzureSubscription -Default <subscription name> + + + Microsoft SDKs\Azure\Nodejs\Nov2011 + + + nodejs + + + node + + + Resources\Scaffolding\Node + + + Microsoft.WindowsAzure.Commands.CloudService.ScaffoldingResources.Node + + + Installing Node version {0} in Azure for Role '{1}' (the Node version locally installed is: {2}) + + + No, I do not agree + + + No publish settings files with extension *.publishsettings are found in the directory "{0}". + + + '{0}' must be a cache worker role. Verify that it has proper cache worker role configuration. + + + Certificate can't be null. + + + {0} could not be null or empty + + + Unable to add a null RoleSettings to {0} + + + Unable to add new role to null service definition + + + The request offer '{0}' is not found. + + + Operation "{0}" failed on VM with ID: {1} + WAPackIaaS + + + The REST operation failed with message '{0}' and error code '{1}' + + + Job Id {0} did not complete within expected time or it is in Failed/Canceled/Invalid state. + WAPackIaaS + + + package + + + Package is created at service root path {0}. + + + {{ + "author": "", + + "name": "{0}", + "version": "0.0.0", + "dependencies":{{}}, + "devDependencies":{{}}, + "optionalDependencies": {{}}, + "engines": {{ + "node": "*", + "iisnode": "*" + }} + +}} + + + + package.json + + + A value for the Peer Asn has to be provided. + + + 5.4.0 + + + php + + + Resources\Scaffolding\PHP + + + Microsoft.WindowsAzure.Commands.CloudService.ScaffoldingResources.PHP + + + Installing PHP version {0} for Role '{1}' (the PHP version locally installed is: {2}) + + + You must create your first web site using the Microsoft Azure portal. +Please follow these steps in the portal: +1. At the bottom of the page, click on New > Web Site > Quick Create +2. Type {0} in the URL field +3. Click on "Create Web Site" +4. Once the site has been created, click on the site name +5. Click on "Set up Git publishing" or "Reset deployment credentials" and setup a publishing username and password. Use those credentials for all new websites you create. + + + 6. Back in the console window, rerun this command by typing "New-AzureWebsite <site name> -Git" + + + A value for the Primary Peer Subnet has to be provided. + + + Promotion code can be used only when updating to a new plan. + + + Service not published at user request. + + + Complete. + + + Connecting... + + + Created Deployment ID: {0}. + + + Created hosted service '{0}'. + + + Created Website URL: {0}. + + + Creating... + + + Initializing... + + + busy + + + creating the virtual machine + + + Instance {0} of role {1} is {2}. + + + ready + + + Preparing deployment for {0} with Subscription ID: {1}... + + + Publishing {0} to Microsoft Azure. This may take several minutes... + + + publish settings + + + Azure + + + .PublishSettings + + + publishSettings.xml + + + Publish settings imported + + + AZURE_PUBLISHINGPROFILE_URL + + + Starting... + + + Upgrading... + + + Uploading Package to storage service {0}... + + + Verifying storage account '{0}'... + + + Replace current deployment with '{0}' Id ? + + + Are you sure you want to regenerate key? + + + Generate new key. + + + Are you sure you want to remove account '{0}'? + + + Removing account + + + Remove Add-On Confirmation + + + If you delete this add-on, your data may be deleted and the operation may not be undone. You may have to purchase it again from the Microsoft Azure Store to use it. The price of the add-on may not be refunded. Are you sure you want to delete this add-on? Enter “Yes” to confirm. + + + Remove-AzureBGPPeering Operation failed. + + + Removing Bgp Peering + + + Successfully removed Azure Bgp Peering with Service Key {0}. + + + Are you sure you want to remove the Bgp Peering with service key '{0}'? + + + Are you sure you want to remove the Dedicated Circuit with service key '{0}'? + + + Remove-AzureDedicatedCircuit Operation failed. + + + Remove-AzureDedicatedCircuitLink Operation failed. + + + Removing Dedicated Circui Link + + + Successfully removed Azure Dedicated Circuit Link with Service Key {0} and Vnet Name {1} + + + Are you sure you want to remove the Dedicated Circuit Link with service key '{0}' and virtual network name '{1}'? + + + Removing Dedicated Circuit + + + Successfully removed Azure Dedicated Circuit with Service Key {0}. + + + Removing cloud service {0}... + + + Removing {0} deployment for {1} service + + + Removing job collection + + + Are you sure you want to remove the job collection "{0}" + + + Removing job + + + Are you sure you want to remove the job "{0}" + + + Are you sure you want to remove the account? + + + Account removed. + + + Internal Server Error. This could happen because the namespace does not exist or it does not exist under your subscription. + + + Removing old package {0}... + + + Are you sure you want to delete the namespace '{0}'? + + + Are you sure you want to remove cloud service? + + + Remove cloud service and all it's deployments + + + Are you sure you want to remove subscription '{0}'? + + + Removing subscription + + + Are you sure you want to delete the VM '{0}'? + + + Deleting VM. + + + Removing WebJob... + + + Are you sure you want to remove job '{0}'? + + + Removing website + + + Are you sure you want to remove the website "{0}" + + + Deleting namespace + + + Repository is not setup. You need to pass a valid site name. + + + Reserved IP with the Name:'{0}' will no longer be in use after the deployment is deleted, and it is still reserved for later use. + + + Resource with ID : {0} does not exist. + WAPackIaaS + + + Restart + WAPackIaaS + + + Resume + WAPackIaaS + + + /role:{0};"{1}/{0}" + + + bin + + + Role {0} is {1} + + + 20 + + + role name + + + The provided role name {0} doesn't exist + + + RoleSettings.xml + + + Role type {0} doesn't exist + + + public static Dictionary<string, Location> ReverseLocations { get; private set; } + + + Preparing runtime deployment for service '{0}' + + + WARNING Runtime Mismatch: Are you sure that you want to publish service '{0}' using an Azure runtime version that does not match your local runtime version? + + + RUNTIMEOVERRIDEURL + + + /runtimemanifest/runtimes/runtime + + + RUNTIMEID + + + RUNTIMEURL + + + RUNTIMEVERSIONPRIMARYKEY + + + scaffold.xml + + + Invalid location entered. Pick one of the locations from Get-AzureSchedulerLocation + + + A value for the Secondary Peer Subnet has to be provided. + + + Service {0} already exists on disk in location {1} + + + No ServiceBus authorization rule with the given characteristics was found + + + The service bus entity '{0}' is not found. + + + Internal Server Error. This could happen due to an incorrect/missing namespace + + + service configuration + + + service definition + + + ServiceDefinition.csdef + + + {0}Deploy + + + The specified cloud service "{0}" does not exist. + + + {0} slot for service {1} is in {2} state, please wait until it finish and update it's status + + + Begin Operation: {0} + + + Completed Operation: {0} + + + Begin Operation: {0} + + + Completed Operation: {0} + + + service name + + + Please provide name for the hosted service + + + service parent directory + + + Service {0} removed successfully + + + service directory + + + service settings + + + The storage account name '{0}' is invalid. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + + + The {0} slot for cloud service {1} doesn't exist. + + + {0} slot for service {1} is {2} + + + Set Add-On Confirmation + + + Note - You will be charged the amount for the new plan, without being refunded for time remaining +in the existing plan. +By typing "Yes", I (a) authorize Microsoft to charge my current payment method on a monthly basis +for the amount indicated at {0} for {1} until my service is cancelled or terminated, and (b) +agree to the {2}'s terms of user and privacy statement at {0} and (c) agree to sharing my +contact information with {2}. + + + Note - You will be charged the amount for the new plan, without being refunded for time remaining +in the existing plan. +By typing "Yes", I (a) authorize Microsoft to charge my current payment method on a monthly basis +for the amount indicated at {0} for {1} until my service is cancelled or terminated, and (b) +acknowledge the offering is provided by {2}, not Microsoft, and agree to {2}'s terms of +use and privacy statement at <url> and (c) agree to sharing my contact information with {2}. + + + Role {0} instances are set to {1} + + + {"Slot":"","Location":"","Subscription":"","StorageAccountName":""} + + + deploymentSettings.json + + + Confirm + + + Shutdown + WAPackIaaS + + + /sites:{0};{1};"{2}/{0}" + + + 1000 + + + Start + WAPackIaaS + + + Started + + + Starting Emulator... + + + start + + + Stop + WAPackIaaS + + + Stopping emulator... + + + Stopped + + + stop + + + Account Name: + + + Cannot find storage account '{0}' please type the name of an existing storage account. + + + AzureStorageEmulator.exe + + + InstallPath + + + SOFTWARE\Microsoft\Windows Azure Storage Emulator + + + Primary Key: + + + Secondary Key: + + + The subscription named {0} already exists. + + + DefaultSubscriptionData.xml + + + The subscription data file {0} does not exist. + + + Subscription must not be null + WAPackIaaS + + + Suspend + WAPackIaaS + + + Swapping website production slot ... + + + Are you sure you want to swap the website '{0}' production slot with slot '{1}'? + + + The provider {0} is unknown. + + + Update + WAPackIaaS + + + Updated settings for subscription '{0}'. Current subscription is '{1}'. + + + A value for the VLan Id has to be provided. + + + Please wait... + + + The azure storage emulator is not installed, skip launching... + + + Web.cloud.config + + + web.config + + + MSDeploy + + + Cannot build the project successfully. Please see logs in {0}. + + + WebRole + + + setup_web.cmd > log.txt + + + WebRole.xml + + + WebSite with given name {0} already exists in the specified Subscription and Webspace. + + + WebSite with given name {0} already exists in the specified Subscription and Location. + + + Site {0} already has repository created for it. + + + Workspaces/WebsiteExtension/Website/{0}/dashboard/ + + + https://{0}/msdeploy.axd?site={1} + + + WorkerRole + + + setup_worker.cmd > log.txt + + + WorkerRole.xml + + + Yes + + + Yes, I agree + + + Remove-AzureTrafficManagerProfile Operation failed. + + + Successfully removed Traffic Manager profile with name {0}. + + + Are you sure you want to remove the Traffic Manager profile "{0}"? + + + Profile {0} already has an endpoint with name {1} + + + Profile {0} does not contain endpoint {1}. Adding it. + + + The endpoint {0} cannot be removed from profile {1} because it's not in the profile. + + + Insufficient parameters passed to create a new endpoint. + + + Ambiguous operation: the profile name specified doesn't match the name of the profile object. + + + <NONE> + + + "An exception occurred when calling the ServiceManagement API. HTTP Status Code: {0}. Service Management Error Code: {1}. Message: {2}. Operation Tracking ID: {3}." + {0} is the HTTP status code. {1} is the Service Management Error Code. {2} is the Service Management Error message. {3} is the operation tracking ID. + + + Unable to decode string from base 64. Please make sure the string is correctly encoded: {0}. + {0} is the string that is not in a valid base 64 format. + + + Skipping external tenant {0}, because you are using a guest or a foreign principal object identity. In order to access this tenant, please run Add-AzureAccount without "-Credential". + + + Removing an environment will remove all associated subscriptions and accounts. Are you sure you want to remove an environment '{0}'? + + + Removing environment + + + There is no subscription associated with account {0}. + + + Account id doesn't match one in subscription. + + + Environment name doesn't match one in subscription. + + + Removing the Azure profile will remove all associated environments, subscriptions, and accounts. Are you sure you want to remove the Azure profile? + + + Removing the Azure profile + + + The SubscriptionDataFile parameter is deprecated. This parameter will be removed in a future release. See https://github.com/Azure/azure-powershell/wiki/Proposed-Design-Stateless-Azure-Profile for a description of the upcoming mechanism for providing alternate sources of subscription information. + + + Account needs to be specified + + + No default subscription has been designated. Use Select-AzureSubscription -Default <subscriptionName> to set the default subscription. + + + Path must specify a valid path to an Azure profile. + + + Property bag Hashtable must contain one of the following sets of properties: {SubscriptionId, Certificate}, {SubscriptionId, Username, Password}, {SubscriptionId, ServicePrincipal, Password, Tenant}, {SubscriptionId, AccountId, Token} + + + Property bag Hashtable must contain a 'Certificate' of type 'X509Certificate2'. + + + Property bag Hashtable must contain a 'Password' with an associated 'Username' or 'ServicePrincipal'. + + + Property bag Hashtable must contain a 'SubscriptionId'. + + + Selected profile must not be null. + + + The Switch-AzureMode cmdlet is deprecated and will be removed in a future release. + + + OperationID : '{0}' + + + Cannot get module for DscResource '{0}'. Possible solutions: +1) Specify -ModuleName for Import-DscResource in your configuration. +2) Unblock module that contains resource. +3) Move Import-DscResource inside Node block. + + 0 = name of DscResource + + + Your current PowerShell version {1} is less then required by this cmdlet {0}. Consider download and install latest PowerShell version. + {0} = minimal required PS version, {1} = current PS version + + + Parsing configuration script: {0} + {0} is the path to a script file + + + Configuration script '{0}' contained parse errors: +{1} + 0 = path to the configuration script, 1 = parser errors + + + List of required modules: [{0}]. + {0} = list of modules + + + Temp folder '{0}' created. + {0} = temp folder path + + + Copy '{0}' to '{1}'. + {0} = source, {1} = destination + + + Copy the module '{0}' to '{1}'. + {0} = source, {1} = destination + + + File '{0}' already exists. Use the -Force parameter to overwrite it. + {0} is the path to a file + + + Configuration file '{0}' not found. + 0 = path to the configuration file + + + Path '{0}' not found. + 0 = path to the additional content file/directory + + + Path '{0}' not found. + 0 = path to the additional content file/directory + + + Invalid configuration file: {0}. +The file needs to be a PowerShell script (.ps1 or .psm1) or a ZIP archive (.zip). + 0 = path to the configuration file + + + Invalid configuration file: {0}. +The file needs to be a PowerShell script (.ps1 or .psm1). + 0 = path to the configuration file + + + Create Archive + + + Upload '{0}' + {0} is the name of an storage blob + + + Storage Blob '{0}' already exists. Use the -Force parameter to overwrite it. + {0} is the name of an storage blob + + + Configuration published to {0} + {0} is an URI + + + Deleted '{0}' + {0} is the path of a file + + + Cannot delete '{0}': {1} + {0} is the path of a file, {1} is an error message + + + Cannot find the WadCfg end element in the config. + + + WadCfg start element in the config is not matching the end element. + + + Cannot find the WadCfg element in the config. + + + Cannot find configuration data file: {0} + + + The configuration data must be a .psd1 file + + + Cannot change built-in environment {0}. + + + Azure PowerShell collects usage data in order to improve your experience. +The data is anonymous and does not include commandline argument values. +The data is collected by Microsoft. + +Use the Disable-AzDataCollection cmdlet to turn the feature Off. The cmdlet can be found in the Az.Accounts module. To disable data collection: PS > Disable-AzDataCollection. +Use the Enable-AzDataCollection cmdlet to turn the feature On. The cmdlet can be found in the Az.Accounts module. To enable data collection: PS > Enable-AzDataCollection. + + + Microsoft Azure PowerShell Data Collection Confirmation + + + You choose not to participate in Microsoft Azure PowerShell data collection. + + + This confirmation message will be dismissed in '{0}' second(s)... + + + You choose to participate in Microsoft Azure PowerShell data collection. + + + The setting profile has been saved to the following path '{0}'. + + + [Common.Authentication]: Authenticating for account {0} with single tenant {1}. + + + Changing public environment is not supported. + + + Environment name needs to be specified. + + + Environment needs to be specified. + + + The environment name '{0}' is not found. + + + File path is not valid. + + + Must specify a non-null subscription name. + + + The default subscription is being removed. Use Select-AzureSubscription -Default <subscriptionName> to select a new default subscription. + + + Removing public environment is not supported. + + + The subscription id {0} doesn't exist. + + + Subscription name needs to be specified. + + + The subscription name {0} doesn't exist. + + + Subscription needs to be specified. + + + User name is not valid. + + + User name needs to be specified. + + + "There is no current context, please log in using Connect-AzAccount." + + + No subscriptions are associated with the logged in account in Azure Service Management (RDFE). This means that the logged in user is not an administrator or co-administrator for any account.\r\nDid you mean to execute Connect-AzAccount? + + + No certificate was found in the certificate store with thumbprint {0} + + + Illegal characters in path. + + + Invalid certificate format. Publish settings may be corrupted. Use Get-AzurePublishSettingsFile to download updated settings + + + "{0}" is an invalid DNS name for {1} + + + The provided file in {0} must be have {1} extension + + + {0} is invalid or empty + + + Please connect to internet before executing this cmdlet + + + Path {0} doesn't exist. + + + Path for {0} doesn't exist in {1}. + + + &whr={0} + + + The provided service name {0} already exists, please pick another name + + + Unable to update mismatching Json structured: {0} {1}. + + + (x86) + + + Azure PowerShell collects usage data in order to improve your experience. +The data is anonymous and does not include commandline argument values. +The data is collected by Microsoft. + +Use the Disable-AzureDataCollection cmdlet to turn the feature Off. The cmdlet can be found in the Azure module. To disable data collection: PS > Disable-AzureDataCollection. +Use the Enable-AzureDataCollection cmdlet to turn the feature On. The cmdlet can be found in the Azure module. To enable data collection: PS > Enable-AzureDataCollection. + + + Execution failed because a background thread could not prompt the user. + + + Azure Long-Running Job + + + The cmdlet failed in background execution. The returned error was '{0}'. Please execute the cmdlet again. You may need to execute this cmdlet synchronously, by omitting the '-AsJob' parameter. + 0(string): exception message in background task + + + Please execute the cmdlet again and include the 'Force' parameter, if available, to avoid unnecessary prompts. + + + Please execute the cmdlet again and omit the 'Confirm' parameter when using the 'AsJob' parameter. + + + Please increase the user $ConfirmPreference setting, or include turn off confirmation using '-Confirm:$false' when using the 'AsJob' parameter and execute the cmdet again. + + + Please execute the cmdlet again and omit the 'WhatIf' parameter when using the 'AsJob' parameter. + + + [AzureLongRunningJob]: Starting cmdlet execution, setting for cmdlet confirmation required: '{0}' + 0(bool): whether cmdlet confirmation is required + + + [AzureLongRunningJob]: Blocking job for ShouldMethod '{0}' + 0(string): method type + + + [AzureLongRunningJob]: Completing cmdlet execution in RunJob + + + [AzureLongRunningJob]: State change from '{0}' to '{1}' because '{2}' + 0(string): last state, 1(string): new state, 2(string): state change reason + + + [AzureLongRunningJob]: Unblocking job due to stoppage or failure + + + [AzureLongRunningJob]: Unblocking job that was previously blocked. + + + [AzureLongRunningJob]: Error in cmdlet execution + + + [AzureLongRunningJob]: Removing state changed event handler, exception '{0}' + 0(string): exception message + + + [AzureLongRunningJob]: ShouldMethod '{0}' unblocked. + 0(string): methodType + + + +- The parameter : '{0}' is changing. + + + +- The parameter : '{0}' is becoming mandatory. + + + +- The parameter : '{0}' is being replaced by parameter : '{1}'. + + + +- The parameter : '{0}' is being replaced by mandatory parameter : '{1}'. + + + +- Change description : {0} + + + The cmdlet is being deprecated. There will be no replacement for it. + + + The cmdlet parameter set is being deprecated. There will be no replacement for it. + + + The cmdlet '{0}' is replacing this cmdlet. + + + +- The output type is changing from the existing type :'{0}' to the new type :'{1}' + + + +- The output type '{0}' is changing + + + +- The following properties are being added to the output type : + + + +- The following properties in the output type are being deprecated : + + + {0} + + + +- Cmdlet : '{0}' + - {1} + + + Upcoming breaking changes in the cmdlet '{0}' : + + + +- This change will take effect on '{0}' + + + +- The change is expected to take effect from the version : '{0}' + + + ```powershell +# Old +{0} + +# New +{1} +``` + + + + +Cmdlet invocation changes : + Old Way : {0} + New Way : {1} + + + +The output type '{0}' is being deprecated without a replacement. + + + +The type of the parameter is changing from '{0}' to '{1}'. + + + +Note : Go to {0} for steps to suppress this breaking change warning, and other information on breaking changes in Azure PowerShell. + + + This cmdlet is in preview. The functionality may not be available in the selected subscription. + + \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Response.cs b/swaggerci/redis/generated/runtime/Response.cs new file mode 100644 index 000000000000..ef2d0b3df5b2 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Response.cs @@ -0,0 +1,27 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + using System; + using System.Threading.Tasks; + public class Response : EventData + { + public Response() : base() + { + } + } + + public class Response : Response + { + private Func> _resultDelegate; + private Task _resultValue; + + public Response(T value) : base() => _resultValue = Task.FromResult(value); + public Response(Func value) : base() => _resultDelegate = () => Task.FromResult(value()); + public Response(Func> value) : base() => _resultDelegate = value; + public Task Result => _resultValue ?? (_resultValue = this._resultDelegate()); + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Serialization/JsonSerializer.cs b/swaggerci/redis/generated/runtime/Serialization/JsonSerializer.cs new file mode 100644 index 000000000000..b1ecedecc838 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Serialization/JsonSerializer.cs @@ -0,0 +1,350 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal class JsonSerializer + { + private int depth = 0; + + private SerializationOptions options = new SerializationOptions(); + + #region Deserialization + + internal T Deseralize(JsonObject json) + where T : new() + { + var contract = JsonModelCache.Get(typeof(T)); + + return (T)DeserializeObject(contract, json); + } + + internal object DeserializeObject(JsonModel contract, JsonObject json) + { + var instance = Activator.CreateInstance(contract.Type); + + depth++; + + // Ensure we don't recurse forever + if (depth > 5) throw new Exception("Depth greater than 5"); + + foreach (var field in json) + { + var member = contract[field.Key]; + + if (member != null) + { + var value = DeserializeValue(member, field.Value); + + member.SetValue(instance, value); + } + } + + depth--; + + return instance; + } + + private object DeserializeValue(JsonMember member, JsonNode value) + { + if (value.Type == JsonType.Null) return null; + + var type = member.Type; + + if (member.IsStringLike && value.Type != JsonType.String) + { + // Take the long path... + return DeserializeObject(JsonModelCache.Get(type), (JsonObject)value); + } + else if (member.Converter != null) + { + return member.Converter.FromJson(value); + } + else if (type.IsArray) + { + return DeserializeArray(type, (JsonArray)value); + } + else if (member.IsList) + { + return DeserializeList(type, (JsonArray)value); + } + else + { + var contract = JsonModelCache.Get(type); + + return DeserializeObject(contract, (JsonObject)value); + } + } + + private object DeserializeValue(Type type, JsonNode value) + { + if (type == null) throw new ArgumentNullException(nameof(type)); + + if (value.Type == JsonType.Null) return null; + + var typeDetails = TypeDetails.Get(type); + + if (typeDetails.JsonConverter != null) + { + return typeDetails.JsonConverter.FromJson(value); + } + else if (typeDetails.IsEnum) + { + return Enum.Parse(type, value.ToString(), ignoreCase: true); + } + else if (type.IsArray) + { + return DeserializeArray(type, (JsonArray)value); + } + else if (typeDetails.IsList) + { + return DeserializeList(type, (JsonArray)value); + } + else + { + var contract = JsonModelCache.Get(type); + + return DeserializeObject(contract, (JsonObject)value); + } + } + + internal Array DeserializeArray(Type type, JsonArray elements) + { + var elementType = type.GetElementType(); + + var elementTypeDetails = TypeDetails.Get(elementType); + + var array = Array.CreateInstance(elementType, elements.Count); + + int i = 0; + + if (elementTypeDetails.JsonConverter != null) + { + foreach (var value in elements) + { + array.SetValue(elementTypeDetails.JsonConverter.FromJson(value), i); + + i++; + } + } + else + { + foreach (var value in elements) + { + array.SetValue(DeserializeValue(elementType, value), i); + + i++; + } + } + + return array; + } + + internal IList DeserializeList(Type type, JsonArray jsonArray) + { + // TODO: Handle non-generic types + if (!type.IsGenericType) + throw new ArgumentException("Must be a generic type", nameof(type)); + + var elementType = type.GetGenericArguments()[0]; + + IList list; + + if (type.IsInterface) + { + // Create a concrete generic list + list = (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(elementType)); + } + else + { + list = (IList)Activator.CreateInstance(type); + } + + foreach (var value in jsonArray) + { + list.Add(DeserializeValue(elementType, value)); + } + + return list; + } + + #endregion + + #region Serialization + + internal JsonNode Serialize(object instance) => + Serialize(instance, SerializationOptions.Default); + + internal JsonNode Serialize(object instance, string[] include) => + Serialize(instance, new SerializationOptions { Include = include }); + + internal JsonNode Serialize(object instance, SerializationOptions options) + { + this.options = options; + + if (instance == null) + { + return XNull.Instance; + } + + return ReadValue(instance.GetType(), instance); + } + + #region Readers + + internal JsonArray ReadArray(IEnumerable collection) + { + var array = new XNodeArray(); + + foreach (var item in collection) + { + array.Add(ReadValue(item.GetType(), item)); + } + + return array; + } + + internal IEnumerable> ReadProperties(object instance) + { + var contract = JsonModelCache.Get(instance.GetType()); + + foreach (var member in contract.Members) + { + string name = member.Name; + + if (options.PropertyNameTransformer != null) + { + name = options.PropertyNameTransformer.Invoke(name); + } + + // Skip the field if it's not included + if ((depth == 1 && !options.IsIncluded(name))) + { + continue; + } + + var value = member.GetValue(instance); + + if (!member.EmitDefaultValue && (value == null || (member.IsList && ((IList)value).Count == 0) || value.Equals(member.DefaultValue))) + { + continue; + } + else if (options.IgnoreNullValues && value == null) // Ignore null values + { + continue; + } + + // Transform the value if there is one + if (options.Transformations != null) + { + var transform = options.GetTransformation(name); + + if (transform != null) + { + value = transform.Transformer(value); + } + } + + yield return new KeyValuePair(name, ReadValue(member.TypeDetails, value)); + } + } + + private JsonObject ReadObject(object instance) + { + depth++; + + // TODO: Guard against a self referencing graph + if (depth > options.MaxDepth) + { + depth--; + + return new JsonObject(); + } + + var node = new JsonObject(ReadProperties(instance)); + + depth--; + + return node; + } + + private JsonNode ReadValue(Type type, object value) + { + if (value == null) + { + return XNull.Instance; + } + + var member = TypeDetails.Get(type); + + return ReadValue(member, value); + } + + private JsonNode ReadValue(TypeDetails type, object value) + { + if (value == null) + { + return XNull.Instance; + } + + if (type.JsonConverter != null) + { + return type.JsonConverter.ToJson(value); + } + else if (type.IsArray) + { + switch (Type.GetTypeCode(type.ElementType)) + { + case TypeCode.String: return CreateArray((string[])value); + case TypeCode.UInt16: return CreateArray((ushort[])value); + case TypeCode.UInt32: return CreateArray((uint[])value); + case TypeCode.UInt64: return CreateArray((ulong[])value); + case TypeCode.Int16: return CreateArray((short[])value); + case TypeCode.Int32: return CreateArray((int[])value); + case TypeCode.Int64: return CreateArray((long[])value); + case TypeCode.Single: return CreateArray((float[])value); + case TypeCode.Double: return CreateArray((double[])value); + default: return ReadArray((IEnumerable)value); + } + } + else if (value is IEnumerable) + { + if (type.IsList && type.ElementType != null) + { + switch (Type.GetTypeCode(type.ElementType)) + { + case TypeCode.String: return CreateList(value); + case TypeCode.UInt16: return CreateList(value); + case TypeCode.UInt32: return CreateList(value); + case TypeCode.UInt64: return CreateList(value); + case TypeCode.Int16: return CreateList(value); + case TypeCode.Int32: return CreateList(value); + case TypeCode.Int64: return CreateList(value); + case TypeCode.Single: return CreateList(value); + case TypeCode.Double: return CreateList(value); + } + } + + return ReadArray((IEnumerable)value); + } + else + { + // Complex object + return ReadObject(value); + } + } + + private XList CreateList(object value) => new XList((IList)value); + + private XImmutableArray CreateArray(T[] array) => new XImmutableArray(array); + + #endregion + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Serialization/PropertyTransformation.cs b/swaggerci/redis/generated/runtime/Serialization/PropertyTransformation.cs new file mode 100644 index 000000000000..20ec042b2f9d --- /dev/null +++ b/swaggerci/redis/generated/runtime/Serialization/PropertyTransformation.cs @@ -0,0 +1,21 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal class PropertyTransformation + { + internal PropertyTransformation(string name, Func transformer) + { + Name = name ?? throw new ArgumentNullException(nameof(name)); + Transformer = transformer ?? throw new ArgumentNullException(nameof(transformer)); + } + + internal string Name { get; } + + internal Func Transformer { get; } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Serialization/SerializationOptions.cs b/swaggerci/redis/generated/runtime/Serialization/SerializationOptions.cs new file mode 100644 index 000000000000..50cada828a5d --- /dev/null +++ b/swaggerci/redis/generated/runtime/Serialization/SerializationOptions.cs @@ -0,0 +1,65 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Linq; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal class SerializationOptions + { + internal static readonly SerializationOptions Default = new SerializationOptions(); + + internal SerializationOptions() { } + + internal SerializationOptions( + string[] include = null, + bool ingoreNullValues = false) + { + Include = include; + IgnoreNullValues = ingoreNullValues; + } + + internal string[] Include { get; set; } + + internal string[] Exclude { get; set; } + + internal bool IgnoreNullValues { get; set; } + + internal PropertyTransformation[] Transformations { get; set; } + + internal Func PropertyNameTransformer { get; set; } + + internal int MaxDepth { get; set; } = 5; + + internal bool IsIncluded(string name) + { + if (Exclude != null) + { + return !Exclude.Any(exclude => exclude.Equals(name, StringComparison.OrdinalIgnoreCase)); + } + else if (Include != null) + { + return Include.Any(exclude => exclude.Equals(name, StringComparison.OrdinalIgnoreCase)); + } + + return true; + } + + internal PropertyTransformation GetTransformation(string propertyName) + { + if (Transformations == null) return null; + + foreach (var t in Transformations) + { + if (t.Name.Equals(propertyName, StringComparison.OrdinalIgnoreCase)) + { + return t; + } + } + + return null; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/SerializationMode.cs b/swaggerci/redis/generated/runtime/SerializationMode.cs new file mode 100644 index 000000000000..61f26776e323 --- /dev/null +++ b/swaggerci/redis/generated/runtime/SerializationMode.cs @@ -0,0 +1,16 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + [System.Flags] + public enum SerializationMode + { + None = 0, + IncludeHeaders = 1 << 0, + IncludeReadOnly = 1 << 1, + + IncludeAll = IncludeHeaders | IncludeReadOnly + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/TypeConverterExtensions.cs b/swaggerci/redis/generated/runtime/TypeConverterExtensions.cs new file mode 100644 index 000000000000..8b036eecbbeb --- /dev/null +++ b/swaggerci/redis/generated/runtime/TypeConverterExtensions.cs @@ -0,0 +1,211 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System.IO; +using System.Linq; +using System.Xml; +using System.Xml.Serialization; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + internal static class TypeConverterExtensions + { + internal static T[] SelectToArray(object source, System.Func converter) + { + // null begets null + if (source == null) + { + return null; + } + + // single values and strings are just encapsulated in the array. + if (source is string || !(source is System.Collections.IEnumerable)) + { + try + { + return new T[] { (T)converter(source) }; + } +#if DEBUG + catch (System.Exception E) + { + System.Console.Error.WriteLine($"{E.GetType().Name}/{E.Message}/{E.StackTrace}"); + } +#else + catch + { + // silent conversion fail + } +#endif + return new T[0]; // empty result if couldn't convert. + } + + var result = new System.Collections.Generic.List(); + foreach (var each in (System.Collections.IEnumerable)source) + { + try + { + result.Add((T)converter(each)); + } +#if DEBUG + catch (System.Exception E) + { + System.Console.Error.WriteLine($"{E.GetType().Name}/{E.Message}/{E.StackTrace}"); + } +#else + catch + { + // silent conversion fail + } +#endif + } + return result.ToArray(); + } + + internal static System.Collections.Generic.IEnumerable GetPropertyKeys(this System.Collections.Generic.IDictionary dictionary) + { + if (null != dictionary) + { + foreach (var each in dictionary.Keys) + { + yield return each; + } + } + } + internal static System.Collections.Generic.IEnumerable GetPropertyKeys(this System.Collections.IDictionary dictionary) + { + if (null != dictionary) + { + foreach (var each in dictionary.Keys) + { + yield return each; + } + } + } + internal static System.Collections.Generic.IEnumerable GetPropertyKeys(this System.Management.Automation.PSObject instance) + { + if (null != instance) + { + foreach (var each in instance.Properties) + { + yield return each; + } + } + } + + internal static System.Collections.Generic.IEnumerable> GetFilteredProperties(this System.Collections.Generic.IDictionary instance, global::System.Collections.Generic.HashSet exclusions = null, global::System.Collections.Generic.HashSet inclusions = null) + { + return (null == instance || instance.Count == 0) ? + Enumerable.Empty>() : + instance.Keys + .Where(key => + !(true == exclusions?.Contains(key?.ToString())) + && (false != inclusions?.Contains(key?.ToString()))) + .Select(key => new System.Collections.Generic.KeyValuePair(key, instance[key])); + } + + internal static System.Collections.Generic.IEnumerable> GetFilteredProperties(this System.Collections.IDictionary instance, global::System.Collections.Generic.HashSet exclusions = null, global::System.Collections.Generic.HashSet inclusions = null) + { + return (null == instance || instance.Count == 0) ? + Enumerable.Empty>() : + instance.Keys.OfType() + .Where(key => + !(true == exclusions?.Contains(key?.ToString())) + && (false != inclusions?.Contains(key?.ToString()))) + .Select(key => new System.Collections.Generic.KeyValuePair(key, instance[key])); + } + + internal static System.Collections.Generic.IEnumerable> GetFilteredProperties(this System.Management.Automation.PSObject instance, global::System.Collections.Generic.HashSet exclusions = null, global::System.Collections.Generic.HashSet inclusions = null) + { + // new global::System.Collections.Generic.HashSet(System.StringComparer.InvariantCultureIgnoreCase) + return (null == instance || !instance.Properties.Any()) ? + Enumerable.Empty>() : + instance.Properties + .Where(property => + !(true == exclusions?.Contains(property.Name)) + && (false != inclusions?.Contains(property.Name))) + .Select(property => new System.Collections.Generic.KeyValuePair(property.Name, property.Value)); + } + + + internal static T GetValueForProperty(this System.Collections.Generic.IDictionary dictionary, string propertyName, T defaultValue, System.Func converter) + { + try + { + var key = System.Linq.Enumerable.FirstOrDefault(dictionary.Keys, each => System.String.Equals(each.ToString(), propertyName, System.StringComparison.CurrentCultureIgnoreCase)); + return key == null ? defaultValue : (T)converter(dictionary[key]); + } +#if DEBUG + catch (System.Exception E) + { + System.Console.Error.WriteLine($"{E.GetType().Name}/{E.Message}/{E.StackTrace}"); + } +#else + catch + { + } +#endif + return defaultValue; + } + internal static T GetValueForProperty(this System.Collections.IDictionary dictionary, string propertyName, T defaultValue, System.Func converter) + { + try + { + var key = System.Linq.Enumerable.FirstOrDefault(dictionary.Keys.OfType(), each => System.String.Equals(each.ToString(), propertyName, System.StringComparison.CurrentCultureIgnoreCase)); + return key == null ? defaultValue : (T)converter(dictionary[key]); + } +#if DEBUG + catch (System.Exception E) + { + System.Console.Error.WriteLine($"{E.GetType().Name}/{E.Message}/{E.StackTrace}"); + } +#else + catch + { + } +#endif + return defaultValue; + } + + internal static T GetValueForProperty(this System.Management.Automation.PSObject psObject, string propertyName, T defaultValue, System.Func converter) + { + try + { + var property = System.Linq.Enumerable.FirstOrDefault(psObject.Properties, each => System.String.Equals(each.Name.ToString(), propertyName, System.StringComparison.CurrentCultureIgnoreCase)); + return property == null ? defaultValue : (T)converter(property.Value); + } +#if DEBUG + catch (System.Exception E) + { + System.Console.Error.WriteLine($"{E.GetType().Name}/{E.Message}/{E.StackTrace}"); + } +#else + catch + { + } +#endif + return defaultValue; + } + + internal static bool Contains(this System.Management.Automation.PSObject psObject, string propertyName) + { + bool result = false; + try + { + var property = System.Linq.Enumerable.FirstOrDefault(psObject.Properties, each => System.String.Equals(each.Name.ToString(), propertyName, System.StringComparison.CurrentCultureIgnoreCase)); + result = property == null ? false : true; + } +#if DEBUG + catch (System.Exception E) + { + System.Console.Error.WriteLine($"{E.GetType().Name}/{E.Message}/{E.StackTrace}"); + } +#else + catch + { + } +#endif + return result; + } + } +} diff --git a/swaggerci/redis/generated/runtime/UndeclaredResponseException.cs b/swaggerci/redis/generated/runtime/UndeclaredResponseException.cs new file mode 100644 index 000000000000..e97cea453131 --- /dev/null +++ b/swaggerci/redis/generated/runtime/UndeclaredResponseException.cs @@ -0,0 +1,112 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + using System; + using System.Net.Http; + using System.Net.Http.Headers; + using static Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Extensions; + + public class RestException : Exception, IDisposable + { + public System.Net.HttpStatusCode StatusCode { get; set; } + public string Code { get; protected set; } + protected string message; + public HttpRequestMessage RequestMessage { get; protected set; } + public HttpResponseHeaders ResponseHeaders { get; protected set; } + + public string ResponseBody { get; protected set; } + public string ClientRequestId { get; protected set; } + public string RequestId { get; protected set; } + + public override string Message => message; + public string Action { get; protected set; } + + public RestException(System.Net.Http.HttpResponseMessage response) + { + StatusCode = response.StatusCode; + //CloneWithContent will not work here since the content is disposed after sendAsync + //Besides, it seems there is no need for the request content cloned here. + RequestMessage = response.RequestMessage.Clone(); + ResponseBody = response.Content.ReadAsStringAsync().Result; + ResponseHeaders = response.Headers; + + RequestId = response.GetFirstHeader("x-ms-request-id"); + ClientRequestId = response.GetFirstHeader("x-ms-client-request-id"); + + try + { + // try to parse the body as JSON, and see if a code and message are in there. + var json = Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonNode.Parse(ResponseBody) as Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json.JsonObject; + + // error message could be in properties.statusMessage + { message = If(json?.Property("properties"), out var p) + && If(p?.PropertyT("statusMessage"), out var sm) + ? (string)sm : (string)Message; } + + // see if there is an error block in the body + json = json?.Property("error") ?? json; + + { Code = If(json?.PropertyT("code"), out var c) ? (string)c : (string)StatusCode.ToString(); } + { message = If(json?.PropertyT("message"), out var m) ? (string)m : (string)Message; } + { Action = If(json?.PropertyT("action"), out var a) ? (string)a : (string)Action; } + } +#if DEBUG + catch (System.Exception E) + { + System.Console.Error.WriteLine($"{E.GetType().Name}/{E.Message}/{E.StackTrace}"); + } +#else + catch + { + // couldn't get the code/message from the body response. + // In this case, we will assume the response is the expected error message + if(!string.IsNullOrEmpty(ResponseBody)) { + message = ResponseBody; + } + } +#endif + if (string.IsNullOrEmpty(message)) + { + if (StatusCode >= System.Net.HttpStatusCode.BadRequest && StatusCode < System.Net.HttpStatusCode.InternalServerError) + { + message = $"The server responded with a Request Error, Status: {StatusCode}"; + } + else if (StatusCode >= System.Net.HttpStatusCode.InternalServerError) + { + message = $"The server responded with a Server Error, Status: {StatusCode}"; + } + else + { + message = $"The server responded with an unrecognized response, Status: {StatusCode}"; + } + } + } + + public void Dispose() + { + ((IDisposable)RequestMessage).Dispose(); + } + } + + public class RestException : RestException + { + public T Error { get; protected set; } + public RestException(System.Net.Http.HttpResponseMessage response, T error) : base(response) + { + Error = error; + } + } + + + public class UndeclaredResponseException : RestException + { + public UndeclaredResponseException(System.Net.Http.HttpResponseMessage response) : base(response) + { + + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/Writers/JsonWriter.cs b/swaggerci/redis/generated/runtime/Writers/JsonWriter.cs new file mode 100644 index 000000000000..7e7b85131f02 --- /dev/null +++ b/swaggerci/redis/generated/runtime/Writers/JsonWriter.cs @@ -0,0 +1,223 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.IO; +using System.Web; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.Json +{ + internal class JsonWriter + { + const string indentation = " "; // 2 spaces + + private readonly bool pretty; + private readonly TextWriter writer; + + protected int currentLevel = 0; + + internal JsonWriter(TextWriter writer, bool pretty = true) + { + this.writer = writer ?? throw new ArgumentNullException(nameof(writer)); + this.pretty = pretty; + } + + internal void WriteNode(JsonNode node) + { + switch (node.Type) + { + case JsonType.Array: WriteArray((IEnumerable)node); break; + case JsonType.Object: WriteObject((JsonObject)node); break; + + // Primitives + case JsonType.Binary: WriteBinary((XBinary)node); break; + case JsonType.Boolean: WriteBoolean((bool)node); break; + case JsonType.Date: WriteDate((JsonDate)node); break; + case JsonType.Null: WriteNull(); break; + case JsonType.Number: WriteNumber((JsonNumber)node); break; + case JsonType.String: WriteString(node); break; + } + } + + internal void WriteArray(IEnumerable array) + { + currentLevel++; + + writer.Write('['); + + bool doIndentation = false; + + if (pretty) + { + foreach (var node in array) + { + if (node.Type == JsonType.Object || node.Type == JsonType.Array) + { + doIndentation = true; + + break; + } + } + } + + bool isFirst = true; + + foreach (JsonNode node in array) + { + if (!isFirst) writer.Write(','); + + if (doIndentation) + { + WriteIndent(); + } + else if (pretty) + { + writer.Write(' '); + } + + WriteNode(node); + + isFirst = false; + } + + currentLevel--; + + if (doIndentation) + { + WriteIndent(); + } + else if (pretty) + { + writer.Write(' '); + } + + writer.Write(']'); + } + + internal void WriteIndent() + { + if (pretty) + { + writer.Write(Environment.NewLine); + + for (int level = 0; level < currentLevel; level++) + { + writer.Write(indentation); + } + } + } + + internal void WriteObject(JsonObject obj) + { + currentLevel++; + + writer.Write('{'); + + bool isFirst = true; + + foreach (var field in obj) + { + if (!isFirst) writer.Write(','); + + WriteIndent(); + + WriteFieldName(field.Key); + + writer.Write(':'); + + if (pretty) + { + writer.Write(' '); + } + + // Write the field value + WriteNode(field.Value); + + isFirst = false; + } + + currentLevel--; + + WriteIndent(); + + writer.Write('}'); + } + + internal void WriteFieldName(string fieldName) + { + writer.Write('"'); + writer.Write(HttpUtility.JavaScriptStringEncode(fieldName)); + writer.Write('"'); + } + + #region Primitives + + internal void WriteBinary(XBinary value) + { + writer.Write('"'); + writer.Write(value.ToString()); + writer.Write('"'); + } + + internal void WriteBoolean(bool value) + { + writer.Write(value ? "true" : "false"); + } + + internal void WriteDate(JsonDate date) + { + if (date.ToDateTime().Year == 1) + { + WriteNull(); + } + else + { + writer.Write('"'); + writer.Write(date.ToIsoString()); + writer.Write('"'); + } + } + + internal void WriteNull() + { + writer.Write("null"); + } + + internal void WriteNumber(JsonNumber number) + { + if (number.Overflows) + { + writer.Write('"'); + writer.Write(number.Value); + writer.Write('"'); + } + else + { + writer.Write(number.Value); + } + } + + internal void WriteString(string text) + { + if (text == null) + { + WriteNull(); + } + else + { + writer.Write('"'); + + writer.Write(HttpUtility.JavaScriptStringEncode(text)); + + writer.Write('"'); + } + } + + #endregion + } +} + + +// TODO: Replace with System.Text.Json when available diff --git a/swaggerci/redis/generated/runtime/delegates.cs b/swaggerci/redis/generated/runtime/delegates.cs new file mode 100644 index 000000000000..91779ec4e0d6 --- /dev/null +++ b/swaggerci/redis/generated/runtime/delegates.cs @@ -0,0 +1,23 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime +{ + using System; + using System.Collections; + using System.Collections.Generic; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + using GetEventData=System.Func; + + public delegate Task SendAsync(HttpRequestMessage request, IEventListener callback); + public delegate Task SendAsyncStep(HttpRequestMessage request, IEventListener callback, ISendAsync next); + public delegate Task SignalEvent(string id, CancellationToken token, GetEventData getEventData); + public delegate Task Event(EventData message); + public delegate void SynchEvent(EventData message); + public delegate Task OnResponse(Response message); + public delegate Task OnResponse(Response message); +} \ No newline at end of file diff --git a/swaggerci/redis/how-to.md b/swaggerci/redis/how-to.md new file mode 100644 index 000000000000..6740ffd93525 --- /dev/null +++ b/swaggerci/redis/how-to.md @@ -0,0 +1,58 @@ +# How-To +This document describes how to develop for `Az.Redis`. + +## Building `Az.Redis` +To build, run the `build-module.ps1` at the root of the module directory. This will generate the proxy script cmdlets that are the cmdlets being exported by this module. After the build completes, the proxy script cmdlets will be output to the `exports` folder. To read more about the proxy script cmdlets, look at the [README.md](exports/README.md) in the `exports` folder. + +## Creating custom cmdlets +To add cmdlets that were not generated by the REST specification, use the `custom` folder. This folder allows you to add handwritten `.ps1` and `.cs` files. Currently, we support using `.ps1` scripts as new cmdlets or as additional low-level variants (via `ParameterSet`), and `.cs` files as low-level (variants) cmdlets that the exported script cmdlets call. We do not support exporting any `.cs` (dll) cmdlets directly. To read more about custom cmdlets, look at the [README.md](custom/README.md) in the `custom` folder. + +## Generating documentation +To generate documentation, the process is now integrated into the `build-module.ps1` script. If you don't want to run this process as part of `build-module.ps1`, you can provide the `-NoDocs` switch. If you want to run documentation generation after the build process, you may still run the `generate-help.ps1` script. Overall, the process will look at the documentation comments in the generated and custom cmdlets and types, and create `.md` files into the `docs` folder. Additionally, this pulls in any examples from the `examples` folder and adds them to the generated help markdown documents. To read more about examples, look at the [README.md](examples/README.md) in the `examples` folder. To read more about documentation, look at the [README.md](docs/README.md) in the `docs` folder. + +## Testing `Az.Redis` +To test the cmdlets, we use [Pester](https://github.com/pester/Pester). Tests scripts (`.ps1`) should be added to the `test` folder. To execute the Pester tests, run the `test-module.ps1` script. This will run all tests in `playback` mode within the `test` folder. To read more about testing cmdlets, look at the [README.md](examples/README.md) in the `examples` folder. + +## Packing `Az.Redis` +To pack `Az.Redis` for distribution, run the `pack-module.ps1` script. This will take the contents of multiple directories and certain root-folder files to create a `.nupkg`. The structure of the `.nupkg` is created so it can be loaded part of a [PSRepository](https://docs.microsoft.com/powershell/module/powershellget/register-psrepository). Additionally, this package is in a format for distribution to the [PSGallery](https://www.powershellgallery.com/). For signing an Azure module, please contact the [Azure PowerShell](https://github.com/Azure/azure-powershell) team. + +## Module Script Details +There are multiple scripts created for performing different actions for developing `Az.Redis`. +- `build-module.ps1` + - Builds the module DLL (`./bin/Az.Redis.private.dll`), creates the exported cmdlets and documentation, generates custom cmdlet test stubs and exported cmdlet example stubs, and updates `./Az.Redis.psd1` with Azure profile information. + - **Parameters**: [`Switch` parameters] + - `-Run`: After building, creates an isolated PowerShell session and loads `Az.Redis`. + - `-Test`: After building, runs the `Pester` tests defined in the `test` folder. + - `-Docs`: After building, generates the Markdown documents for the modules into the `docs` folder. + - `-Pack`: After building, packages the module into a `.nupkg`. + - `-Code`: After building, opens a VSCode window with the module's directory and runs (see `-Run`) the module. + - `-Release`: Builds the module in `Release` configuration (as opposed to `Debug` configuration). + - `-NoDocs`: Supresses writing the documentation markdown files as part of the cmdlet exporting process. + - `-Debugger`: Used when attaching the debugger in Visual Studio to the PowerShell session, and running the build process without recompiling the DLL. This suppresses running the script as an isolated process. +- `run-module.ps1` + - Creates an isolated PowerShell session and loads `Az.Redis` into the session. + - Same as `-Run` in `build-module.ps1`. + - **Parameters**: [`Switch` parameters] + - `-Code`: Opens a VSCode window with the module's directory. + - Same as `-Code` in `build-module.ps1`. +- `generate-help.ps1` + - Generates the Markdown documents for the modules into the `docs` folder. + - Same as `-Docs` in `build-module.ps1`. +- `test-module.ps1` + - Runs the `Pester` tests defined in the `test` folder. + - Same as `-Test` in `build-module.ps1`. +- `pack-module.ps1` + - Packages the module into a `.nupkg` for distribution. + - Same as `-Pack` in `build-module.ps1`. +- `generate-help.ps1` + - Generates the Markdown documents for the modules into the `docs` folder. + - Same as `-Docs` in `build-module.ps1`. + - This process is now integrated into `build-module.ps1` automatically. To disable, use `-NoDocs` when running `build-module.ps1`. +- `export-surface.ps1` + - Generates Markdown documents for both the cmdlet surface and the model (class) surface of the module. + - These files are placed into the `resources` folder. + - Used for investigating the surface of your module. These are *not* documentation for distribution. +- `check-dependencies.ps1` + - Used in `run-module.ps1` and `test-module.ps1` to verify dependent modules are available to run those tasks. + - It will download local (within the module's directory structure) versions of those modules as needed. + - This script *does not* need to be ran by-hand. \ No newline at end of file diff --git a/swaggerci/redis/internal/Az.Redis.internal.psm1 b/swaggerci/redis/internal/Az.Redis.internal.psm1 new file mode 100644 index 000000000000..ff2655a433a7 --- /dev/null +++ b/swaggerci/redis/internal/Az.Redis.internal.psm1 @@ -0,0 +1,38 @@ +# region Generated + # Load the private module dll + $null = Import-Module -PassThru -Name (Join-Path $PSScriptRoot '../bin/Az.Redis.private.dll') + + # Get the private module's instance + $instance = [Microsoft.Azure.PowerShell.Cmdlets.Redis.Module]::Instance + + # Export nothing to clear implicit exports + Export-ModuleMember + + # Export proxy cmdlet scripts + $exportsPath = $PSScriptRoot + $directories = Get-ChildItem -Directory -Path $exportsPath + $profileDirectory = $null + if($instance.ProfileName) { + if(($directories | ForEach-Object { $_.Name }) -contains $instance.ProfileName) { + $profileDirectory = $directories | Where-Object { $_.Name -eq $instance.ProfileName } + } else { + # Don't export anything if the profile doesn't exist for the module + $exportsPath = $null + Write-Warning "Selected Azure profile '$($instance.ProfileName)' does not exist for module '$($instance.Name)'. No cmdlets were loaded." + } + } elseif(($directories | Measure-Object).Count -gt 0) { + # Load the last folder if no profile is selected + $profileDirectory = $directories | Select-Object -Last 1 + } + + if($profileDirectory) { + Write-Information "Loaded Azure profile '$($profileDirectory.Name)' for module '$($instance.Name)'" + $exportsPath = $profileDirectory.FullName + } + + if($exportsPath) { + Get-ChildItem -Path $exportsPath -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName } + $cmdletNames = Get-ScriptCmdlet -ScriptFolder $exportsPath + Export-ModuleMember -Function $cmdletNames -Alias (Get-ScriptCmdlet -ScriptFolder $exportsPath -AsAlias) + } +# endregion diff --git a/swaggerci/redis/internal/Get-AzRedisOperation.ps1 b/swaggerci/redis/internal/Get-AzRedisOperation.ps1 new file mode 100644 index 000000000000..ed1101d3cd8b --- /dev/null +++ b/swaggerci/redis/internal/Get-AzRedisOperation.ps1 @@ -0,0 +1,116 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Lists all of the available REST API operations of the Microsoft.Cache provider. +.Description +Lists all of the available REST API operations of the Microsoft.Cache provider. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredisoperation +#> +function Get-AzRedisOperation { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + List = 'Az.Redis.private\Get-AzRedisOperation_List'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} diff --git a/swaggerci/redis/internal/ProxyCmdletDefinitions.ps1 b/swaggerci/redis/internal/ProxyCmdletDefinitions.ps1 new file mode 100644 index 000000000000..ed1101d3cd8b --- /dev/null +++ b/swaggerci/redis/internal/ProxyCmdletDefinitions.ps1 @@ -0,0 +1,116 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Lists all of the available REST API operations of the Microsoft.Cache provider. +.Description +Lists all of the available REST API operations of the Microsoft.Cache provider. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation +.Link +https://docs.microsoft.com/en-us/powershell/module/az.redis/get-azredisoperation +#> +function Get-AzRedisOperation { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Redis.Models.Api20220601.IOperation])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Redis.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + List = 'Az.Redis.private\Get-AzRedisOperation_List'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} diff --git a/swaggerci/redis/internal/README.md b/swaggerci/redis/internal/README.md new file mode 100644 index 000000000000..6a4dc1b02147 --- /dev/null +++ b/swaggerci/redis/internal/README.md @@ -0,0 +1,14 @@ +# Internal +This directory contains a module to handle *internal only* cmdlets. Cmdlets that you **hide** in configuration are created here. For more information on hiding, see [cmdlet hiding](https://github.com/Azure/autorest.powershell/blob/main/docs/directives.md#cmdlet-hiding-exportation-suppression). The cmdlets in this directory are generated at **build-time**. Do not put any custom code, files, cmdlets, etc. into this directory. Please use `../custom` for all custom implementation. + +## Info +- Modifiable: no +- Generated: all +- Committed: no +- Packaged: yes + +## Details +The `Az.Redis.internal.psm1` file is generated to this folder. This module file handles the hidden cmdlets. These cmdlets will not be exported by `Az.Redis`. Instead, this sub-module is imported by the `../custom/Az.Redis.custom.psm1` module, allowing you to use hidden cmdlets in your custom, exposed cmdlets. To call these cmdlets in your custom scripts, simply use [module-qualified calls](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_command_precedence?view=powershell-6#qualified-names). For example, `Az.Redis.internal\Get-Example` would call an internal cmdlet named `Get-Example`. + +## Purpose +This allows you to include REST specifications for services that you *do not wish to expose from your module*, but simply want to call within custom cmdlets. For example, if you want to make a custom cmdlet that uses `Storage` services, you could include a simplified `Storage` REST specification that has only the operations you need. When you run the generator and build this module, note the generated `Storage` cmdlets. Then, in your readme configuration, use [cmdlet hiding](https://github.com/Azure/autorest/blob/master/docs/powershell/options.md#cmdlet-hiding-exportation-suppression) on the `Storage` cmdlets and they will *only be exposed to the custom cmdlets* you want to write, and not be exported as part of `Az.Redis`. diff --git a/swaggerci/redis/license.txt b/swaggerci/redis/license.txt new file mode 100644 index 000000000000..b9f3180fb9af --- /dev/null +++ b/swaggerci/redis/license.txt @@ -0,0 +1,227 @@ +MICROSOFT SOFTWARE LICENSE TERMS + +MICROSOFT AZURE POWERSHELL + +These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. + +BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE. + + +-----------------START OF LICENSE-------------------------- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +-------------------END OF LICENSE------------------------------------------ + + +----------------START OF THIRD PARTY NOTICE-------------------------------- + + +The software includes the AutoMapper library ("AutoMapper"). The MIT License set out below is provided for informational purposes only. It is not the license that governs any part of the software. + +Provided for Informational Purposes Only + +AutoMapper + +The MIT License (MIT) +Copyright (c) 2010 Jimmy Bogard + + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + + + + +*************** + +The software includes Newtonsoft.Json. The MIT License set out below is provided for informational purposes only. It is not the license that governs any part of the software. + +Newtonsoft.Json + +The MIT License (MIT) +Copyright (c) 2007 James Newton-King +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-------------END OF THIRD PARTY NOTICE---------------------------------------- + diff --git a/swaggerci/redis/pack-module.ps1 b/swaggerci/redis/pack-module.ps1 new file mode 100644 index 000000000000..8ed48957e579 --- /dev/null +++ b/swaggerci/redis/pack-module.ps1 @@ -0,0 +1,9 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- +Write-Host -ForegroundColor Green 'Packing module...' +dotnet pack $PSScriptRoot --no-build /nologo +Write-Host -ForegroundColor Green '-------------Done-------------' \ No newline at end of file diff --git a/swaggerci/redis/readme.md b/swaggerci/redis/readme.md new file mode 100644 index 000000000000..2fb17a0e0724 --- /dev/null +++ b/swaggerci/redis/readme.md @@ -0,0 +1,10 @@ +### AutoRest Configuration +> see https://aka.ms/autorest + +``` yaml +require: + - $(this-folder)/../../tools/SwaggerCI/readme.azure.noprofile.md + - $(this-folder)/../../../azure-rest-api-specs/specification/redis/resource-manager/readme.md +try-require: + - $(this-folder)/../../../azure-rest-api-specs/specification/redis/resource-manager/readme.powershell.md +``` diff --git a/swaggerci/redis/resources/README.md b/swaggerci/redis/resources/README.md new file mode 100644 index 000000000000..736492341e3d --- /dev/null +++ b/swaggerci/redis/resources/README.md @@ -0,0 +1,11 @@ +# Resources +This directory can contain any additional resources for module that are not required at runtime. This directory **does not** get packaged with the module. If you have assets for custom implementation, place them into the `../custom` folder. + +## Info +- Modifiable: yes +- Generated: no +- Committed: yes +- Packaged: no + +## Purpose +Use this folder to put anything you want to keep around as part of the repository for the module, but is not something that is required for the module. For example, development files, packaged builds, or additional information. This is only intended to be used in repositories where the module's output directory is cleaned, but tangential resources for the module want to remain intact. \ No newline at end of file diff --git a/swaggerci/redis/run-module.ps1 b/swaggerci/redis/run-module.ps1 new file mode 100644 index 000000000000..844fa85344de --- /dev/null +++ b/swaggerci/redis/run-module.ps1 @@ -0,0 +1,54 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- +param([switch]$Isolated, [switch]$Code) +$ErrorActionPreference = 'Stop' + +if(-not $Isolated) { + Write-Host -ForegroundColor Green 'Creating isolated process...' + $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path + & "$pwsh" -NoExit -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -Isolated + return +} + +$isAzure = $true +if($isAzure) { + . (Join-Path $PSScriptRoot 'check-dependencies.ps1') -Isolated -Accounts + # Load the latest version of Az.Accounts installed + Import-Module -Name Az.Accounts -RequiredVersion (Get-Module -Name Az.Accounts -ListAvailable | Sort-Object -Property Version -Descending)[0].Version +} + +$localModulesPath = Join-Path $PSScriptRoot 'generated/modules' +if(Test-Path -Path $localModulesPath) { + $env:PSModulePath = "$localModulesPath$([IO.Path]::PathSeparator)$env:PSModulePath" +} + +$modulePsd1 = Get-Item -Path (Join-Path $PSScriptRoot './Az.Redis.psd1') +$modulePath = $modulePsd1.FullName +$moduleName = $modulePsd1.BaseName + +function Prompt { + Write-Host -NoNewline -ForegroundColor Green "PS $(Get-Location)" + Write-Host -NoNewline -ForegroundColor Gray ' [' + Write-Host -NoNewline -ForegroundColor White -BackgroundColor DarkCyan $moduleName + ']> ' +} + +# where we would find the launch.json file +$vscodeDirectory = New-Item -ItemType Directory -Force -Path (Join-Path $PSScriptRoot '.vscode') +$launchJson = Join-Path $vscodeDirectory 'launch.json' + +# if there is a launch.json file, let's just assume -Code, and update the file +if(($Code) -or (test-Path $launchJson) ) { + $launchContent = '{ "version": "0.2.0", "configurations":[{ "name":"Attach to PowerShell", "type":"coreclr", "request":"attach", "processId":"' + ([System.Diagnostics.Process]::GetCurrentProcess().Id) + '", "justMyCode":false }] }' + Set-Content -Path $launchJson -Value $launchContent + if($Code) { + # only launch vscode if they say -code + code $PSScriptRoot + } +} + +Import-Module -Name $modulePath \ No newline at end of file diff --git a/swaggerci/redis/test-module.ps1 b/swaggerci/redis/test-module.ps1 new file mode 100644 index 000000000000..90c2e50fabf1 --- /dev/null +++ b/swaggerci/redis/test-module.ps1 @@ -0,0 +1,86 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- +param([switch]$Isolated, [switch]$Live, [switch]$Record, [switch]$Playback, [switch]$RegenerateSupportModule, [switch]$UsePreviousConfigForRecord, [string[]]$TestName) +$ErrorActionPreference = 'Stop' + +if(-not $Isolated) +{ + Write-Host -ForegroundColor Green 'Creating isolated process...' + if ($PSBoundParameters.ContainsKey("TestName")) { + $PSBoundParameters["TestName"] = $PSBoundParameters["TestName"] -join "," + } + $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path + & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -Isolated + return +} + +# This is a workaround, since for string array parameter, pwsh -File will only take the first element +if ($PSBoundParameters.ContainsKey("TestName") -and ($TestName.count -eq 1) -and ($TestName[0].Contains(','))) { + $TestName = $TestName[0].Split(",") +} + +$ProgressPreference = 'SilentlyContinue' +$baseName = $PSScriptRoot.BaseName +$requireResourceModule = (($baseName -ne "Resources") -and ($Record.IsPresent -or $Live.IsPresent)) +. (Join-Path $PSScriptRoot 'check-dependencies.ps1') -Isolated -Accounts:$false -Pester -Resources:$requireResourceModule -RegenerateSupportModule:$RegenerateSupportModule +. ("$PSScriptRoot\test\utils.ps1") + +if ($requireResourceModule) +{ + # Load the latest Az.Accounts installed + Import-Module -Name Az.Accounts -RequiredVersion (Get-Module -Name Az.Accounts -ListAvailable | Sort-Object -Property Version -Descending)[0].Version + $resourceModulePSD = Get-Item -Path (Join-Path $HOME '.PSSharedModules\Resources\Az.Resources.TestSupport.psd1') + Import-Module -Name $resourceModulePSD.FullName +} + +$localModulesPath = Join-Path $PSScriptRoot 'generated/modules' +if(Test-Path -Path $localModulesPath) +{ + $env:PSModulePath = "$localModulesPath$([IO.Path]::PathSeparator)$env:PSModulePath" +} + +$modulePsd1 = Get-Item -Path (Join-Path $PSScriptRoot './Az.Redis.psd1') +$modulePath = $modulePsd1.FullName +$moduleName = $modulePsd1.BaseName + +Import-Module -Name Pester +Import-Module -Name $modulePath + +$TestMode = 'playback' +$ExcludeTag = @("LiveOnly") +if($Live) +{ + $TestMode = 'live' + $ExcludeTag = @() +} +if($Record) +{ + $TestMode = 'record' +} +try +{ + if ($TestMode -ne 'playback') + { + setupEnv + } + $testFolder = Join-Path $PSScriptRoot 'test' + if ($null -ne $TestName) + { + Invoke-Pester -Script @{ Path = $testFolder } -TestName $TestName -ExcludeTag $ExcludeTag -EnableExit -OutputFile (Join-Path $testFolder "$moduleName-TestResults.xml") + } else + { + Invoke-Pester -Script @{ Path = $testFolder } -ExcludeTag $ExcludeTag -EnableExit -OutputFile (Join-Path $testFolder "$moduleName-TestResults.xml") + } +} Finally +{ + if ($TestMode -ne 'playback') + { + cleanupEnv + } +} + +Write-Host -ForegroundColor Green '-------------Done-------------' \ No newline at end of file diff --git a/swaggerci/redis/test/Export-AzRedisData.Tests.ps1 b/swaggerci/redis/test/Export-AzRedisData.Tests.ps1 new file mode 100644 index 000000000000..2c202687dcdb --- /dev/null +++ b/swaggerci/redis/test/Export-AzRedisData.Tests.ps1 @@ -0,0 +1,33 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Export-AzRedisData')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Export-AzRedisData.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Export-AzRedisData' { + It 'ExportExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Export' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'ExportViaIdentityExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'ExportViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/Get-AzRedis.Tests.ps1 b/swaggerci/redis/test/Get-AzRedis.Tests.ps1 new file mode 100644 index 000000000000..184060581e56 --- /dev/null +++ b/swaggerci/redis/test/Get-AzRedis.Tests.ps1 @@ -0,0 +1,33 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzRedis')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzRedis.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzRedis' { + It 'List1' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/Get-AzRedisAsyncOperationStatus.Tests.ps1 b/swaggerci/redis/test/Get-AzRedisAsyncOperationStatus.Tests.ps1 new file mode 100644 index 000000000000..9d9ff6f5c2ce --- /dev/null +++ b/swaggerci/redis/test/Get-AzRedisAsyncOperationStatus.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzRedisAsyncOperationStatus')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzRedisAsyncOperationStatus.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzRedisAsyncOperationStatus' { + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/Get-AzRedisFirewallRule.Tests.ps1 b/swaggerci/redis/test/Get-AzRedisFirewallRule.Tests.ps1 new file mode 100644 index 000000000000..1f755ac05e70 --- /dev/null +++ b/swaggerci/redis/test/Get-AzRedisFirewallRule.Tests.ps1 @@ -0,0 +1,29 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzRedisFirewallRule')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzRedisFirewallRule.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzRedisFirewallRule' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/Get-AzRedisKey.Tests.ps1 b/swaggerci/redis/test/Get-AzRedisKey.Tests.ps1 new file mode 100644 index 000000000000..409490f28c98 --- /dev/null +++ b/swaggerci/redis/test/Get-AzRedisKey.Tests.ps1 @@ -0,0 +1,21 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzRedisKey')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzRedisKey.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzRedisKey' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/Get-AzRedisLinkedServer.Tests.ps1 b/swaggerci/redis/test/Get-AzRedisLinkedServer.Tests.ps1 new file mode 100644 index 000000000000..dce05c7421e6 --- /dev/null +++ b/swaggerci/redis/test/Get-AzRedisLinkedServer.Tests.ps1 @@ -0,0 +1,29 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzRedisLinkedServer')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzRedisLinkedServer.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzRedisLinkedServer' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/Get-AzRedisPatchSchedule.Tests.ps1 b/swaggerci/redis/test/Get-AzRedisPatchSchedule.Tests.ps1 new file mode 100644 index 000000000000..883d0a889b88 --- /dev/null +++ b/swaggerci/redis/test/Get-AzRedisPatchSchedule.Tests.ps1 @@ -0,0 +1,29 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzRedisPatchSchedule')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzRedisPatchSchedule.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzRedisPatchSchedule' { + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/Get-AzRedisPrivateEndpointConnection.Tests.ps1 b/swaggerci/redis/test/Get-AzRedisPrivateEndpointConnection.Tests.ps1 new file mode 100644 index 000000000000..91db86d2b094 --- /dev/null +++ b/swaggerci/redis/test/Get-AzRedisPrivateEndpointConnection.Tests.ps1 @@ -0,0 +1,29 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzRedisPrivateEndpointConnection')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzRedisPrivateEndpointConnection.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzRedisPrivateEndpointConnection' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/Get-AzRedisPrivateLinkResource.Tests.ps1 b/swaggerci/redis/test/Get-AzRedisPrivateLinkResource.Tests.ps1 new file mode 100644 index 000000000000..fabe29ec0c90 --- /dev/null +++ b/swaggerci/redis/test/Get-AzRedisPrivateLinkResource.Tests.ps1 @@ -0,0 +1,21 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzRedisPrivateLinkResource')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzRedisPrivateLinkResource.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzRedisPrivateLinkResource' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/Get-AzRedisUpgradeNotification.Tests.ps1 b/swaggerci/redis/test/Get-AzRedisUpgradeNotification.Tests.ps1 new file mode 100644 index 000000000000..33640d4d8d34 --- /dev/null +++ b/swaggerci/redis/test/Get-AzRedisUpgradeNotification.Tests.ps1 @@ -0,0 +1,21 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzRedisUpgradeNotification')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzRedisUpgradeNotification.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzRedisUpgradeNotification' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/Import-AzRedisData.Tests.ps1 b/swaggerci/redis/test/Import-AzRedisData.Tests.ps1 new file mode 100644 index 000000000000..9fe50a78a040 --- /dev/null +++ b/swaggerci/redis/test/Import-AzRedisData.Tests.ps1 @@ -0,0 +1,33 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Import-AzRedisData')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Import-AzRedisData.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Import-AzRedisData' { + It 'ImportExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Import' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'ImportViaIdentityExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'ImportViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/New-AzRedis.Tests.ps1 b/swaggerci/redis/test/New-AzRedis.Tests.ps1 new file mode 100644 index 000000000000..633688454e14 --- /dev/null +++ b/swaggerci/redis/test/New-AzRedis.Tests.ps1 @@ -0,0 +1,21 @@ +if(($null -eq $TestName) -or ($TestName -contains 'New-AzRedis')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'New-AzRedis.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'New-AzRedis' { + It 'CreateExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/New-AzRedisFirewallRule.Tests.ps1 b/swaggerci/redis/test/New-AzRedisFirewallRule.Tests.ps1 new file mode 100644 index 000000000000..98b4e7087228 --- /dev/null +++ b/swaggerci/redis/test/New-AzRedisFirewallRule.Tests.ps1 @@ -0,0 +1,21 @@ +if(($null -eq $TestName) -or ($TestName -contains 'New-AzRedisFirewallRule')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'New-AzRedisFirewallRule.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'New-AzRedisFirewallRule' { + It 'CreateExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/New-AzRedisKey.Tests.ps1 b/swaggerci/redis/test/New-AzRedisKey.Tests.ps1 new file mode 100644 index 000000000000..95e3f4e89352 --- /dev/null +++ b/swaggerci/redis/test/New-AzRedisKey.Tests.ps1 @@ -0,0 +1,33 @@ +if(($null -eq $TestName) -or ($TestName -contains 'New-AzRedisKey')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'New-AzRedisKey.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'New-AzRedisKey' { + It 'RegenerateExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Regenerate' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'RegenerateViaIdentityExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'RegenerateViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/New-AzRedisLinkedServer.Tests.ps1 b/swaggerci/redis/test/New-AzRedisLinkedServer.Tests.ps1 new file mode 100644 index 000000000000..8af2f1e6eae7 --- /dev/null +++ b/swaggerci/redis/test/New-AzRedisLinkedServer.Tests.ps1 @@ -0,0 +1,21 @@ +if(($null -eq $TestName) -or ($TestName -contains 'New-AzRedisLinkedServer')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'New-AzRedisLinkedServer.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'New-AzRedisLinkedServer' { + It 'CreateExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/New-AzRedisPatchSchedule.Tests.ps1 b/swaggerci/redis/test/New-AzRedisPatchSchedule.Tests.ps1 new file mode 100644 index 000000000000..936918740958 --- /dev/null +++ b/swaggerci/redis/test/New-AzRedisPatchSchedule.Tests.ps1 @@ -0,0 +1,21 @@ +if(($null -eq $TestName) -or ($TestName -contains 'New-AzRedisPatchSchedule')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'New-AzRedisPatchSchedule.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'New-AzRedisPatchSchedule' { + It 'CreateExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/README.md b/swaggerci/redis/test/README.md new file mode 100644 index 000000000000..1969200c6a09 --- /dev/null +++ b/swaggerci/redis/test/README.md @@ -0,0 +1,17 @@ +# Test +This directory contains the [Pester](https://www.powershellgallery.com/packages/Pester) tests to run for the module. We use Pester as it is the unofficial standard for PowerShell unit testing. Test stubs for custom cmdlets (created in `../custom`) will be generated into this folder when `build-module.ps1` is ran. These test stubs will fail automatically, to indicate that tests should be written for custom cmdlets. + +## Info +- Modifiable: yes +- Generated: partial +- Committed: yes +- Packaged: no + +## Details +We allow three testing modes: *live*, *record*, and *playback*. These can be selected using the `-Live`, `-Record`, and `-Playback` switches respectively on the `test-module.ps1` script. This script will run through any `.Tests.ps1` scripts in the `test` folder. If you choose the *record* mode, it will create a `.Recording.json` file of the REST calls between the client and server. Then, when you choose *playback* mode, it will use the `.Recording.json` file to mock the communication between server and client. The *live* mode runs the same as the *record* mode; however, it doesn't create the `.Recording.json` file. + +## Purpose +Custom cmdlets generally encompass additional functionality not described in the REST specification, or combines functionality generated from the REST spec. To validate this functionality continues to operate as intended, creating tests that can be ran and re-ran against custom cmdlets is part of the framework. + +## Usage +To execute tests, run the `test-module.ps1`. To write tests, [this example](https://github.com/pester/Pester/blob/8b9cf4248315e44f1ac6673be149f7e0d7f10466/Examples/Planets/Get-Planet.Tests.ps1#L1) from the Pester repository is very useful for getting started. \ No newline at end of file diff --git a/swaggerci/redis/test/Remove-AzRedis.Tests.ps1 b/swaggerci/redis/test/Remove-AzRedis.Tests.ps1 new file mode 100644 index 000000000000..1d3e95374913 --- /dev/null +++ b/swaggerci/redis/test/Remove-AzRedis.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Remove-AzRedis')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Remove-AzRedis.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Remove-AzRedis' { + It 'Delete' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'DeleteViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/Remove-AzRedisFirewallRule.Tests.ps1 b/swaggerci/redis/test/Remove-AzRedisFirewallRule.Tests.ps1 new file mode 100644 index 000000000000..3e124d7b6dba --- /dev/null +++ b/swaggerci/redis/test/Remove-AzRedisFirewallRule.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Remove-AzRedisFirewallRule')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Remove-AzRedisFirewallRule.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Remove-AzRedisFirewallRule' { + It 'Delete' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'DeleteViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/Remove-AzRedisLinkedServer.Tests.ps1 b/swaggerci/redis/test/Remove-AzRedisLinkedServer.Tests.ps1 new file mode 100644 index 000000000000..e68d66f225dc --- /dev/null +++ b/swaggerci/redis/test/Remove-AzRedisLinkedServer.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Remove-AzRedisLinkedServer')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Remove-AzRedisLinkedServer.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Remove-AzRedisLinkedServer' { + It 'Delete' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'DeleteViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/Remove-AzRedisPatchSchedule.Tests.ps1 b/swaggerci/redis/test/Remove-AzRedisPatchSchedule.Tests.ps1 new file mode 100644 index 000000000000..28f10ddf1608 --- /dev/null +++ b/swaggerci/redis/test/Remove-AzRedisPatchSchedule.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Remove-AzRedisPatchSchedule')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Remove-AzRedisPatchSchedule.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Remove-AzRedisPatchSchedule' { + It 'Delete' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'DeleteViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/Remove-AzRedisPrivateEndpointConnection.Tests.ps1 b/swaggerci/redis/test/Remove-AzRedisPrivateEndpointConnection.Tests.ps1 new file mode 100644 index 000000000000..3e9bdfe4c310 --- /dev/null +++ b/swaggerci/redis/test/Remove-AzRedisPrivateEndpointConnection.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Remove-AzRedisPrivateEndpointConnection')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Remove-AzRedisPrivateEndpointConnection.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Remove-AzRedisPrivateEndpointConnection' { + It 'Delete' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'DeleteViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/Restart-AzRedis.Tests.ps1 b/swaggerci/redis/test/Restart-AzRedis.Tests.ps1 new file mode 100644 index 000000000000..3a1fe4b6f11d --- /dev/null +++ b/swaggerci/redis/test/Restart-AzRedis.Tests.ps1 @@ -0,0 +1,33 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Restart-AzRedis')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Restart-AzRedis.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Restart-AzRedis' { + It 'ForceRebootExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'ForceReboot' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'ForceRebootViaIdentityExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'ForceRebootViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/Test-AzRedisNameAvailability.Tests.ps1 b/swaggerci/redis/test/Test-AzRedisNameAvailability.Tests.ps1 new file mode 100644 index 000000000000..fc44edb0bafd --- /dev/null +++ b/swaggerci/redis/test/Test-AzRedisNameAvailability.Tests.ps1 @@ -0,0 +1,33 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Test-AzRedisNameAvailability')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Test-AzRedisNameAvailability.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Test-AzRedisNameAvailability' { + It 'CheckExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Check' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'CheckViaIdentityExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'CheckViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/Update-AzRedis.Tests.ps1 b/swaggerci/redis/test/Update-AzRedis.Tests.ps1 new file mode 100644 index 000000000000..bf7c5795b609 --- /dev/null +++ b/swaggerci/redis/test/Update-AzRedis.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Update-AzRedis')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Update-AzRedis.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Update-AzRedis' { + It 'UpdateExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'UpdateViaIdentityExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/redis/test/loadEnv.ps1 b/swaggerci/redis/test/loadEnv.ps1 new file mode 100644 index 000000000000..0ea394729062 --- /dev/null +++ b/swaggerci/redis/test/loadEnv.ps1 @@ -0,0 +1,21 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- +$envFile = 'env.json' +if ($TestMode -eq 'live') { + $envFile = 'localEnv.json' +} + +if (Test-Path -Path (Join-Path $PSScriptRoot $envFile)) { + $envFilePath = Join-Path $PSScriptRoot $envFile +} else { + $envFilePath = Join-Path $PSScriptRoot '..\$envFile' +} +$env = @{} +if (Test-Path -Path $envFilePath) { + $env = Get-Content (Join-Path $PSScriptRoot $envFile) | ConvertFrom-Json + $PSDefaultParameterValues=@{"*:SubscriptionId"=$env.SubscriptionId; "*:Tenant"=$env.Tenant} +} \ No newline at end of file diff --git a/swaggerci/redis/test/utils.ps1 b/swaggerci/redis/test/utils.ps1 new file mode 100644 index 000000000000..1990edd45299 --- /dev/null +++ b/swaggerci/redis/test/utils.ps1 @@ -0,0 +1,31 @@ +function RandomString([bool]$allChars, [int32]$len) { + if ($allChars) { + return -join ((33..126) | Get-Random -Count $len | % {[char]$_}) + } else { + return -join ((48..57) + (97..122) | Get-Random -Count $len | % {[char]$_}) + } +} +$env = @{} +if ($UsePreviousConfigForRecord) { + $previousEnv = Get-Content (Join-Path $PSScriptRoot 'env.json') | ConvertFrom-Json + $previousEnv.psobject.properties | Foreach-Object { $env[$_.Name] = $_.Value } +} +# Add script method called AddWithCache to $env, when useCache is set true, it will try to get the value from the $env first. +# example: $val = $env.AddWithCache('key', $val, $true) +$env | Add-Member -Type ScriptMethod -Value { param( [string]$key, [object]$val, [bool]$useCache) if ($this.Contains($key) -and $useCache) { return $this[$key] } else { $this[$key] = $val; return $val } } -Name 'AddWithCache' +function setupEnv() { + # Preload subscriptionId and tenant from context, which will be used in test + # as default. You could change them if needed. + $env.SubscriptionId = (Get-AzContext).Subscription.Id + $env.Tenant = (Get-AzContext).Tenant.Id + # For any resources you created for test, you should add it to $env here. + $envFile = 'env.json' + if ($TestMode -eq 'live') { + $envFile = 'localEnv.json' + } + set-content -Path (Join-Path $PSScriptRoot $envFile) -Value (ConvertTo-Json $env) +} +function cleanupEnv() { + # Clean resources you create for testing +} + diff --git a/swaggerci/redis/utils/Unprotect-SecureString.ps1 b/swaggerci/redis/utils/Unprotect-SecureString.ps1 new file mode 100644 index 000000000000..cb05b51a6220 --- /dev/null +++ b/swaggerci/redis/utils/Unprotect-SecureString.ps1 @@ -0,0 +1,16 @@ +#This script converts securestring to plaintext + +param( + [Parameter(Mandatory, ValueFromPipeline)] + [System.Security.SecureString] + ${SecureString} +) + +$ssPtr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($SecureString) +try { + $plaintext = [System.Runtime.InteropServices.Marshal]::PtrToStringBSTR($ssPtr) +} finally { + [System.Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ssPtr) +} + +return $plaintext \ No newline at end of file

nB^koaiLavK5a##frzCCPLChNQMZ>79mqbNR9}ZCqfpAkYcM(ca4>b zkb@$mT*NtU#bd9qVojbEYPC?$3$@tR2=*$m;h8G6Vcj0IVcoW{H;3>5`(5A%+EEP> ze!3mYnPJCrX4Bp<#;3tT^62)H0Vmn1_r-~HvMM!}NDHI_^BF!Bl z&0>*eiAb|l#g=eTl&W0CmT+9fmQbN$OQ=+_C4_5Os%j0(d0xYEUKSw$h}nL zeo*9oT!d7JkV+9!CCYPFl&4yh=dy@%Rm5RFSbn9FC zKKNC>uY-Tq_f7Dtee=LS@4E{8%f4&Dzv{aI{A<32;4{DN;M@Infv@>}1U~mG1>eUH zkD{R;9z|0>JPJQQJPLn5Jc<^6coYGCcocztcoac?cogmZ@F;@)@F=?Z;ZcP6;ZgMR z!=niI!=p$QDW{2)(?!Y|BIP_0zEXs*5#jkFyZ~~n%jVySePNOCmk9qo;ja_^M)0AX z`=jsl$1=zJW0@2DvCN77Smq>uEOW9ymN~^A%be!Wa5u3(xh(7QWOUTX>%TA@EoF9|eDn|4H!k{c#K_@UH~F z(En@ji~PR>e~15%;1~N}2EWAr=l{dpd&fm_weQ1cwg^j60THpTQS60Yq9U+>A_ywj zqGmx@6op+}z#0t^OVnu8^!9|rbkj|*B${TLNlaoo3Fb*+nn{f5$?v-Fb7poyG|%_* z{`2bRzOL((IdkUB={qw3Um5&2@X+9~Ncr$!a~AID;6UJqgF}I>gTsMG2S)+F9NZW9 z&ESE+|F@Xx_XKoN5`&=NBd7#Ncc42j7D_K2bK=@rBGG=}eK4Byij zzNayKPhgx_cVs@X$;@f7`~@5R6f&UsC-IdsC?$cQ2ES{q4Ft> zq4KGSq4HTAL*-K)L*-K&L*-K+L*=tFhRWx>7%HE}7%HC)F;qSm#!&fO6hq~+Glt6N z(ikeAD`Tj9n)zC8;%m8$ujNJdd4+urvCmUAzXSxxb%i_=?&r18&Zh;3}gRMjMW^omUTVHT*+ykH-yTw zaR`;th9Pt<7jev;9P?6+`2hPo!ah&1PYa*r0H^RG=js*C)gjK+VWc@m2oWso%n{O3?OAv35;{A%-6r1sc zAcYT7>`+{;xJmc#D&v(aZc@BQ@qWc^ip||rx{4i&%N6fYykBvfVsm$OoMMOKa>Y%G z_bA@4xJ|J+OdYS-p}1Uelj1#!_bYBwYz|k)D|RR@SKOp{kK+A`+Z3B4)bWZPipv!@ zDc+-azv4E<<{s*J#SX>giklSgQM_Mqn__dMI$p6uak=6q#m!)<&wG@+MY;DYcPn_C zu*@T-cx}pG^ptKhnCgukyiH7=M@;bsDgO-RF6Hox<~1sJlL~KU|3mYLIUmZuMY;DY zcPn_Ch@Ri3+~z2CeTp55OTqha{&MARRPH9_-lKTG;x@&im%wkc_6+>EhV!`Q+nFz) z-v*}ZGxt{KQ=9>&^Ei~dRJqHQyGijL#Vsm)zjC*N>3nU`+{;xJmII#rqYvDK__0$18RyE(LSBDtD9OX63&}x%Vq> zQ*7?9(o>uPrt5Ynce&yw#d{RDfGOU7`+{;xJmII#rqYvDK^{H@roUa z%M~{%-lKTG;x@(Rf$Dh04#nk)n-uR+ykBvfV)I$*c*PFI<%*jW?@_#8ahqcEAa%TA zhvIU@O^Wv@-mkb#v3amMUa>=Qx#A|pdlc_i+@{zZqmEbXP+YFKN%0=VZ9`;y^H6o1 zVu#{##Z8L$DBiEQO|f~HI$p6uak=6q#d{R*SKOx9JX{`c2iJ*{^9L!nLvgv{CdGRc zw}2`Be&ude?l$EXBV@Q4%M)a`MYylm{Xmt z%v+px7ajk$GlMy#w3K;9X(RKMrOnKrm$op+m$ibaJc###@t_d9iOFqOZent0C^s>= zOO>0L!xh3Zv)2=kTbRMTbzvj(#|xX8`?;xiH|R7WgfW{4{E_(y422mQm&CHKgw=jQK-O4<$1`m26enn059mKcQv@m~A)5_e{jZDCQ zn%mC2+nvGun!A*_yQh(PuBVy#8c!?pQ4byh!*Ox7cIL)fJP^j?R)*qI#mxuh{c2I% z3a0U`3fAR_0z_JSc{E1>Owi%e|${?|GYHDBk^b8O)aYQsyc3jm($TXS`0~hwDq3LmFC`iyH9o8T_wrurq((P|7@hc?)yX za{C(;{_gTp=DsT$ndhx&WxjcZ{Y?u0dPN3v!pc(Sx|NO0_pfYW{%xiGEsB@0s+4*8 zsz&C=S2Z*Ly$TP$Av|NXoq7H04CaHY8=1SVX=a|iriJ;|HLc9wud%;P$0eSZ!Myam zQs!IFYi4dcuZ4NY+E!-wT0B^X_;;_(VE%kT8DNT6s<=^cGlwtT*vhxo0YpoajRlHe2DOrO?Kw> zn=-(B9(KRFsZqI`+1-6}^OqFAWOEDim780cKi!On7U4haLOXNag{90-UD(KM+R}22 zkK57;=6(xI{R$p(l;aMV+;-(ACU=H%6O+4Cxrxc$sNBTlZdPt$a^nF>yDz$lBd{w#LWX$4M?#+^o1&v3SKO@FK0)~_ZdTl?*q*M!6*ntxRcxQA!WB0w zZdGj0P~nQ36}Kw3XR2_;&AK~F`Zp_XRcv>t_==kqw<@-0t8m55idz-ib5ywEX2q?F z?YSykakJu9#r8=mTyeAFR>k(oDqL~1;#S4>JQc3ES#hgk`xF(fxLI+lVtc*{SKO?) zRk6K5g)44W+^YLemEp~bTNT?2)p3fO6}Kw37pZW?&5BzU+o#F!mN}B~z%AFy48@I# zTjr_o`6^s-qv96DVu1=*+^D!kF&^HP=__tj+@e@GRk-3t#Vv|OsR~!zsJKP3C{y8z z8x^-G77JCl;zq?Sibc5!SKO$$MX{(*;ffm-w zjfz_oi^VEjaiiiE#iB}uD{fTWqF5|Z;ffn|_fqNKsJKP3s8;b6H!5yXENWD^;zq?S ziiKN+D{fTWq8JZx%le?WQE`i6QLDlgH!5yXES9No#f^$v6br8kSKLxZ{qU~cVma~Q z-KF5YG=3>=Rcv1&{Yw=$E4Hsv{)(Fww<@-;R^f`96}Kw3uTkNOn-#Yzwx6fM6*ntx zRcv3Y!WB0wZdGhwC&OD5i}R&BLvf?x7R91bg)1&q+@iQuvA96Svn$R}+_GN!mo`b( z@N~OCCD%kYcoA5b1S&1Qo@5rNoNyz;675#J6_KT_(eBZXX+!X|>10!hsmiq0bb;w& z({-j-O-D?vrteHAO%`*YxuuuHtt%t3jSbKL#?vmAIa+lRzc6NER%TrwrbUE1N zjV?#JeA4A)mwm_PXsO+t;?=Yym-$L8F4k1?2=y3pzKbI%r+cMM0MY-4Jwt zP)pEjK_3SF9Apj-3my|j;=%t}IhdvbgLg*%hIu2Z@e zcP;I@rR&bFS9QI<>up`{?)pI2r@9{KdZ_C=T|eylZPy>W{?Rp{+gaUmyA^h;=(eoe z%5LX(+uH4Lx1-&@?)F!=zTJm)PwhUn`>gJj-K)DV?|wn|?cFcwens~^-S6)HboUp! zzt;V&?jLnO+Wq_PKX?DTdq7yfu)$#?!m`5(!b-!Igw=&@2-_Xj9QI7un_;bCKZKdW zBf^ zL$4jZuI+V4uSa@4-|KL%&w3s2^>?q3=-$!x=;6^x(c_{W(FM_E(Tk$p(GAfTL~oA1 zEP7A$ebI-bKZyP+I-qyA-jTfr^^WU3vG>&8^LkhHUeSAF?@M~$(EFa=PxgMf_j|p+ z=>2nVbDyw21Nw~alhkKUpEZ59^tqzX&3*Rud8W_nectQyRi7XF{L<&|KK=R*>zmlO zudrG-uJ$~5BGhl?}5HO`wi%q*e|zVLBGa+7xw$O-JduDFaFeY#(5;r`l)Q>+O*P(+4^S zUOe!RfvIQBKkLL<(+4dXv}@4QgWew$IC#Y1?7=mIuN(Z<;Lw<5F_*+V5c6To*+Xs~ z^74@1hB$^U9(u*lkA|9tWewXkY~Qd?hjkx*-tb$7e?2^UM8b%I5lcqw81e9kKSm^u zyk%s>s9mET9QFFBfYC*x9~`}O%w1!?95Zd~g=6=Q-9NT%?2y=pV+X}ei@!Ynhxk4T zj)Yqh4kUypW+u85A4yD23Q3-nT$=nra%f6+$~P%tscETYsq0gpP0dg9rrnVCe%j=- zuNrsjxQE8QHtwBqW5@3v|JwNc2}>qiJmIAYrRhu4SEO%FHw#S!pgXhSEx1s;0T(82 z72)DG{6unx=#Nok0N!{Tgty&>VkI{WZ@P`dn{K1jP`j(Ap^D-LMqh}X1v;;=Sf9MKktX6$=V3hx!Oqd(RZ)EbdC_)uf7U+c-wz~pI$_myn*oZ zt%TRG&ok$e9yyZm-9SRm(}XwfCfva|=5^Ae-XNU2l5qc0!jsn%e#Ls@g`}@xyy1D$ zN5cuX=MrvXpNp4}{^>@-k(UtW%_AJ~Ea9kqgp0=#e!)Ju=aIf>HsQBLgoik_%Pu2* z!F0ld>j_t6v*wihPa@s-T0&PP;q(^5-fIbeE+>5LRl@8;gtzn6MHiBuzKrnQHG~nx zgu^)f>RQr=UL)+1NjUH!!t?`#iykLj$mMg4LznUO9(|1byFWn~%Xn7~>2vsuiCLt> z7$czF!4g+B-OA&N}ix!nGy3nRMiO z!aXk${=>NCPSS639{zJ4=>?4G&yqg0iSTm1Uvs&pz0dgb9ps%WA$yH*@Rw_CE5z z>mcDvoMte`|EZCDet(AW=fhq`Cq2)(}LR^WB(_IA*<_2j?$GQ!FW32XE2 z>EP4ic>q3pral7vXcFn485b6lp7jQ$S^5keJLnO@!8L>ni=P5!JxFn;+)i;mx|J~L zAo*M|gYZ-z|D1d{i{gL3n($yL;j)QzR8z(QU<2p5jPopWQoY6(f7ENF-#S^IPg`zr@I?}hTh%yJL5mVw2>6QVZL>)e%Bu7()j0T@(*80c++i!{?~r> zwZVx0$sJ+9H4CDE{%4d|A=8xU$e0p$?WNSDmSvc8bw8vqa608ymbNT;d0of2R>*6S zXNjpk3-Pz_pma_>ySyX%S^oc9o}aFw{3nhll;!Zv!*n;B8IP|WhHKn*AB9#wIR?7r zX2PkH$!G0dgtmQz`L*%zPu@@Z{+9{QTz^hib55-Zvd;L|grG|)hetON-n@X$wUsga zl2qj3?Fzbs2WrPd|1UN9bU8V-4$HbEb12J7*3wgR=wC}Wb1!rYx6n`5Q*NKzK=|w) z!k4EIKGQ%gx0>5#7`NY{+avaCI4$D>3@Dc`Ok0=$}uZ|Q$9MHaw|ur?@B2Cj(Z4Y zpBZ;QopCph3zd8=xA3)$=Jaix{>40E4&)rJj1*D8o+26;h38*Q zSR3{OMq_Pg61~MhU>~dzP1ppB0rtaM(S)_*aNq!}7fr&B)uIXU#sbg6YSDz)3BbW3 z2^fQK)R@E&tR77`avX3NR*?96h4@yD36I=l0!Io5aFoaajuw-EV?-WstjGt(imAXj zQ3Q;~S8Pm3y%?A%W&)GMY+y3JYGcBg<^fajMH>^&=LDWD%7EiUIdHsi0Vjw>z;t}! z#)KR!1!jmEV5aZ@v&1r>1JCD}up8I_%n>VqxndP?l2`+rEYQUTA;;T*)5Lb*bbQywBxc}^KNE6)39tlTw83{W@jV-pn1!#|m~bW6 z0O#NV2mHNze8&cV3q#xhoQKuB32(gJ3|xQ}yh)skuh*Dxg?oXecu>KF>%0fJ5Z?eX z;cE8*E3lq7;hG-?R^t6!6R!Mm;9{)pO}PH2flI_Qz@>QZ*d(gObHEz$0?>^wX_!zV zF9U1EtH5RAb)Z+g0jv{m0qe!vzy|Rya5=s@VnRuM09=W$*x);F*fB7P)z~vIq14)d z=ZVjOYsDA9b@&n3gcAH3*eJdQ(l=}Hx7F~)8WT$MC*TJB;A%pd{sP=2egkgCcWO-H zLVTshg!26dxK(JH38icXUWBjHm{8UMz#Z6=FrmbQfjjY48WYOB8*n$iN@GIlM*uIy zeuWA5APRUnzK(*gV&Ypg_&ZV*v1Ke1*n@yD|uPExtfw!o3*^{Erw8yk3k1 zHsi}PCfuj7z#H*>75q(SkpR32`yeLVvlQShc$eRVJ2wt^o0tH+9p9ocVHYM7xEH%6 zCOm$U1AJ6W0zQVXaG3A_M?UZke0>JrUdFd)G?ZEq^so3XhY2N842;rd0`J#m1NUij zfe&c&fDdU4fDda<;6ben__9_Gd{uJ+KhhQfKh|h>`xBr^e4#A`9@A=oUuz!VH`+4b zw^|+W2dx44qqYM0lZID`#YyahPGws7QMgq~xnH~g2nH~oAGCc~6Ha!mP zZF&+o%=9#Hxak>SzG*+O$n+d=n&}1Lbkj?~8K#$k#imz*C8pPbGfi&*XPMpt&NjUb zoMUG0@!H!3b@7eHE^rxTi`{e z?}0l^KLB@{ega-*`Wbke=@;NLrr&_in*IR3VEPMq(DV=RQzqR+P^0B2f~fU_(qz}c2G;2g_1;9ScD;5n9wzr3rJF={R{sV}1gs+a^uaW`Ljx1}S{{f;MS=T~qK-@d)`Osz{?w$1l zXe$u+&e{YW0K|Q&A?3St-z_)+ku7Fy*O{V^)Bd2>pj2* z>wUnr)_uTr)(3&-TOS5CS|0^oV0|38-ufi4$@(;KgY_BUM(cjyChK#+&DIxy7g}Ee zZn3@$+-iLlxXt=H@FMFQ!0pzzfIF;j1FyHf3%tqt9`IJ{2f*8`9|7;SegeG5`YG^U zYa8%B>*v7xtzQ85S-%24VEr2Sp!HkeL)Pzs4_ki#K4Sd|*Yzk6J+}2{;N#X`fKOU~ z13qQ_19-st7w{wNKfqvoBLRbe?*+sF-wzlH{2*XB@WX(S zz>fk(13wNJ3;ZM?4%ixy0Q@u{3HVt+3a~984R|zQ9Psmi3BdmbOay)rkO}-XzybU% zAP4w&z$D;50r)1B5P|tXEpRF@EwBhUJ8(MioWNq>yug{jYXWDRHE}HvBWd7V=>Gt5 zcLL`@Hv=(}1}=cU5r~mA&h*A=_`z8-VDAY=1y+0-{yg{(`;`h+fF{5A;?bdLf%;!QUMK zq8GB6p?3h$+t{qYdu#!~du=x0eYRlW{kBlxK3g~71GX^WgSH6ZL$*lZ!?q~kBerPZ z3${MM7j6B3FWCkF584I-U$zYbzG903zG@o^e9bl-xG88PaC6XT;I^Q#z>9+7fZKx- zfIEVcfENd)0CxtZ0e1!A>uX{+5cA}q3BXH(CIT-H$^>2!#y2)^y(*oTj7H*1;S^dSkmPLu)51hpu5Yj_1h6FdByd*nulTibQ&?}yEOB92U&~yvIQ)otu2>TOKCn9cL!dkSV_hPn$^TPiNTo?W&urd6YdA_(Q++>+AZV9&lZwv1Nydyji zcxQMJ@b2&s;Jx8pf%k`Z2R;xU4tyxQ2k?>bp1{Y#ds!BUZ^FMZFA(2_e+N7sejNB? z_>aI7;U|D6!%qT#4gVGRd-(6bKg0h7{vG}|5DR*X3tto%iuK;z5yP?GyBE4r+z-77 zUl$k(dYluM>Ym<8^}`LunP>V>s537U)LN z1^NPf=U^x>2zoufb}$s!6}k!EJQxZLhu(lM9}ETdgx-kn9}ETdhTe=X9}EQ!fxZym zKNt!e0lfuZK^O`g1HBdBLKq5+hsN{i(0B_2`XYQ6VJPry=D_0ZRg4baz%P0-EaLg;3(75WBo5%djW2lS0%C-jYC zH}oEHDfAw3IrL59O6Z%!)zCMKYoTuz|AD?mG(+DaZiK#7+ys5AxCQz)aU1k);tuHB z#huW%i@Txk5cfjgA?}CXD;|K}D;|QrQ#=BFr+5tdF7X8PUE(R|yG0B1-Qrp3d&B|g zd&Kk5_lg&x?-d83?-Q>;-zQ#!en1?Cen7kf{h&Ak{h)Xs`XTWl^h4rf=!Zos^uyva z=tsm+=tsnVp&u1rLO&{wK|dzGfqqPU2mQD>4*j_J5&8*n0{RJY68cH;EA*4%cj%|Y zpU_W~DER^oq0tdq>C*i>>oK8XpbBMJS%b-aB$=Z z;E>38;IPO<;E2dn;Hbz^z%h|yfU%Lu!1&0sfr*jhfyt5Sz|_bL;MtK`!10mU!1Tym zU`FI*U{+)yFgtPzFgLQm@~UWzOv0YfR^;<_aS`%)NbG<f9q}ymJK_NJyW)B1cg2g)N5nzsBjOe4_rz<^?}`XkW_{jvBA`eShv`V;YA=ugC#(5>Pa zbgTFV`cv^8^rzxD^k?En=+DFn=r(Z@x=s8FeN_AoeN_Aj{kixX8ZSHa9FA`?n|clf zTA;rWU7)`ZfzV%yAm}ee2=rH?EA&^QJM=LT4t-4Yfc{$ag#KFeg8oMIhWs0TLH{AsPuf&Np>hyF{P3;mZUh5lPCg#KGpK>s5uq5lz!p@p^tT4>eK zn&yVqv|4DB=7lzC_0VQ*IkZ_@32o6=mFX{(01)RXuEbCdZ6|r^g!(d^jX?T=(Dt6 zp$BQdLl4sagdVK@4Lw*BQNw8mG-@c&0zE|Q0zE_vgdVB|K@ZhJpoeK)p@(VRp@(bX z(8IMJ&?B^-&?B^7&?B|p&?B|J(4(~e(4#av^l0rY=+W9>=vZx7)CnzC8xeI9I4bH_ zEk&z9Xo^;e&{Sy+Pr2mi~M;45l zJ8IFW3rBSw(`U@^F;m9$A3I`fV0>i!p!ipkjwF4aWJ&Ix)+cRfT6Wq$Uz-c$VsF4O&d={Oq4p(VU6O?LND|f|Nmzd*Vcn60U#rrw=19j{BOPmubkPXI-w?oBA{}dp46Ge8 zv1Z7`FH@PQznNGkWMX}giFH9H)&rSX2V`RYpNV;YCg%H@nCE9=exHeXeJ1AfnV83C zV*Z|qnxBdJdM4)SnV6qvVqTt!`FJMg;hC6!XJOu*h52?C=Gj@8UuR)norU>y7Ut1e zm_KJ@-kgK^at`LnIhY^kU|yVq`EU;XnuPgp4(7c%nD6Fbo|}XDZH~AfzhCZyJpg+U z_7Lo0*dwq>wE_GENnmQ0PH!~^RO3SFT!4e9fZ9Mdj<9? z>^0cyutTsnU~j_Sf*ppv4SNUnF6;>GJ=puO4`3g{K7xG=`vles`xN#WtPOS)_Brgo zurFX=!oGqXgMAJA2KFuNJJ|QI3oq+ueI|=&*hM5lLHd8RCnS!~@6wG0! zVD2&nbCxNXt4u+qn}WH?6wFDcU@kHRbC4;RdrZNcV+!UPQ!vMvg1N;M%qgazC!2yf z#1zaOreMyHkGVoVzA&1Pc|tzs2l<#6rYxSo&k zJRjqDKF05SjNADbuk$fZ=VN@%$GDu2@i-sja6ZQ00*t!_7;g(O&K6*NEx@>1fbp~d z<7j~xgXgZt!eU`@uy|MkED@FjONOPuQekPZvti?4<6#qE>9C2g3|J;C3+8}j!*XD` zut~7VusqllSU#)(HWgL~D}qgfO^3~Z732Bu64*@GEZA(=9N1jgIod2S4>ljR0Cui6 z7cbb&!%K7v@S@y8u@F`ctI*2v;#xW0+o`}iI~90ervmTlRNy_G3XC-gTD6vp-!hXm zHw@zqcfWz+SRe^}ZLK@?DM88|1UL4t;f{(V{}AOLqWnYPk5_@=)?3z^Aon*a+CTz>Ojgwh}hcwh{Zt^R-3b23Qkp7wmf2U9iVtFTvi0eGdBx zrUh*j-C+G-b6}OQO|WZVkHKDqy#xCT796}$M8k%{l3)(lbeI!X16u>z68xLiC*(J6 z6l_AsKUxXc6=F3tLhlMeUcmQ;Y!lCb-vqaX>=VmEw~5BkjbcaWZ`$>t2nRnC`n2{Y ztPOSoX6?F7^n?wCrFPvX)^#0gda7HJsb}|z;D5ArVH?Fou&ZIWg)P<|58EbQfqp;i zY3*y+pRmyIr?vjDv9OHrjiL}XAGQSUHR0RvHT-Hm?q=wRU@yRqAiPJ!MllkW2`hrt z!M4DzfZYt+7qLzJ5aBeX^>CV|!>V8x^w=mahFu5S3wspyLJy?Z!)5vl+%`zCUQDYWNW)0m#y#6;LMSQ*UQ^J%RKc4^Oz zqDvI=88siX^o=4GmJTa`oda78TMpX*+YM`m-3@yJb`bUj>}ObHuZ?05EDKf!^S~~L z-2}TI)&hGC_95&T>{nQqXq*>zG3+|n-smaas2v=HZiD?0J-M6K8}$n|5|##=1e*yf zhb@Dh58DpA26j8_Vc2u9w_u;bzK8t<3+{vZ2OA2T(5FIc05`#Q!LEnh1$!L!QlEl| zr@9qH^fwhmJOsO}UqQsxux8jTusdP*!p=h21K>wsPr#Oi7DTjwpNAcUy#{*|cBJ1# zbL@a3^Xvf=%`3q7!cM@3*(aI{U<+YO?OV(@z@CA<3VRRsIqV16UohLiiRSo$Mdo5y z)4(m}{jfIJ_b~feTg;=*Dl$)ly#@Oa_9gs!4Z`1IfyKhc51MG63@d|O2zvPPyLQOa=BMFz6n1>bMDxg@ z6U`|@A2!b)T4de^eh&5q^hsFqu!-jLU>6R%)qLx)hs`g6-yXKbY#F}AoB=C<&4E?G zYKIq@uZFz^`vev+;$gF61j+|?9&F=?BJ*DGe_`K`*kbNGa*KHw>|EFq*mBr<*bdm$ zFfnS2xna~q^X;(bVSm7#GP=mz47(GSG6we!=7e1ay8(6x_TiX`=H#&x&68kDV9R0W z!>)%t274D489ULu3w9&yZkQ!*qB$zA$ow-bF22Z|9sifP3HC9pTf$%Fl!S@qOJI+~ z{(+53oM=vh&4n#YM4n)GCfY2~Nj6JNQjxg@_G8i@OI$MQX!1n!OUZ*QT1t_5ENol~ zt_SumtPN&O-C`b{I@&T5yc~94>I6$d+EhzrT9J7R>@wK1u-DSIn1`Q@dIwtqTYfg` z5o{amQrLB{TVVIV9)UdrI|zFV_95(Z*mtmBU}D@vvkevw>jN7M8x2c_O@vK`O^2NW zD~DCX8er>Sn_)Z0Z4@`aK88LD`xbT*7BGIIxd*HtYzS-xtP!>ab_Z-9>nHX?nZIRQ2imJgc^TL*hMo#q~5 z{A_Pky(`CEUsb6(z2f^;y-P@}<6W#2ZID7UO!`2XG-4 z*Oz(g+Z97@mAk5LF$eP5C=Ka{+}2l>RnID`Zjgn`C6$11j*X%ySyk%`p@9FPASfD_ z!?e5(DJTAK2~afOwdgk_uclVscfN=u{Un9BTi&X2Dh~gelSmQdRpz;?>Wk~WuCf}V zxDt|8PW*3XnRk^DArTRrPLySRRe7e@TegZ4p~5JxTJ4&UrXPMvl_;xoB`0z!&dILo zT3J04QgF6B)Eck5teOhYI4iPMeWjIIk0cj1)T_I;(1^mZ<9)GF)%|NpI>nU16f?~i zkt@`x$;ucq)p#Qh9a41`dNM1Pm$}PbRFp1x5{^v=CM2_@5|KrKJSaa7PD`M4{oA!s zaMV9gY#Bx7BGJf2ZbNl-hn&b$a}*gn=}fUZ%{L#x2Pd)gzcM5LaWager6e1tFpAIr zh9mzn3PnyxO))N3ukoi`t&Bs_rSjeOj6l9)s)qjFE%orNTIpa4Rt;*Be5A}D`r>K zFQ!X%EOwPIZP(Hh^i!&m>ZGstMd^4moW-u%a&+9dMcf%uOxf2J)h~8=x!27@cT-mH z@%plAq}TEKeTN&7jku=_Cv-x;P^16q*ktH-Cn8_md>x*ec4KNHg~%LJ>&HmiuJhFo zD=e#VRh-(h8^>~|j6sspaQUt@AsI2qPnE6Fjyj%);uX8<8)`d?JZGif*q(}*PQH}R z8mDviVoYC(Ys<=ATs&!UVv(!fIj5%DIn(W0S?emVcU9yR<;IB;q{Gb}U7yONEOXWM z>A~pNApfoFQ?aSffjn)0q$i3_K~J=^tKbe*#;LEVEngg)o`icS#@8)WqC#<*KE`BW zxRb3oPY)}nX$cjlesI}xR|Q=MYX4MBdX%@Px)V<~!fA|EacaG;<#O1N`B+ZV6ctv! zxWT=Y#$v;*1m-$4rO9^H)-P6G6@I!(k6-4dOgbnTL*{FwvAc%j2moDXUwW z+u$yrz1ZcJt<&N0`sROeaiuthT2qy~!F9?3Wz}`A_VE)aK02#q4K7RpW;D3Dw~9;R zWN^+|o~nv7oX?2&FZoJCdU-i+nh2IHtaibLJXTgMYVf)$=+Mj+WmWYm1Qn`$DPnLR zNrBLr<@Hq_HwjvIkmpoa{bEl=Rzp=a`V|D^p#!Te^Gcnwtf8zL3l%>ixp1`=#pq+$V|;pw)49T1R*PiZ%c=9^lo(L|5l=W z8X1if_2^aOgkGPhrqno{s1mqot5g!aSVIW4BV*i%i;dSiN}hnV@AWB=`fNJnU;5^_ zIK<`t&zOhQ8D~jE;OS@QNpz@_XFTd8oeZw=h{I7Fv_dpej!V$}&pdh~R`JrRT4a!V z8%m$6fRRq3kxu*c$(u^Rh-k#?IA5hfY9E3l17t{a-2S$ArOv4ja)2Neb z$U=a-T(SRvf#a8!65ZCB`;$1y~5xhsru3{D!X zh%i{i3mPv<<5mCNP>b#!RX)3ldp}Gf;qvcerAzg(@%pR`9p-YEx86yU4eFS)$||Oo z)z)H)g0#^0#&ZuG-@fOSN%{4)@Nm`BUC47+dg4X3p=xow?0Vy=6E{xlHyPxX#6w$~`TQnkFQ7OJHn#V&|uVS=cYe(K7lL$#s=Zbd4bbB^?7|B2zLj@E0`QI=t$ zjJcCh_HnU^|1w-r1Wu>j2z<(hh91jkG@VRD;trSO< zZz0dE95_VYFN|QytIkEy&fdjk~8&sh{Jmy z@zn3Z(bq-BOssG{6=*)nNu3!YQfHRv-1D<{>#wPs3=eo%B)hh{Q!_94nKO z9iAN8^>n14|4%V-2?+Cb9__0|W?hFSo=CA}Pe)f}WXou06y9kKZoi3WB-3fXmxx64 z%0SC+YL>$vf~rtb7JGO zva%g%@v(8qr^)9jOCQ9W>RIk8@fhutMs4&FaVZGOuIHUHmlr+s%2l%5PxG5s0>#(! zZCp)4Dtvtfdd6y!hNxxO-J?i;yI1h_+j4@d!w;D7q57WWU!SEz)n`O#SCfs*#lon+o9%DevL&Ug`epHC|vd-{##C`Gy%k#T;{H*_C3ns^3v9?afcEU{^djz z&L=wagw%-Eamhsi9e$5X)RXMIQ5(Uu7EzCmP??dxbCRpW#$G}ay!Aay-|cQc_9Rjy zD$b70!YGHhWEI1g1kcUng4yrU0gA`v(XLB~OM!Q1Bg3>j;}i)LhYvOSP`_5`I|W5k z!@2*%Gn6r&7o#h{K8LyzDwu>cJ>mA1+3+^b=i5Z2Fxns~^kloL@k9<98hq525|r9* z@HV(;%fUAnZ})pbihuKy4%PfPg;R_BlvbE}O67=!7Z*~;iWEm7++;dzH_$dXo~Pj| zLUB6Owm3aO|IU?fN@rbj``AXooi=`a>KQh^5!j&-w|_#3!ueV|8JOY{5O`|8LB4#* zzcj~xIkS;W=N)rgB95mKY9{KOZzM=0Z$5j+rU`$&4R&l|9jB8?XDYFjxa2bhBajQU z2+z}W7^4uVl$Idv(n;IlN{Me z$+3>?gtWA@+{~n`gzVVtti)VI{9kfJ(YSJ<#`yon5SNI6oU(dfBk^@(i4-Q=Kh?jP z-YUN?mHWmdL^$(wE|H>~sjL%{5rJAmal=APw|s+VTnYl{ymA(n=dNw={e+T0fm~>v zt#3Q7*Ah|@`+sQIX?iqc_~GX-i?KqXOOVgEQKa-Vk(QEz6-Z8EPFzlQQetjWYHDms za;76QA=%-GOUX%g#K)y2IkFHL4+1n)yV8+gZ`E@Ad_|A;@pGHJ50~w#FRQAqOBd4| z*_kEyhULN~nY53dDKgU%5_02G5)xD6b90koQ<4(164MgnGjs94oFfTO%jL%5?@T0R z(IHuMNS4USawI3EX2m9_WF>oddt@89BM!PvGeh{nrb>pApEnVD;q5D)ljFT4ShbaXs*6R+QDE;~Jxyk}v}N zmXg!*I9a(3>Z+JIBTwLA1gF2-S;2dxGLZJ3j3p$+cIz8BQ(sXoH|v^!o!=Ds|u%<6y@g>ik!lkQ*&lymgE%`io&82DP+lw$tx1YGZ3RB zuOu(0SQbsOP)8Qa&9sh#0jjB5%Lo(=b(Z>*ShDuYbqF z;b!C)I~_$c3rl?0=B%hF5k<3dX5uJ z)pYvH9k(R;6Kjb_jxl@~=Fe21l~k2k<<%KdHYLNES6Ae&US&A-lFxIahE-M2CIu&e zyUOfzS5V5%D)pQ)1|M_;@>jlvqHZC&_;Q|qU@P0@MgO4JH;1RXT0VSIH)fIxi}@-q``SUL>FL!&29irE|BV@WoxX{OjKL>5 z-KLT_{d!xbW(?fo^wSbG0rh3bf94@?BsXc}7f#<#D>BsgBZ)lesndKJk46r87A`HH zQ!gFA-By{B{}vBD*2QbmGe3GJ=yA3)JX*%#w9KSB*U3_o!%sN{FZzt-DC!yiK7RTI z>zOkv3&Gh?r;6j0r%B}1`;`@1gfUU}^XC4xLx8Hf+;(MDIc0@^``0~0`~3|;bx}p4 zhU=F=XN{wiUFc4y7<8B0J;f`pt^E%LqJ6{kyFzqOojyh_Q;~h6Uv#4^{6kJRWv89u zGrpD4X@BCMvh1zoxa05N=@a9pshKkORBKPImATa*G5fSzsp~Za)m|U|jhBc-r+eD!B7AEsd1~2N)$l_*em-cDRJS|* z`BI+yUxJPGMdwLyJH~8DPR4!DD9E%=8^B$)|8EyE{^_>{_y)=A@--Cd0O)3_T>`jR4C!S3Eo+I<1v_mz)dJ@DI|l9}|)ZTw<&>e*o5S3Q(R& zU+1G(jd^9KowEOSluWFh4_CeRV}AQf(HoSXFXyJc|Ea%gw!1px7EmYPe=+R>I4^p- z?LvI*)VCMHh2^WfegU#-E&|Iq^Ifh6nX1n=B*@M)Ha|f>H0} zG+BQbPDb_HR%&1OI|g)Y0si5>PPJn!{q+=q&G|FGz=E?IPXzh((m0L&gpr@GQNI4c zRLx_{ZUH*7!k|nycRrOsbN0@YL&^$gIYrtfIEqTQ2HgGwW%c z(XcSDLUdSN$|Py;ag6>T{u!dss>z5(bAQ9pAz4{r^c|NX<01c!jn6McUy;eRaL!6O z6ESv(DnwqLaW=WOGn{m3{0;%HOz?~_er2nlTIMcWgf|`*d(pe$!pEmqJF%SO_hAfA zXI;6c)`d{cuzu1r7Lz_?|4T6$(WsaV$G;Sl5wF7pv&e0P&@(cI!&%3B$jC1#kY0%N z7!~z+6oS_ls65o2h6mok^11LHjuC=bc$^W(CcR^K6RejFNay*>v^7-<1KK3=UOS0?Gxh$`uz}&K>F5GYYMhb_#Dr3_w z+f`YHp8$+bh3lyDJI1PvbxD- z)s?fmbof#g8T#OF{%L)1QVFG#|rLvBJ5q zs=h9_3OflEzD)*RIPm187T*8Y(xR=F|Lv%bMJ10U-#k zTs=>U*mOAGH9134KA5yQ)tgH6$mtBc8dZh2l#Ht6D090#=xggd)yvh7=x7;vi`;k* zt3oVn;8L%fSw{|f-Her!?+;7rrCnY}wTEIjz1ZYY9WFQb3Q^>i*-^Vd*n3A2p@H!N zUUo#vhYG*FM@>DwfModbt4_GlWtFZXdgvcjol=v<=5v>~3!&?$3!)aWxC%ENN8n{9 z;|Bnh07auq@vS5fskouGmbcZ6(xNDG08zu%DX~zJE-zli|r1WjuS#z?+g4cvP~MT}vq?ih~sqvW1GkL_XXYZW;{~syj7$Zu0K5_Q;=Na`B^HZnXysI`<-qN^>K;MTQ#G zF~nKfA?g`Y)weQEdvbkpLVdJ#tHrgaTVb~#9-w>vBjZ(vVXWk;*EnI;Hzx@;5h{@aaB0uRGP7YQ(A0+IjM1x7;P< zY+paAQPcSsA>(ar!O!>loW}L>&l9*f-is}!7X^?_KZlAaLugDt+Ds9?#N- z+5%5`S+&no#YF)buS6Ake8K(|4%cD?AQLo1dB?~^4S%%lI-i3QSB=Bxi9FFf$LGPd zkJ@#nyW$*=o5;5ZF00R}-juW)7yaV$5Y2<7pQp2`qYp1M{9;u4Y2LV#gPeZ<>-hfj zCYfJE&UGi-@(Sl&N04g* zzjWj;K7Jn9QS_{!UxEDmxZLo{0DY7N-^r-brQFEuxXJ8$W=YI;l`X|%-SUCHc3pT! zU;Y)StXfuaUtpEHqmR6Tj=q#byu?do(3;M^#OrqYz|CSxzO~! z&G4+(LnpcFQ9T!POw3}Xz>9wvb?Dm!SO!ul^oFen@g|faIyA-O9b9A{4sSe<& z5qsladh79V5_aU((V>`Mvy1jjSvc`lgB1A5LA_JT3ndxNRj<~N?4-^luaYKp7*^f& z?APg!N0f2?TmeUs3k1FeGu>6Ra$ucRwFqN;Rhe7&l)H1ntw%tas^5cUdoIF949cq; za5&9T)K5{o4A3$V1MI4uA@NlB*tlR#^?{5>K`Vb4Xc#)eX(8^YgbQFb_|f+v@e*epq!%73r)} zdm;PnJ$S;PE{J1LlJWy0>~x~u;$tGL-FmHMm+UZE%07`L9gb-$-BWf`#{AvR3jaVS zst96Mr~=Xtk~fF$;v_ulL#+qr~X9PV(y^Jfn1l5a*oRxTVsd`nBTV|1-;p6Eg3%Q5JlJc*< zuOZim^g6rl(V-D=p&1Wa7P<9k9j1Z405mE-NnR%X^35%CDrOOs7fhzwxp{Ea17(A5 z_pQr3cQqX*LvTy5o?4m(m*9f6%#shIN{jh)!nbvmn!G3}a^DjI9BaOA>BsmY}dv|1^Fsx+c_?#)Bij3*pxS#lxvMdbkR1b7mAEOKgxpMH ziSqQV{Md(bM8!?3C&Png?}h{C(}!onpKg{O$5~xg$4dhJ47A=bLfv|_It)`Z2a>VW zgoYh;PU_E8NF8m9v>Q)V9KFG_lXC5sFXM)&xW)8SgwnJtZXCmta(3m_83*}1krO$s zkd*`<;8KZHsQ2EbQmYhMKF)tz7l!jf!zw*ja_yF?P>c zSGel1^~dW*c4s%p4^YTJe@B&jx$%1_{lHX9KN`sNn!ItT5oXGe3$E__%6>j2(8->h)(0zRA<@GP=-9>4*dg?+Gbo;%OM!FdlJtOv*e znK{q-e!utX-}iMl$z;Ydzpv`mt5;R8UcGwts=jJFiX{s7rtaEF45LC8UlMUM0IdcA zh?+wu(qS(EClu;XL5e_GZ`t#gSZ#{(AQ$*bTnCE;b=s6*opq#bJOLhI5vg~*8C{La zAfb-(E{s`uC?q0f|6{{$iy_ICOmXIoN>Z>c>S+w zK%ShLab^NjhJ;3IFdyMHClrXf4mam2yqqlU(eM&&kDZ42XpK7wAwH9cjn+cSXboEl zAqqEFh>#KDIiRu21I_ZOicGCo$0v4q6$rBoeg?so?ugC{2me=;j$ry?f);q-&n4w& z@*-qC%#h}JGn^&|gj$q^Iwg8AMUBc1{J2+IsEr|`Qc*pBD-$qpMZBW-Hrp}aRcM^V z?E*>!TB=lG0VLwsEegfqxVr33jxCCDs|hfCqL|yh*EE@KMB+HlC=51~&!|UVyq414 zKux_M2V69K;@d~2lmX3IuWC@3p$N#9;%AI<4qN?`^NQ}q-Q#dtaobfc1u?k7#j{J; zr)HKI4k3YSyQT@;WOsH(Kp(EvV4BTd!|JjGHCu{O%E3$#1qN-lsD4;%u?D=cIZOpG z0Ay1%fTbl6#{lu6$LUz}F%0P?d@Di{x{x^w_t;VbW2ACn>Cz>7YChvM!`={{=&hg9t4VYaSco51GtNd%yHcp0+Zd=5ieQ=6sKCwMR+ft_?5crw=7 z1HU||<=WOSSVwCK{Ax1l23w>(uq}!CDwLqyt6)pDT&_fLsIh=Va>PAxl2gSm`}l+ zk}^YLYC1?^(A?Afs_Hc#tK|8iAUOR|QVJ+NmV)6NP#B7uHyW;iz8bX}x2vEeNR}g- z?&myiWc$xH>`Bc8sDT{~sg3+dpkRi+jD-sBe;b|C!qNBXTAZ7=^_C7M12j&)P2jfc z0J#`~VQa+Aftm>>;%WPF8QmU9N)Q?OCIhxD=Esl*Re^mXO;bZ&xULAzK3y@7l$Mj( zoxI5x-!>yBdKsCO6tXTXT#2J)*ev2|(|l7`_@Sn^_9yWrkhBr&eOkRRolG?Zo!d&< z1~(LwQ9BNX+T=V3H$01%^(B)tY-^pRjSdbvjdupw2oG&E}hr8qCOtp;TlQA~rr;JIJs?;*R3{jCoD_Ra#{Rw~{AO5#fFy#s= zYp8+J?6jUmlc-q9QCx-@-3k#5JBgPnixB`E#Q4Fk3+|r0RG+~vkJZKzj;$wIM^W`B zrkb7GsbR4b5T;6vCwo#DbMELDmNM|dvXF`kaNmA;?4l`QsGwSQnF!7>g55G3!Z@&@ z@l){BrA-X>Gd{tHzvNDSca=V1EE!TLsmZz-&B%Y)oMMbnpQ+-G|BJ#^a97Ff-) z3I|i9`$CkQC!!sHs6a>qf6B;Ft!Y=Dn!kusihQ1)pPc7=)7s;l+*T+oT+tXxd1f^M z2h>32!cyEM_|YKpY!oh$zohe0dc`KIWQ#zzJQp`u2oc{k`5Zpqg@z%h<^s|I_l{I8 z)ggu~KJ95SA;2yP(?KQy%LXok4$1Zg3NpME#79WNN4T``5v*|a=%j}vKevP8z!zXX z(Ov550hY4sKdP-!r~=&_a#e>IJTo_cHNc_SmlhhZtPD^QjLuC$k~{`3egMaP^fZ=* zt_Upoe0Zwjpdw}V`#^7oNK?q0IF+UO1WuTf^Ze>~qKcz_KxO;9vXos^Ldn8LsO+N1 z3fUtDC#wfdUG+zQJWNVa|G$Sx87UaftIH;VM`A`y52Y&4+tHavXA_J+D&&VMxF=lT z(mqTZ_{|4D|RP!C}e%)MfrR@D5!j&&jm&btMkMF51Hurc9m9EJwdwU-6T6lue$ z;j05*7EIa-+$-U(QArQ=2$wAQRq)xK?b1!+UP$EBRX-<@K#g@7v-h*xMv4g~)|(-7 zEtFi-Q_~h8Th;D^elr4p3^%Ggz&SfTV0i8tiuF-JIFQ(cuk7n?{&58PZ843tOdAq{KqM^TeNx>D&;1 zGAleob#V=k#eqP^QJR95lpGLoW0uO?UtBEXH3^w2ClD+PpclDiih1gsc;a>ZV;M?Q zyCH2_RikXOT69$)598v4`Kzuf)Wi?XUzXDVgw>{&>K7A`1Y^(61E(2VB>|0^oxfxz zaURKFm)MPqk!lG?8L@dVT{|R>0;7FAfgR`R85oqfaM){Oj#oJt<9@WtNZl|IdB8NZ zqE*^-yc&9)W}44*Iu6XXE>LcUrC%tAukFo6C^HnsL&S73!;9EbVV|3qk54rnraI5g z@Z;qK+^Zl?kn*dEiDWCi%@f5dXANAJ3)2dbUGyS<<4breJI~{#`i$J|ua>7Kh!HAM zXra1Bu#uD=6dS-Bb}DsZ$ZrRog4~#e(3E-8h@^FrHG(Y($L?|P+s-N$R?|sV_mnM6 zt!>D*{au{xRFtih9K3F9I~mx9W|^9_tr;3j4qFQ6Q0)-A0?;*qEJ$p^)T|<$egsDy zv~x8yQo^@oa~eMVyBJ&=yhxXf1~2;@@=H^4m{CLSi#r>e4ofG6z}&@h0KZOUrXXIj z(3MWAR^Un^*jCrJ4kCdiqNbE3UDRhZ3d~H^jd`cr@p~4SHlnMU5SdbkE#aF=qMZyk zM`CX{#3nuClDygJ0j|jqQwL*y2p`TkalhC>dCEz410A5s+s-cN+$`Xd1q%S>y?D78a z1QaD=6~oVkPFYQ;CR`&prLnwx+C7>kgi<+lSZy0US%7OnLv33Z(lQIzd*ns~Eqo-` z1lqa;I4&I1S|e#SJfarvqx>$<(cp1u!_bM#><@=Iv855ApbJoWvM#et73@r{sx$2ppCh=LA$0mxJ+Ay=H$J198;R)sF; zE=i6E4D%4)Cco6-=LjfBpAj1obr+E;VJRg`aVb)Fv+Up!h~UJ4imrVmQ8Yk6gW&Oi zivUt>qOuZrRX*_uc~rI~zI+)!SO_MkvN|1yiAdArvlQ72#5Xo_S3S=O6RJCe9!f$D zK#EZVFcdjW1%fT6S$vX{B8PohxR$ANlZ8)Bry-N`3tBIzWaQ8==I3Z{uI4|!O1GC1 z#(5SaidTt>K+Dy_bcm?0OM0GHF2#lpr<}^7h{@uiGSb+n(HhTSn5#UG1FsRo3U=0l zfWjCwXOMu^ZjJIU>X&aA2mGXkK_`Zi=B_Z3h`YVWe#fE}fmd6QeBwE7DkrOLH{%b5 zS{zEWWwCr{8F^^K*qPj|fcfP$`yM1IV46#SQabE}o!~DY3X|M?_nS{|}5Iu`8o+OM@R8=S(9y7zXG%sPWpK9?8 z*W^5XQ#`oVkuZ@sXm_q zv46+HH0pA5Vrc@7CR~T<1jI@MmTKw^H~g-^o}h(y^cqFj$Nfs)L!d|Coq)0Ivbd?- zsn^r9^B2%l`jMvtqA`ai@aa)VV0BV`?Di3Z5a7EB*+Mlq^{N4kMR+!Go=T(AO|dUZ zdlaMH?Y?@+bcfBDhJ8n#=du1Pk78NV1jFhz_&@E%t@;C1;UZV{Bt~)EeGtV|VEutn ziSjN@k!HDUhkIdQYyisdVH27HH$Zq*4|irrG(mw04Zwvo76G!X^OwqoA;$U5*QhFs zNp+ukpmacRC`Z49rz*>`6hi{0z+wqUu!K5$AHS0tA`lR_0`~A|YUam-oD^g^!a!3b zDj&D4vL$A;zG+D?E|pboiP%u`R@hPL4X7N`o0ViO{bW;R1^FxIV%d#3S%F5VOvaw? z%*jsEFRs#EX}=WaXT(W_xKI7?cYF2ri)vrSrpT$jTT%;)AR2k&gxUXhPmDxt>G*l^ ze5bKz;a8GhBMu0zFs?NM6eL5$=Jr!zNJ&zs|IvLXViy`VD`$DJ?3*Vi&gLiaumfF* zsJiCzGy4{0`R)4gQZ>S{AEBl*Jq8=h8@T~B!#l09=tu!L_0k`SdD7s#^7ofOr~(<5 zd*STUUgFQ;eQthp9J12lF__X)HsuOEzBW9YAR1jMaLBqaC+Br#hBuGz;-$_R z&ZgK8k#(Ac-LKJz?F0uV%2u4R3)qiHShA#G-RQ&5=uJ^RUXcSsK8isq!(ROBls9-7 zFq8On+|dP3oAso5XiZj|X((nb^kvCg54hq@2oBd`nK#YBOxct4P zT8PR%G3z+L6o9j?=`^Y778gF)@1Z;w6Vo`ZbEr4mjU}i!5I{@`J6*1$Pe54z;sewO zK!M;`kZ-UW3v-9grNCf}@MbA{7L&I<`?H!7vEReUeH6o3p?JGlkA03UV8G~2V57KW zu70^hfV$r7?J6FMU2`!oJOEa0Lb2Ec`c?UXtXWvBTsb!Z7nlAP0;U2nDRu8gz;qEx zU=GJafrc@>DErr9z17EG)E33lfm;;mtL|)SZF#G4+yxpYQ^NN+WXD zX;s5|Y}ZEO>lGxMZktIE{j0y$0}jI5NTN88PM1{^I9V~#h?s;r{#duQkc?nT8(AcQ z4AT%44x8d9HA$8^Aqmn$G4W3*iYrP!8InA1fJYGjJ6~QxQMu3~+GrmaK}=NJ&LO@c zoW=!#U)M>%Vn9xTUrFXq-{8d8 zi8d`90Sq2;bwfw-I;7tbUR0W+I)Py!#=CzPvF8ippLUd94r5Qzn1!lbm#8+J1KKas zT~v3sU96h;K*B*!e7in1bz!NB9U!Pdc*A*e;=Unx=Xm}A&fP>5$JLJ9=hLit6UMuvl1(k{xa4;JO(4@rewtilt;?4oj6S&cIzau<_}>gU+udjzxT zD%sAYmei)G6#pbTA<%0wxkNwu4MDf`&d!%4H9+|NO_GRk#p3JOaYsrV5Cce6ljT7w zed?k;#NzRBK-`9BDzosn+Q`IA^BXsvv#5h9{T*IGQ$Uk1h0r*RoY@%HFNT#?{IkKTf&CPv zdPQj4vT)uHOB5TC1q22IehMI}N+2Jn%t*g;kRbgc7t2@&iq1ttRm!9s(YFrXVhMnq zRE#*-{w2FugU<3&FF#xdn(PiV-g$kf^x-ORObF-i0}5<)3<;QO#Aki0mzHqWg!)%* zt_JipHj}TGs9>mVo~X>uQe#(S8^{*InMrjJzHAI(svry2b~~J_7i|ax<2foo-5g~h z+C3pTW}vT`C_(e^vJ=f(tBqc^<8d52wue^(Ssmo%Bz%gKR>0wh6k5{MVhCP!AYEwc zhe%OhS$C%?*%a0wzLE^A=XrDR69xuu0K=|p0AXPiBG^BqrvfIt4d^^NTst?xhV!;r zv#Boi8en_ql&;1s3H9O$5!Z{Sx>g&rCKlt3$#W1!S-W|v;FUHgK76RA1y0m>G@LW^ z;RPH+mLCz24gArIbO`!H2sB9gDCayMnZp-bmWe8|)>!n=MVBlJ>?B4fuDmQ`@9hWd zJE*)%VL-yib!u*Y33qkyvr&v1zq+71Fa9W4;$yh`(|=CIOUe?h5R!%j#-^tqYhuaww1~ z9y*keJ%uP?e`~2Y5j2@Aa$l0>onBfzSCgPEk?9hLZ>Yoq*%qF$lmH!065;3Q5`c3m z7NaZNPv>L{eWGV0a7WKv5FK2>Z(JxN*GZ3$)^sr;pX-*-)qG~> zda+l^BSlW^;LQOUAzIgI1kum5FrM^Q-I^2e=)(`g3+=Tq7$4aFt?|lj7o4hD7~6WT zgpWmR9L7+HM2w&jDRaE#o32f2=65SKITA*HD_wyQm@4dsvJ80Ci%}aUwN|C?$Hb9gC>PiL`u#gy9Neh(^SwR=vr?M(fL zCLTLP70yknn$c@S(7C*E8tk5vmwX_^Xk`xlhXCsk-_}jo)Fu9iD^xOP7>5LxoHwm% zJn7_9IbXI;ox0pIqa1e^b1q4cb@G;*FNU{pLk^%>0|+{VrwKivhFhz!-=SAtvgTZf z$|()q^au%3c7*7B&=d7*v&g584jaK~G~H=YpJL75Q7e)Gvyk71Y1sbuz&ZVV6RgB% zx3icaV?fRDgbPJqZp%VpXqK1-!#F@;FI=hx$8G|eGJnM7h0)(|Q;-)Ss5|*VaB5cZ z6T3-|djVT#lLFWw+rn-vq;=M&7aU=9(xvL@)KY616SSqDICU2y8MT>DbwB)4?qjPe9g;~%SKBu}^=jNnF z#p2K)i*kMe|53Uc{=BHjZD=a;1>T7vnn{c)j3OCfHeyFW;!Nft+(U;kg~08S*1GX=w2O>zT7Hm{l|4*rP`C8@&RaDlt)dj~}7Q^e-Q!p=$D3 z8s64Ksn+l#a6?m5ysv@Fb}zE$;NpkYvK?P#2+5NYAZ0rp%G4{miT(#DU>?9&r%TOQ4%kUT(Ogp|AhyS_j|29AgNL{TuhGFakDtBx0d{j~F3;ACxaauOU|KCZ zKv}W^_-iKm*+e1b zpD9w(TUW#H0b-=VKGjt9RB4#~WM_K?K!GL!ZhqI~Ih>$>1YSCgiM(hK{$vfP@M;*l zTGfl!Frqaoo1HZS_TbJ`ik+Fa@6-5s6alb4oKWxui^N%-IF4_BLn4tu-067O|MHs; zk`W_8elNi)N~H$>n+D|Tb)Hz!s2Hm-OQ1jN_BteMq^P?b9i{&An)|^B_2eRoyFqH` z0~Aw(dqeoI7PkxmnFCmcg|Rtlm`=VC(saPrSw_4yDh^zji=b#=ifiXua%2f7kiMM$9>$1l>2E>`b@-T#!p zn$QPz1UWI=AZIwve|pD-V)3hZ`WoatRc4HtaW))dn4JVOSeBmx5$}tveunGxzvF8N zLFah0SCHTw10C*2K*vf>8`YkZO%XdnhHLVJc}=%dG-c|F{i!AUJq0iOr%|&wc5$4? z6U%z2ElD(j*{<>B*`(!ioqiC5Sw^a_G9*H1gHWMhgPFlsANmD5hSM_u@GFytY*@ZC zagk;{C8`pBQ20^w+PkLxNp?44susd9PvnO#N`qwGW68&)EGVX9L6XCj=+H!;EA5Dw zAE=2GEL{W3m)ZiltI*f42r*s44uEyQ&FB3=#*! zHGB&z7ZRG9zHFJ1z2&{m@ZZ8{13#_O9)qdF7@4kD_3%fkZRm8RjvvUd5tymieCI;K z0$?oIkWO9rR>d85mT$w7@|;S88K&o=6;<{p#0YbxiJ@R4temxZvOaKtQN*yZxZMF#SoU*HQGLH7=2uaN#j`QciANXJv=)oGj6uNyoR7_ix! zV0b9L1m`SaWUg@P5vwokk?`j9acriDp)Ee6=vzpvVrt?d9&}`6NHj z?q!^#%AO#QjiLqwR1`dd^Oe8MJUZ8quG4|kD*Ud3$AZ|%<@7jpPhJj481o&;*bA0K{sSH@YZw4|p#$|TDVT_Hr!AR@kGn&50wlZjFG z7^>6p1i6iE*^}zuZ${8<$a1FL1nt)=m)zcjXk2!Tdg9ynPPrd1;QjwrU1Av=DNhsM z!sAB+=6v1_j_nPIz00Rs!NquZ+=r)e-Huox4x(k)vFL!YB5^P$NzsP<*u%JhMb(SL zN+=`;l(CXRlp>r2BoJMMU$;I(N0>W_WRuBksMZ3bLC_e)>-(pRUN2 z=Zfon;u@vzDA1+*Rbv>Vq{2<2CrYyxDBl1iLBR9H)&eGqqex)!43n9d$75lnCRV4JgwM?BCLqZ^n;t@!-`V!;BsyQ-A{J+<5{Ug=bwuCAY<`QL1hY#pU|N7P4{wG<4)9xM+m? zEc6__s;t@t{m4rrb`L`%oEbC}9Rs%jY-~{CLQF$$bew~8gv1$lVRZ($9H8yAjj*aJ z`0#@xSISA`MO$?Cxa8#oa|97H$r*x7Q+?4z7w4@(m2czta&x;%{Cej z9*Uobk(~I+boxph5^u;r=0W6-=03 zxMuujmK04n#qmq<;k!Jz3Zn!;O5S(xRrB9&FS`rrEim-11?YOmM%(~U!mOIiR&q>% zv@M!`1KvO}*4Fq6BDq`>9j?%-SWIc`P_wk$C2HC-QK_~}zT&n`AFE8m(n9sHr2!3x zfOYFlJcQq(EWrt>J>VmBKJqXH6X>d(!*}}{3tvS;^HpIjqRlmR<#MOig6uGcag4*o zK$)24wPvbZu~T%xhUgl87~8Hk>bfF2t04!~(~4EmMe~l)?KM|K>P zSw0Qs2`+JoQe3^Tbp{2^3tnAY;JkL5E2)~u1}!f$#!x$D_g11@DbNB85uANHaJRx}Nx8cKXjPmWtPFAIjK<5aansN^@{Q|5Fyi0Wo) zkv?qSU&DXA>hK3Y&?f`NbR0B;#@zX&xomK;qj}umh>ck^r_8dMMrgrcS!w3YoH1W> zI3s}L2a(JYa=@Fj3FavBT><7SXq3$usF8Ll(7fN#97egsLUV)-P%;OPmEZTU|DfqFm;zBsemMIILAXrzNe78jYEU zjrppp#p9@FbDSf_oZK3Vd^&}CRL~0*gyGQ;p0g&51>Qd-t(^d@gcjG$IlP(Yq?r+j z`LZibF&ol-FKRmbavFTTjNG{1R7$IY?loiXNK!fj%;hA;5r^>zDB$RW?XQQBn>8Op z4Yg+;k-9x&%x}6JSbSWVzD_mo0@LkK_z#E#j>;Tts*tf99KxR#M6wCkUMc zS6H*w^iP43(i;a=w!q8#1CIV9D4(q>K^80K3Bj2G&6YX8?s7Jhi%FF84Ct`c%f@UI zw`T4&<{n3vIh{OKK?%Q-BrPSUCXiABH)9!|l)7s#v8U@uXA4limxpF`CEv>6B3o|0 z+0}25RUfFDWe!V??-8itx0aIzDDG&REjJXc4}+VwryIC+Q_~wJMd=I5H+N zQrM571xae-(1vaVx1yybM!oJwWs=r+Q4Z^_+WZ_ibs4=wSm?bGKo_7#)4k{G;9Kpq z$D|oCXVIEz;h&u;Jg<{F&GB#^rBJSd>~D@I66Uq&Nt85a`{NXpu?@xi~I4wu^ll zIaHT>+P)Ur_Yk=1Oig zw$GvNL3@W<#5Bmmi)bHZkzAl|4tiTbdhoz1zhx4k+W@wq#VHj=K5#;o0a%2advGugu z#z1WrT5ufoo)=w6s|MDG9~G{3IQ1wvoY60c>`FWR{JA+EXBgwHO;@_Mm@^fA@zd%Q z)+kkLpHItBSsq5cX*pg+PUXtOpu?Hc*>KJKG1zV+$j$NQ@L6&L4PSPUV6~%T>sWa{ zhtg-!Ta<>NleU|$xdb{+spjLzxhA?xtuj8{$mYzkAo9oB#5Hg!$r|#97xzfK2t1_k^th44kY}OJp?Aq?yo2(`K=3$Ww zwLCczQ!7iq9^;6h4x;Tw-Ol;^amZZN7|&sqH%cpUFQNUx_R(@Us?|2f&+eh^I*-wE z3mi_iFIdlE4ryW)_?9yFG|Im$wgvUP)>&JA(YKaZ71&1=(ebm9op%;_*c)Me$}uD3 z##{Np0;Znin%u289H%R6lb^p`jpLC#CM7RIFRQK!8o2emK#rrXegvki>JjMw5%i7f z<11)|t-065v^ls6;XKPW#WiBxFB%sIZ5V1?dLr<1-FU~E)A+U8 zR@BtC4RRd#!JKYQrSn2+72@?nQg*b@xpJi(uzu9S6R0JvNox`NJ|br-QAy+uXIRQ< z$1t zBP}V(%{b<$J_4RmejsuColK->!BJoYe?-icakSfUFN}m3gZiS`_zv=&tX<>k$FI`% zx%$QQIU9%dTb!bleC~vdI!PmbEd7+Zaqy7(q>8pl%e`igsi$)iQ?*2}?ISsFy6%o` zM&?yX;Hri_62=DQK*t_2<D~QtmBgFBwT*Hm)D+==Uq8Cr~O!4mBBP3iSaxo1%sP z&aWz{fv8P5U#spvB|4cFq^ufS)Qj!8jDITEPH$ok_3K-XDDr@|yslZo%n&>wacPPb zD1@{o{POFPB)?o)p++O912sc6F+RwjU`Ja2jGskY&l_Qck?+)1m*N$T_wcBk$J`A* z7)`@P)S~|#_k-o&+7S4~Hc&fh&X7Nh8n$Py`6%@|L46aN+ffW7KAz2jOr@~*Xnabn zPPak{+BVr24gNqcb;O$%2~sZ;r8l0n!fceJ*l3rWLBG<1as3^voUL-w#tR--O4!vv zW!SZID=HkH)Yi@(97Y(wc^r)cj#nKARkWIxR2Xq#&91Wr=VzvJU3U#Mb!4laZ>4Qr z%kjY==<|=I$!z2GWeg4Ysw0|ecArz{uh#ZhdY%dL)Yw;!SF|>%o3Tc=5}~DV70F54NN{!&`a+*yeBrN&fh z!#X;hn8^e59N0}GlW2EnqG^V1kxyRMI)qHmjIoNNO z6Q|wyoWM9Coclh^%heo596nk`%T=Oc&E{7Aj$70^(+%8m`!8&hVzB+TY_G*Q!`0BT z2iINH0ck$aXH1{R6lQ9!L`tZ=xj&6H)s(*tlDbK4Bz&LyagvWsXC`5SzL-ujFrJum$|GVb*K&zHaU@rk9&bo((-!&>&?DVKl{e z+)l#DYAdkCdC9|tXYkzlCJEq91jwiuUK8K8HLkD-wp_Wv#W+%Bw;io8I2ox8<@5I8ShsOZ$ zgOSAUqF4xry6y&F&!L5xoW4!R-DrQN?J+Fz%E&>AO;vdtw#(ZNqvVHBGF2dr35ub^ z=Hx4ojyuhr5JsyA+nxl@VYKG=QO-BO^?SiN({>0L%V-OhmOc8W$}``bK@IQ)05I>t zzpL`^5S~ZPA(ToJ=pIlwEdTBSRZ?J1$lU05@;-?%a2D7{(Blt)yZ0b>!y+QLgp%Oc z>RrIwo6&9GK%||AuI!_VzY0833Z@78`O7CTYP9zT?PThv`)`@AfaVeOH>7RfS8xPIm13AE z1!F%`bi7lyP}VsjDj12#-$9*aa@P>2V*Cn9Lk;(wFn2&Jj-l3*XwNuWgIewyL@2ap zP|7ED&_P<+kI*Ie&5la|B? zyuUT3x?kcEO`WXz)$HFibrWfgUBRX|5<Ex;!jBL=9tlqVOi|91&i)12AT1Dt<@n zvdDXs105&tJ6mINc_tfyT|Tr)%O^mUnn7}WsWsK@kIh7%`<~o-L?S4Um_ zw<;~_t!>vZ)mQgyw=COZN4AUadu`i1Nc5qXzO8s*+AtsNqK-+q*Y-8eACJSj8ikYx zr4t>4!|BENzz3HyeuRG2VWb@%39LI*L$qE>n=e!UP_H}#&8LQBI8Xuo zcn_DW%T3eR9}O=3qpk6|Y^MY7l#D!eyo(OLBX(#ucMZfCTnv-f%Xk6 zY;SDKnhqYvG#!`t%+cO}W4enj0x{gXX!^@>shrvkrndqqp*2oNv*~56F2XWB0xLUH zjAIXh)0rOfqlWZ*P3FsVL(B{AVPFs8?{49jP4~D%l27R#M>x#LCik0|Eq~KwI%L+| zsf%4VKbvBDJ~n%r&BLbcTbKzkhqi%I+ubJ98;&ddJy=r7dDwJuZoV7;GQ|_HqZ7EW z>uFn38cY`#!J>a*^OF1QCp}nXc5=QA$6rmyAm{fs*j^nxu4Q@xRkJfGC#K7dP}3oE zdXHMvba5DzPiKIHd$}<8M=@Y$K*D-XNx#!RHErnGHs+z8(d8L!WUip1&BkKGn7T8m zfoONQ{DZJoO`n!0gg(4bD*RaG%-FkywUC(gS%(3g%8)?bHlalrRf!HKDLi zDGWC10q9(%IvBOB8I8gC_|vK8xwfuJg38I}RAO6q%bFYuhhhdjhqh{qfgE!lpxmLK zzZCkZp-*p9&NaYux=m~Lg}kYL*`qmA(ES0wbw4#p>6%1cxtV45F_rp}dWDuZdtFwB zy)oy^PP)^sqQ^@jg=SAvjSU?~U1W7(k#(L1b??yn>X?*-FMjdn@fY1};HV&7y8-*< zH7F+H&lh|W`HntdJ^0v@R>b$YFywi>Ipi>%3yvI4nb@PBu z&g7;xOAYkRZDmP!u3%S!Y5Ohcfpf^MhqO$N`t94$hF^n@cou&L@JC&kI==R0wzei5 znu|E)=$kI*sxm#~O%Y8(&meH{AEr})@W%n-)MWVPA$`=|p}V_5v&d~#bg{9d(sddv&`Jq3_6Kf=L}Z3CdVh%Qa$?S zjBa{E7%9a#CT>yi_XqfwftQ2tZ(z=GA%Vl!f!ZMTZqySs?QtPMfvHfz*%@L|SLr!m zNshZwd(tU=!`?MJsX;hiDBXzP z#=hpdH3iR2VkJC*IqWd%jQBci>Un z!(f4rY{y_WQz#JH|8ysxE32J*`d51;IX}SgqnQDw6jz@Hm24i6VW8b=A2hp2cYu%% zLb?WxB<|v@+Q0H2@_UMX*L2+SuacM6&rh{nClYMY=@SOV)`;> zztpRPUAez)hoOM|w|V}dnkaT>NAY||TQ1j*0`mEeTo!Lug3%l+kN>5ZTeg^6s74m` zN0qwJHT^3;ZtKWpP-53$8zRitnai@txxw~Kfo+fkgis2e``fae1@NMfBN1iBZ+Bld7I+y}{urc4i`Wj&9O281#@5<%!`w`%u0Em#wqN0OYPzP=y-=519&*yV& z+{(YrcbP0+1I5*Ui&FP?K#OMh+`BWA-PyscZNMN~imU%_U#=I8V6iKI!jad%@~86G z#)_c_2D3;g@|#Q!FHAME(n7D z2YFRcXSS1SxPKIxpyH^(*P3lP`wX0tRVUpNo@FyLarT6_5VZu zAXkjDQse~Rh(gl%Vggz;(7*B*y&P1<>&4=ARAC>ft!6k&@R`lFLD;pKqU^Jn4F=or z#E3u|yJ7Vwe6Bo)F^W-v7sgnDBQ}qiDCak+5A&j&^P*@1n_YHd@O)ZLY7a^q2N2DN0_izp1X57 z(Z6$-GS>*_u45nr(C#s=x05f|^U9a&C=GfJvIb#*&VeHAP^|)eOkJv)_xcWtzC-$X zADXfs>fH2S|0+~M|LQ*Ipua&xQukB6bch0nRI?o*(nf8(6JrRaW%~!aMY(fQ$@b;( zFS{eh8Dl@tFjei$b%scB<*kB`OY-hqmriGb4|L{Xl{iaC#-3bfL8iQ&kUnaBw2Q6o zv(4y}*lru!jnUa(;c%-$l-p@W4eW)GAS`$T77slM8iO`AD6zY2>@JBNu(1OYJ7{AE zC3e`x4ohsv#)c$z+{TVe?1YV-kl2GZ_MpT@Y-~hgXKd_@#Ln8-Skr#xRV z%OOIBLEN-McA}rrsBxQhTw;?pHd%yS5amZ#NcxjD{Ye?R`K$n+vcRXnT%Sq0Mv~9l z^U2IPGUD~?1sdix3T9XcGJdgQi=7ievOmR%KHc)-m9-24*XM%!%|>sH(p>r zH0kQs`d9D9d;(ho>hPxsb%RX*>XH7{5zHHqKTdM}tK*1c1Qq&6oVqwbb>1x_TkO~Y zQI!K!Y}bDz;1@XH74U)pUJQU21@IC91<6>Dj4uiJ<$(9{4vNMr1fXD8uJRV#R|NN# zl3=N~ge$LFuDmMAuZ85-1n@cmqJFQxE`T=z#v20oNx=9C+rDzMe|0zXN&nORxvu`z zy;=NMTzMIPANHRm+pfO_RtyZ_k%fZI_V(hjV~6y{Pr*~fy1OCvz~kfs_A`X}J40)h zMp{3{4(9mh3ebUo?C-z+Cb05&p+);)ygdhVS`_hhnQgTCZ%cFEvCVx)>i!<;HrHjgQBD4dl=3M{QNX7H2-CxLnI5jo z^q|$0>EXIe4+{7UCM1?{oN>`uS{->PQH{4z@ny5Z_Vwb*OL;EofROD0yWG;Qn@cGL zgH2){P(-m-R6}5&NbFv)jlHwRDY3X_*aK^@yq@Fa*1tB?gJnX#4F)rwf+3UMT6;I~ z+JVr&EM_Msn*L?hliEy>R$k^Lv+|ccn4VVm^{;*l21zFtj;s4%?862_v-)y9d`lL_ z^D^In03&w3k#z-PdthvjU}Wwi+S(8az--%r?#(ioFRsBb5vWMT+E6!be=LMh`MV&J zE4S>584Cead*xL~(AtnJo%>f_!~cc8Og4iB5I~P&g$7~ri|p6j`unw=ptLrGD!|+v z2TycuQz+(k0Kyd11YlGRYcj^|UsqoS%cR>4ScB<`eC?FVq1Kp0X`6!Q_@8Fh?p&`h zgB_1_q97du0v)r~2W&v_UqRE@Pb;r?fnEV<{Uf&7tV0jzk`jXKy#AFppt%Ue5QH!R zPGqTv_635Nfx+Zc$bkhI;+&R20&6XdwQLteXl;m$lgT=d;YJ~l9+49M0%Mal=qLs$ zr0p044k85zdk(8@7}KaN{_lhpP+U78nbu*{U@-tXePB}_Z1TN8+h%R3fccTUF#XFE z#r|asj_d#|AcSQBrVHSk6Z4u(%xiXHUXzJ=%}&f~XLisP(7$>> zmh9}L)dNCp+$*}Zaq5z_N!2B5lal#cuD~01K_*>$^lRoz)S$l2w*k< zWC~rgQ|Q`))Szx_AXDg?okG`^CF`>x>$3t_AwYD>8Ya?q87z{p9un3C@LT{qCx9CP za6Jz~30NA~gWcCtZheQYpiM@g_;GtRgW-YEXV|_qK4ic(>K>^$q z0Cx%CKmdrAT0a;72LtYc>~gYdDG1pzn|+9iwoN zA?lZO3Q{1rD?s?2N@C}2?7YOvHddC{jE&7mY}UqRC1!Q+`hs1fIaWzx z-J*&rUSGDcWxE`6sCGHF{;W-ZR`Rac*h-(S!vtG+F3IaQc|A(@>@Kc9XOo{3yt0Sh#&i1;?_1UmL~Hd+6`7X5)#X3NwB}!AeLgx?~{)x@^iNrp&u}{0ykQnN(hjqwnJilHU?<{mEAVBTVi`{Y_G%y zY-~VcgElrOvAb;SE{Pqmu>%r2Xk!N@cG$)aOKix-&{~v!+{TVe?1YV-kl2GZ_MpT@ zY;1(F_1Ba?8)q!^3|0_uAh&noLANJf;!lPZgLya)zb^#%Z{+wdHF~j8t zUj4aF_-^}GXZly`V95+3&i*BoZp4k50{>)z#B@aZU_|w={%)p!qmKUp;L1ayAWJgP zEGTk;A)yHev$d*0b%Ex%(4p@*3j>KOMeNb!xIo&N1r6lFf}@Aa6#UO>-=Lj@7glm; z2km_pz$F}B1G)A<9+fGsUKU(7YewANt5tDrqZSB}jKYb?r6}fip9SuLUD%bfST3*- zHK6W*b+&s6z5ANfqt4~!)0BgssvL;R0Ggl&E6N@~u|-pWqtn3KS&&^yc=Wl0gk{At zyzP{dmHz-o&R4ND2|Nt2m3QU&zC3@5)m|_DI`P+yzjplXkd&Vxl*3;a{(1mmH}iP| zY~p$jyN=TBH@XHpGh`@sv<6ANyD!&S+*rr5WdjSlKZo3Mp?v)aob)2b@1olo*jNVw zwsB-zXXRa3kIYQ)%Dajv1ehBTc<5P54|l0B7J%`t5F{$u^X_ewO~l?$QQ%mS1neng zGVn<0{u{7zvMO^ps~KO6Gcp39WJXyHV#*QRT_%g=3^Q@lokY+gd1tYyEkt*ATk2>A$$W{$CJVGN zE%znh#CaIsmFpH3N_)XdHqJE~o<1yk)2w*KCEq%j1N*UWlPnVB7M0EO^#}Sw3?1ky zTU>opHnQ{DJb3}brGwy`E{r|Bw_F%-9|rvG2=2pxzZ1dV8Nfn5SvhEOLmqd5Nf&r>58ZI8m$ZyT&ZivSc^4?V0L-DNexwl!oOMVGE>L%YWfyqX1y)>O z-36X=fg3?SKtJk}=N-mPa%mtEY7F@>4zW}Iqc1^{21FY`-mOy5?VkkR3kM)d1Ib~B zWj&Pa0AGKQ84&hh=5vCK?Ti;igWz?yC7Bsi$;NveHeczvL*P8810X z9*E*!b_giyWry(cKIzftk~%}CMTgFvB`h4QrevFu+@u1x9L-xtFbRQRvdT7=8uB9x%= zj_a3qIC^nc`HGlzcN2185)J1I7z_ z!~pO(nG>Y6xuIgkj1S<_G@6yc{X z6#Yvv^O6m*u|%HFa5xM6?ZaT=%7oiPvh{@1DS+T~3N;vHGp&=?PEc{_=3SH22RT(? zf2B#1)BI~^252rdA10xWaL$e&;^^fbpsj@j5Kb|}^^%pYwMoZ*(3l+LwxMF++0e;} z0-tmlQR)r)SgPxCs87uRNvV|;;l9}14&m^YdL|G)#W0&+Vl%!p#Z zQERDU*K(6JH(x$;Y4RFVAaam*%}4QewJRVf0?6QwrZ7#bQ8w9P~mD~ z5Uz_7w(GG#aSR6Im+#5#;r?N?%bUy}#Zuj)NlUOAXOLsBC+p-k6QKIby0`Y%RP@|YkLB0ox8hX&hv1CDHT1M>9`Nc%4&4V{_yTn& zbZw$>iRQc*xf0d}g3Q0P3!`C^d@mn?QngLY@5i*st!T#l z)=DH5Em1DxiCXlJHVU)1?@;KgD{tp+PiWqtV^tF;6lh3{6mS4a^;|X?ni`RbzaiLy zvdbUo?NCCK#N;ru4URGw*Iu(DUo*RrA7bogjRj_D9C=+2VZgt3F9x|oWe?#$RdWs~ zOm`7%ILGXF6kk6LHSTa=j>Y}!blx`lIVP>yifeDs=yIenp^7Ak=1Ex6Xv$B%gdyoL z5un`iB_iXRjJmx!=G+NdeV3(0-!+wrs4trJ&Reo@_U6u7AI3~j0B?VT1DtjHRV&b} ztao&=#mP0z9H+J3bFBxL-n-4u#mY+I5LPn|*&E|P{@@7L8p=xLWZKx%G!IQEzz?Hh zKRln?g$8S{COgMU3tobtZ!0Y+V6ac%+0dfxD^c)ALFUycDz1IB@(*+SpcLT9v^)G! zen^Ooxu(h)0Et*^{}L5olbgPz=E;-*N>uY>xPy7lMUZhcAdqH+BUn<3e(uuf+Q)Ew zOYkoAjtxSbWbkSO*cvnn=d2P1eu58V=nBS1TU-;^^>#uwKb_%v%2Bn%zcsJt9I1!;Hs}}O5p9F>hhGDAoLw_%Z-RtEv<^irtW?OOF_$f>K1U= zKSgp90BZ+$3{CWS*er5u7&-Oh`iv)lJW|3s!iMl(c*#iTi)e_3QZkfa$iNq5)xR0a zpzA#lzl*C>6+%9Pm26>wHjocQ84sT0R)U^I{558VWlP@{+GM6!KOB{I_zpJ*i8yON z3(q_OhYgV&a$(eY$cd-(7q2^i@w)R1te&h5KC?jVyc@T3bk2k-iM2PwP2j0-q# z?)rj*)LmfN1)Mi`-L1RU*IknH=C0pxkmp^%tpwJcX}|u0OM1}-UUC8F;aq>kL7auV z{wjAdH|#-`jaOj%_ix}(@W!jfja&QMZp(GU6?5LkZ3q%>c^3hupcQAm->kdeCh(fJdK3_PQj?2k|zv>U-^G;9jt$5DQ_4TXy?vSBYmG` zBkwSGxImu^>=wtsd7nFE+UrmTTwu@z?s94~3bb%4>dTP-k&XnfeFCce}rlf9v;meg4zC|LoC~7kOo4`-(9)@x6Oz z77xT9n;1UA@4hqmm;2dYKk<`4e*e>dd1(D#@BHJx>HSY1|IPP4`6vJA|82W6yLR@U z{nOk3hj0F0|NQ-TKlqbB`{)1hzFl`@pYK^b@mDK<^bdaW=U4mw$^V?YI`*}X?=Ae( z|GVRpk3PQRjUWH#kN>j#)Y%<>_$U9}KRfXBg@gaPa&Z4&|F7SwKRti<&;Rnj{4f5^ z&Y%1@-};S#|Em9FW$)nSH~w(wk>C4|e|Yv`+^3WfwcA?pn;js+t1?F{s10>TitruzCu*8q8(4u-Y3!b5c>RoW5Ndv{T~c{ zhDU~}WMVtMYd1I@gU5q-^pUIa#h9dJ+Hv#<>HBuAwBsy@Y47AC$43_*-F)=$v4aoX z^oNi2`Pj)v5sx!}SNAY}V>^VJUj~UYeyEMv%Lka#j=N4w`vunU|3p*T#~J!-Ji5cJ zNA17@*YIEa=S;@m=XiXM5aR71WwJQ(gV#!XKM{8Ev73(yANb)6(~e)1GVL>be2)+O ztfFbh6_=(Rw^x{UTuEr!aX*l0|2`kMEy%Rv;s?`?n^{cz5+7Ii*u%#c__&RaeSCb8 zk1z2tz{h?*Zs+66eB8muSNOP-kGuHzDj&bW$8Yj+fDc?eV%mR;kFWD_kdM3hzJFz&ddRg(z>L!gt|sh-vTf@gZVo@pp!ZBSid^i0?4EhmU=H?C0YS zpgoAcXNfg{z(GJ)Ze}~X0l5AaTXy|TfUdup?Gzq7fXEsPUpv5uA;ubtwvU5sAd~u6 zUcqB^2a)=~g>lekRo2>h*@OQ?g^&S0?&4#xS8j7~_8w`ivko}FDo?bWXIMM?*WZ)) zYmDR3zw!a&s}CZs4>Y~FdX|q#CX-RCWkfe-eepa+7e^N2NS!xXtjggy<|2DG*hi}f z^{=j=F+3@^x}NRqWYSA~{D_Yi`FMekmw_aV_*cxrs;<7ScU#~t37yyMyTB^`l30e1 zc08`{rFh5}xCG@j<3P4^z~&iH2+rj4%(=?W>Jj1&qNKGvA7DO?(h+uy(Y=iRB_FR7 zc0lEFZ3qH#$6n6FGP6ksPiP=!%GkSy}!UW6r{|uHRcz_n1t+3y&;rCTZi{BfJg*$M10- zGSkNkMhtIP0bmD?|Mjo@_q;z~WkrrT^3oGrIDr%9yr%=VMYLx%YVbiiFU~=ONFFTZ zJwG_PT)-5?X7=%FiA_H_t3}!KB+}Drqw)8_f5hKMjY#*;fZE0|ieQV|`RL@Mn~x4Ya(s00(Zk0M zK6*9J&k7(9>IETBvLMfw!r#ZCexdzmi0cv7cM*s3K)hWz0S;&O3p$>-1q8IaQFUI9 zQ5JR=%f&K;K&~<r$9902wsB;_!` zS`fs-doT`d5WN6NV|#F{ns{ggxsJN?_7%X}^eu2+Cc=xY);k9A5%9WRT5MAu*& zt|s|;q5o+dNk%|A61R~sh|93>2`*FsMt~0al^5Cu4ZnAWYfUKK$T8O~vWj2o$`x2B z3G)V;hLl(1l-Hz)S1`wBdk3K%U*WNf0;gP5>a5WFc?YiQ=^sJCxb0#Dkqo{vmg>CT z2bN^BxMl_+)PN(M{49{Q|0AJ6eT3MVx6WIF*_cEN_!G6Z5_^HHjSOhTmDey#t(DRa$ zaZq~C)&e=CHUm9_xT&U;5gZ;?Kv>I%7SxuY;i%`h3Wt!*2)|*m5CNl8U+<%pnO;72 zD1f!bcLKZ7P~4e7$#8x(jnApc z3ydxefHeqqLk5X0UDm-wq$+Pj+F?!az-Yv9>37qCq*b{|4haH78_2j3$|znqT!$uu(~w6R0bmoJi1wf94)iAD z#~2azAhH`1GzcLxPx6rl799K{faBajR__osN)v=9~h#U;|V%C$eB%oOm14W=RmX-V& zPzHUT}p9xSn8;<+FaA6TuGvIK}Aeb=HrU5U`rK^a6DQ8_*qS z8?au>a@|-Mn z3X~1f5Ek`?7TWi|0&}w<*;9e;fhwjk3n=>qPqe%^4rN5!Un81V1OXtjeU}{sN=R2s zeSpQs_A3jd-c|}Nf54Ppo!jij zq*R#F=W3vPvbbA@&4pkFQlLbp?r{0Ja4UplBtk}|7jzQ}a;M`z-wxf`0iDT98S$?J z0x6$K$5TrOClh`<-2-v3(+v%NGY2&Jr3+4?&&RPk}_o1G@xzbtZ& zPiJ38HUMefFouxIL#24wE!W(l3?qPj2r1^+VW?XnvM^E*@>BI85h2i1&aJ;LnjDo; zP0j!+=74vI76$N+09^U81@fazk2&Hn*)CDVqDJ8{lE~XK3Rm8C^AU78Mk5Kkz=){e zH;4z@O-xb_ON1e;z^%huBC|b$qDl4ZNLge-4{XfP48sfbBxQlzTDgI#w~bZ?ScH*% z10md>gKr)+3>)GgBEfpAMJeP_~_~ezI+Nfi0PpN zgBeRffH0SHy~G8U#(stuKH`%Y)I%P#JnDx6AYrI@|Jm-t8GhP`DF%gNxr0KVW;J1O ztRpXY2qRv{4TRA2m9PN}B zr~yh0E@Q;Cs8T)_%S>K7s8|OmVsJM}6`tc5VIE>~3eoK72rd<9*9i?Ep5Az`)aO z2XNEu0eF4#@I4?<=s3U?n>=qIJ^&9jRwV@f96?w(2*NDlb1$A?4xg)n_jLOKdKT~i z8CF~n-V@{zd5#P6gCzQ_0QM2E@)Anwme9)xwRPlaMM?ZEdA{9y09*}&E{-j9Gq$RO z3&b`^n8S$S6?w8baD$O7?FZLEsKm;xe8!;5@Zas+!J5o|;fcl4!nygmQ_Itpg?e>< zZgOUE{%S1)ysY4LXG}+B?(WBN_wzu;+%|EoR^yKB)LyuKT<;vm{i`9Asn+RXb zm_3hFrx)jI^B3!bC+8Oz<`+vOh~HVtm@oRIfB(mWht8dv9DI1Obh&bMe(@P&hBD@! zfB&xrJxZMW(BR=+RTi&Q%Gf9lfgyjs7ZCYQo1l(X`ftNsu*)J zW4;~nXSjB4Zu(4RcA>KP^%Eycv$Nlwua+NPnwx%NrZV?%b*@^Q0h=m<_U-c2)Uoqu z#AY-etJIek=UCQcsrF0@DyaWvG*}Pj-lQH6upVUQW^H+Bets)DM~;xt?_|uwEeXxf z)vI$$l?Gy^*;*yRnu|<=J)-qcsaCmf=+xZwJmm1}Cp6&MdE~G$_hig(wa)PH z>{4we;G=*ves%6lWw})W$3#*f4Wk(|5|zSnaS|=7%+-f$4^`(%i`SeKB$K52zWjU9 zbH6Snsb`>c+?er<`JL_8>C|lHGO8PDovIr4ga4KUlQlewzB!RG_iwL;I#zu1j-sQ! zkuk@%mw9xqif+J2S=e<)+VwRO!@_Q_(^B%aYj z7zL>zlFOkeB9R@WM=H~^C7seeod+Pn z4`$3aw@qhcetPoSLXfftAZ6z=W^~&G&cSM^EtIA!&8lME`Em`=>BX*RMTRxfp10b{)x>?`*qH)Er7DA_5tHBxBBOo5;k{ z;^O?JQoYiY8an@58FPHw)F9|lT_A~ni`?ks)ST3krD?MRy}R8pBv~I?x_Gg&7}Xrz zxm^O<$>d%w5V#k8*{Iq!k%!@WeX)9Bsa~O;cxZNh`k9CrhRb&QbV_v0rqsaK-_Dp* z+wN1V#hX-&Wfq zYG_&G%)5y!aE%3RHMTfjjp_s;csOH*x7}@`Gbbu3MKy%p-yWIKxiTtY=eqPHv;Ce= zkde8e!TJNYQ&xHlDN4{fHCJw+1Ws?S-x8D_UYdofZlng~_iIp-Hu?eRJMieX`!7*9 zD+_@P`foC0#J*9BAUtu#)uXQfan&v05q9 zMDTgMx*wHH z`3R8i7$rTMSmPYIA2r*&kTJ}1sX`z*_h!u9%_}zXOm$&m=|X+666EE`{g|N}&3#v| zQMd{g=Sosf&xSPrk7JH*wAmbq33!GU7)f`+lgrD2J;yNvHrCwM){){nWH}6Z-7*W? z9A&}iXq2@krTDg{rIl9vuSOxwt-}zWMrqxw4pIFfM88_;>W7LbK&n#yGl*f6($l@w zKnSAtD^?}B&J6yuS z(O@MQZ&xZ1bgs)fJ*{EI9^b*?R=zSP{jrLVK533NmQJj@i(hhaBYU$hRlq993 z&>y`Ios#l3;Om_FC6KFjcktF@zddAkC^KvU+l6X)Y|%j^2+E z^JvDL-CWW~>g91P6f27`$d<27N%-8-<;r4pnoE(`A8?e@b)!|5u1_^P*(C3~SU#u*Y7Aurawr1!shWyq8 zG*FTaA#IROTuKF_s&T4q&XeRKHPK%~G$*#6?qn}|vUKT@YVC3fGfm*j5y;@yY?apd z)ot*24bcGErqucDqDLoY=Y!91h=#`l88fuGlF-g2kD~f-UrqRoI>T|}R=VO|6uwRI z3?yv-(w(bBew})FFRYSiYA-hxiBONk7~#%mqnVqgpi+ni)T^c0qyaX>{lu-sQYnnp zXDW-5e-!JkQhh$SQitd%YFuTdYeI{~)`Lmux}iTOvB>@T~>!Olht>ThVC!Zj}JT4YOg3^(1jnKx}s3~{$@o71|uGRGDhNnpHgll@5& zlS>P;5$A>=7F(-M;T&f3I(FM=kcaLYf*5SgdCEAfwI~~Uee1;$vptR(H7*ZR#@3eV zsZu@2TBNCm(Ba!;d<)Zb=otFFaet(#%+SqOPTRIa$I$s(H(fZM@DmOlgDTj1evpih zrgEZ_w`Q8tqN8)E-00%1MdbG?i}Ua#!_AjkOb#7GUvE7U{ z^>qw#w6)sV{7}OXm)Tp3)23>fEA6dKGLqP;MfX9j8e8;u{o--EWt8wmw^%M5Zz?IR zh@`hhxYlS~aJ9-!DQmg;&a(iG(^V@{TW`ES03mKv*RAL!H{E%PuW|Ua%$wS9e*lu! zxKr3F_vX754?y4=l}{^Le!BE}_XrmdjmA+c0@PhfB%%N@+kPK=J@5DZzi7ynnc3Od*_qkdy*(aCtyT^2=lO6RNU>@VQ5{oK1Ehi_obs<4 zq^h9vrMYU*T1sbX+y+OQH=Rnt%vJ1SfZYs<)`?XWN%a|%36tkeoMOfWbd z2bQ7fLJE;wL|?Tjs+LODzKXU-1&KUjGx$IeZl#g=P96{3NY&Y@T2rJ3=wxvui)ebQ zrYdV9$M_bqWmK_f4=h%Vw5y>BO|3*ROpqD_Nfo$Ca){QnYUEW7HO0V-hbv2Ktuo5p zi01(9UN!QnrsSGC5D%?z)j?1-v{VFMm@cUrxmAO&Dp*3JP&I(4hCq#B7aD_FvmzTt z%Q`ZynW?p0<)$W8=^Ca&YOfuND-Ch2TGat@H6l?6A00t6{zXjCgId>JZU$au-JwaV z=1!{euM~))C9dkstD=!cLiL&>9xhm_y574Q8ZfgB53b1CAG0V`!^UcmNux+R1Dx}f z(ZN(o)iGXGI#KdQl(Jfsg_k|FL|Ph5kkrOltDwhB+%OMQQ50+0+VYm4NnqgY8BPQR zg;BJiwN-RG`2}K(A(iViviV+|&a9d^Qt-Q~TN{_fJF!`W;>3aiB2%&~S%#zDs*@rL zSj_ULC@**rEDS1)i3))j>#KUGS_3-SurhpdsH&om%F9bSB9W68DQSFsPszoG#Uuz) z_+0A8Ul=E{mad?;g+z$0KjbFyqAe`OU?kB!QIaM>diE-_JXO?`NoUaOM&_H`UV3SOkZh#FKwc)u%4f4rK)~G-h>+H!ld*NY2 z)-?D+dyo%Th6*I2bTO>phes@_BTC3NoD@lnNSvG)ZNrHWh$XP7-`$Z*;6EFVS9&sp zPy%(w#smnm!$nB~p?kE83*RZm$(iTo;3yzm-C9>IEFBWJDFV7o zm<`1zK$lRwvO+w(@xS^KZchDF-@F%-%|@A=8C#Grwxr-U_xo522iu7a+SQv>QZ{`? z`GTFZf=u;h=RZF(@9c#Y^LJOiTwpn5*}|t6OcuZT`Ml85Hoj<(Q({qst>?1lxh5r@ z%rlk`FPX4BFQ(gy^GAwSpKZ-s(;#ZZ+Tv3w8#^o)ZR~L_VDlq`z|9k8Mr>J_9k{*q zfPtm!!d~snz5IIjMAz+m%r=^oO&t@vPy6TTeJ{VhIlRZc_+*`w$7ioJOg^V;w5WXB z>3|C@Lc*{31Z7>_eXrfMT^H_N>)SH(`fc|yH*UVRztwJ1z^$jfyze+nAAILbi-C8! z9Xj9h_`th=YOBcu(^+30tg6@d=~L?+&kCX{pKa}S`7gVjki2U5&g+e~`?Gf& z?GAs;w8;HpeR}@aWiwWN(^;kW_U3Gk z|9cJN?(a3WHN2~tyCF-fv&l%U6YUOa4dNK^2vSwr3OEpZzHBG}R;A^HqaX&xiFtdkC>fTR^KCQ>PI>_H;B}9GK&1Y zI3{vT<@cy_oj1pvj(!*GysKeCy*j4{O)=gqJU-~WNIx_qHUHA{)DA0p4BkHM%iz=* zx6>CUp2!%n)hC-X^>%hMJI|3*V5`xoppyo$2dpD(Kw2NZ$Lq6Lzu?-%CM;GP*fdlN z&TXK7ooounuv2L_*rW8WK1_Y%Hl^^~dmcRf+z56njW&dRS7963-tZLwd?C;@gL?-7 zr%fYx))}@s9SZO_;rjQXAO**@Go!#k0~`DJ%g?$Vy`c!ErMDi(=s&F^kX2CYd3W0fPZB zjTOv_gN>H?fEo`3qFDZL6bnaLEMS1u{;wi=v2fRCBB!%@1h}2RBGI@YwWH~FB9L2&~3RxK>a}rh}c@``^j|16@ zSeckA0RN=aI8iJgK#T!^SU^LW*M^iQG+`PPCSmmgqE&=SHChHVVloho1(FGHEQTGl z1+2kPchn2qg&SoeYu-{I6;zc!1du0%oC;VWKoIpq6}K{ykAb8;RY7H*=qezvvIsgt zm$DB7789iUCoA6@%Eg+8L&Z?RgITF?P6<33(6}@jGAJe~jolQbyT69~kzd_hEFxR0f}f+aAk3AiVKg1iCDSv4369DA6MlpNhCX(Sr5 zGXqfDszz1TrhNd~Q8j2dR5le#=nl+aRjHZ;LLE}!Um}zq&$4HI1_F*X6F_!@01X8# z0aQMzHQ`{OxPL|rfm)%!6TxyE0u-r8&tqGRDFtAT zB2_;C&Qbt+3qUOufoRdu+}VIPQ>qFLB9kt~Mlvh2DsULEk4lXuooW=C@*DtW>g@&f z^?+J?ko?7xJv^M`H;r`@06l3gy?_duMAS)7vH@ZNO+=mMFh%J$jejN9&~|lL28_^NzmnBbz{NWpczERkCrSIz~ox4IxuWU`YjCe07Xt- zB9gX{R4ck$B{Mp51b|&-6-BQYM;46Tit;+$fi`-|@?u$? zAxvh3S2Ji3RJ}idGnUH-`U_hAY{p*86l)d$8qqw;0O=|mf!j=d<@*V0va;8I1Hg<< zATZT=vCGm90?{y3N+g>-mgNEwIMWoe?u6k7>Hy_bvCZVI4y6pe0afa$G1{YhV$G=X zRhR_?q@G%y02Se2w22N~9)T9hWk6)Qh^*ugXe>md>#7E$BRQ}vvQ9B@o6;CMoM-`H za!McrqpFGVg_xBDGD~H-0jQ^}v1Fji67pvZl+05^0HI_cBVhFhGWNA0gEmfP^JV}V zV}r0nY$L3Xa_NW`0wtl{NCXJvW=C~p%KITi#9kLeG8zlyUjrIr;N{E2{?Usx1E?7? zKko=bzh~YLNrk|CRz3j9sl2S3l(SQm$y@-IQ+XLMr9CnZ!=QL7 z&btjL3SyL3ZFzM=Nl>aHYdQlMWp|gaUQNi9FGcHth7Em&0BVU5o6M{B1%ix?Qnq&3 za7O^33tb}BI3m)XP@S6c4b*U@dXLlq2H=D$BIsDK3Y4x>Wbho-b`Bsh4Iy7LjU+Fu zjR4F@6@gKEkP02kNu&{(tVv`_a|V!^o{GqdQl(9c7}6LDwUCXUsCL3(3LQJs-FpTg zF&d1tWk|F~b!IuTWKCRJ6G9>opn_x>!b3n{454xfst|%fI5>KxGYI;S{%9}XIx-e% z=^@#0vb#x0lNbZY^vF65&=uOLDmrRDCDX+KT#XFrvLvJpz!K>;yaGr}FH@``)*^+8 z2W2F}Ar(|@ov&KL8@*tCbN`$e}|Lsmz$RWITm3AeBF$wJrxht7#L;LCQPjVgOc9e^~>DKwHq< zR{&TwGN~>r&>V7G)o`rrE&Bp!HHtw;&5Gs$$Ggh`i5a#iN`yvIjFqaAARvdxI78JW zWL*s#5aY2VRt%t3Q!_gHr5(yr097zeGV!8Ip{z?hC5J9p?UTfPq9s@el9u#^aG+DefuYqi2la55*AfjbUAkCtL z)d@1`jQYwGpgB<0w`g%u$rGxO3qXhoedP&7uy~M$z`PX>BU7M?$RAB20y1*)WUOG; zKu*roAUF|XGmI&yoEAN9%m7kU%dP|@Mgan$%i_qHMxrGxVI2lA#*)xRQx;^{SXT+u3(Z3e$kherC>m4PQDjI%GjJVlFp(UF$FfvPIAF)K z*f7JvR09EoDkJFD0LC;KH4Mc-3xfqTOtOAK<#4N7A=-F^03pT)QG~+CCc+FkmHLuZ zbH6;We2$YUMSf%|Vch^=Mj2>Ll5b{3Gf$U|L#R}!2&Ve5$7*xrOd?H25fz;b#R1g< zbf=dkQgeX_Q%jmiFbFIex(1bjz;P0mna$b&z|3%$2ByXplm=6i2UIRw(Q`cjRHiG^ zsH%ETb+v70s)7JACQBUCsMv$6)^sBfU?N%M0LKxO9ml*=SNKwM4%j)cwx4T8s2VhI z%;c;$mVo^aQ{6ankynZU0AyIHUIS5AaR{2mS_ufgbgz+rLn<~`$%ZdOn1qM`u@mP}qkm=&87@+83z^2$w6#MU1Afq6is^y`?sAkk`BWHGJw1F0v$7bCQ)6Lkv!lu61df?{&-uyVnvWMfl#Y5C?x zrH*4g0dNHwNI-cMEuj~wFBq`YYpc+XNE7qi%2{G-0As8Xowxlf#)JR@jJHAp=#Jv$ z20NJmz=(_LxwHqR%#<&5Y_vXUtWp4F#6^M18;c$ma$yp68~v_4$SD9}H}MdQ`PrNp zzECJi<3tNMLfCDO%Z|X6^;w)uzJw!6PveND^8OOr(lxQeY42$U##jv|Rn}FqPiLsmv z+~!Eafo&u}7HOFRfsiwl7*1AjC~vq8Cs7y!Tc|^wx$G9Oh%$p(lg6P6;lTFN;yBnZ zfy<5xhl+#bV22e>baon0BiZ02f{a8W4s7lKTl_oH-=s*eO%{-rHZ9pTphpU_pml&9kq}yyX{%(BFrLeH zjzEQ#a)7i2&~3=RB;vr{)$yQ&*s*AhL(v0cTy{SYAP1k6=UCtxQtYavn#GDh`;k9M zdMdom0-69dj8^kFu_%S(l?)U~Ow>eF4!JA#sGBKRUuh+%hL@QakUPH80yY4oDlX&z zCkjh~x$yoAj*x!tmedwNiA&6)RA0_ik=n*(^RYPcX>zF?sxM8-6ATa~n9l-$dtq4vgMsNO6l6iaLs5B$d&?^zG(6q+fU7iq7AYn^f{+D~`kxpB z9Rc?}q3kO@G{j}MSBWRjWc9fIC}?Se(t22J1!avu+DtTTARj&{Yc9Jb&4x_$a{Y_T z_QaLSvUZ3ERCEZG-5@oU=?T?vz-3!l^zYxvg0Ur1Ljsf-RMOOP*=@a~-VaP3X(FMT zsHFJb6`5|x;NYGp8Qh+-bSc?z+2`3(f;9tzhl$~*OTa2adDy@S(0`-Ru-{WWIvx(W@dD}1 zQu(C21{+4-22UZv&PZW#y+EhINq{|05P^T}rd*{gY70-2aY=eKGGxn1C0Af`{JlBu zlrU^K5^{w%eTnp4O_XSnDg`kIx$s`$Sqzy5z!5|du~@TAa(TUk6GL(sODP68W9Z2# z_#7L#jSClEViS*hLxHW67DwW7dIxq_=t;^KuttR65}}8qI3u@A^w9?s$D?p*feoWvl)TS#VeFluy2TBVqiCXjMnC{ z@v$ZFmXzCu=8^>{QV)n;73_^Tp4=`D8;%hst=qsLs1r6Y+#|q0*DJzZ3@sH!c zdz7%6OymQw(W0~ju-(#V0g6Rr37V>C;D^&Q)St_C!mdjD?pSbKLTKP<0ca-$PU{Xw z3|kIy1k~1STy`5&4B86N9)+|9C?9yW4u+GUKL`SBL03;mjD}t6NV5u|vV>A(Mlp}F zeNmYNATr7Y@FgOlge;*J=>J8Q$6Q)tG9Z*0ad~9{cWW-|0-RXbJ}41}5il@e{3`kx zE<3npQ$Y4hMFT|HKhiYQjY79aA~c7w^zk04Tco2qX=LK8bQe9C%;Dh?;9(G@gvUi) z5TvAnC8tA7nIDseia1b8mU>gmTEJ5R@b#f1f`2dkZRH~iu}LpVg@m&4R0rt2ReLTc zGa(U%ArL*0))aagxeqj{m1G09$MBTh=`SHm-LM?KHG@x^3~9kI3?SVnC50eTCz^JL z9*WVg4GfngiTL6WDn>T;A)_xe`)ElRRl?wx%QmC#LjNQCJ2gg7YDY%}3QTPiap!&< zO@aLpBW-C7q{9U%Wh|FL@%OgjSoE_%c#BS8t)1j3(=JwtEbWYCm$__juy3(s6+w5v zHeh8Xl(C}hTsCRZk_6fCp1N3$g@4ze;7}i`SpOie?mfMIpm2hG;1(<+44|lSnzUO= zt(-+?3*fdL{6TiD0i%VC-KsYYODpAX}5WJQ2lg0&zk#AW;V&}u2KS+XFS4odi`sRBOf zxRDo`en^`UHavzj2Oq|10uE#I<$_#F>%4rA06y)WQ{GgNK(fSt_pOY9Oogk(x6NMnhecGv!xaiq65hHV8B3!RS?!tZ^1&J z4c!HDL2?0upo*`@h=y^wOb`m3O9KZo6aeDj|3Q+d?UEP>cEyPzFy~GEAsGS>;zBln z>|ekKzFiJ9N$!TUd8GFMtC$T1l15xi7sv%p$&e1AFw;WDbv{gQJP|r zsTXB_+A%<+Uz9op>S1mwp&^lO6ak^6YFP4#X=T{x+QV|t>(Hf8+Dr=>6*mJU2u=di zY@pXnvO!Xd43S`G1xtmO1CnFH1G;9P?-Z1WjwveVmXk}N`2t?LU zdvKdF8>4EdZ%mgKltMn2E46i0No=W^f(nr}kaoOUMy*Uh&w6lk*q@i?IPZbToNS{g< z!iX7#NOQ(S7SaI+HOMB((Bl=*dul8IO-n`vOqb`f$FPwYs<1R3l`4QVONS#!=xmtr zB{OpnLy;pG`B4@OmLa(T62;6rX-rX2AQEY*HXJ$?fxJlrS1$_E17ZYe9)S0k8DV!q z6eJo!y+eT9nZ1@3!344yWP17ZP@EhzCF4e|D7-|q?LR{YvR5NgOp9?Cuj1rF|h>tjB_1SzNA`~$a;Fw z_4Fm{*_@UxX(i=i7%rQBET1;@OlPBoz#c``kPI2Ah!M0q3^H600E6L>+XIzSV7Nvq zDC4WE_tIRM@gS`sWp!10bS~Qpwtip|r4*!GMdW2HKbAzRN|~Fil;rjl|8S0e+yNUd z5%(yZ-igj8Lnd|$?8DT61GB)4SpYlAB|8d)31r`9 zW@pH`6$r+`jiP0NS3Fax90}w@V;~_aq9M8LX1Iwl-Jg+63Z;LLT2s}hEv=-T5YkZ0 z^q(xvCNm8jG9QF>i-F-=EL{Q^$!TmP%vcF&_<^oX@j4Z1NNpDuAzx%lViv8H)Ger! zDt?uyE1M{42N*89C*qQ(hB7oY6sO1}`2q_ZvM63AdFQf+D_*65|3fwP0w*i6AoLo7|bMy(xFR$bp`hcLos-py!>P@+9hfp zP5|>p;F>_U4UqF~P^lS|kpq)fT&%s&JdRECjmb1tVRP=x}dDhjV;mKp)9 z0K{vMxgu+d19UKukn!b%N};-N5^-3EaWQBC4CriVM43{?kTZ^$+5{R{H!7&XSil~| zOZgb4ATV@DTAHzk5@nRY^ul-^nUua832YwR#pYrR9kea5hsDqgLZ%t=JxpXo`Xw$q zpN(|n3`-56SPjyWBf!)^SyW`_z|yLU%LfLw*g2@X%qW-Kn1~b?j4_oH?5F`0Kp+{# zf!bJf6~L?HAPFQLLsKGUathcq5x=CnG9q zYys7_0LKUEPe_bPM}VZQpn4!34nt4mvICJgWUOE?B-4MTPDFW5T)99tC*_-^-3ZEp zMwg~;!AXGbV&B9bPU#ah=)oxkNR&uxOdByi^jWaB(yWPC0Lv$E*$bE{el$!4!VB{N zDJ_A^?jci8IV&QBKmb#Wup&U-;mZsY`Kk|+XUu4kmIpFHLmhB3-3mxjK>=taya|Jv zFhV&f#OBi7) zOtA{2v(+$emz%nlCh15Cf)NEdf`G{^ESem}c^&g=@D!nfYXe1&VdG%wktmbQq|!DA zy(G3gB}m9O6T{gCN(4!bYtMwTq~PhwfzZh0A&N)w8cK&$Y{*{z%eZ996gvg)acj*Rhry{dMzPkZpkQ=SqFlyO&vu=+aIMY+h4Um zovBm+Y5??BYTS^AgzY7xy{vJC1YpckRx5%<8H>|5@t;1&D|_LEzZ`}jMKSOecg`UFl;1W zbtmBficsQiCgn&%?pP<`rX-9cy{1B__(6Y3@C9p z9lIw+iy>Oz1c8ZlH={J13;ql?enWRhsTBna&>j+rASD_+bgjSv0pX}9RvCk)$$?Kt zQ(Iefq6+JdP+pm^RWK(>D9Qv6LWLgCcI4_ZSm;N#80iwwet;%H_lJ4LL|mICn<5Zz!VS0$7k zQ(#9sMiSC%9qnjgQVn4zZ3#H*XeVo7IAyU|v$HpS>MHOaBQ6bH@04e^>(y}A;$7Wm zSxy=L^03X~2_|Lx9*u4~U{MLj?&m0phnsN9^8(-Inu&EQwZb-8kF*-(*ssT4CytBP znn{u4P8sB1t{XjObn|8x%p1o|wzY1*dq!i|N#}eAhtIgPV2fbwti}Tly6#T--D0ZB}TQcbMf!vpJ`GwDcY8&7J(sIPeMF zW_h=d^oWdtd8?#I2e(K`WOSl15^{i%9>VP4FfRP{3h4=2Muypu)hJ$d*SV>&(a6hx z`=|Rm*y=<2iNj+KeWv)^TMmxJf>*+cy_1szA?3m%_gfSQxUtE}B+BnLKtmtf0G{Ah z_@*kIE8qXqIgO9{_9s|uU;HAR0KOXVMf}0=g-u-GNg?W69i4v{KLO~|<A(L;e7c=dffrhT>1);f4gy$O$Cdjp;v`AG)#1xuSFS(a`&0jw$H%tD z^HliK{LA-WdDxnch| zz&~v;sJdXl>#^#CIc@;#<5gAv8nPO(3|Ng--lO50uncRwPs6GDZ3>%x{&)XtR&Cw> z9=@BijFkSVl3VSs!2|0uAAvfCJ{7;%ujyaqW4h040u1WE!lz+F77P9>f6kYOl$V$5 z1N6VsC!~huUAY)vKnDmsP`4YB5TLbuP;!U za`>m>qw=B(IPww=3=EOs}T(;B2MUq00>WvKE;G)1yw;SHcl)5QYFLYQVm761d06w9xw{s2mq zBSoPLqAoIj>C5md{ZE&Vc*^BdG#MixtN$0$(j$uWBUgXQSknbDB}=)Jo>PUx2^7l6 z9|b{vX{yXG)!Sv|GdJi1x$*%P$to2rE0;WCKxE|uDW&@3DM^gv6K~TWx>(sSz*0q! z7?cl`B9mp&f3PM}UPvIMKvJcC$z!}me#r9a6ZoZzSH4c(Q6x*3q4diDk?jvRk-C&D z{>qn6Ri7+g0S>{ce3<%EgyqUn;6Uy=b%=!iR6ePyGPwUx`4nHW@+l!AFL;goFh_r` zKaKJa{VE9gk0;<-(4vqZl3@x%dIbc)95E93L%p!osjdQlDOjXQH#h#GU6A%Bx$>bX z@+tz*o~Bls*TFv@S#GBoGBi z-B3iTu@Gs8pvX~ufP$yUQgy45g4|7#7(-Edpjtft9aoX}zmF42GOFp*<M|HrM>2R-cdNZdONG=vfMU)mdNkE4@*}IP2v14jf6re9gNfDpkJw4X8S3Woh*@il`%uzzbX z30bD`<`>SgYQc;uo0U6Iiq7gRJwTE;_bUJKh7&eW#cgSQVe3xZa2t1TjU!iF!LG36 z>})vP#f^6*a38mqrQXIs(b=eR4JK;Yz!UYBI@~X`Dy6L?48fxRIl?~LAOomxGr+~& zVP&t2z_n=dn*noK)b^lUsJQ^jkA=Uu3BH)zLl}=)u&cfyLkIU=6~acx^!~ZXXCT1F z03>epD}vgkfhJ+8@QyI@uY9d~lRVLN@P^VPBrfhPE?@V*%42(2=)h)VqqyBZ^61Fo zvYg>-4@WK_9Va*@U>|k-^kx|YF18HrE-Z#$d^?7$hJTG0F31qysRi%eW!VAU?m!b? zbwIrrG8JTpvc-MHab4IdkX7yF#|3B(`D&YF_?6L-kY^}M(oMf(VU--d^h72(Rl2brc;y0&5A1x)ffhsUM;HFJ-{q!y_TxKvx_9(gh&xNh|{HyOEf94_%VbbXcpCF|1$djA^gvlKn^-uH8mEI*IA^c)2_g;;B$R;9ks%|&I936 zq#B#et4ru;X>>0cAkqGTcfZO(UE8>cclTLqt0d(Y80#Gun1E* zJdMUf*41l&!~ejlh&wYpSg-x^#wu$B&$?tJ#t4W!wwb(y*_tf%Jaz+6 z2)3?T9-GZ7zT9ik*InaUoY=yj*MHW5Yx92^C%1)ujywC?ZCUo#c!AP^!ZAJ z?0I}KaL?e3BW5cXjXJdd)FhEfaY$L;)#ploM@;e4aje5%sMUJgjO^jLmdz&A(YiV9 zPVmgb?z3O@Tr%>4$s|Cul99wsf#-;XqO-s&@bf?lr; z4_0o!>dMJ|xbbGnz~h9m_1>+kXU=qM_pqxs*QEXHvWfd1%$nw}?kT=~x%bHA-wrWw2@?>hiJpd`M&p*(t+TEAF4a4= z)OAPO!w+s~Yn)6bb;zW(Ml-@Nr*Uh?FV{nTQ*~c;`JVB8i}l7sPForf;fUW#BajFn z{0qAl`V@FcpZbasCo4Vim70`j2UqRjf#%rsm^6tU(~PK>q*{VjashxQfSpDA1NaXfTzlJhp$Np)>`b%72E>cVDO zKW$Vw?4HS?(%!%PT%JumbGELbl-b!#5^|?=AOU}>MoOL}H)4A-hRyjmb}<8*oL zXW06Y#+149o98b)r~hmJ$gQvYNDhXo-S0SUz%^aN2b!!0fli}arkCz2eDt03&2jYJ z9^v0-tz-`lzRNRfIxg~t$){eQ%u9V6-2YvY{V;ZBQiQ#axMG05&NcSyo1gdPjxaoz z_q)l5P}ad^@A4ag8G8k0?6S;^vAfJ(^*S};*XcSC$gtR5l%z&v|1HL%HDOA1dLu?# zz|6tc2ju23upOMtkh$_);c-GRW@yMJ88WFwRT5Rdy}#pCtJ~vtBnShRjMy{3EWE&N)jL-w!^b9T zzpqcar9-?aZFx8OOSkzw=lC6OJ#I@M3&*lqysiryobBRd@AB)}``~3p%eG|i$yw0Z zeD2}%qRS(ncujhEtMbC*^>ME>+MCW?-s_h7O`D@Fep|b(?7y$)uiO52!!>8Fak#r| zIB$7iS;RR*UP9+lNyaJfUtcE1zZSGuyhGdAYQ&7P%Hf_Fu4b2p4*O8LbMWFrGe6`N zIOQ!*D^qj$7G5xVX`8*P#|@}(i)!mJ*XYj9$G)SpcK5JX>-zHH*H&d3J<=aHT9EN# z^qj_KxZs~+)@tFSrzv^8*1MSBc|Ks(;i#!5XRi+>La}o<)Bsbo ztSjNeQ)(Ya!X8yg)4CS zEsi2wZ5?>FptA&N1N+hj3T$8y0alPc2OHR_b~dmY+G$E%mo#`u4JNu?#WO>fWCmKzu+-)mUcW0$TXXnnP?JsbG`)k2{QYg#X20GyI(U?@>zlpT zE==%G)U(R}SW>pMh3UHDl1@`O3qLMtfb*Tt6p z$!pE+Ejz885NGpU?OMKF>*>=z_Y(YGcKKNk?U|ph{M>(eKgZ{%mw#~f>)7Ta2L@Ff zJ{cC&>U-a5_4}PM&mSgvdcrfaQ53K3iH&E&#`D8JADkqf_wLAclM$<@j?!p9Cwm=4 zhnjo9;4PyJo-W^^ExZN~K0GC15m97>rmHi(?YJ40HnHsHhU)M0{5WmUxf6ntStoS*7!` z6Olf*Hmq~MXPGd^Xhn%w67jC-%!fanW{L~1WJI;h^vNIXYFIAmr@1RWbW+LYM7tZ! z>;9UaW>t}47k;}j(dWyBNzp$~orv<~h3vF2c-VzFC$`eJG&|-JTZ?3=Uh6vF5a3MS<-az zq*D#2M07l`RwqjRB5lG3fC=kMG(gK>z-Ir}&?MC1N6vhyv?Lf7n>5hSfRRH1(MU^2 zIxuO%*3cvgL;TBJQ^Sz$=XqYx#kS*T-Jd(K!%CiLdB;81Y>DO!P-8WXdM$M!jh7DT z1}~O}f-Tcqn>VmagvFdkZ47?2yRREItIxw_Lu!PFpRoVt#}#;Z2`|6?3hf6{9u{zz&1`1*lfFUutYtAGb~;+xl*JA?mWpe%qiI zdUnE<{-0k&rN8Rl!S<@xy1KtkJ+tL4ZGC!J$lM&${%hUsy6-Ap8L{v|>h995U$VFP zi$8aI?lJP@{d!FkPn9g>*nX=Uaya6Q?SpO?_M|>pS-)7lB;sD__<&xOvpg5Rd;jM3 zgMwC$9ZMtTzYS|Wy4|uo;~5n*>zGtl1bvxUbn>Y|$+V#3EiOzE&uTX~Wr5Kbj@^$yZN#BTcfr*0@s=EhP3Lo`~3Zgr{!6*n?;^*GK{)C!^D5G?cQ~c-o~%> zn;5bB-*)O}dUozHo!6uFCI+YI83efxv+`RgKL0-Xv=){Eb5 z?zS4gc&+Yt1B))}9)7*QYNYS(Is>~326hSB==n0})s~FxYr2j)DaJXxRuy{Tw;vUK zf7DffUF_W7A%@&x`!r35RLt_QNIW!S%B&NUt}QTKUq5o;+v4>F3HkK~+3wCrVwucd zS7|u(lVQI3&avkPt?bIPn}6%UVE3!65z$@GpB;OmwAnX3@uUMw-8ZOp8T31G!R!kC zmHJyVW-zL)&k|1Wee&rU3th{U%%pM*ZVMwl`QwPluMh99O5oXFZL%Z^xZ(b;`kf%%aK<@y0ekhCUf<^888A(xL;c z!%j~6=5tP`e87hCjh-6CUzaD(h`(xi%QtLeLHQ#~U#`X4g5aK^^&YC*d>=G*Dj^*6 zz7MhJ+lVW3wmdbRGvdnygZJ7y!cs!F`b=Ho$LiKKuAzlh+{!r*FKXp>EB-oaMZ>O* zb@G;sdet-Q7kj=*i1uifKH>Xn$DP)`yARujFWJyC%Y&DBdcoZe`7?_6YTHceZ~F0h z!DjYZvw-m5Uo{UMkd3=&z#oMqZw}aPAfB0n5pvyT29?z`QvKy`bY+5^Wv()dO zemu;Y$F2XlPDSdTWKNI7JmhOA8XLw!Dp_jtMrmu;UyR!t5{n$-) z8|z)T(Rl91jyvOeZ?Uy|@^y5<=^hbJ7p2ZjUhCHV(x>cwtD6mpwt7>%z{*i8(zwv8uawq}KEUh?3Etev^BBx}uyU#TrD z>^HH^zQQ-7PMThM(K7hN{MY{XKC=a)adn3uPdxru_-{6 z$neUN({*`zg#6tm7!A^h8a#*wn|(=(-RHT-c*??`m8-_6H(OSrwt>jqC`Y3nFSm%u zU0j%(pOc&O7pHflU<%6#rmkFJqRWY#>avB2t{6CTW7)!lSu{+Axxx`nlsUj(ye0t1 zSok`@wHWyF$w^h|q+k)G6r}+m6FOoVPu^cc@>U~{&DuGqN$=MkA39yQGvm|QBXdjM zE!f3rxOP}^zI)y8@j(}3<}UcqP~Bm(?zDBf8o$5vsr>LT-_LU6l>`3sCp?aIE*h{k zX>iNqQPypp4)Zpg$o0uIG40aL&vp5alc#ew#y`jzI{kg;?Hel$&m7fzvt(EEM)&XC z@cYp@?A|i2{_b#rrnb$(-w!uDEE>6H$j7C6zvh={7@Rb7GCCnLOzAN>ZIP{2`_^|W zdv5N~&OxoqXT71#O1wP-rgVPu=`Bkyd{$-t*fl@;-{{yh zvtp`|Ug#oyzrYtq*@m4sO+OB|Ix%5gGlQ(_d9e?F8tD=@t@Ph`R4hI>@56_pytc(e zo|?I=!L@jKYE9r$LsG{l|6?(Q>In`x4ew7hlX0!itIM3!VS{=z3arU%fRhoBv~waH z;lE4YD(Y=IN~cYmHATe>Lj!kxGW@X0R(pe+yskjz7ImeY|7`C}zu5~K87_*l*|dJu zV6IU2(x=5Obi9T&+sw~)+q~v$6Z5nVl?~=EPkFUk7(Z>s$i}0_lx;t4H|xDus$bi} zE}?@L+Vr-GT4=fMndg}sho2Qo+-)9g>QZ;g$4fh`M~&WHH0EvJ;lsNvh+n???V}&Z z3?}X!wE(6`UM(B!9&^oj$1m6XR`-sL#F^T;uk zzb0RA_Q1(+L=TTk{3(qp&fF;R9k#1yrMhMLaJ{yT7X{|~3@zSqIAHR<8Ocw#MiY7F z8L}>~!RFZbYOE879Oq@l@@E7?~Q8 z!`0y2eEWIo@`3d&E=UGgTv#^8{P66KE4Kts+W9kQ&Oy<7r)hx%z~R9&0WceJyyO|>jFz7{+8^mCD9flGRVrbl4WI-Gs_&v#_`C6j1#1jA-(Lt zb95%t%LI=({U4HEp259w?Qy5M*IP7*jS5`ZJFszw&qGH2=-80g{>`|9-E2Kd{QBQ+ zwD`@MI7`RN!`t;7+C6Z5<^Fe@FNQXmuzibm>4cEFw?}>-q*Hh+UgPk)yL-}`ak}iy zvY8ig`}Ife?M|Lw`?ez1vm1}!n76G*VMU7I*XL%slZceS_A8FOceZ^UWm7nvwaK`9 z#i`G~&D)H;I%WUuIl{A>n{Gd5?7hPLG=Gk)a-HtTQcnI70b z{?O|dGx`{OI@%#e+-z*v_ci;7PKB9ep=0+Ax%PD9jCDmVCSDq`Tt7sA@BQP(vERmU zzaQ=zXSjdVQ0EO%yGDB_t2MB_w^6S}ai=zPbUzZJ`=L}Sqzz7N(FqB4bw=~MYqRBY zHN7JSYrHMn?eH-_;q;Rn-_N}^TreYgU^L%Q1E!{yK~h6G)$Bm*x~aY|D3u7T7w+xW+iTIPqc}qn#D9Gk(I@MZ12|3*c+RfyFQJtgkk1gS1OSqC58a^!m$k6m8!k}i- zxi`qr(5dX|3!talYA7NN;ubm)rUq-z zriJgx47IWL>qEl7sejF5ADOTvrdhX`N1J{%?ojX0#mb!0j%}U|-2ArZ&Rb61G;Lo9 z<74(X?cHPkb^q-rhu^51g*4XOc6!Oy6PD~x{kHGZc63~^u7lb4%%(fqjS5KW5H2ox z$`^W0oicG>_8#LWt7jW8Y2wW5*s^z&xlYGrI?=5h>R$O-KI>HQt{Vdw3)WCfq&r6)xGpye>#=>uwt&pk@^*lejlGQzezuhAH{x)zrG7_ zI&nGoVbbI-_49RECq@k0;kP>F$+6YPUA$upi56u9D>A+)#9F)Pw(E!bVYl+cA+uiH zdSQ^6K3~{~9hozCqyguu|Bb|W`yLPO^&2^B|Iem2Yf3vr?GfDHoZwh|ckqg{iJSQ= zn%-*soFMY*41olEG@ZQBn|gtC1?o!5LgbG9TYLc|*ePFNCG!QH7spOXWPG@r#~JhcyP+sN+88tssCTfBGl zzjm0bp1vmG{i&4q?IVi}Kltvt=Nh|K80(a^yfCJL?ZqxLzC5^7r~c*0>=J*gC-wIh z8f5OB>Hg;X1M9x}tpXz~i-(BsHEO@Zf55d@ue_$^Umv=8XhDnXoi3jcLJx22)!AJA?fD`7>@K%{klMdN58uo!Us(6|tX0d4y1Bo}ma-O? zdImgkD{Anpwf~-GrQXAQ9v(O(9&%6o#Qg3)-+4#g95n8AGk?;{K!0Mzn#p%x_FJ;y z$L)=A6$j?z4t;gyRlpN}s}%;8%U2AK&v`sPIxA|k-KeX*7Dn#Nw6uKpD&>&n6q_ks zT!IhWAMHKvuuk_QmrA_s(q?@Ye#zqWwlU~GaMt`z!49KtY#iJ4&f=gCvp4SXEli$! z;og<86PaumO!Kp!5mggbvXvn!olyv4`mU-TBOG{6%P!G(c^0R{fGpM-$!3;h=631B*naduIJLzKNe>Ffs3&JCPhC=o&g z(dXdoJZm={Q3L%nB6kTg&(X-8L*&jRa;GtAK(0E3i9~0*I5oDRLruk@^M=i)C9qfq zUeztmj!Bhp6Vg(ME(`%R!m*`2$3$+~a1^ynR_oh+lYJdT3Wo>g1WOC-jA6+&vW+h3)%Ii9uP!vZ9089BtD;#|7&mO zr@ALQ?CZK}>HEZ+G5gG%O6K$zjG8)pf^SIAYxSlNyI>Sx{Jx{-gwXPhKa(DGs>8Kf z@YuaY$)#;3nKRugp2eQC2 z!gih8CH3}?X{D1W>^pb%!~75Xr@Z&IzVo9)d70B2VVm`jHdwqWzx`fs!#vA5a|89< z>sD%yyVB~AeY1+UM{LjbTfEiZP4}qo!K3TeKiYi#W|Of!e0sau54JEGx#@$&mpeA? zIf-*O_ZgQU6s_2icBqS{)^c_`%T9Tn4Fcop?%xvl@&1&N#-b*}eO6>V>e5cI^icoM z=z>EgG0t-e?%sI+rP8oyzQz4BC3DJO_mA;-(67$IF`cwBwa#m8N^jM8FQ32d?X9CN zH1^*0IHqU$`i{Wv<(yANk+ZL{t`zx}^?5(1L?^&ce_l?ja+cMRO$$mo`((CsI(nhF zc*&3bPX?D!;SVx0rroq{t93IVHX1lxLj?twp+DU#VJv!l+ z?3glO(3v*tQ!giu``?jQYw_mCw%%`c>M|!`+f&$0rUN-LzAObKNUSBTl}1ab5Iu*P{CwS0s&>w41y^?PzY8 zseYSr!q@X3oGUHrVY0Es#P1JoT5Dfgw|dy6F7;XKCawKEr|vEzb5?u`=Y_u7_or?x zUxdyn|CSo|TfBEm!G43B#&^6n>gKk8gfiE-gQ&)$4iGed*vu6|n z^CbqY;ZiF#wtCfkNgmr>t1hjF`j9foW7|L;$`ZV)IjE$R^r$|%>TFoqqnK>b;9NP< z^|9`-VC&B_;_JNMm6|u{#-4je_l~(Y_m@@S^X&!o)URUyBb*Ps=dYY_KdYxBt);a zc}sojmp}j5HTTRu^MUrg2l`g_?pk0!swKQHWm;5j_@;9+x=%lFczOTxd;_87QKPQ~ zIlJ%jfA}7-FfosBBsMY~zab!YTuAh${y#HYxxej|zP4<J&fnW88lA z+1?}Gln4A2KAL}W)5^*r?R0r>Zv<&g+dfv?>1men#%J@+bbMmxy=%pXTd`%!*atW| zGqTS7*t7qHcmDx~3)z~%W`T4v=rKsDqQ>C&a!mWk@w}<;y@n3+ZE?gQq3`IFo;9tp zseSN!`BTKHDNle>0t4*$EW37Oy&vpj??;S3okGVuKmtR}36HUzze zWYCKXopNUpxzmZ@!|C@wTOB{ z;DIn%)QgWm)+*|)^LT8J`V~j-&F!2!SlxZm(jrsQmKV!Uf8^~wr&+P;*SB6N&511s zkHnoAbob+vw^?P!RxWPy;Om}ON#VV;t$XBoH~PLaY~tw;0~?LcINha-$AVjtO@Bvz z9njQiu6aa2+8a;(;~VykJUX({Wq9At#+CE3yG;vaZE$VS^rKyNuHgErZAlN0o&9uj z2ul<|c$=GbJoieyWcHLkR(rPp)VQCz#J-!w&z>9Xer0DQ(NNQrLkpJ{cly=SFc(vB}2ICBO@mDlF zHUFAk*ZDa|%FnDQe=|J)?fnjeb?)|0n`@@czp*i-rKs%Peb(J4ygJKfwEryVn)UR{ zO20Lq?}$h6lSG-Ta!;+$S?jj@<7E0(k=4ijcHtJLpO3E%x?x$mY1Pfyn^$-ipE%dtBk*3q*LL%lHjE=K z?oP80xEnL{KBGM-FTy8VSIVZ2&b0XyKXq&ycjj*PTE+1T;YBL<{=Ks%|k4G z)5?sK8*{6K^gc_Kz0W^u(&eAladyOIMaSKPh7aBkXZLJs^X&fG+24=N+hCc>N;mt)70(Qh+I9ZOTKh|nuC&a4o4ZtZ zZ_M7T#Q2ISqtBn%dwk^72@gw0%v~?q+b&ky$Zv<6>G44y%mW7MUlQktwOyYHzjg?F z)#s-9r9l4ieiswr>Cdv$n|ipv=u$eebnkAl$pP2oJ35nvw)5I2`)J?U65KB(C1=|8 z)(iaRb#M8o;m9pb7iUZ>t7vQ3sv*m`{oQ#_ZGOK@x9M$_x}vGAyOFwNmuZ_WH}5^&l&Ua;pwe&sn`_k}(tyWwaIHG!U0@D@_n-1E z)zDU+JowWZAaX_lp5HM!@3X7l)_vn27fkXw>om4)Bj1e<`GfepC=%JUj{o)VfNo^j588x}yX~>>qyAK4#_3qKE zfuIfFv}o_+X@>?*{;IRJ)7XQ{#kn1fEA@>pYpx&L-?3-tO0R;6Z|jHe4R{#vy6LR# z3-+ib8J^i}oBVOjU8nn6`CI#VJZZ^(pAh)@+8uKn-vH13lbTArL#!v=$v87It^eJ} zv8U}z7w%Ghq zFEeruuW4%iqILeZ+2h__3z$9qwrJJC4p-hUEXq^QfK=}Qa!miA=zs74p}37MjO=Ag z3e=mhoE|Ry9@P1F+xmk)rVMB_blPm!<&z3?4-&cimgVjta(DhMp|{f0Bvl_<3C|w*Q-~__!TH&EbuVhh7lDx-(^$cp7 zteeN??Ig^aHINSf9PJ$(oa}jhnF~(R3q%^xUN+W*X@47{9ib~F0NH*VE5dWJjW0?M zntrA39)ID6cb(;M)p#&9&a5>eN3Mmsgf`-<8$K9VL?72F;wbS;K1kxtxxOmEvE8J} zGe0k7YrSTF(l|Ze`OMpM<2aja?7c(gxjT#r^z|&V4jxrlzwG#p$E@H$hvO^0{3s5) zFm--z(NOyiBf`pUimqg49(}%~=yB>f-SOjA*y=QoePo}|S8r#pq1mS1%ii7Pn#9*{ zdu8WAmtzz6v^O}<^D9W*@>|Fm(_nH+_jNkwv(FU!nMclY)0ecqm$Y#D>5)D?=LYvN;%af9#`Hh`vn<>F>WFnm_ixVX7Ca>S zX7}vu;s?pEy-m$lUs`{;**&8e|F*^YEi{ul?`+76vOe3(HBYWPAe|8*5<J_?IcesOOQX3+-LXLnMEIPYDEy_>#Y_`Lq5QMc2c%y2p_ zcvEIMwP0dQvC<5rA)bg#wh@9(?}v!mTx3@BUt>6-9C)~IbAwx@aN7mP1CrCHd! zY!Giu<*_#re4ls5%g>%Ljda}U%s)7z+kh{lUOjx}Z_puon#%*Dv`%06+MkLS9SP9r zYa3d3p=SG#=XHPY`f|FmO{&M-`E@TiHvX~Je0rGa@?S3p#W%N@c+7ao)In=ji@3Yh ztnKRc9RE%ue0!J0TbFk}d~4+$y&gA4ZC~Sa$^4tKL(I;@=}%pv<5FL%&;0su0vR;_ EKMpiCU;qFB literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/StartupScripts/AzError.ps1 b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/StartupScripts/AzError.ps1 new file mode 100644 index 000000000000..f234bd2dd7e5 --- /dev/null +++ b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/StartupScripts/AzError.ps1 @@ -0,0 +1,278 @@ +function Write-InstallationCheckToFile +{ + Param($installationchecks) + if (Get-Module AzureRM.Profile -ListAvailable -ErrorAction Ignore) + { + Write-Warning ("Both Az and AzureRM modules were detected on this machine. Az and AzureRM modules cannot be imported in the same session or used in the same script or runbook. If you are running PowerShell in an environment you control you can use the 'Uninstall-AzureRm' cmdlet to remove all AzureRm modules from your machine. " + + "If you are running in Azure Automation, take care that none of your runbooks import both Az and AzureRM modules. More information can be found here: https://aka.ms/azps-migration-guide") + } + + $installationchecks.Add("AzSideBySideCheck","true") + try + { + if (Test-Path $pathToInstallationChecks -ErrorAction Ignore) + { + Remove-Item -Path $pathToInstallationChecks -ErrorAction Stop + } + + $pathToInstallDir = Split-Path -Path $pathToInstallationChecks -Parent -ErrorAction Stop + if (Test-Path $pathToInstallDir -ErrorAction Ignore) + { + New-Item -Path $pathToInstallationChecks -ErrorAction Stop -ItemType File -Value ($installationchecks | ConvertTo-Json -ErrorAction Stop) + } + } + catch + { + Write-Verbose "Installation checks failed to write to file." + } +} + +if (!($env:SkipAzInstallationChecks -eq "true")) +{ + $pathToInstallationChecks = Join-Path (Join-Path $HOME ".Azure") "AzInstallationChecks.json" + $installationchecks = @{} + if (!(Test-Path $pathToInstallationChecks -ErrorAction Ignore)) + { + Write-InstallationCheckToFile $installationchecks + } + else + { + try + { + ((Get-Content $pathToInstallationChecks -ErrorAction Stop) | ConvertFrom-Json -ErrorAction Stop).PSObject.Properties | Foreach { $installationchecks[$_.Name] = $_.Value } + } + catch + { + Write-InstallationCheckToFile $installationchecks + } + + if (!$installationchecks.ContainsKey("AzSideBySideCheck")) + { + Write-InstallationCheckToFile $installationchecks + } + } +} + +if (Get-Module AzureRM.profile -ErrorAction Ignore) +{ + Write-Warning ("AzureRM.Profile already loaded. Az and AzureRM modules cannot be imported in the same session or used in the same script or runbook. If you are running PowerShell in an environment you control you can use the 'Uninstall-AzureRm' cmdlet to remove all AzureRm modules from your machine. " + + "If you are running in Azure Automation, take care that none of your runbooks import both Az and AzureRM modules. More information can be found here: https://aka.ms/azps-migration-guide.") + throw ("AzureRM.Profile already loaded. Az and AzureRM modules cannot be imported in the same session or used in the same script or runbook. If you are running PowerShell in an environment you control you can use the 'Uninstall-AzureRm' cmdlet to remove all AzureRm modules from your machine. " + + "If you are running in Azure Automation, take care that none of your runbooks import both Az and AzureRM modules. More information can be found here: https://aka.ms/azps-migration-guide.") +} + +Update-TypeData -AppendPath (Join-Path (Get-Item $PSScriptRoot).Parent.FullName Accounts.types.ps1xml) -ErrorAction Ignore +# SIG # Begin signature block +# MIInuQYJKoZIhvcNAQcCoIInqjCCJ6YCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDT3s8rOGw0kP8l +# AbYXJ7G9hr2fOKBRtW5xO6fWVEOZvqCCDYEwggX/MIID56ADAgECAhMzAAACUosz +# qviV8znbAAAAAAJSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjEwOTAyMTgzMjU5WhcNMjIwOTAxMTgzMjU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDQ5M+Ps/X7BNuv5B/0I6uoDwj0NJOo1KrVQqO7ggRXccklyTrWL4xMShjIou2I +# sbYnF67wXzVAq5Om4oe+LfzSDOzjcb6ms00gBo0OQaqwQ1BijyJ7NvDf80I1fW9O +# L76Kt0Wpc2zrGhzcHdb7upPrvxvSNNUvxK3sgw7YTt31410vpEp8yfBEl/hd8ZzA +# v47DCgJ5j1zm295s1RVZHNp6MoiQFVOECm4AwK2l28i+YER1JO4IplTH44uvzX9o +# RnJHaMvWzZEpozPy4jNO2DDqbcNs4zh7AWMhE1PWFVA+CHI/En5nASvCvLmuR/t8 +# q4bc8XR8QIZJQSp+2U6m2ldNAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUNZJaEUGL2Guwt7ZOAu4efEYXedEw +# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1 +# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDY3NTk3MB8GA1UdIwQYMBaAFEhu +# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu +# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w +# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx +# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAFkk3 +# uSxkTEBh1NtAl7BivIEsAWdgX1qZ+EdZMYbQKasY6IhSLXRMxF1B3OKdR9K/kccp +# kvNcGl8D7YyYS4mhCUMBR+VLrg3f8PUj38A9V5aiY2/Jok7WZFOAmjPRNNGnyeg7 +# l0lTiThFqE+2aOs6+heegqAdelGgNJKRHLWRuhGKuLIw5lkgx9Ky+QvZrn/Ddi8u +# TIgWKp+MGG8xY6PBvvjgt9jQShlnPrZ3UY8Bvwy6rynhXBaV0V0TTL0gEx7eh/K1 +# o8Miaru6s/7FyqOLeUS4vTHh9TgBL5DtxCYurXbSBVtL1Fj44+Od/6cmC9mmvrti +# yG709Y3Rd3YdJj2f3GJq7Y7KdWq0QYhatKhBeg4fxjhg0yut2g6aM1mxjNPrE48z +# 6HWCNGu9gMK5ZudldRw4a45Z06Aoktof0CqOyTErvq0YjoE4Xpa0+87T/PVUXNqf +# 7Y+qSU7+9LtLQuMYR4w3cSPjuNusvLf9gBnch5RqM7kaDtYWDgLyB42EfsxeMqwK +# WwA+TVi0HrWRqfSx2olbE56hJcEkMjOSKz3sRuupFCX3UroyYf52L+2iVTrda8XW +# esPG62Mnn3T8AuLfzeJFuAbfOSERx7IFZO92UPoXE1uEjL5skl1yTZB3MubgOA4F +# 8KoRNhviFAEST+nG8c8uIsbZeb08SeYQMqjVEmkwggd6MIIFYqADAgECAgphDpDS +# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 +# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla +# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT +# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB +# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG +# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S +# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz +# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7 +# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u +# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33 +# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl +# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP +# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB +# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF +# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM +# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ +# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud +# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO +# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0 +# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB +# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw +# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA +# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY +# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj +# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd +# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ +# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf +# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ +# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j +# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B +# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96 +# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7 +# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I +# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIZjjCCGYoCAQEwgZUwfjELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z +# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAlKLM6r4lfM52wAAAAACUjAN +# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor +# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgpH7D8Not +# WnytrY9dBBVdkjoPJbp/Jb5/OaJtNH+9PHMwQgYKKwYBBAGCNwIBDDE0MDKgFIAS +# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN +# BgkqhkiG9w0BAQEFAASCAQBeESsu04jkAEIOu00+XAL5Cw3b4lPK1+Y/A63nt7uC +# g0IvVE66lSl52+b6CVBX/G72fi7HlOIYoCyVKEIasUVN+dqAtdM2ib0RLRPrWxH9 +# 2axBlgxQg9nBAZkklffNIZjmkC+gZN37i3g0DHSwmb1ej9OwHDD0MYQpF8oIa81e +# oj07j6dAzRwVM0TaHEJj9kPXA81HN6CAYBJ/V3p0wYRbp3c2L9j2R9MtVVvnx/7z +# sbKvHJV+l3b/xCT5T0/J5l5QoLzzNyfWB7Zvaz0DbKX1bln/rcb8uPYKVEz4wsKW +# 5zAm12WLQ87vxiIGLA6tv4lXxggEAUm68Nwjfw6vqkHRoYIXGDCCFxQGCisGAQQB +# gjcDAwExghcEMIIXAAYJKoZIhvcNAQcCoIIW8TCCFu0CAQMxDzANBglghkgBZQME +# AgEFADCCAVgGCyqGSIb3DQEJEAEEoIIBRwSCAUMwggE/AgEBBgorBgEEAYRZCgMB +# MDEwDQYJYIZIAWUDBAIBBQAEIEbwTnYvqLH2wAcLSr8ZwikKunQnLTH8PEiqd0Vr +# sTtWAgZiMTFcHxoYEjIwMjIwMzMxMTAwMDA4Ljg4WjAEgAIB9KCB2KSB1TCB0jEL +# MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v +# bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWlj +# cm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFs +# ZXMgVFNTIEVTTjpBMjQwLTRCODItMTMwRTElMCMGA1UEAxMcTWljcm9zb2Z0IFRp +# bWUtU3RhbXAgU2VydmljZaCCEWgwggcUMIIE/KADAgECAhMzAAABjXpVLnh0mSq3 +# AAEAAAGNMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpX +# YXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQg +# Q29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAy +# MDEwMB4XDTIxMTAyODE5Mjc0NVoXDTIzMDEyNjE5Mjc0NVowgdIxCzAJBgNVBAYT +# AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD +# VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJ +# cmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBF +# U046QTI0MC00QjgyLTEzMEUxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1w +# IFNlcnZpY2UwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDaNEgtmD47 +# pTt0ty7AE8wH7S0lTPTAcuonl/soldCxPNZOgANQxhXjFVmen2Y9NaiNQn+Xc7he +# p6AsM124UA5tyK2svJjkcOzEB9QbX/ZiKVxKRI/oJwypZ+xLBQsZfnOWxUocnu2/ +# CDbrLp4uSVR0UymKrb3hPi4lB1d3k7uYXLS9WRoY8bE1YttnEo3Ooq0WdZDuMy1n +# Tle9p+QhZms1MW/wYakCUe1GxnUDwoOjogNIZU1lldtCz587Aw4an8HOh3x/Vgjw +# Zvag3+bHZxy90av2VrnlBl5Wwzst9NoQ9DFuABwuBYOUg9yZPNwGSwTMs5CxKkHO +# yo9pYj3KRXDmh+auQUoxulBPkQySLay4mhUznEaB1lae3+3PTTG5s9IoWLgHggwV +# QH2ZwA1Sr1wdouwdsMn4BSxU7SqdWPDNc9gl5HsL8HxfRSXpSQh2mVmadxBlIErf +# JlDL6gay4kpcUCrcGXFPqQO6Fhi87uK0us95jSSe63WsqTGib66Lq8J22EJ+cCLK +# SfJELaWSerPPzHWYORDlDo7H2nr+V24W6lIky2CwI8318i+t+mkwMUi9GhQuwc50 +# smOtGWLxyjkz69mZ/bShPFi5fMzS1tG6sQnJwHlkxvDOewUfKY6SDLHw54WddXdx +# qvjm56MjUHWKpQNt5I3Ge9zO46FynPBpyQIDAQABo4IBNjCCATIwHQYDVR0OBBYE +# FHjMkW6Hn0bClO5KO7hJNx+WKGaTMB8GA1UdIwQYMBaAFJ+nFV0AXmJdg/Tl0mWn +# G1M1GelyMF8GA1UdHwRYMFYwVKBSoFCGTmh0dHA6Ly93d3cubWljcm9zb2Z0LmNv +# bS9wa2lvcHMvY3JsL01pY3Jvc29mdCUyMFRpbWUtU3RhbXAlMjBQQ0ElMjAyMDEw +# KDEpLmNybDBsBggrBgEFBQcBAQRgMF4wXAYIKwYBBQUHMAKGUGh0dHA6Ly93d3cu +# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwVGltZS1TdGFt +# cCUyMFBDQSUyMDIwMTAoMSkuY3J0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYI +# KwYBBQUHAwgwDQYJKoZIhvcNAQELBQADggIBADWvc7PSUSrdW+l0WWHdgHFziGdi +# QAvJg8Nr0U7heCrCQGbwuxv6Ure1sYaCmLpAlsreIzcErQ5sFzBFolULEYsa2von +# P2FG6ZHIXyjifbLdiIq/iiUHE2MVKFIZz0Tb0mZWMGYuCZ+NGo9z/asPbmrijDi4 +# Detz16SJq5+AaFxIB16T+X6QBJvOiE63/nPb4iWBPh7dq5JTO3YYAp8pkHTZkMZY +# op4JjekQuPW26HrJ+s4k88ic7hlktbe+Apq+0vx7oUlnImgMUx7Ann2gQv4Ard7Y +# zYjggUT2fotVLxtL1RsxQy+sCVc3lkzYjwZ0cH1Nt8jXtab/1R/iq7nzw8k3u8Im +# P2z4rFmpdzmwZJwuCqI+ohts1MT78ARn95OLFz1guBPIypqRkjn3AaqOs41BJju7 +# RUQOQQTqKTP4VIVEorOnJJvRZOAy9bGwu9uc3wAKYhI+cEdhmgayw8Avt+gYYoUt +# 0AFNALY9fX1aOt/KuyEd2KpKUKymogYFPFFoe3I8yujcH/bqA98KXcwLesLc0arj +# EacgcNkZKLNSYaDxORACWhV1Tl0nW/3XSCPFrFpStoaE/wi20TRFadTldGn+wZo2 +# YNwzBvIe5KloWyfdDbU7OK0/gGc3m2msdqeAALuOh7jOYueZGcCJRz2xGpDZuaww +# C9Smw7yeU4WaIzUvMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJmQAAAAAAFTAN +# BgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0 +# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh +# dGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9y +# aXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYD +# VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe +# MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3Nv +# ZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC +# AgoCggIBAOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDi +# vbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhgfWpSg0S3po5G +# awcU88V29YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJprx2rrPY2vjUm +# ZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/dvI2k45GPsjks +# UZzpcGkNyjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka97aSueik3rMvr +# g0XnRm7KMtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKRHh09/SDPc31B +# mkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9ituqBJR6L8FA6PR +# c6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyOArxCaC4Q6oRR +# RuLRvWoYWmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItboKaDIV1fMHSR +# lJTYuVD5C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6bMURHXLvjflS +# xIUXk8A8FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6tAgMBAAGjggHd +# MIIB2TASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSa +# voKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYD +# VR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBMGA1Ud +# JQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud +# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjR +# PZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0 +# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNy +# bDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9z +# b2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0G +# CSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/qXBS2Pk5HZHix +# BpOXPTEztTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjY +# Ni6cqYJWAAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVtI1TkeFN1JFe5 +# 3Z/zjj3G82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis9/kpicO8F7BU +# hUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTpkbKpW99Jo3QM +# vOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0sHrYUP4KWN1A +# PMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138eW0QBjloZkWsN +# n6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJsWkBRH58oWFs +# c/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue1 +# 0CgaiQuPNtq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6g +# MTN9vMvpe784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQtB1VM1izoXBm +# 8qGCAtcwggJAAgEBMIIBAKGB2KSB1TCB0jELMAkGA1UEBhMCVVMxEzARBgNVBAgT +# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m +# dCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0 +# aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjpBMjQwLTRCODIt +# MTMwRTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaIjCgEB +# MAcGBSsOAwIaAxUAgHOVkz1NE0Pg+C2ktZBmRI9hVwmggYMwgYCkfjB8MQswCQYD +# VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe +# MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3Nv +# ZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIFAOXvddYwIhgP +# MjAyMjAzMzEwODM1MzRaGA8yMDIyMDQwMTA4MzUzNFowdzA9BgorBgEEAYRZCgQB +# MS8wLTAKAgUA5e911gIBADAKAgEAAgIXqQIB/zAHAgEAAgIRHzAKAgUA5fDHVgIB +# ADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAIDB6EgoQow +# CAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBABjrSR17sdYAEtszvl2BWos/C7ZR +# fepANqhK1OqRLv3nelgcpzoYSpF3+csIJ5gGoL5clExMw1t3hkOSQLOzGWvkcWIY +# Tp5Pv4q/CpB/52Mrn1kC2zSej1E9lx0InBB++pTdEr3WCn9KDZsIy8B9M3gtEamp +# Di1hg/Yaskk2pVuQMYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg +# UENBIDIwMTACEzMAAAGNelUueHSZKrcAAQAAAY0wDQYJYIZIAWUDBAIBBQCgggFK +# MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgv72G +# 0X2zWUJuJvjSqtgMZ02BVYmEgLTkIUsRp8UHvXIwgfoGCyqGSIb3DQEJEAIvMYHq +# MIHnMIHkMIG9BCCelhEz+h1eQMCfN/a50vnr1bxx8ZODBW56dDy20hjNfzCBmDCB +# gKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH +# EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV +# BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAABjXpVLnh0mSq3 +# AAEAAAGNMCIEIKC8K55Td1F8Kw4pKkbmiSw7Hb/xIcUSNIsHKB52X2hTMA0GCSqG +# SIb3DQEBCwUABIICAMsOXK3vJQX7Jt2lDwVppNTdiboPDVwXRfezsK8NLGK7wZhp +# e/fEsGp3kFdqmeiDT/QGZV+ixnGjOTyJSaq6+wtvZyqKLUoEkhD9g+hFk23Hn3ui +# RiAp6LSf263zzgNQ9SbNssjiOChkILaTpt+GeV+lHAH6N412gYM7pbVyw9v7jvx+ +# Mp+iFKUVQAqZZDGm55MyTqfVdPeb8YpN9pqPSYG4ruCTwZBYGI+p7LFuKgQqF+FB +# 2KTqsTuxoHI6HAV3OibJcIFKQLFxaHjD0/YjYeZSoMUMD/ojZpdEoFrLtTXmIZ2e +# yOFKcX1LMzwwHhEpOpc9m9g4/B2kYTHUl1hFupXEu9PZnNa0IweqtM/GdX/Ji/// +# JRcDe8vtLNQz7z8ZQF28k1ufRDGfm5YIQDHu9Zx33gbpsWIyGZMmlbU4UMJDvAbM +# +sCYtGGLcMEObyiurnDOF4dix7QAdLWqGG2YiyZ9u0T/hRLi3THXhLGK5Xt4dgBk +# aeyJv7T3ZPfsbu8a10lgFkyVbmJt6up2OZbaqW1PjmvgtcsNmRyhD9oSZzOXdTiW +# iIGeLtHEkiSvZnWbaDqpx7ahcaHsmS5QvwWkYGGx1uHMOwJHuFq7jKPo3SYMxAwq +# GQW+QTZroDYL+UTfaUobfPyrS3bDw3L7xVqOOBwGidlOwx3ZYU4mNlSbfCN3 +# SIG # End signature block diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/StartupScripts/InitializeAssemblyResolver.ps1 b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/StartupScripts/InitializeAssemblyResolver.ps1 new file mode 100644 index 000000000000..4e557723dc33 --- /dev/null +++ b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/StartupScripts/InitializeAssemblyResolver.ps1 @@ -0,0 +1,234 @@ +if ($PSEdition -eq 'Desktop') { + try { + [Microsoft.Azure.Commands.Profile.Utilities.CustomAssemblyResolver]::Initialize() + } + catch { + Write-Warning $_ + } +} +else { + try { + Add-Type -Path ([System.IO.Path]::Combine($PSScriptRoot, "..", "Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext.dll")) | Out-Null + $assemblyLoadContextFolder = [System.IO.Path]::Combine($PSScriptRoot, "..", "AzSharedAlcAssemblies") + Write-Debug "Registering Az shared AssemblyLoadContext for path: '$assemblyLoadContextFolder'." + [Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext.AzAssemblyLoadContextInitializer]::RegisterAzSharedAssemblyLoadContext($assemblyLoadContextFolder) + Write-Debug "AssemblyLoadContext registered." + } + catch { + Write-Warning $_ + } +} +# SIG # Begin signature block +# MIInrQYJKoZIhvcNAQcCoIInnjCCJ5oCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCfno9x0LEd5gPe +# 4cvAg6ULJtMLR6g+Xis+I4rbSZlHZqCCDYEwggX/MIID56ADAgECAhMzAAACUosz +# qviV8znbAAAAAAJSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjEwOTAyMTgzMjU5WhcNMjIwOTAxMTgzMjU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDQ5M+Ps/X7BNuv5B/0I6uoDwj0NJOo1KrVQqO7ggRXccklyTrWL4xMShjIou2I +# sbYnF67wXzVAq5Om4oe+LfzSDOzjcb6ms00gBo0OQaqwQ1BijyJ7NvDf80I1fW9O +# L76Kt0Wpc2zrGhzcHdb7upPrvxvSNNUvxK3sgw7YTt31410vpEp8yfBEl/hd8ZzA +# v47DCgJ5j1zm295s1RVZHNp6MoiQFVOECm4AwK2l28i+YER1JO4IplTH44uvzX9o +# RnJHaMvWzZEpozPy4jNO2DDqbcNs4zh7AWMhE1PWFVA+CHI/En5nASvCvLmuR/t8 +# q4bc8XR8QIZJQSp+2U6m2ldNAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUNZJaEUGL2Guwt7ZOAu4efEYXedEw +# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1 +# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDY3NTk3MB8GA1UdIwQYMBaAFEhu +# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu +# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w +# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx +# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAFkk3 +# uSxkTEBh1NtAl7BivIEsAWdgX1qZ+EdZMYbQKasY6IhSLXRMxF1B3OKdR9K/kccp +# kvNcGl8D7YyYS4mhCUMBR+VLrg3f8PUj38A9V5aiY2/Jok7WZFOAmjPRNNGnyeg7 +# l0lTiThFqE+2aOs6+heegqAdelGgNJKRHLWRuhGKuLIw5lkgx9Ky+QvZrn/Ddi8u +# TIgWKp+MGG8xY6PBvvjgt9jQShlnPrZ3UY8Bvwy6rynhXBaV0V0TTL0gEx7eh/K1 +# o8Miaru6s/7FyqOLeUS4vTHh9TgBL5DtxCYurXbSBVtL1Fj44+Od/6cmC9mmvrti +# yG709Y3Rd3YdJj2f3GJq7Y7KdWq0QYhatKhBeg4fxjhg0yut2g6aM1mxjNPrE48z +# 6HWCNGu9gMK5ZudldRw4a45Z06Aoktof0CqOyTErvq0YjoE4Xpa0+87T/PVUXNqf +# 7Y+qSU7+9LtLQuMYR4w3cSPjuNusvLf9gBnch5RqM7kaDtYWDgLyB42EfsxeMqwK +# WwA+TVi0HrWRqfSx2olbE56hJcEkMjOSKz3sRuupFCX3UroyYf52L+2iVTrda8XW +# esPG62Mnn3T8AuLfzeJFuAbfOSERx7IFZO92UPoXE1uEjL5skl1yTZB3MubgOA4F +# 8KoRNhviFAEST+nG8c8uIsbZeb08SeYQMqjVEmkwggd6MIIFYqADAgECAgphDpDS +# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 +# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla +# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT +# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB +# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG +# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S +# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz +# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7 +# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u +# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33 +# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl +# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP +# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB +# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF +# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM +# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ +# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud +# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO +# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0 +# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB +# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw +# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA +# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY +# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj +# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd +# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ +# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf +# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ +# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j +# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B +# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96 +# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7 +# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I +# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIZgjCCGX4CAQEwgZUwfjELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z +# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAlKLM6r4lfM52wAAAAACUjAN +# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor +# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgyFkgUqEG +# ohT1KbDw544Hgmj3zWoOXkAlMHIwAyFcowAwQgYKKwYBBAGCNwIBDDE0MDKgFIAS +# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN +# BgkqhkiG9w0BAQEFAASCAQCa0t0uHrS1Z8rXJEETxc2oe78Dv4Qo198ub5+3zLvP +# Uwb+RkVmouToXjo3dapicrrP8ELcphopBonxGcVJFdu9HT8uuwL9KEp0yDpjUxKA +# 0yPVc1pc+f5vmlLY1kyUHMb9Deahzp5oJnL6NLyupJ8w6DLb21SCiIWl71l5vf2B +# i8Nx+jIjxGEC5Emqk6GLFAjR4TR6KO1j6gkHutOu3k0Q/+CgvgEwPbwtBXjcE9jV +# u7AZ6Iu5mE8q7NQ01GwWUMs13xpWLxE8HgvWtu3ozXjFeFaG3u9NEyx/zlkEB1cS +# Ntqh/F34ovkTvJxnIBPSRZfGubCV0fp9Qm0gXxrz3y/roYIXDDCCFwgGCisGAQQB +# gjcDAwExghb4MIIW9AYJKoZIhvcNAQcCoIIW5TCCFuECAQMxDzANBglghkgBZQME +# AgEFADCCAVUGCyqGSIb3DQEJEAEEoIIBRASCAUAwggE8AgEBBgorBgEEAYRZCgMB +# MDEwDQYJYIZIAWUDBAIBBQAEIBvIyrpwHucEdb9YUkDCNmUPQk1ErTyZteMy3AB+ +# P++VAgZiL7Y+PNcYEzIwMjIwMzMxMTAwMDA5LjE3NlowBIACAfSggdSkgdEwgc4x +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKTAnBgNVBAsTIE1p +# Y3Jvc29mdCBPcGVyYXRpb25zIFB1ZXJ0byBSaWNvMSYwJAYDVQQLEx1UaGFsZXMg +# VFNTIEVTTjo2MEJDLUUzODMtMjYzNTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt +# U3RhbXAgU2VydmljZaCCEV8wggcQMIIE+KADAgECAhMzAAABpllFgzlNnutLAAEA +# AAGmMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo +# aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y +# cG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEw +# MB4XDTIyMDMwMjE4NTEyMVoXDTIzMDUxMTE4NTEyMVowgc4xCzAJBgNVBAYTAlVT +# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK +# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVy +# YXRpb25zIFB1ZXJ0byBSaWNvMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo2MEJD +# LUUzODMtMjYzNTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vydmlj +# ZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANmYv3tSI+fJ/NQJnjz7 +# JvCnc+Xm0rKoe9YKD4MvMYCul7egdrT/zv5vFbQgjNQ74672fNweaztkR65V8y29 +# u5PL2sf01p+uche0Zu4tSig+GsQ6ZQl9tjPRAY/3ITBHDeIYyvq8Wne9+7NoPLhx +# DSO6dtX7YCuQ4zcTP3SE6MvB4b5NighdtvoZVaYk1lXpjUTfdmKoX1ABq1sJbULS +# nSi0Qd4vvl3mZ9jxwv9dR/nlZP62lrZYZq7LPtHD6BlmclB5PT89DnSm1sjaZnFH +# rKzOsmq5GlmL5SFugCCZOoKz133FJeQaFMcXBZSCQjNABWBbHIRCE1ysHHG83Ddo +# nRmnC8EOlYeRwTWz/QCz6q0riOIbYyC/A2BgUEpu9/9EymrTsyMr2/zS8GdEybQ5 +# W7f0WrcrmKB/Y62+g6TmfOS8NtU+L1jGoKNG6Q5RlfJwZu8J/Q9dl4OxyHKuy78+ +# wm6HsF7uAizpsWh63UUaoK/OGQiBG3NJ+kef5eWpnva4ZJfhAnqYTAZD1uHgf8Vf +# Qjnl0BB2YXzK9WaTqde8d+8qCxVKr5hJYvbO+X3+2k5PCirUK/SboreX+xUhVaQE +# hVDYqlatyPttI7Z2IrkhMzwFvc+p0QeyMiNmo2cBZejx8icDOcUidwymDUYqGPE7 +# MA8vtKW3feeSSYJsCEkuUO/vAgMBAAGjggE2MIIBMjAdBgNVHQ4EFgQUOlQhO/zG +# lqK99UkNL/Gu/AryN9gwHwYDVR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIw +# XwYDVR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9w +# cy9jcmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3Js +# MGwGCCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3Nv +# ZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENB +# JTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcD +# CDANBgkqhkiG9w0BAQsFAAOCAgEAgMDxWDTpGqLnFoPhm/iDfwHGF8xr2NbrJl8e +# gEg2ThTJsTf0wBE+ZQsnYfrRmXBbe6sCXLVN70qPuI+OEbN5MOai7Bue1/4j5VTk +# WquH5GZeVat2N+dD7lSUWp0dU8j+uBhBL5GFSmoDVVm+zW2GR2juPI1v254AJTb2 +# l458anlkJjGvmYn2BtRS13h/wDR7hrQaI7BgdyHWAV5+HEj5UhrIrrvtwJiivSaU +# EA3qK6ZK/rZIQv/uORDkONw+2pHHIE1SXm/WIlhrVS2HIogfr3JjqvZion6LJSD7 +# 41j8xVDLiClwAbspHoVFjxtxBcMjqPx6aWCJS8vjSoTnhkV4PO55mqsM7Q8XQRGQ +# hA7w4zNQOJu9kD4xFdYpPUmLN/daIcEElofBjGz+sEd1B4yqqIk3u2G4VygTXFmt +# hL8chSo7r+GIvTqWKhSA/sanS4N3jCgCCe3FTSJsp4g5nwavLvWAtzcOIvSRorGm +# AeN0m2wgzBK95T/qgrGGDXSos1JNDWRVBnP0qsw1Qoq5G0D8hxvQPs3X43KBv1GJ +# l0wo5rcC+9OMWxJlB63gtToQsA1CErYoYLMZtUzJL74jwZk/grpHEQhIhB3sneC8 +# wzGKJuft7YO/HWCpuwdChIjynTnBh+yFGMdg3wRrIbOcw/iKmXZopMTQMOcmIeIw +# JAezA7AwggdxMIIFWaADAgECAhMzAAAAFcXna54Cm0mZAAAAAAAVMA0GCSqGSIb3 +# DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G +# A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTIw +# MAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAx +# MDAeFw0yMTA5MzAxODIyMjVaFw0zMDA5MzAxODMyMjVaMHwxCzAJBgNVBAYTAlVT +# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK +# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1l +# LVN0YW1wIFBDQSAyMDEwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA +# 5OGmTOe0ciELeaLL1yR5vQ7VgtP97pwHB9KpbE51yMo1V/YBf2xK4OK9uT4XYDP/ +# XE/HZveVU3Fa4n5KWv64NmeFRiMMtY0Tz3cywBAY6GB9alKDRLemjkZrBxTzxXb1 +# hlDcwUTIcVxRMTegCjhuje3XD9gmU3w5YQJ6xKr9cmmvHaus9ja+NSZk2pg7uhp7 +# M62AW36MEBydUv626GIl3GoPz130/o5Tz9bshVZN7928jaTjkY+yOSxRnOlwaQ3K +# Ni1wjjHINSi947SHJMPgyY9+tVSP3PoFVZhtaDuaRr3tpK56KTesy+uDRedGbsoy +# 1cCGMFxPLOJiss254o2I5JasAUq7vnGpF1tnYN74kpEeHT39IM9zfUGaRnXNxF80 +# 3RKJ1v2lIH1+/NmeRd+2ci/bfV+AutuqfjbsNkz2K26oElHovwUDo9Fzpk03dJQc +# NIIP8BDyt0cY7afomXw/TNuvXsLz1dhzPUNOwTM5TI4CvEJoLhDqhFFG4tG9ahha +# YQFzymeiXtcodgLiMxhy16cg8ML6EgrXY28MyTZki1ugpoMhXV8wdJGUlNi5UPkL +# iWHzNgY1GIRH29wb0f2y1BzFa/ZcUlFdEtsluq9QBXpsxREdcu+N+VLEhReTwDwV +# 2xo3xwgVGD94q0W29R6HXtqPnhZyacaue7e3PmriLq0CAwEAAaOCAd0wggHZMBIG +# CSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFCqnUv5kxJq+gpE8RjUp +# zxD/LwTuMB0GA1UdDgQWBBSfpxVdAF5iXYP05dJlpxtTNRnpcjBcBgNVHSAEVTBT +# MFEGDCsGAQQBgjdMg30BATBBMD8GCCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1pY3Jv +# c29mdC5jb20vcGtpb3BzL0RvY3MvUmVwb3NpdG9yeS5odG0wEwYDVR0lBAwwCgYI +# KwYBBQUHAwgwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGG +# MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186a +# GMQwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br +# aS9jcmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsG +# AQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29t +# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcnQwDQYJKoZIhvcN +# AQELBQADggIBAJ1VffwqreEsH2cBMSRb4Z5yS/ypb+pcFLY+TkdkeLEGk5c9MTO1 +# OdfCcTY/2mRsfNB1OW27DzHkwo/7bNGhlBgi7ulmZzpTTd2YurYeeNg2LpypglYA +# A7AFvonoaeC6Ce5732pvvinLbtg/SHUB2RjebYIM9W0jVOR4U3UkV7ndn/OOPcbz +# aN9l9qRWqveVtihVJ9AkvUCgvxm2EhIRXT0n4ECWOKz3+SmJw7wXsFSFQrP8DJ6L +# GYnn8AtqgcKBGUIZUnWKNsIdw2FzLixre24/LAl4FOmRsqlb30mjdAy87JGA0j3m +# Sj5mO0+7hvoyGtmW9I/2kQH2zsZ0/fZMcm8Qq3UwxTSwethQ/gpY3UA8x1RtnWN0 +# SCyxTkctwRQEcb9k+SS+c23Kjgm9swFXSVRk2XPXfx5bRAGOWhmRaw2fpCjcZxko +# JLo4S5pu+yFUa2pFEUep8beuyOiJXk+d0tBMdrVXVAmxaQFEfnyhYWxz/gq77EFm +# PWn9y8FBSX5+k77L+DvktxW/tM4+pTFRhLy/AsGConsXHRWJjXD+57XQKBqJC482 +# 2rpM+Zv/Cuk0+CQ1ZyvgDbjmjJnW4SLq8CdCPSWU5nR0W2rRnj7tfqAxM328y+l7 +# vzhwRNGQ8cirOoo6CGJ/2XBjU02N7oJtpQUQwXEGahC0HVUzWLOhcGbyoYIC0jCC +# AjsCAQEwgfyhgdSkgdEwgc4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n +# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y +# YXRpb24xKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1ZXJ0byBSaWNv +# MSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo2MEJDLUUzODMtMjYzNTElMCMGA1UE +# AxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIaAxUA +# anQzrZW9TB93Ve7Pa4UPao2ffK2ggYMwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEG +# A1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj +# cm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFt +# cCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIFAOXv9TcwIhgPMjAyMjAzMzExMzM5 +# MDNaGA8yMDIyMDQwMTEzMzkwM1owdzA9BgorBgEEAYRZCgQBMS8wLTAKAgUA5e/1 +# NwIBADAKAgEAAgIlMAIB/zAHAgEAAgIRCDAKAgUA5fFGtwIBADA2BgorBgEEAYRZ +# CgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAIDB6EgoQowCAIBAAIDAYagMA0G +# CSqGSIb3DQEBBQUAA4GBALD1RzDUwq+H9m0MSYjCz5wQ1OtK2kysUfWmpMU4m/5I +# had8kbNZdJ3KIrx0YGBUzNZ+Lq0oh2bND8oZcOvd2Hp24j+V7qoE3si8uVWGudxS +# modF1/mMXXk9ekKyQlZEjz3BMuu37KSyigsrBtFsCP8HOYXKBGcDbc6qn5XH4yKD +# MYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0 +# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh +# dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMA +# AAGmWUWDOU2e60sAAQAAAaYwDQYJYIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJ +# AzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgBSF4kR8GItz8rwRGC1l8 +# k8ybbSy8clYGHzCOxkaX3MUwgfoGCyqGSIb3DQEJEAIvMYHqMIHnMIHkMIG9BCCD +# CxmLwz90fWvhMKbJTAQaKt3DoXeiAhfp8TD9tgSrDTCBmDCBgKR+MHwxCzAJBgNV +# BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w +# HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29m +# dCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAABpllFgzlNnutLAAEAAAGmMCIEIBah +# XRJ2u8MV3DcxWnj3RsKu1063lhZi+mCg8CTJsOXVMA0GCSqGSIb3DQEBCwUABIIC +# AKwjzxsDe/9a9+S3w9P62SVFf6qdfGVu9TFSVozXaesncRAk2r5PYVIzQBLXEctH +# uMjKgizzU+OOxm1sxXQFxUa56d7W+W0Jg7ULtoKBKPQtEUN5uAo4j2bxZGMLqPMd +# DR5oFeKvtuIUk4DiXx02gUT6GITVUnFkkHt4y9j9PwZb7TNlan8/wTeTHO0kH2QZ +# xSt9oLx0jSb5/nBUCAE7G38h6P29oMvljU4xleVaSon0n73QlTg/hMAedxBVDol7 +# ZFh6Q93jDq/8l4XsA4y1UIObDo/8NxDvISc2tYeybT++wrtwkOLw6jpWXezk4uA3 +# cPi5rfOQhiBPG8dLCT9SWelaQWFq6wDL/wWQWWohrMVGaRoIp+p7TrRTUl3eoGIW +# lvUbTuUotQzzmQY1Zf8S4g430lulVYqdenhq6E3mzdU9VjueouAji4yYyJ8jeZmz +# c2e2W3goWOO5UWBujRETmFekpuj1cPiQ1en4QlRDeDHIgUa8OQcFbhof3cXZ0+CM +# mFYy5NofggR5oWN1IO6TAGc5w4tn+6i5RrR+C464W7R39A8peRCPXpZHMX5Nfinl +# McxNzvCRdwxdwMcfAl5fbvKiHAMFVaJlU8YkDHxtshVTBTAdB5scvBwEfVBqTRgN +# Y3evpxNmLhQ49mbUo+IsGdgKb4wU3AOkvXBDIVg0/Ll+ +# SIG # End signature block diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/[Content_Types].xml b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/[Content_Types].xml new file mode 100644 index 000000000000..95d6227f2ef8 --- /dev/null +++ b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/[Content_Types].xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/_rels/.rels b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/_rels/.rels new file mode 100644 index 000000000000..95479a0e6d24 --- /dev/null +++ b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/_rels/.rels @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/en-US/about_az.help.txt b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/en-US/about_az.help.txt new file mode 100644 index 000000000000..7e294d272854 --- /dev/null +++ b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/en-US/about_az.help.txt @@ -0,0 +1,50 @@ +About topic for Azure PowerShell - about_az + +TOPIC + +about_Az + +SHORT DESCRIPTION + +The Azure Az PowerShell module is a set of cmdlets for managing Azure +resources directly from the PowerShell command line and in PowerShell +scripts. + +LONG DESCRIPTION + +Azure PowerShell provides cross-platform cmdlets for managing Azure +services. All Azure PowerShell cmdlets work on Windows PowerShell 5.1 and +supported versions of PowerShell 7. + +The Azure PowerShell cmdlets follow the naming convention {verb}-Az{noun}. + +- {verb} is an approved PowerShell verb reflecting the corresponding HTTP + operation. + +- {noun} matches or has a close equivalent to the name of the resource. + +The cmdlets produce .NET objects that can be piped between commands +simplifying the sequencing of commands making Azure PowerShell a powerful +solution for scripting and automation purposes. + +A PowerShell module is available for each Azure service. For convenience, +we provide a wrapper module named "Az" that comprises the stable modules. +Modules in preview must be installed independently or via the "AzPreview" +wrapper module. + +Azure PowerShell is frequently updated to include bug fixes and service +updates. It is recommended to plan to update to the most recent version +regularly (a minimum of twice a year). + +GETTING STARTED + +1. Connect to Azure using Connect-AzAccount + +2. Run your first command. For example, create a resource group in the + east US region. + + New-AzResourceGroup -Name "MyResoureGroup" -location "eastus" + +SEE ALSO + +Azure PowerShell documentation: https://docs.microsoft.com/powershell/azure diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/package/services/metadata/core-properties/1aa0749a068a4238881858013f1a5b7f.psmdcp b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/package/services/metadata/core-properties/1aa0749a068a4238881858013f1a5b7f.psmdcp new file mode 100644 index 000000000000..5c37526de859 --- /dev/null +++ b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/package/services/metadata/core-properties/1aa0749a068a4238881858013f1a5b7f.psmdcp @@ -0,0 +1,11 @@ + + + Microsoft Corporation + Microsoft Azure PowerShell - Accounts credential management cmdlets for Azure Resource Manager in Windows PowerShell and PowerShell Core. + +For more information on account credential management, please visit the following: https://docs.microsoft.com/powershell/azure/authenticate-azureps + Az.Accounts + 2.7.5 + Azure ResourceManager ARM Accounts Authentication Environment Subscription PSModule PSIncludes_Cmdlet PSCmdlet_Disable-AzDataCollection PSCmdlet_Disable-AzContextAutosave PSCmdlet_Enable-AzDataCollection PSCmdlet_Enable-AzContextAutosave PSCmdlet_Remove-AzEnvironment PSCmdlet_Get-AzEnvironment PSCmdlet_Set-AzEnvironment PSCmdlet_Add-AzEnvironment PSCmdlet_Get-AzSubscription PSCmdlet_Connect-AzAccount PSCmdlet_Get-AzContext PSCmdlet_Set-AzContext PSCmdlet_Import-AzContext PSCmdlet_Save-AzContext PSCmdlet_Get-AzTenant PSCmdlet_Send-Feedback PSCmdlet_Resolve-AzError PSCmdlet_Select-AzContext PSCmdlet_Rename-AzContext PSCmdlet_Remove-AzContext PSCmdlet_Clear-AzContext PSCmdlet_Disconnect-AzAccount PSCmdlet_Get-AzContextAutosaveSetting PSCmdlet_Set-AzDefault PSCmdlet_Get-AzDefault PSCmdlet_Clear-AzDefault PSCmdlet_Register-AzModule PSCmdlet_Enable-AzureRmAlias PSCmdlet_Disable-AzureRmAlias PSCmdlet_Uninstall-AzureRm PSCmdlet_Invoke-AzRestMethod PSCmdlet_Get-AzAccessToken PSCmdlet_Open-AzSurveyLink PSCommand_Disable-AzDataCollection PSCommand_Disable-AzContextAutosave PSCommand_Enable-AzDataCollection PSCommand_Enable-AzContextAutosave PSCommand_Remove-AzEnvironment PSCommand_Get-AzEnvironment PSCommand_Set-AzEnvironment PSCommand_Add-AzEnvironment PSCommand_Get-AzSubscription PSCommand_Connect-AzAccount PSCommand_Get-AzContext PSCommand_Set-AzContext PSCommand_Import-AzContext PSCommand_Save-AzContext PSCommand_Get-AzTenant PSCommand_Send-Feedback PSCommand_Resolve-AzError PSCommand_Select-AzContext PSCommand_Rename-AzContext PSCommand_Remove-AzContext PSCommand_Clear-AzContext PSCommand_Disconnect-AzAccount PSCommand_Get-AzContextAutosaveSetting PSCommand_Set-AzDefault PSCommand_Get-AzDefault PSCommand_Clear-AzDefault PSCommand_Register-AzModule PSCommand_Enable-AzureRmAlias PSCommand_Disable-AzureRmAlias PSCommand_Uninstall-AzureRm PSCommand_Invoke-AzRestMethod PSCommand_Get-AzAccessToken PSCommand_Open-AzSurveyLink PSCommand_Add-AzAccount PSCommand_Login-AzAccount PSCommand_Remove-AzAccount PSCommand_Logout-AzAccount PSCommand_Select-AzSubscription PSCommand_Resolve-Error PSCommand_Save-AzProfile PSCommand_Get-AzDomain PSCommand_Invoke-AzRest + NuGet, Version=3.4.4.1321, Culture=neutral, PublicKeyToken=31bf3856ad364e35;Microsoft Windows NT 6.2.9200.0;.NET Framework 4.5 + \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/AsyncCommandRuntime.cs b/swaggerci/redis/generated/runtime/AsyncCommandRuntime.cs new file mode 100644 index 000000000000..91b6e463e8c7 --- /dev/null +++ b/swaggerci/redis/generated/runtime/AsyncCommandRuntime.cs @@ -0,0 +1,832 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + using System.Management.Automation; + using System.Management.Automation.Host; + using System.Threading; + using System.Linq; + + internal interface IAsyncCommandRuntimeExtensions + { + Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep Wrap(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep func); + System.Collections.Generic.IEnumerable Wrap(System.Collections.Generic.IEnumerable funcs); + + T ExecuteSync(System.Func step); + } + + public class AsyncCommandRuntime : System.Management.Automation.ICommandRuntime2, IAsyncCommandRuntimeExtensions, System.IDisposable + { + private ICommandRuntime2 originalCommandRuntime; + private System.Threading.Thread originalThread; + public bool AllowInteractive { get; set; } = false; + + public CancellationToken cancellationToken; + SemaphoreSlim semaphore = new SemaphoreSlim(1, 1); + ManualResetEventSlim readyToRun = new ManualResetEventSlim(false); + ManualResetEventSlim completed = new ManualResetEventSlim(false); + + System.Action runOnMainThread; + + private System.Management.Automation.PSCmdlet cmdlet; + + internal AsyncCommandRuntime(System.Management.Automation.PSCmdlet cmdlet, CancellationToken cancellationToken) + { + this.originalCommandRuntime = cmdlet.CommandRuntime as ICommandRuntime2; + this.originalThread = System.Threading.Thread.CurrentThread; + this.cancellationToken = cancellationToken; + this.cmdlet = cmdlet; + if (cmdlet.PagingParameters != null) + { + WriteDebug("Client side pagination is enabled for this cmdlet"); + } + cmdlet.CommandRuntime = this; + } + + public PSHost Host => this.originalCommandRuntime.Host; + + public PSTransactionContext CurrentPSTransaction => this.originalCommandRuntime.CurrentPSTransaction; + + private void CheckForInteractive() + { + // This is an interactive call -- if we are not on the original thread, this will only work if this was done at ACR creation time; + if (!AllowInteractive) + { + throw new System.Exception("AsyncCommandRuntime is not configured for interactive calls"); + } + } + private void WaitOurTurn() + { + // wait for our turn to play + semaphore?.Wait(cancellationToken); + + // ensure that completed is not set + completed.Reset(); + } + + private void WaitForCompletion() + { + // wait for the result (or cancellation!) + WaitHandle.WaitAny(new[] { cancellationToken.WaitHandle, completed?.WaitHandle }); + + // let go of the semaphore + semaphore?.Release(); + + } + + public bool ShouldContinue(string query, string caption, bool hasSecurityImpact, ref bool yesToAll, ref bool noToAll) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + return originalCommandRuntime.ShouldContinue(query, caption, hasSecurityImpact, ref yesToAll, ref noToAll); + } + + CheckForInteractive(); + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + bool yta = yesToAll; + bool nta = noToAll; + bool result = false; + + // set the function to run + runOnMainThread = () => result = originalCommandRuntime.ShouldContinue(query, caption, hasSecurityImpact, ref yta, ref nta); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // set the output variables + yesToAll = yta; + noToAll = nta; + return result; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public bool ShouldContinue(string query, string caption) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + return originalCommandRuntime.ShouldContinue(query, caption); + } + + CheckForInteractive(); + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + bool result = false; + + // set the function to run + runOnMainThread = () => result = originalCommandRuntime.ShouldContinue(query, caption); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // set the output variables + return result; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public bool ShouldContinue(string query, string caption, ref bool yesToAll, ref bool noToAll) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + return originalCommandRuntime.ShouldContinue(query, caption, ref yesToAll, ref noToAll); + } + + CheckForInteractive(); + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + bool yta = yesToAll; + bool nta = noToAll; + bool result = false; + + // set the function to run + runOnMainThread = () => result = originalCommandRuntime.ShouldContinue(query, caption, ref yta, ref nta); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // set the output variables + yesToAll = yta; + noToAll = nta; + return result; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public bool ShouldProcess(string target) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + return originalCommandRuntime.ShouldProcess(target); + } + + CheckForInteractive(); + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + bool result = false; + + // set the function to run + runOnMainThread = () => result = originalCommandRuntime.ShouldProcess(target); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // set the output variables + return result; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public bool ShouldProcess(string target, string action) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + return originalCommandRuntime.ShouldProcess(target, action); + } + + CheckForInteractive(); + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + bool result = false; + + // set the function to run + runOnMainThread = () => result = originalCommandRuntime.ShouldProcess(target, action); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // set the output variables + return result; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public bool ShouldProcess(string verboseDescription, string verboseWarning, string caption) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + return originalCommandRuntime.ShouldProcess(verboseDescription, verboseWarning, caption); + } + + CheckForInteractive(); + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + bool result = false; + + // set the function to run + runOnMainThread = () => result = originalCommandRuntime.ShouldProcess(verboseDescription, verboseWarning, caption); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // set the output variables + return result; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public bool ShouldProcess(string verboseDescription, string verboseWarning, string caption, out ShouldProcessReason shouldProcessReason) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + return originalCommandRuntime.ShouldProcess(verboseDescription, verboseWarning, caption, out shouldProcessReason); + } + + CheckForInteractive(); + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + bool result = false; + ShouldProcessReason reason = ShouldProcessReason.None; + + // set the function to run + runOnMainThread = () => result = originalCommandRuntime.ShouldProcess(verboseDescription, verboseWarning, caption, out reason); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // set the output variables + shouldProcessReason = reason; + return result; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void ThrowTerminatingError(ErrorRecord errorRecord) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.ThrowTerminatingError(errorRecord); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.ThrowTerminatingError(errorRecord); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public bool TransactionAvailable() + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + return originalCommandRuntime.TransactionAvailable(); + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + bool result = false; + + // set the function to run + runOnMainThread = () => result = originalCommandRuntime.TransactionAvailable(); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // set the output variables + return result; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteCommandDetail(string text) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteCommandDetail(text); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteCommandDetail(text); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteDebug(string text) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteDebug(text); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteDebug(text); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteError(ErrorRecord errorRecord) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteError(errorRecord); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteError(errorRecord); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteInformation(InformationRecord informationRecord) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteInformation(informationRecord); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteInformation(informationRecord); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteObject(object sendToPipeline) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteObject(sendToPipeline); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteObject(sendToPipeline); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteObject(object sendToPipeline, bool enumerateCollection) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteObject(sendToPipeline, enumerateCollection); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteObject(sendToPipeline, enumerateCollection); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteProgress(ProgressRecord progressRecord) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteProgress(progressRecord); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteProgress(progressRecord); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteProgress(long sourceId, ProgressRecord progressRecord) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteProgress(sourceId, progressRecord); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteProgress(sourceId, progressRecord); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteVerbose(string text) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteVerbose(text); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteVerbose(text); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteWarning(string text) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteWarning(text); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteWarning(text); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void Wait(System.Threading.Tasks.Task ProcessRecordAsyncTask, System.Threading.CancellationToken cancellationToken) + { + do + { + WaitHandle.WaitAny(new[] { readyToRun.WaitHandle, ((System.IAsyncResult)ProcessRecordAsyncTask).AsyncWaitHandle }); + if (readyToRun.IsSet) + { + // reset the request for the next time + readyToRun.Reset(); + + // run the delegate on this thread + runOnMainThread(); + + // tell the originator everything is complete + completed.Set(); + } + } + while (!ProcessRecordAsyncTask.IsCompleted); + if (ProcessRecordAsyncTask.IsFaulted) + { + // don't unwrap a Aggregate Exception -- we'll lose the stack trace of the actual exception. + // if( ProcessRecordAsyncTask.Exception is System.AggregateException aggregate ) { + // throw aggregate.InnerException; + // } + throw ProcessRecordAsyncTask.Exception; + } + } + public Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep Wrap(Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.SendAsyncStep func) => func.Target.GetType().Name != "Closure" ? func : (p1, p2, p3) => ExecuteSync>(() => func(p1, p2, p3)); + public System.Collections.Generic.IEnumerable Wrap(System.Collections.Generic.IEnumerable funcs) => funcs?.Select(Wrap); + + public T ExecuteSync(System.Func step) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + return step(); + } + + T result = default(T); + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + // set the function to run + runOnMainThread = () => { result = step(); }; + // tell the main thread to go ahead + readyToRun.Set(); + // wait for the result (or cancellation!) + WaitForCompletion(); + // return + return result; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void Dispose() + { + if (cmdlet != null) + { + cmdlet.CommandRuntime = this.originalCommandRuntime; + cmdlet = null; + } + + semaphore?.Dispose(); + semaphore = null; + readyToRun?.Dispose(); + readyToRun = null; + completed?.Dispose(); + completed = null; + } + } +} \ No newline at end of file diff --git a/swaggerci/redis/generated/runtime/AsyncJob.cs b/swaggerci/redis/generated/runtime/AsyncJob.cs new file mode 100644 index 000000000000..4936baaba7c6 --- /dev/null +++ b/swaggerci/redis/generated/runtime/AsyncJob.cs @@ -0,0 +1,270 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Redis.Runtime.PowerShell +{ + using System.Management.Automation; + using System.Management.Automation.Host; + using System.Threading; + + using System.Threading.Tasks; + + public class LongRunningJobCancelledException : System.Exception + { + public LongRunningJobCancelledException(string message) : base(message) + { + + } + } + + public class AsyncJob : Job, System.Management.Automation.ICommandRuntime2 + { + const int MaxRecords = 1000; + + private string _statusMessage = string.Empty; + + public override string StatusMessage => _statusMessage; + + public override bool HasMoreData => Output.Count > 0 || Progress.Count > 0 || Error.Count > 0 || Warning.Count > 0 || Verbose.Count > 0 || Debug.Count > 0; + + public override string Location => "localhost"; + + public PSHost Host => originalCommandRuntime.Host; + + public PSTransactionContext CurrentPSTransaction => originalCommandRuntime.CurrentPSTransaction; + + public override void StopJob() + { + Cancel(); + } + + private readonly PSCmdlet cmdlet; + private readonly ICommandRuntime2 originalCommandRuntime; + private readonly System.Threading.Thread originalThread; + + private void CheckForInteractive() + { + // This is an interactive call -- We should never allow interactivity in AsnycJob cmdlets. + throw new System.Exception("Cmdlets in AsyncJob; interactive calls are not permitted."); + } + private bool IsJobDone => CancellationToken.IsCancellationRequested || this.JobStateInfo.State == JobState.Failed || this.JobStateInfo.State == JobState.Stopped || this.JobStateInfo.State == JobState.Stopping || this.JobStateInfo.State == JobState.Completed; + + private readonly System.Action Cancel; + private readonly CancellationToken CancellationToken; + + internal AsyncJob(PSCmdlet cmdlet, string line, string name, CancellationToken cancellationToken, System.Action cancelMethod) : base(line, name) + { + SetJobState(JobState.NotStarted); + // know how to cancel/check for cancelation + this.CancellationToken = cancellationToken; + this.Cancel = cancelMethod; + + // we might need these. + this.originalCommandRuntime = cmdlet.CommandRuntime as ICommandRuntime2; + this.originalThread = System.Threading.Thread.CurrentThread; + + // the instance of the cmdlet we're going to run + this.cmdlet = cmdlet; + + // set the command runtime to the AsyncJob + cmdlet.CommandRuntime = this; + } + + ///

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 z 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 literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Newtonsoft.Json.12.0.3.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Newtonsoft.Json.12.0.3.dll new file mode 100644 index 0000000000000000000000000000000000000000..6344999edbb35cb0ca89a042286bb6c6d4ea963f GIT binary patch literal 702400 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⁡v#GnNyNMo#_0Z}g`sov( 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 literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Azure.Identity.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Azure.Identity.dll new file mode 100644 index 0000000000000000000000000000000000000000..0d214db71cad80555ef4d6ed83272de795d4c5a9 GIT binary patch literal 294288 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 literal 0 HcmV?d00001 diff --git a/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.Common.dll b/swaggerci/redis/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.Common.dll new file mode 100644 index 0000000000000000000000000000000000000000..1c9d8e2a0ef5888c365e9ef031925877445675ab GIT binary patch literal 35720 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