├── .vscode └── settings.json ├── AzureModularDatacenter └── modulardatacenter_high.mp4 ├── CONTRIBUTING.md ├── CapacityManagement ├── DashboardGenerator │ ├── Create-AzSStorageDashboard.ps1 │ ├── README.md │ ├── document │ │ └── demo.png │ └── templateJson │ │ ├── capacityTemplate.json │ │ ├── dashboardBody.json │ │ └── tileTemplate.json └── README.md ├── CloudCapabilities ├── AzureRM.CloudCapabilities.psm1 └── README.md ├── Connect ├── AzureStack.Connect.psm1 ├── EnvironmentAdd.gif ├── README.md ├── Tests │ └── Connect.Tests.ps1 └── VPNConnection.gif ├── DatacenterIntegration ├── Identity │ ├── README.md │ ├── claimrules.txt │ └── setupadfs.psm1 └── Portal │ ├── PortalUserDataGdprUtilities.psm1 │ ├── PortalUserDataUtilities.psm1 │ └── READ.md ├── DeployArmTemplate └── AzureStackHCIArmTemplate_EXAMPLE-cl-Parameters-2Node-Switchless-Compute_Management_withAdapterOverride.json ├── Deployment ├── Deployment.gif ├── README.md ├── ScreenShot.png ├── asdk-installer.ps1 └── asdk-prechecker.ps1 ├── HCI ├── AsHciADArtifactsPreCreationTool.psd1 ├── AsHciADArtifactsPreCreationTool.psm1 ├── AustraliaEastendpoints │ └── AustraliaEast-hci-endpoints.md ├── CanadaCentralEndpoints │ └── canadacentral-hci-endpoints.md ├── EastUSendpoints │ └── eastus-hci-endpoints.md ├── IndiaCentralEndpoints │ └── IndiaCentral-hci-endpoints.md ├── JapanEastEndpoints │ └── japaneast-hci-endpoints.md ├── OEMEndpoints │ ├── DataOn │ │ └── DataOnAzureLocalEndpoints.md │ ├── Dell │ │ └── DellAzureLocalEndpoints.md │ ├── HPE │ │ └── HPEAzureLocalEndpoints.md │ ├── Hitachi │ │ └── HitachiAzureLocalEndpoints.md │ └── Lenovo │ │ └── LenovoAzureLocalEndpoints.md ├── SouthCentralUSEndpoints │ └── southcentralus-hci-endpoints.md ├── SouthEastAsiaEndpoints │ └── southeastasia-hci-endpoints.md ├── WestEuropeendpoints │ └── westeurope-hci-endpoints.md ├── azure-stack-hci-firewall-rules.xlsx ├── azure-stack-hci-oem-contact-and-material.xlsx └── usgovvirginia-hci-endpoints │ └── usgovvirginia-hci-endpoints.md ├── Identity ├── AzureStack.Identity.Common.psm1 ├── AzureStack.Identity.psm1 ├── GraphAPI │ └── GraphAPI.psm1 └── README.md ├── InfrastructureBackupValidator ├── BackupValidationTool.Strings.psd1 ├── BackupValidationTool.psd1 ├── BackupValidationTool.psm1 ├── IBCAdapterClientPkg │ ├── Azure.Core.dll │ ├── Azure.Core.xml │ ├── Azure.Identity.dll │ ├── Azure.Identity.xml │ ├── Azure.Security.KeyVault.Secrets.dll │ ├── Azure.Security.KeyVault.Secrets.xml │ ├── Bootstrap.ps1 │ ├── IfxMetrics.dll │ ├── InternalBackupUtils.psm1 │ ├── Microsoft.AzureStack.Backup.Storage.DataMovement.Internal.dll │ ├── Microsoft.AzureStack.Backup.Storage.DataMovement.Internal.xml │ ├── Microsoft.AzureStack.Common.Infrastructure.Async.Contract.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Async.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Diagnostics.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Encryption.Contract.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Encryption.ManagementContract.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Encryption.Models.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Encryption.Trace.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Encryption.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Encryption.dll.config │ ├── Microsoft.AzureStack.Common.Infrastructure.FaultSdk.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.FxCop.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.HostModel.Service.Core.Contract.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Http.Client.ErrorModel.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Http.Client.Remoting.Contract.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Http.Client.Remoting.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Http.Models.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Http.Trace.Contract.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Http.Trace.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Persistence.Contract.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Persistence.DataMigration.Client.Contract.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Persistence.DataMigration.Core.Contract.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Persistence.EntityStore.Contract.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Persistence.Serialization.Contract.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Persistence.Serialization.Models.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Persistence.Serialization.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Persistence.Serialization.dll.config │ ├── Microsoft.AzureStack.Common.Infrastructure.Persistence.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Persistence.dll.config │ ├── Microsoft.AzureStack.Common.Infrastructure.ReliableCollections.Contract.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.ReliableCollections.EntityStore.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.ReliableOperations.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.ReliableOperations.dll.config │ ├── Microsoft.AzureStack.Common.Infrastructure.ServiceDiscovery.Contract.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.ServiceDiscovery.ServiceFabric.Contract.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.ServiceDiscovery.ServiceFabric.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.ServiceRegistry.ServiceFabricTypeRegistry.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.ServiceRegistry.ServiceTypeRegistry.dll │ ├── Microsoft.AzureStack.Common.Infrastructure.Telemetry.TelemetryReporter.dll │ ├── Microsoft.AzureStack.Fabric.Backup.BackupController.Common.Trace.Internal.dll │ ├── Microsoft.AzureStack.Fabric.Backup.BackupController.Common.Trace.Internal.xml │ ├── Microsoft.AzureStack.Fabric.Backup.BackupProvider.Internal.dll │ ├── Microsoft.AzureStack.Fabric.Backup.BackupProvider.Internal.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupAlert.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupAlert.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupCache.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupCache.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupDataModel.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupDataModel.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupOperationBroker.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupOperationBroker.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupSettingManager.Contract.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupSettingManager.Contract.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupSettingsManager.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupSettingsManager.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupSnapshotOrganizer.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupSnapshotOrganizer.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupSourceBlobMetadata.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupSourceBlobMetadata.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupSourceInternalContract.Internal.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupSourceInternalContract.Internal.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupSourceUtils.Internal.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupSourceUtils.Internal.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupStore.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupStore.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupStoreProviderBTS.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupStoreProviderBTS.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupStoreProviderFileShare.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupStoreProviderFileShare.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupTelemetry.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupTelemetry.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupUtils.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.BackupUtils.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.Client.Cmdlets.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.Client.Cmdlets.psd1 │ ├── Microsoft.AzureStack.Fabric.Backup.Common.Client.Cmdlets.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.Client.IBCAdapterClient.Contract.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.Client.IBCAdapterClient.Contract.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.Client.IBCAdapterClient.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.Client.IBCAdapterClient.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.CommonUtils.Internal.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.CommonUtils.Internal.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.EceHelpers.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.EceHelpers.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.IbcInternalConfigurations.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.IbcInternalConfigurations.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.Operation.Contract.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.Operation.Contract.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.RepositoryBlob.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.RepositoryBlob.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.RepositoryBlobInternal.Internal.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.RepositoryBlobInternal.Internal.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.RepositoryDirectory.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.RepositoryDirectory.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.RepositoryDkmContainer.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.RepositoryDkmContainer.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.RepositorySQLServer.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.RepositorySQLServer.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.RepositorySfCss.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.RepositorySfCss.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.RepositoryTable.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.RepositoryTable.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.RepositoryTableInternal.Internal.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.RepositoryTableInternal.Internal.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.RepositoryVM.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Common.RepositoryVM.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Common.RepositoryVSS.dll │ ├── Microsoft.AzureStack.Fabric.Backup.DataModel.Contract.dll │ ├── Microsoft.AzureStack.Fabric.Backup.DataModel.Contract.xml │ ├── Microsoft.AzureStack.Fabric.Backup.Transfer.Contract.dll │ ├── Microsoft.AzureStack.Fabric.Backup.Transfer.Contract.dll.config │ ├── Microsoft.AzureStack.Fabric.Backup.Transfer.Contract.xml │ ├── Microsoft.AzureStack.Fabric.Health.Telemetry.TelemetryReporter.dll │ ├── Microsoft.AzureStack.Infrastructure.Orchestration.Common.dll │ ├── Microsoft.AzureStack.Infrastructure.Orchestration.ServiceFabric.dll │ ├── Microsoft.AzureStack.Security.CngDpapi.dll │ ├── Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Contract.dll │ ├── Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Contract.dll.config │ ├── Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Contract.xml │ ├── Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Core.dll │ ├── Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Core.dll.config │ ├── Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Core.xml │ ├── Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Models.dll │ ├── Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Models.dll.config │ ├── Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Models.xml │ ├── Microsoft.AzureStack.Services.Fabric.Common.ApiVersion.dll │ ├── Microsoft.AzureStack.Services.Fabric.Common.Errors.dll │ ├── Microsoft.AzureStack.Services.Fabric.Common.ODataHelpers.Contract.dll │ ├── Microsoft.AzureStack.Services.Fabric.Common.ODataHelpers.dll │ ├── Microsoft.AzureStack.Services.Fabric.Common.Resource.dll │ ├── Microsoft.AzureStack.Services.Fabric.Common.ResourceCaching.Contract.dll │ ├── Microsoft.AzureStack.Services.Fabric.Common.ResourceCaching.dll │ ├── Microsoft.AzureStack.Services.Fabric.Common.ResourceProvider.Contract.dll │ ├── Microsoft.AzureStack.Services.Fabric.Common.ResourceProvider.dll │ ├── Microsoft.AzureStack.Services.Fabric.Common.Trace.dll │ ├── Microsoft.AzureStack.Services.Fabric.Common.Utilities.dll │ ├── Microsoft.AzureStack.Solution.Deploy.EnterpriseCloudEngine.Agent.Common.dll │ ├── Microsoft.AzureStack.Solution.Deploy.EnterpriseCloudEngine.Client.Contract.dll │ ├── Microsoft.AzureStack.Solution.Deploy.EnterpriseCloudEngine.Client.dll │ ├── Microsoft.AzureStack.Solution.Deploy.EnterpriseCloudEngine.Controllers.Models.dll │ ├── Microsoft.Bcl.AsyncInterfaces.dll │ ├── Microsoft.Cloud.InstrumentationFramework.Metrics.dll │ ├── Microsoft.Diagnostics.Tracing.EventSource.dll │ ├── Microsoft.Diagnostics.Tracing.EventSource.xml │ ├── Microsoft.Identity.Client.dll │ ├── Microsoft.Identity.Client.xml │ ├── Microsoft.IdentityModel.Abstractions.dll │ ├── Microsoft.IdentityModel.Abstractions.xml │ ├── Microsoft.ServiceFabric.Client.Http.dll │ ├── Microsoft.ServiceFabric.Client.Http.xml │ ├── Microsoft.ServiceFabric.Client.dll │ ├── Microsoft.ServiceFabric.Client.xml │ ├── Microsoft.ServiceFabric.Common.dll │ ├── Microsoft.ServiceFabric.Common.xml │ ├── Microsoft.SqlServer.ConnectionInfo.dll │ ├── Microsoft.SqlServer.Dmf.dll │ ├── Microsoft.SqlServer.Management.Sdk.Sfc.dll │ ├── Microsoft.SqlServer.RegSvrEnum.dll │ ├── Microsoft.SqlServer.ServiceBrokerEnum.dll │ ├── Microsoft.SqlServer.Smo.dll │ ├── Microsoft.SqlServer.SmoExtended.dll │ ├── Microsoft.SqlServer.SqlClrProvider.dll │ ├── Microsoft.SqlServer.SqlEnum.dll │ ├── Microsoft.WindowsAzure.Storage.dll │ ├── Microsoft.WindowsAzure.Storage.xml │ ├── Newtonsoft.Json.Bson.dll │ ├── Newtonsoft.Json.dll │ ├── Newtonsoft.Json.xml │ ├── Omu.ValueInjecter.dll │ ├── Omu.ValueInjecter.xml │ ├── Out-ErrorMessage.psm1 │ ├── System.Buffers.dll │ ├── System.Fabric.Management.ServiceModel.dll │ ├── System.Fabric.Strings.dll │ ├── System.Fabric.dll │ ├── System.Management.Automation.dll │ ├── System.Memory.dll │ ├── System.Net.Http.Formatting.dll │ ├── System.Numerics.Vectors.dll │ ├── System.Threading.Tasks.Dataflow.dll │ ├── System.Web.Http.dll │ ├── System.Web.Http.xml │ ├── System.Web.OData.dll │ ├── System.Web.OData.xml │ ├── Unity.Abstractions.dll │ ├── Unity.Container.dll │ ├── msvcp140.dll │ └── vcruntime140.dll ├── README.md ├── Unprotect-AzsBackup.psd1 └── Unprotect-AzsBackup.psm1 ├── LICENSE.txt ├── Policy ├── AzureStack.Policy.psm1 ├── AzureStack.Provider.Metadata.json ├── AzureStack.storageSkus.json ├── AzureStack.vmSkus.json └── README.md ├── README.md ├── Registration ├── README.md ├── RegisterWithAzure.psm1 ├── RegistrationUtilities.psm1 └── RemoteManagement.psm1 ├── SECURITY.md ├── Support ├── AzS_PoSh │ ├── AzS-PoSh-Environment.ps1 │ ├── Media │ │ └── AzsPoSh.gif │ └── ReadMe.md ├── ERCS_Logs │ ├── ERCS_AzureStackLogs.ps1 │ ├── Media │ │ └── ERCS.gif │ └── ReadMe.md └── scripts │ ├── Get-AzsSSLEndPoints.ps1 │ ├── README.md │ └── Start-ResourceSynchronization.ps1 ├── Syndication └── readme.md ├── TemplateValidator ├── AzureRM.TemplateValidator.psm1 └── README.md ├── ThirdPartyNotices.txt ├── ToolTestingUtils └── ToolTestingScript.ps1 ├── Usage ├── AppService │ ├── Common.ps1 │ ├── Get-AppServiceBillingRecords.ps1 │ ├── Get-AppServiceSubscriptionUsage.ps1 │ ├── README.md │ └── Suspend-UserSubscriptions.ps1 ├── README.md └── Usagesummary.ps1 └── third-party-license.txt /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.words": [ 3 | "powershellgallery" 4 | ] 5 | } -------------------------------------------------------------------------------- /AzureModularDatacenter/modulardatacenter_high.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/AzureModularDatacenter/modulardatacenter_high.mp4 -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribute Code or Provide Feedback 2 | 3 | If you would like to become an active contributor to this project please follow the instructions provided in [Microsoft Azure Projects Contribution Guidelines](http://azure.github.io/guidelines/). 4 | 5 | If you encounter any bugs with Azure Stack Tools please file an issue in the [Issues](https://github.com/Azure/AzureStack-Tools/issues) section of the project. 6 | -------------------------------------------------------------------------------- /CapacityManagement/DashboardGenerator/README.md: -------------------------------------------------------------------------------- 1 | # AzureStack-VolumesPerformanceDashboard-Generator 2 | This tool is used to generate dashboard jsons showing volumes performance used on Azure Stack Hub Admin portal. 3 | 4 | 5 | 6 | ### Example 7 | - default json save to spedified location 8 | `.\Create-AzSStorageDashboard.ps1 -timeGrain "PT15M" -outputLocation '.' ` 9 | - data of last week with 1 hour interval 10 | `.\Create-AzSStorageDashboard.ps1 -duration "P7D" -timeGrain "PT1H"` 11 | - date from 4/1 to 4/8 with 1hr interval 12 | `.\Create-AzSStorageDashboard.ps1 -startTime (Get-date("2019-04-01")) -endTime (Get-date("2019-04-08")) -timeGrain "PT1H"` 13 | - Tip: The latest AzureStack (version 2005) has a dashboard level time range selector at the top left corner of dashboard. So you do not need to specify time interval here. 14 | 15 | ### Feature 16 | - User can specify time range by duration or startTime & endTime. 17 | - User can specify eight types of time granularity. Default type is ‘Automatic’, which adapted to time range. 18 | - Generate multiple json files representing different volume types. 19 | 20 | ### Prerequisite 21 | - Login to the Azure Stack Hub Admin ARM Endpoint using either AzureRM or Az module. 22 | 23 | ### Usage 24 | 1. Execute Create-AzSStorageDashboard.ps1 with needed parameters. 25 | 2. Upload json generated on Admin Portal dashboard, this has to be done on a per user basis. 26 | 27 | ### Add new metrics 28 | Change ps1 file. Adapt function Initialize-TilePsCustomObject and Get-TilePsCustomObject, then register in initialized variable metricTypes. 29 | -------------------------------------------------------------------------------- /CapacityManagement/DashboardGenerator/document/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/CapacityManagement/DashboardGenerator/document/demo.png -------------------------------------------------------------------------------- /CapacityManagement/DashboardGenerator/templateJson/dashboardBody.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": { 3 | "lenses": { 4 | "0": { 5 | "order": 0, 6 | "parts": { 7 | "0": { 8 | "position": { 9 | "x": 0, 10 | "y": 0, 11 | "colSpan": 6, 12 | "rowSpan": 2 13 | }, 14 | "metadata": { 15 | "inputs": [], 16 | "type": "Extension/HubsExtension/PartType/MarkdownPart", 17 | "settings": { 18 | "content": { 19 | "settings": { 20 | "content": "This dasboard shows ", 21 | "title": "Performance of volumes", 22 | "subtitle": "Made by Microsoft" 23 | } 24 | } 25 | } 26 | } 27 | } 28 | } 29 | } 30 | }, 31 | "metadata": { 32 | "model": { 33 | "timeRange": { 34 | "value": { 35 | "relative": { 36 | "duration": 24, 37 | "timeUnit": 1 38 | } 39 | }, 40 | "type": "MsPortalFx.Composition.Configuration.ValueTypes.TimeRange" 41 | } 42 | } 43 | } 44 | }, 45 | "name": "VolumesPerformance", 46 | "type": "Microsoft.Portal/dashboards", 47 | "location": "INSERT LOCATION", 48 | "tags": { 49 | "hidden-title": "VolumesPerformance" 50 | }, 51 | "apiVersion": "2015-08-01-preview" 52 | } -------------------------------------------------------------------------------- /CapacityManagement/DashboardGenerator/templateJson/tileTemplate.json: -------------------------------------------------------------------------------- 1 | { 2 | "position": { 3 | "x": 0, 4 | "y": 2, 5 | "colSpan": 6, 6 | "rowSpan": 4 7 | }, 8 | "metadata": { 9 | "inputs": [ 10 | { 11 | "name": "options", 12 | "value": { 13 | "charts": [ 14 | { 15 | "metrics": [ 16 | { 17 | "name": "VolumeOperationsWrite", 18 | "resourceMetadata": { 19 | "resourceId": "" 20 | }, 21 | "aggregationType": 4 22 | }, 23 | { 24 | "name": "VolumeOperationsThroughputRead", 25 | "resourceMetadata": { 26 | "resourceId": "" 27 | }, 28 | "aggregationType": 4 29 | } 30 | ], 31 | "title": "Total", 32 | "timeContext": { 33 | "options": { 34 | "grain": 1, 35 | "appliedISOGrain": "PT5M" 36 | }, 37 | "relative": { 38 | "duration": 86400000 39 | } 40 | }, 41 | "itemDataModel": { 42 | "_comment_id": "2703D70A-92D7-46BE-9395-DE30917EC82B", 43 | "chartHeight": 1, 44 | "metrics": [ 45 | { 46 | "id": { 47 | "resourceDefinition": { 48 | "id": "" 49 | }, 50 | "name": { 51 | "id": "VolumeOperationsWrite", 52 | "displayName": "Volume Operations Write (Preview)" 53 | }, 54 | "dataSource": 1, 55 | "namespace": { 56 | "name": "microsoft.fabric.admin/fabriclocations" 57 | } 58 | }, 59 | "metricAggregation": 1, 60 | "color": "#47BDF5" 61 | }, 62 | { 63 | "id": { 64 | "resourceDefinition": { 65 | "id": "" 66 | }, 67 | "name": { 68 | "id": "VolumeOperationsThroughputRead", 69 | "displayName": "Volume Operations Throughput Read (Preview)" 70 | }, 71 | "dataSource": 1, 72 | "namespace": { 73 | "name": "microsoft.fabric.admin/fabriclocations" 74 | } 75 | }, 76 | "metricAggregation": 1, 77 | "color": "#7E58FF" 78 | } 79 | ], 80 | "priorPeriod": false, 81 | "horizontalBars": true, 82 | "showOther": false, 83 | "aggregation": 1, 84 | "palette": "multiColor", 85 | "jsonDefinitionId": "700398D6-C408-4EBF-8E65-E05DC5F4031E", 86 | "version": { 87 | "major": 1, 88 | "minor": 0, 89 | "build": 0 90 | }, 91 | "filters": { 92 | "filterType": 0, 93 | "id": "62B109D6-9CD5-442A-9E35-3281D15DAFE7", 94 | "OperandFilters": [ 95 | { 96 | "id": "1E1D3ABA-FEF7-40C5-B355-370F3F44C02F", 97 | "filterType": 1, 98 | "ComparisonOperator": 0, 99 | "OperandSelectedKey": { 100 | "dimensionName": { 101 | "id": "VolumeName", 102 | "displayName": "Volume Name" 103 | } 104 | }, 105 | "OperandSelectedValues": [ 106 | "Volume3" 107 | ] 108 | } 109 | ], 110 | "LogicalOperator": 0 111 | }, 112 | "yAxisOptions": { 113 | "options": 1 114 | }, 115 | "title": "Total", 116 | "titleKind": "Auto", 117 | "appliedISOGrain": "PT5M" 118 | } 119 | } 120 | ], 121 | "v2charts": true 122 | }, 123 | "isOptional": true 124 | }, 125 | { 126 | "name": "sharedTimeRange", 127 | "isOptional": true 128 | } 129 | ], 130 | "type": "Extension/HubsExtension/PartType/MonitorChartPart", 131 | "settings": {} 132 | } 133 | } -------------------------------------------------------------------------------- /CapacityManagement/README.md: -------------------------------------------------------------------------------- 1 | # Monitor and manage Azure Stack Hub Storage Capacity 2 | The Azure Stack Hub storage service partitions the available storage into separate volumes that are allocated to hold system and tenant data. Object store volumes hold tenant data. Tenant data includes blobs, tables, queues, databases, and related metadata stores. When 90% (and then 95%) of the available space in a volume is used, the system raises alerts in the Azure Stack Hub administrator portal. Cloud operators should review available storage capacity and plan to rebalance the content. The storage service stops working when a disk is 100% used and no additional alerts are raised. To learn more about Azure Stack storage capacity concepts and management process, see [Manage storage capacity for Azure Stack Hub](https://docs.microsoft.com/en-us/azure-stack/operator/azure-stack-manage-storage-shares). 3 | 4 | Instructions below are relative to the .\CapacityManagement folder of the [AzureStack-Tools repo](..). 5 | ## Monitor volume capacity and performance 6 | To monitor volume capacity and performance, use Create-AzSStorageDashboard.ps1 in the .\CapacityManagement\DashboardGenerator. This tool is used to generate Capacity Dashboard json, and import the json to Azure Stack Admin portal to show volumes performance and capacity. 7 | To check volume capacity usage, use: 8 | 9 | ```powershell 10 | .\Create-AzSStorageDashboard.ps1 -capacityOnly $true -volumeType object 11 | ``` 12 | 13 | There would be a json file named starts with “DashboardVolumeObjStore” under the folder of dashboard generator. Sign in to the Azure Stack Hub administrator portal and upload the json in Dashboard page. Once the json is uploaded, you would be directed to the new capacity dashboard. Each volume has a corresponding chart in the dashboard. By checking the volume capacity metrics, the cloud operator understands how much a volume’s capacity is utilized, and which resource type is taking most of the space usage. To learn more, see [Manage storage capacity for Azure Stack Hub](https://docs.microsoft.com/en-us/azure-stack/operator/azure-stack-manage-storage-shares). 14 | -------------------------------------------------------------------------------- /CloudCapabilities/README.md: -------------------------------------------------------------------------------- 1 | # Get Cloud Capabilities 2 | 3 | Instructions below are relative to the .\CloudCapabilities folder of the [AzureStack-Tools repo](..). 4 | To get VMImages, Extensions & Sizes available in the cloud, add -IncludeComputeCapabilities 5 | To get StorageSkus available in the cloud, add -IncludeStorageCapabilities 6 | 7 | ```powershell 8 | 9 | Import-Module ".\AzureRM.CloudCapabilities.psm1" 10 | ``` 11 | 12 | ## Prerequisites 13 | 14 | Connected Azure or AzureStack powershell environment (Refer [AzureStack-Tools repo/Connect](../Connect) for connecting to an Azure Stack instance. ) 15 | 16 | ```powershell 17 | Get-AzureRMCloudCapability -Location '' -Verbose #-IncludeComputeCapabilities -IncludeStorageCapabilities 18 | ``` 19 | -------------------------------------------------------------------------------- /Connect/AzureStack.Connect.psm1: -------------------------------------------------------------------------------- 1 | # Copyright (c) Microsoft Corporation. All rights reserved. 2 | # See LICENSE.txt in the project root for license information. 3 | 4 | #requires -Modules VpnClient 5 | 6 | <# 7 | .SYNOPSIS 8 | Add VPN connection to an Azure Stack instance 9 | #> 10 | 11 | function Add-AzsVpnConnection { 12 | param ( 13 | [parameter(HelpMessage = "Azure Stack VPN Connection Name such as 'my-poc'")] 14 | [string] $ConnectionName = "Azure Stack", 15 | 16 | [parameter(mandatory = $true, HelpMessage = "External IP of the Azure Stack NAT VM such as '1.2.3.4'")] 17 | [string] $ServerAddress, 18 | 19 | [parameter(mandatory = $true, HelpMessage = "Administrator password used to deploy this Azure Stack instance")] 20 | [securestring] $Password 21 | ) 22 | 23 | $existingConnection = Get-VpnConnection -Name $ConnectionName -ErrorAction Ignore 24 | if ($existingConnection) { 25 | Write-Verbose "Updating Azure Stack VPN connection named $ConnectionName" -Verbose 26 | rasdial $ConnectionName /d 27 | Remove-VpnConnection -name $ConnectionName -Force -ErrorAction Ignore 28 | } 29 | else { 30 | Write-Verbose "Creating Azure Stack VPN connection named $ConnectionName" -Verbose 31 | } 32 | 33 | $BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($Password) 34 | $PlainPassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR) 35 | 36 | $connection = Add-VpnConnection -Name $ConnectionName -ServerAddress $ServerAddress -TunnelType L2tp -EncryptionLevel Required -AuthenticationMethod Eap -L2tpPsk $PlainPassword -Force -RememberCredential -PassThru -SplitTunneling 37 | 38 | Write-Verbose "Adding routes to Azure Stack VPN connection named $ConnectionName" -Verbose 39 | Add-VpnConnectionRoute -ConnectionName $ConnectionName -DestinationPrefix 192.168.102.0/24 -RouteMetric 2 -PassThru | Out-Null 40 | Add-VpnConnectionRoute -ConnectionName $ConnectionName -DestinationPrefix 192.168.105.0/27 -RouteMetric 2 -PassThru | Out-Null 41 | 42 | return $connection 43 | } 44 | 45 | Export-ModuleMember -Function 'Add-AzsVpnConnection' 46 | 47 | <# 48 | .SYNOPSIS 49 | Connects to Azure Stack via VPN 50 | #> 51 | 52 | function Connect-AzsVpn { 53 | param ( 54 | [parameter(HelpMessage = "Azure Stack VPN Connection Name such as 'my-poc'")] 55 | [string] $ConnectionName = "Azure Stack", 56 | [parameter(HelpMessage = "Administrator user name of this Azure Stack Instance")] 57 | [string] $User = "administrator", 58 | [parameter(mandatory = $true, HelpMessage = "Administrator password used to deploy this Azure Stack instance")] 59 | [securestring] $Password, 60 | [parameter(HelpMessage = "Indicate whether to retrieve and trust certificates from the environment after establishing a VPN connection")] 61 | [bool] $RetrieveCertificates = $true 62 | ) 63 | 64 | Write-Verbose "Connecting to Azure Stack VPN using connection named $ConnectionName..." -Verbose 65 | 66 | $BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($Password) 67 | $PlainPassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR) 68 | 69 | # Connecting using legacy command. Need to use domainless cred. Domain will be assumed on the other end. 70 | rasphone $ConnectionName 71 | 72 | $azshome = "$env:USERPROFILE\Documents\$ConnectionName" 73 | 74 | if ($RetrieveCertificates) { 75 | Write-Verbose "Connection-specific files will be saved in $azshome" -Verbose 76 | 77 | New-Item $azshome -ItemType Directory -Force | Out-Null 78 | 79 | $hostIP = (Get-VpnConnection -Name $ConnectionName).ServerAddress 80 | 81 | $UserCred = ".\$User" 82 | $credential = New-Object System.Management.Automation.PSCredential -ArgumentList $UserCred, $Password 83 | 84 | Write-Verbose "Retrieving Azure Stack Root Authority certificate..." -Verbose 85 | $cert = Invoke-Command -ComputerName "$hostIP" -ScriptBlock { Get-ChildItem cert:\currentuser\root | where-object {$_.Subject -like "*AzureStackSelfSignedRootCert*"} } -Credential $credential 86 | 87 | if ($cert) { 88 | if ($cert.GetType().IsArray) { 89 | $cert = $cert[0] # take any that match the subject if multiple certs were deployed 90 | } 91 | 92 | $certFilePath = "$azshome\CA.cer" 93 | 94 | Write-Verbose "Saving Azure Stack Root certificate in $certFilePath..." -Verbose 95 | 96 | Export-Certificate -Cert $cert -FilePath $certFilePath -Force | Out-Null 97 | 98 | Write-Verbose "Installing Azure Stack Root certificate for the current user..." -Verbose 99 | 100 | Write-Progress "LOOK FOR CERT ACCEPTANCE PROMPT ON YOUR SCREEN!" 101 | 102 | Import-Certificate -CertStoreLocation cert:\currentuser\root -FilePath $certFilePath 103 | } 104 | else { 105 | Write-Error "Certificate has not been retrieved!" 106 | } 107 | } 108 | 109 | } 110 | 111 | Export-ModuleMember -Function 'Connect-AzsVpn' 112 | 113 | <# 114 | .SYNOPSIS 115 | Connecting to your environment requires that you obtain the value of your Directory Tenant ID. 116 | For **Azure Active Directory** environments provide your directory tenant name. 117 | #> 118 | 119 | function Get-AzsDirectoryTenantId () { 120 | [CmdletBinding(DefaultParameterSetName = 'AzureActiveDirectory')] 121 | param( 122 | [Parameter(Mandatory = $true, ParameterSetName = 'ADFS')] 123 | [switch] $ADFS, 124 | 125 | [parameter(mandatory = $true, ParameterSetName = 'AzureActiveDirectory', HelpMessage = "AAD Directory Tenant ")] 126 | [string] $AADTenantName, 127 | 128 | [Parameter(Mandatory = $true, ParameterSetName = 'ADFS')] 129 | [Parameter(Mandatory = $true, ParameterSetName = 'AzureActiveDirectory')] 130 | [string] $EnvironmentName 131 | ) 132 | 133 | $ADauth = (Get-AzureRmEnvironment -Name $EnvironmentName).ActiveDirectoryAuthority 134 | if ($ADFS -eq $true) { 135 | if (-not (Get-AzureRmEnvironment -Name $EnvironmentName).EnableAdfsAuthentication) { 136 | Write-Error "This environment is not configured to do ADFS authentication." -ErrorAction Stop 137 | } 138 | return $(Invoke-RestMethod $("{0}/.well-known/openid-configuration" -f $ADauth.TrimEnd('/'))).issuer.TrimEnd('/').Split('/')[-1] 139 | } 140 | else { 141 | $endpt = "{0}{1}/.well-known/openid-configuration" -f $ADauth, $AADTenantName 142 | $OauthMetadata = (Invoke-WebRequest -UseBasicParsing $endpt).Content | ConvertFrom-Json 143 | $AADid = $OauthMetadata.Issuer.Split('/')[3] 144 | $AADid 145 | } 146 | } 147 | 148 | Export-ModuleMember Get-AzsDirectoryTenantId 149 | -------------------------------------------------------------------------------- /Connect/EnvironmentAdd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/Connect/EnvironmentAdd.gif -------------------------------------------------------------------------------- /Connect/README.md: -------------------------------------------------------------------------------- 1 | # Connection Scripts 2 | 3 | > [!Note] 4 | > For Azure Stack versions 1903 or earlier, please use the code from the tag [PRE-1904](https://github.com/Azure/AzureStack-Tools/tree/PRE-1904). For the Azure Stack version 1902 and 1903, the work around mentioned in the [issue](https://github.com/Azure/AzureStack-Tools/issues/504) is also needed 5 | 6 | As a prerequisite, make sure that you installed the correct PowerShell modules and versions: 7 | 8 | For Azure stack 1901 or later 9 | 10 | ```powershell 11 | Install-Module -Name AzureRM -RequiredVersion 2.4.0 12 | Install-Module -Name AzureStack -RequiredVersion 1.7.0 13 | ``` 14 | 15 | For all other azure stack versions, please follow the instructions at https://aka.ms/azspsh for the needed azure powershell 16 | 17 | This tool set allows you to connect to an Azure Stack Development Kit (ASDK) instance from an external personal laptop. You can then access the portal or log into that environment via PowerShell. 18 | 19 | Instructions below are relative to the .\Connect folder of the [AzureStack-Tools repo](..). 20 | 21 | ```powershell 22 | Import-Module .\AzureStack.Connect.psm1 23 | ``` 24 | 25 | ## VPN to Azure Stack Development Kit 26 | 27 | ![VPN to Azure Stack Development Kit](/Connect/VPNConnection.gif) 28 | 29 | The [Connect to Azure Stack](https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-connect-azure-stack) document describes ways to connect to your Azure Stack Development Kit environment. 30 | 31 | One method is to establish a split tunnel VPN connection to an Azure Stack Development Kit. 32 | This allows your client computer to become part of the Azure Stack Development Kit network system and therefore resolve Azure Stack endpoints. 33 | 34 | The tool will also download the root certificate of the targeted Azure Stack Development Kit instance locally to your client computer. 35 | This will ensure that SSL sites of the target Azure Stack installation are trusted by your client when accessed from the browser or from the command-line tools. 36 | 37 | To connect to an Azure Stack Development Kit via VPN, you will need to know the host IP address of the target installation. 38 | 39 | The commands below need to access the Azure Stack Development Kit host computer, so it needs to be a trusted host in PowerShell. Run PowerShell as administrator and modify TrustedHosts as follows. 40 | 41 | ```powershell 42 | # Add Azure Stack Development Kit host to the trusted hosts on your client computer 43 | Set-Item wsman:\localhost\Client\TrustedHosts -Value "" -Concatenate 44 | ``` 45 | 46 | For the VPN connection, use the admin password provided at the time of the Azure Stack deployment. 47 | 48 | ```powershell 49 | $Password = ConvertTo-SecureString "" -AsPlainText -Force 50 | ``` 51 | 52 | Then connect your client computer to the environment as follows. 53 | 54 | ```powershell 55 | # Create VPN connection entry for the current user 56 | Add-AzsVpnConnection -ServerAddress -Password $Password 57 | 58 | # Connect to the Azure Stack instance. This command can be used multiple times. 59 | Connect-AzsVpn -Password $Password 60 | ``` 61 | 62 | ## Configure Azure Stack PowerShell Environment 63 | ![Adding Azure Stack Environment](/Connect/EnvironmentAdd.gif) 64 | 65 | 66 | One method of deploying templates and interacting with your Azure Stack Development Kit is to access it via PowerShell. 67 | 68 | See the [Azure Stack Install PowerShell](https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-connect-powershell) article to download and install the correct PowerShell modules for Azure Stack. 69 | 70 | To target your Azure Stack instance as a tenant, an AzureRM environment needs to be registered as follows. The ARM endpoint below is the tenant default for a one-node environment. AzureRM cmdlets can be targeted at multiple Azure clouds such as Azure China, Government, and Azure Stack. 71 | 72 | 73 | ```powershell 74 | Add-AzureRMEnvironment -Name AzureStack -ArmEndpoint "https://management.local.azurestack.external" 75 | ``` 76 | 77 | To create an administrator environment use the below. The ARM endpoint below is the administrator default for a one-node environment. 78 | 79 | ```powershell 80 | Add-AzureRMEnvironment -Name AzureStackAdmin -ArmEndpoint "https://adminmanagement.local.azurestack.external" 81 | ``` 82 | 83 | Connecting to your environment requires that you obtain the value of your Directory Tenant ID. For **Azure Active Directory** environments provide your directory tenant name: 84 | 85 | ```powershell 86 | $TenantID = Get-AzsDirectoryTenantId -AADTenantName ".onmicrosoft.com" -EnvironmentName AzureStackAdmin 87 | ``` 88 | 89 | For **ADFS** environments use the following: 90 | 91 | ```powershell 92 | $TenantID = Get-AzsDirectoryTenantId -ADFS -EnvironmentName AzureStackAdmin 93 | ``` 94 | 95 | After registering the AzureRM environment, cmdlets can be easily targeted at your Azure Stack instance. For example: 96 | 97 | ```powershell 98 | Login-AzureRmAccount -EnvironmentName "AzureStack" -TenantId $TenantID 99 | ``` 100 | 101 | Similarly, for targeting the administrator endpoints: 102 | 103 | ```powershell 104 | Login-AzureRmAccount -EnvironmentName "AzureStackAdmin" -TenantId $TenantID 105 | ``` 106 | -------------------------------------------------------------------------------- /Connect/Tests/Connect.Tests.ps1: -------------------------------------------------------------------------------- 1 | $ModuleName = 'AzureStack.Connect' 2 | $ModuleImportFile = 'AzureStack.Connect.psm1' 3 | 4 | $NatIPAddress = $null 5 | 6 | $ModuleRoot = (Resolve-Path $PSScriptRoot\..).Path 7 | Import-Module $script:ModuleRoot\$script:ModuleImportFile -Force 8 | 9 | Describe $script:ModuleName { 10 | Context 'Module should be imported correctly' { 11 | It "$script:ModuleName module is imported" { 12 | Get-Module -Name $script:ModuleName | 13 | Should Not Be $null 14 | } 15 | 16 | It 'Add-AzsEnvironment should be exported' { 17 | Get-Command -Name Add-AzsEnvironment -ErrorAction SilentlyContinue | 18 | Should Not Be $null 19 | } 20 | 21 | It 'Add-AzsVpnConnection should be exported' { 22 | Get-Command -Name Add-AzsVpnConnection -ErrorAction SilentlyContinue | 23 | Should Not Be $null 24 | } 25 | 26 | It 'Connect-AzsVpn should be exported' { 27 | Get-Command -Name Connect-AzsVpn -ErrorAction SilentlyContinue | 28 | Should Not Be $null 29 | } 30 | } 31 | } 32 | 33 | InModuleScope $script:ModuleName { 34 | 35 | 36 | $HostComputer = $global:HostComputer 37 | $armEndpoint = $global:ArmEndpoint 38 | $natServer = $global:natServer 39 | $AdminUser= $global:AdminUser 40 | $AadServiceAdmin = $global:AadServiceAdmin 41 | 42 | $AdminPassword = $global:AdminPassword 43 | $AadServiceAdminPassword = $global:AadServiceAdminPassword 44 | $stackLoginCreds = $global:AzureStackLoginCredentials 45 | 46 | $VPNConnectionName = $global:VPNConnectionName 47 | 48 | $EnvironmentName = $global:EnvironmentName 49 | 50 | Set-Item wsman:\localhost\Client\TrustedHosts -Value $HostComputer -Concatenate 51 | Set-Item wsman:\localhost\Client\TrustedHosts -Value Azs-ca01.azurestack.local -Concatenate 52 | 53 | Describe 'ConnectModule - Accessing Environment Data' { 54 | 55 | It 'Add-AzsVpnConnection should correctly return a VPN connection to a One Node' { 56 | Add-AzsVpnConnection -ServerAddress $script:NatIPAddress -ConnectionName $VPNConnectionName -Password $AdminPassword 57 | Get-VpnConnection -Name $VPNConnectionName | Should Not Be $null 58 | } 59 | 60 | It 'Connect-AzsVpn should successfully connect to a One Node environment' { 61 | {Connect-AzsVpn -ConnectionName $VPNConnectionName -User $AdminUser -Password $AdminPassword} | Should Not Throw 62 | } 63 | 64 | It 'Add-AzsEnvironment should successfully add a an administrator environment' { 65 | Add-AzsEnvironment -ArmEndpoint $armEndpoint -Name $EnvironmentName 66 | Get-AzureRmEnvironment -Name $EnvironmentName | Should Not Be $null 67 | } 68 | 69 | It 'User should be able to login to environment successfully created by Add-AzsEnvironment' { 70 | Write-Verbose "Aad Tenant ID is $global:AadTenantID" -Verbose 71 | Write-Verbose "Passing credential to Login-AzureRmAccount" -Verbose 72 | {Login-AzureRmAccount -EnvironmentName $EnvironmentName -TenantId $global:AadTenantID -Credential $global:AzureStackLoginCredentials} | Should Not Throw 73 | } 74 | 75 | It 'User should be able to list resource groups successfully in connected Azure Stack' { 76 | Get-AzureRmResourceGroup | Should Not Be $null 77 | } 78 | 79 | It 'Get-AzsAdminSubTokenheader should retrieve a valid admin token' { 80 | $subID, $headers = Get-AzsAdminSubTokenheader -TenantID $global:AadTenantID -EnvironmentName $EnvironmentName -AzureStackCredentials $stackLoginCreds 81 | Write-Verbose "Admin subscription ID was $subID" -Verbose 82 | Write-Verbose "Acquired token was $headers.Authorization" -Verbose 83 | $headers.Authorization | Should Not Be $null 84 | $subID | Should Not Be $null 85 | } 86 | 87 | It 'Register-AzsProvider should register all resource providers for the current subscription' { 88 | Register-AzsProvider 89 | $unRegisteredProviders = Get-AzureRmResourceProvider | Where-Object {$_.RegistrationState -ne "Registered"} 90 | $unRegisteredProviders | Should Be $null 91 | } 92 | 93 | It 'Register-AzsProviderOnAllSubscriptions should register all resource providers for all subscriptions' { 94 | Register-AzsProviderOnAllSubscriptions 95 | $unRegisteredProviders = Get-AzureRmResourceProvider | Where-Object {$_.RegistrationState -ne "Registered"} 96 | $unRegisteredProviders | Should Be $null 97 | } 98 | 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /Connect/VPNConnection.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/Connect/VPNConnection.gif -------------------------------------------------------------------------------- /DatacenterIntegration/Identity/README.md: -------------------------------------------------------------------------------- 1 | # Azure Stack Datacenter Integration Helper Scripts 2 | 3 | These tools are meant to help customers integrate Azure Stack into their Datacenter. Datacenter integration of Azure Stack does require configuration changes on existing infrastructure services which are not touched by Azure Stack's automation. These scripts are meant to help to simplify and reduce failures. 4 | 5 | 6 | ## AD FS integration 7 | 8 | Configure AD FS relying Party Trust including claim transformation rules 9 | 10 | 11 | --- 12 | _This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments._ 13 | -------------------------------------------------------------------------------- /DatacenterIntegration/Identity/claimrules.txt: -------------------------------------------------------------------------------- 1 | @RuleTemplate = "LdapClaims" 2 | @RuleName = "Name claim" 3 | c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] 4 | => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"), query = ";userPrincipalName;{0}", param = c.Value); 5 | 6 | @RuleTemplate = "LdapClaims" 7 | @RuleName = "UPN claim" 8 | c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] 9 | => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"), query = ";userPrincipalName;{0}", param = c.Value); 10 | 11 | @RuleTemplate = "LdapClaims" 12 | @RuleName = "ObjectID claim" 13 | c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid"] 14 | => issue(Type = "http://schemas.microsoft.com/identity/claims/objectidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType); 15 | 16 | @RuleName = "Family Name and Given claim" 17 | c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] 18 | => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"), query = ";sn,givenName;{0}", param = c.Value); 19 | 20 | @RuleTemplate = "PassThroughClaims" 21 | @RuleName = "Pass through all Group SID claims" 22 | c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"] 23 | => issue(claim = c); 24 | 25 | @RuleTemplate = "PassThroughClaims" 26 | @RuleName = "Pass through all windows account name claims" 27 | c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"] 28 | => issue(claim = c); 29 | -------------------------------------------------------------------------------- /DatacenterIntegration/Identity/setupadfs.psm1: -------------------------------------------------------------------------------- 1 |  # Copyright (c) Microsoft Corporation. All rights reserved. 2 | # See LICENSE.txt in the project root for license information. 3 | 4 | <# 5 | 6 | .SYNOPSIS 7 | 8 | Configures existing AD FS for Azure Stack 9 | 10 | .DESCRIPTION 11 | 12 | It will create a relying Party Trust to Azure Stack's AD FS with the necessary rules. It will also turn on form based authentication and Enable as setting to support Edge 13 | 14 | .PARAMETER ExternalDNSZone 15 | Specify the Extnerl Dns Zone of Azure Stack which was also provided for initial deployment 16 | .EXAMPLE 17 | import-module setupadfs.psm1 18 | register-adfs -externaldnszone local.azurestack.external 19 | #> 20 | 21 | Function Test-RegistryValue { 22 | param( 23 | [Alias("PSPath")] 24 | [Parameter(Position = 0, Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)] 25 | [String]$Path 26 | , 27 | [Parameter(Position = 1, Mandatory = $true)] 28 | [String]$Name 29 | , 30 | [Switch]$PassThru 31 | ) 32 | 33 | process { 34 | if (Test-Path $Path) { 35 | $Key = Get-Item -LiteralPath $Path 36 | if ($Key.GetValue($Name, $null) -ne $null) { 37 | if ($PassThru) { 38 | Get-ItemProperty $Path $Name 39 | } else { 40 | $true 41 | } 42 | } else { 43 | $false 44 | } 45 | } else { 46 | $false 47 | } 48 | } 49 | } 50 | 51 | 52 | function register-adfs { 53 | Param( 54 | [string] $ExternalDNSZone 55 | ) 56 | 57 | 58 | $currentPath = $PSScriptRoot 59 | 60 | #Create Endpoint 61 | $VIP="adfs.$ExternalDnsZone" 62 | 63 | #Verify if Endpoint is reachable 64 | Write-Host "Validate AD FS Endpoint if reachable" 65 | $Validator1=Test-NetConnection -ComputerName $VIP -Port 443 66 | IF ($Validator1.TcpTestSucceeded -ne $true){ 67 | Write-Host "Check you DNS Integration with Azure Stack Error "$Validator1.TcpTestSucceeded "" 68 | Exit} 69 | else{ 70 | Write-host "Status "$Validator1.TcpTestSucceeded"" 71 | #Create Metadata URL 72 | $MetadataURL= "https://$VIP/FederationMetadata/2007-06/FederationMetadata.xml" 73 | 74 | #Verify Metadata URL 75 | Write-Host "Validate AD FS Metadata URL" 76 | $Validator2=Invoke-WebRequest $MetadataURL 77 | If ($Validator2.StatusCode -ne 200){ 78 | Write-Host "Metadata URL could not be retrived Error "$Validator2.StatusCode"" 79 | Exit} 80 | else{ 81 | Write-Host "Status "$Validator2.StatusCode"" 82 | 83 | 84 | #Validate if TLS1.2 is enabled 85 | 86 | $Key1=Test-RegistryValue -path HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727 -Name "SchUseStrongCrypto" 87 | $Key2=Test-RegistryValue -path HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 -Name "SchUseStrongCrypto" 88 | $Key3=Test-RegistryValue -path HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319 -Name "SchUseStrongCrypto" 89 | $Key4=Test-RegistryValue -path HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727 -Name "SchUseStrongCrypto" 90 | 91 | If ($Key1 -eq "false"){ 92 | Write-Host "TLS1.2 is not enabled please see https://docs.microsoft.com/en-US/troubleshoot/windows-server/identity/disable-and-replace-tls-1dot0" 93 | Exit} 94 | 95 | elseif ($Key2 -eq "false") { 96 | Write-Host "TLS1.2 is not enabled please see https://docs.microsoft.com/en-US/troubleshoot/windows-server/identity/disable-and-replace-tls-1dot0" 97 | Exit} 98 | 99 | elseif ($Key3 -eq "false") { 100 | Write-Host "TLS1.2 is not enabled please see https://docs.microsoft.com/en-US/troubleshoot/windows-server/identity/disable-and-replace-tls-1dot0" 101 | Exit} 102 | 103 | elseif ($Key4 -eq "false") { 104 | Write-Host "TLS1.2 is not enabled please see https://docs.microsoft.com/en-US/troubleshoot/windows-server/identity/disable-and-replace-tls-1dot0" 105 | Exit} 106 | 107 | 108 | #Determine Windows Version 109 | $WindowsVersion= [environment]::OSVersion.Version 110 | 111 | #Configure Relying Party Trust 112 | If ($WindowsVersion.Build -lt 14393) { 113 | 114 | #Must be 2012 or 2012 R2 115 | Add-ADFSRelyingPartyTrust -Name AzureStack -MetadataUrl $MetadataURL -IssuanceTransformRulesFile ($currentPath + '\claimrules.txt') -AutoUpdateEnabled:$true -MonitoringEnabled:$true -enabled:$true -TokenLifeTime 1440 116 | } 117 | else{ 118 | #Must be 2016 or 2019 119 | Add-ADFSRelyingPartyTrust -Name AzureStack -MetadataUrl $MetadataURL -IssuanceTransformRulesFile ($currentPath + '\claimrules.txt') -AutoUpdateEnabled:$true -MonitoringEnabled:$true -enabled:$true -AccessControlPolicyName “Permit everyone” -TokenLifeTime 1440 120 | 121 | #Enable Supprt for Edge Browser 122 | Set-AdfsProperties -IgnoreTokenBinding $true 123 | 124 | } 125 | } 126 | } 127 | } 128 | Export-ModuleMember -Function * -Alias * -------------------------------------------------------------------------------- /DatacenterIntegration/Portal/READ.md: -------------------------------------------------------------------------------- 1 | # Azure Stack Portal User Data Clear scripts 2 | Please refer to https://aka.ms/azsportalclear for more information. 3 | -------------------------------------------------------------------------------- /DeployArmTemplate/AzureStackHCIArmTemplate_EXAMPLE-cl-Parameters-2Node-Switchless-Compute_Management_withAdapterOverride.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", 3 | "contentVersion": "1.0.0.0", 4 | "parameters": { 5 | "deploymentMode": { 6 | "value": "Validate" 7 | }, 8 | "keyVaultName": { 9 | "value": "EXAMPLE-cl-hcikv" 10 | }, 11 | "softDeleteRetentionDays": { 12 | "value": 30 13 | }, 14 | "diagnosticStorageAccountName": { 15 | "value": "EXAMPLEdiagsa" 16 | }, 17 | "logsRetentionInDays": { 18 | "value": 30 19 | }, 20 | "storageAccountType": { 21 | "value": "Standard_LRS" 22 | }, 23 | "secretsLocation": { 24 | "value": "https://EXAMPLE-cl-hcikv.vault.azure.net/" 25 | }, 26 | "ClusterWitnessStorageAccountName": { 27 | "value": "EXAMPLEcloudwitness" 28 | }, 29 | "clusterName": { 30 | "value": "EXAMPLE-cl" 31 | }, 32 | "location": { 33 | "value": "[resourceGroup().location]" 34 | }, 35 | "tenantId": { 36 | "value": "[subscription().tenantId]" 37 | }, 38 | "localAdminSecretName": { 39 | "value": "LocalAdminCredential" 40 | }, 41 | "localAdminSecretValue": { 42 | "value": "ENCODEDLOCALADMINSECRETHERE" 43 | }, 44 | "domainAdminSecretName": { 45 | "value": "AzureStackLCMUserCredential" 46 | }, 47 | "domainAdminSecretValue": { 48 | "value": "ENCODEDDOMAINADMINSECRETHERE" 49 | }, 50 | "arbDeploymentSpnName": { 51 | "value": "DefaultARBApplication" 52 | }, 53 | "arbDeploymentSpnValue": { 54 | "value": "ENCODEDARBSPNSECRETHERE" 55 | }, 56 | "storageWitnessName": { 57 | "value": "WitnessStorageKey" 58 | }, 59 | "storageWitnessValue": { 60 | "value": "ENCODEDWITNESSKEYSECRETHERE" 61 | }, 62 | "apiVersion": { 63 | "value": "2023-08-01-preview" 64 | }, 65 | "arcNodeResourceIds": { 66 | "value": [ 67 | "/subscriptions/SUBSCRIPTIONGUIDHERE/resourceGroups/EXAMPLE-Resources/providers/Microsoft.HybridCompute/machines/EXAMPLE-SERVER-1", 68 | "/subscriptions/SUBSCRIPTIONGUIDHERE/resourceGroups/EXAMPLE-Resources/providers/Microsoft.HybridCompute/machines/EXAMPLE-SERVER-2" 69 | ] 70 | }, 71 | "domainFqdn": { 72 | "value": "EXAMPLE.lab" 73 | }, 74 | "namingPrefix": { 75 | "value": "EXAMPLE" 76 | }, 77 | "adouPath": { 78 | "value": "OU=EXAMPLE,DC=EXAMPLE,DC=lab" 79 | }, 80 | "securityLevel": { 81 | "value": "Recommended" 82 | }, 83 | "driftControlEnforced": { 84 | "value": true 85 | }, 86 | "credentialGuardEnforced": { 87 | "value": true 88 | }, 89 | "smbSigningEnforced": { 90 | "value": true 91 | }, 92 | "smbClusterEncryption": { 93 | "value": null 94 | }, 95 | "bitlockerBootVolume": { 96 | "value": true 97 | }, 98 | "bitlockerDataVolumes": { 99 | "value": true 100 | }, 101 | "wdacEnforced": { 102 | "value": true 103 | }, 104 | "streamingDataClient": { 105 | "value": true 106 | }, 107 | "euLocation": { 108 | "value": null 109 | }, 110 | "episodicDataUpload": { 111 | "value": true 112 | }, 113 | "configurationMode": { 114 | "value": "Express" 115 | }, 116 | "subnetMask": { 117 | "value": "255.255.255.0" 118 | }, 119 | "defaultGateway": { 120 | "value": "100.69.32.1" 121 | }, 122 | "startingIPAddress": { 123 | "value": "100.69.32.6" 124 | }, 125 | "endingIPAddress": { 126 | "value": "100.69.32.31" 127 | }, 128 | "dnsServers": { 129 | "value": [ 130 | "100.71.45.125" 131 | ] 132 | }, 133 | "physicalNodesSettings": { 134 | "value": [ 135 | { 136 | "name": "EXAMPLE-SERVER-1", 137 | "ipv4Address": "100.69.32.4" 138 | }, 139 | { 140 | "name": "EXAMPLE-SERVER-2", 141 | "ipv4Address": "100.69.32.5" 142 | } 143 | ] 144 | }, 145 | "networkingType": { 146 | "value": "switchlessMultiServerDeployment" 147 | }, 148 | "networkingPattern": { 149 | "value": "convergedManagementCompute" 150 | }, 151 | "intentList": { 152 | "value": [ 153 | { 154 | "name": "Compute_Management", 155 | "trafficType": [ 156 | "Management", 157 | "Compute" 158 | ], 159 | "adapter": [ 160 | "Mgmt_Compute1", 161 | "Mgmt_Compute2" 162 | ], 163 | "overrideVirtualSwitchConfiguration": false, 164 | "virtualSwitchConfigurationOverrides": { 165 | "enableIov": "", 166 | "loadBalancingAlgorithm": "" 167 | }, 168 | "overrideQosPolicy": false, 169 | "qosPolicyOverrides": { 170 | "priorityValue8021Action_Cluster": "7", 171 | "priorityValue8021Action_SMB": "3", 172 | "bandwidthPercentage_SMB": "50" 173 | }, 174 | "overrideAdapterProperty": true, 175 | "adapterPropertyOverrides": { 176 | "jumboPacket": "", 177 | "networkDirect": "Disabled", 178 | "networkDirectTechnology": "" 179 | } 180 | }, 181 | { 182 | "name": "Storage", 183 | "trafficType": [ 184 | "Storage" 185 | ], 186 | "adapter": [ 187 | "Storage1", 188 | "Storage2" 189 | ], 190 | "overrideVirtualSwitchConfiguration": false, 191 | "virtualSwitchConfigurationOverrides": { 192 | "enableIov": "", 193 | "loadBalancingAlgorithm": "" 194 | }, 195 | "overrideQosPolicy": false, 196 | "qosPolicyOverrides": { 197 | "priorityValue8021Action_Cluster": "7", 198 | "priorityValue8021Action_SMB": "3", 199 | "bandwidthPercentage_SMB": "50" 200 | }, 201 | "overrideAdapterProperty": false, 202 | "adapterPropertyOverrides": { 203 | "jumboPacket": "9014", 204 | "networkDirect": "Enabled", 205 | "networkDirectTechnology": "RoCEv2" 206 | } 207 | } 208 | ] 209 | }, 210 | "storageNetworkList": { 211 | "value": [ 212 | { 213 | "name": "StorageNetwork1", 214 | "networkAdapterName": "Storage1", 215 | "vlanId": "711" 216 | }, 217 | { 218 | "name": "StorageNetwork2", 219 | "networkAdapterName": "Storage2", 220 | "vlanId": "712" 221 | } 222 | ] 223 | }, 224 | "storageConnectivitySwitchless": { 225 | "value": true 226 | }, 227 | "customLocation": { 228 | "value": "EXAMPLE-clCustomLocation" 229 | } 230 | } 231 | } -------------------------------------------------------------------------------- /Deployment/Deployment.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/Deployment/Deployment.gif -------------------------------------------------------------------------------- /Deployment/ScreenShot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/Deployment/ScreenShot.png -------------------------------------------------------------------------------- /HCI/AsHciADArtifactsPreCreationTool.psd1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/HCI/AsHciADArtifactsPreCreationTool.psd1 -------------------------------------------------------------------------------- /HCI/OEMEndpoints/DataOn/DataOnAzureLocalEndpoints.md: -------------------------------------------------------------------------------- 1 | # DataON required endpoints for Azure Local deployments 2 | 3 | This page provides a comprehensive overview of the necessary endpoints for deploying Azure Local using the DataON solution. These URLs are maintained by the OEM hardware vendor. Please contact with your OEM provider if these URLs need to be updated. 4 | 5 | Each hardware vendor provided [Solution Builder Extension (SBE)](https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension) will require some minimal endpoints to allow for discovery and download of [SBE](https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension) updates for your solution. 6 | 7 | Refer to the table in the following document to determine if your solution supports an SBE as well is to review SBE release notes or and other documentation: https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension?view=azloc-24113#identify-a-solution-builder-extension-update-for-your-hardware 8 | 9 | In addition to [SBE](https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension) endpoints, some OEM hardware vendors will require additional endpoints for there specific use cases as noted below. 10 | 11 | **Last updated on March 19, 2025** 12 | 13 | | Id | Endpoint Description | Endpoint URL | Port | Notes | Arc gateway support | Required for | 14 | |----|---------------------|------------------------------------------------------------------------|------|----------------------------------------------------------|---------------------|------------------------------| 15 | | 1 | SBE Manifest endpoint | dataonsbe.blob.core.windows.net/sbe-manifest/SBE_Discovery_DataON.xml | 443 | Enables discovery and confirmation of validity for SBE updates from OEM | No | Deployment & Post deployment | 16 | | 2 | SBE Manifest redirection link | aka.ms/AzureStackSBEUpdate/DataON | 443 | Microsoft redirection to the explicit OEM SBE manifest endpoint| No | Deployment & Post deployment | 17 | | 3 | SBE Download endpoint | https://dataonsbe.azurewebsites.net/download | 443 | Required for Azure Local to be able to download SBE files to avoid "AdditionalContentRequired" state (see "Download" in [Avanced SBE capabilities](https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension?view=azloc-24113#advanced-solution-builder-extension-capabilities)).| No | Deployment & Post deployment | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /HCI/OEMEndpoints/Dell/DellAzureLocalEndpoints.md: -------------------------------------------------------------------------------- 1 | # Dell required endpoints for Azure Local deployments 2 | 3 | This page provides a comprehensive overview of the necessary endpoints for deploying Azure Local using Dell solutions. These URLs are maintained by the OEM hardware vendor. Please contact with your OEM provider if these URLs need to be updated. 4 | 5 | Each hardware vendor provided [Solution Builder Extension (SBE)](https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension) will require some minimal endpoints to allow for discovery and download of [SBE](https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension) updates for your solution. 6 | 7 | Refer to the table in the following document to determine if your solution supports an SBE as well is to review SBE release notes or and other documentation: https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension?view=azloc-24113#identify-a-solution-builder-extension-update-for-your-hardware 8 | 9 | In addition to [SBE](https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension) endpoints, some OEM hardware vendors will require additional endpoints for there specific use cases as noted below. 10 | 11 | **Last updated on March 19, 2025** 12 | 13 | | Id | Endpoint Description | Endpoint URL | Port | Notes | Arc gateway support | Required for | 14 | |----|---------------------|------------------------------------------------------------------------|------|----------------------------------------------------------|---------------------|------------------------------| 15 | | 1 | SBE Manifest endpoint | downloads.dell.com/folderdatastore/apex-cp-azure/prod01/SBE_Discovery_Dell.xml | 443 | Enables discovery and confirmation of validity for SBE updates from OEM | No | Deployment & Post deployment | 16 | | 2 | SBE Manifest redirection link | aka.ms/AzureStackSBEUpdate/DellEmc | 443 | Microsoft redirection to the explicit OEM SBE manifest endpoint. | No | Deployment & Post deployment | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /HCI/OEMEndpoints/HPE/HPEAzureLocalEndpoints.md: -------------------------------------------------------------------------------- 1 | # HPE required endpoints for Azure Local deployments 2 | 3 | This page provides a comprehensive overview of the necessary endpoints for deploying Azure Local using HPE solutions. These URLs are maintained by the OEM hardware vendor. Please contact with your OEM provider if these URLs need to be updated. 4 | 5 | Each hardware vendor provided [Solution Builder Extension (SBE)](https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension) will require some minimal endpoints to allow for discovery and download of [SBE](https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension) updates for your solution. 6 | 7 | Refer to the table in the following document to determine if your solution supports an SBE as well is to review SBE release notes or and other documentation: https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension?view=azloc-24113#identify-a-solution-builder-extension-update-for-your-hardware 8 | 9 | In addition to [SBE](https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension) endpoints, some OEM hardware vendors will require additional endpoints for there specific use cases as noted below. 10 | 11 | **Last updated on March 19, 2025** 12 | 13 | | Id | Endpoint Description | Endpoint URL | Port | Notes | Arc gateway support | Required for | 14 | |----|---------------------|------------------------------------------------------------------------|------|----------------------------------------------------------|---------------------|------------------------------| 15 | | 1 | SBE Manifest endpoint (all) | h41380.www4.hpe.com/hpe/microsoft/SBE_Discovery_HPE.xml | 443 | Enables discovery and confirmation of validity for SBE updates from OEM. Used by all HPE solutions. | No | Deployment & Post deployment | 16 | | 2 | SBE Manifest endpoint (some models) | h41380.www4.hpe.com/hpe/SBE/SBE_Discovery_HPE.xml | 443 | Enables discovery and confirmation of validity for SBE updates from OEM. Only used by HPE DL380 Gen11 Integrated Systems. | No | Deployment & Post deployment | 17 | | 3 | SBE Manifest redirection link (all) | aka.ms/AzureStackSBEUpdate/HPE | 443 | Microsoft redirection to the explicit OEM SBE manifest endpoint. | No | Deployment & Post deployment | 18 | | 4 | SBE Manifest redirection link (some models) | aka.ms/AzureStackSBEUpdate/HPE-ProLiant-Standard | 443 | Microsoft redirection to the explicit OEM SBE manifest endpoint. Only used by HPE DL380 Gen11 Integrated Systems. | No | Deployment & Post deployment | 19 | 20 | 21 | -------------------------------------------------------------------------------- /HCI/OEMEndpoints/Hitachi/HitachiAzureLocalEndpoints.md: -------------------------------------------------------------------------------- 1 | # Hitachi required endpoints for Azure Local deployments 2 | 3 | This page provides a comprehensive overview of the necessary endpoints for deploying Azure Local using HitachiVantara solutions. These URLs are maintained by the OEM hardware vendor. Please contact with your OEM provider if these URLs need to be updated. 4 | 5 | Each hardware vendor provided [Solution Builder Extension (SBE)](https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension) will require some minimal endpoints to allow for discovery and download of [SBE](https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension) updates for your solution. 6 | 7 | Refer to the table in the following document to determine if your solution supports an SBE as well is to review SBE release notes or and other documentation: https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension?view=azloc-24113#identify-a-solution-builder-extension-update-for-your-hardware 8 | 9 | In addition to [SBE](https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension) endpoints, some OEM hardware vendors will require additional endpoints for there specific use cases as noted below. 10 | 11 | **Last updated on March 19, 2025** 12 | 13 | | Id | Endpoint Description | Endpoint URL | Port | Notes | Arc gateway support | Required for | 14 | |----|---------------------|------------------------------------------------------------------------|------|----------------------------------------------------------|---------------------|------------------------------| 15 | | 1 | SBE Manifest endpoint | download.hitachivantara.com/ucpasbe/xml/SBE_Discovery_HitachiVantara.xml | 443 | Enables discovery and confirmation of validity for SBE updates from OEM | No | Deployment & Post deployment | 16 | | 2 | SBE Manifest redirection link | aka.ms/AzureStackSBEUpdate/HitachiVantara | 443 | Microsoft redirection to the explicit OEM SBE manifest endpoint. | No | Deployment & Post deployment | 17 | 18 | -------------------------------------------------------------------------------- /HCI/OEMEndpoints/Lenovo/LenovoAzureLocalEndpoints.md: -------------------------------------------------------------------------------- 1 | # Lenovo required endpoints for Azure Local deployments 2 | 3 | This page provides a comprehensive overview of the necessary endpoints for deploying Azure Local using Lenovo solutions. These URLs are maintained by the OEM hardware vendor. Please contact with your OEM provider if these URLs need to be updated. 4 | 5 | Each hardware vendor provided [Solution Builder Extension (SBE)](https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension) will require some minimal endpoints to allow for discovery and download of [SBE](https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension) updates for your solution. 6 | 7 | Refer to the table in the following document to determine if your solution supports an SBE as well is to review SBE release notes or and other documentation: https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension?view=azloc-24113#identify-a-solution-builder-extension-update-for-your-hardware 8 | 9 | In addition to [SBE](https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension) endpoints, some OEM hardware vendors will require additional endpoints for there specific use cases as noted below. 10 | 11 | **Last updated on March 19, 2025** 12 | 13 | | Id | Endpoint Description | Endpoint URL | Port | Notes | Arc gateway support | Required for | 14 | |----|---------------------|------------------------------------------------------------------------|------|----------------------------------------------------------|---------------------|------------------------------| 15 | | 1 | SBE Manifest endpoint | thinkagile.lenovo.com/MX/SBE/SBE_Discovery_Lenovo.xml | 443 | Enables discovery and confirmation of validity for SBE updates from OEM | No | Deployment & Post deployment | 16 | | 2 | SBE Manifest redirection link | aka.ms/AzureStackSBEUpdate/Lenovo | 443 | Microsoft redirection to the explicit OEM SBE manifest endpoint. | No | Deployment & Post deployment | 17 | | 3 | SBE Download list | https://thinkagile.lenovo.com/MX/SBE/Lenovo_DownloadConnector_Matrix.xml | 443 | online list of SBE download endpoints. Required for Azure Local to be able to download SBE files to avoid "AdditionalContentRequired" state (see "Download" in [Avanced SBE capabilities](https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension?view=azloc-24113#advanced-solution-builder-extension-capabilities)).

**Tip:** Review the contents of this file for the full list of endpoints, by SBE version. | No | Deployment & Post deployment | 18 | | 4 | SBE Download list redirection link | aka.ms/LenovoSBEDownloadMatrix | 443 | Microsoft redirection to online list of SBE download endpoints. Required for Azure Local to be able to download SBE files to avoid "AdditionalContentRequired" state (see "Download" in [Avanced SBE capabilities](https://learn.microsoft.com/en-us/azure/azure-local/update/solution-builder-extension?view=azloc-24113#advanced-solution-builder-extension-capabilities)). | No | Deployment & Post deployment | 19 | 20 | 21 | -------------------------------------------------------------------------------- /HCI/azure-stack-hci-firewall-rules.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/HCI/azure-stack-hci-firewall-rules.xlsx -------------------------------------------------------------------------------- /HCI/azure-stack-hci-oem-contact-and-material.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/HCI/azure-stack-hci-oem-contact-and-material.xlsx -------------------------------------------------------------------------------- /Identity/README.md: -------------------------------------------------------------------------------- 1 | // Place your settings in this file to overwrite the default settings 2 | { 3 | "workbench.colorTheme": "Abyss" 4 | } 5 | 6 | As a prerequisite, make sure that you installed the correct PowerShell modules and versions: 7 | 8 | For Azure Stack 1904 to 1907 9 | 10 | Install the AzureRM.BootStrapper module. Select Yes when prompted to install NuGet 11 | Install-Module -Name AzureRM.BootStrapper 12 | 13 | Install and import the API Version Profile required by Azure Stack into the current PowerShell session. 14 | Use-AzureRmProfile -Profile 2019-03-01-hybrid -Force 15 | Install-Module -Name AzureStack -RequiredVersion 1.7.2 16 | 17 | 18 | 19 | For Azure stack 1901 to 1903 20 | 21 | ```powershell 22 | Install-Module -Name AzureRM -RequiredVersion 2.4.0 23 | Install-Module -Name AzureStack -RequiredVersion 1.7.1 24 | ``` 25 | 26 | For all other azure stack versions, please follow the instructions at https://aka.ms/azspsh for the needed azure powershell 27 | 28 | Then make sure the following modules are imported: 29 | 30 | ```powershell 31 | Import-Module ..\Connect\AzureStack.Connect.psm1 32 | Import-Module ..\Identity\AzureStack.Identity.psm1 33 | ``` 34 | 35 | ## Getting the directory tenant identifier from the Identity System 36 | 37 | This function is used to get the Directory Tenant Guid. This method works for both AAD and AD FS. 38 | 39 | ```powershell 40 | $directoryTenantId = Get-AzsDirectoryTenantIdentifier -Authority "" 41 | ``` 42 | 43 | An example of an authority for AAD is `https://login.windows.net/microsoft.onmicrosoft.com` 44 | and for AD FS is `https://adfs.local.azurestack.external/adfs`. 45 | 46 | ## Updating the Azure Stack AAD Home Directory (after installing updates or new Resource Providers) 47 | 48 | After installing updates or hotfixes to Azure Stack, new features may be introduced which require new permissions to be 49 | granted to one or more identity applications. Granting these permissions requires administrative access to the 50 | home directory, so it cannot be done automatically. 51 | 52 | ### Install PowerShell for Azure Stack 53 | 54 | Use the latest PowerShell module for Azure Stack to register with Azure. 55 | If the latest version is not already installed, see [install PowerShell for Azure Stack](https://docs.microsoft.com/azure-stack/operator/azure-stack-powershell-install). 56 | 57 | ### Download Azure Stack tools 58 | 59 | The Azure Stack tools GitHub repository contains PowerShell modules that support Azure Stack functionality, including updating permissions on Azure AD. During the registration process, you must import and use the **AzureStack.Connect** and **AzureStack.Identity** PowerShell modules, found in the Azure Stack tools repository, to update the permissions on Azure AD for the Azure stack stamp. 60 | 61 | To ensure that you are using the latest version, delete any existing versions of the Azure Stack tools, then [download the latest version from GitHub](https://docs.microsoft.com/azure-stack/operator/azure-stack-powershell-download) before proceeding. 62 | 63 | ### Updating Azure AD tenant permissions 64 | 65 | You should now be able to update the permissions which should clear the alert. Run the following commands from the **Azurestack-tools-master/identity** folder: 66 | 67 | ```powershell 68 | Import-Module ..\Connect\AzureStack.Connect.psm1 69 | Import-Module ..\Identity\AzureStack.Identity.psm1 70 | 71 | $adminResourceManagerEndpoint = "https://adminmanagement.." 72 | 73 | # This is the primary tenant Azure Stack is registered to: 74 | $homeDirectoryTenantName = ".onmicrosoft.com" 75 | 76 | Update-AzsHomeDirectoryTenant -AdminResourceManagerEndpoint $adminResourceManagerEndpoint ` 77 | -DirectoryTenantName $homeDirectoryTenantName -Verbose 78 | ``` 79 | 80 | The script prompts you for administrative credentials on the Azure AD tenant, and takes several minutes to run. The alert should clear after you have run the cmdlet. 81 | 82 | ## Enabling AAD Multi-Tenancy in Azure Stack 83 | 84 | Allowing users and service principals from multiple AAD directory tenants to sign in and create resources on Azure Stack. 85 | There are two personas involved in implementing this scenario. 86 | 87 | 1. The Administrator of the Azure Stack installation 88 | 1. The Directory Tenant Administrator of the directory that needs to be onboarded to Azure Stack 89 | 90 | ### Azure Stack Administrator 91 | 92 | #### Step 1: Onboard the Guest Directory Tenant to Azure Stack 93 | 94 | This step will let Azure Resource manager know that it can accept users and service principals from the guest directory tenant. 95 | 96 | ```powershell 97 | $adminARMEndpoint = "https://adminmanagement.." 98 | $azureStackDirectoryTenant = ".onmicrosoft.com" # this is the primary tenant Azure Stack is registered to 99 | $guestDirectoryTenantToBeOnboarded = ".onmicrosoft.com" # this is the new tenant that needs to be onboarded to Azure Stack 100 | $location = "local" 101 | 102 | Register-AzsGuestDirectoryTenant -AdminResourceManagerEndpoint $adminARMEndpoint ` 103 | -DirectoryTenantName $azureStackDirectoryTenant ` 104 | -GuestDirectoryTenantName $guestDirectoryTenantToBeOnboarded ` 105 | -ResourceGroupName "system.local" ` 106 | -Location $location 107 | ``` 108 | 109 | With this step, the work of the Azure Stack administrator is done. 110 | 111 | ### Guest Directory Tenant Administrator 112 | 113 | #### Step 2: Registering Azure Stack applications with the Guest Directory 114 | 115 | Execute the following cmdlet as the administrator of the directory that needs to be onboarded, replacing ```$guestDirectoryTenantName``` with your directory domain name 116 | 117 | ```powershell 118 | $tenantARMEndpoint = "https://management.." 119 | $guestDirectoryTenantName = ".onmicrosoft.com" # this is the new tenant that needs to be onboarded to Azure Stack 120 | 121 | Register-AzsWithMyDirectoryTenant -TenantResourceManagerEndpoint $tenantARMEndpoint ` 122 | -DirectoryTenantName $guestDirectoryTenantName 123 | ``` 124 | 125 | ## Retrieve Azure Stack Identity Health Report 126 | 127 | Execute the following cmdlet as the Azure Stack administrator. 128 | 129 | ```powershell 130 | 131 | $AdminResourceManagerEndpoint = "https://adminmanagement.." 132 | $DirectoryName = ".onmicrosoft.com" 133 | $healthReport = Get-AzsHealthReport -AdminResourceManagerEndpoint $AdminResourceManagerEndpoint -DirectoryTenantName $DirectoryName 134 | Write-Host "Healthy directories: " 135 | $healthReport.directoryTenants | Where status -EQ 'Healthy' | Select -Property tenantName,tenantId,status | ft 136 | 137 | 138 | Write-Host "Unhealthy directories: " 139 | $healthReport.directoryTenants | Where status -NE 'Healthy' | Select -Property tenantName,tenantId,status | ft 140 | ``` 141 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/BackupValidationTool.Strings.psd1: -------------------------------------------------------------------------------- 1 | ConvertFrom-StringData @' 2 | ###PSLOC 3 | # message 4 | MsgComputeQuota = BackupType: ComputeQuota 5 | MsgNetworkQuota = BackupType: NetworkQuota 6 | MsgStorageQuota = BackupType: StorageQuota 7 | MsgOffer = BackupType: Offer 8 | MsgSubscription = BackupType: UserSubscription 9 | MsgPlan = BackupType: Plan 10 | 11 | # progress 12 | ProgressConnectBackupStore = Connecting to the backup store with provided credential 13 | ProgressConnectSqlServerDefault = Connecting to the SQL server '{0}' with Windows Authentication 14 | ProgressConnectSqlServerProvided = Connecting to the SQL server '{0}' with provided credential 15 | ProgressCreateTmpFolder = Creating a temporary folder {0} under {1} 16 | ProgressGetBackupSnapshots = Getting required backup snapshots of BackupID {0} 17 | ProgressDecryptSnapshot = Starting to decrypt snapshot {0} 18 | ProgressCompletedDecryptionJobs = Decryption took {0} to complete 19 | ProgressRestoreSubscriptionDb = Restoring subscription DB with {0} 20 | 21 | # warning 22 | WarningDecryptedBackupDataNotFound = Decrypted backup data for {0}: '{1}' is not found, skip listing those resources 23 | 24 | # error 25 | ErrorFailToConnectBackupStore = Failed to connect to the backup store '{0}' with provided credential. Exception: {1} 26 | ErrorFailToConnectSqlServerDefault = Failed to connect to the SQL server '{0}' with Windows Authentication. Exception: {1} 27 | ErrorFailToConnectSqlServerProvided = Failed to connect to the SQL server '{0}' with provided credential. Exception: {1} 28 | ErrorFailToFindBackupSnapshots = Failed to find backup snapshots with BackupID {0} 29 | ErrorFindMoreThanOneSnapshot = Found more than one snapshots for repository: {0} 30 | ErrorFailToFindBackupChain = Failed to find backup chain for {0} 31 | ErrorFailToDecryptSnapshot = Backup decryption failed for snapshot: '{0}'. Exception: {1} 32 | ErrorFailToFindSqlBackupFile = Failed to find SQL backup file: '{0}'. Cannot restore the database. 33 | ErrorDatabaseMissingItem = Failed to retrieve {0} as {1} with [{2}] value '{3}' is missing in the database. 34 | 35 | # html 36 | HtmlTitle = Backup Validation Report 37 | HtmlCrpQuotaHeader = BackupType: ComputeQuota 38 | HtmlNrpQuotaHeader = BackupType: NetworkQuota 39 | HtmlSrpQuotaHeader = BackupType: StorageQuota 40 | HtmlOfferHeader = BackupType: Offer 41 | HtmlSubscriptionHeader = BackupType: Subscription 42 | HtmlPlanHeader = BackupType: Plan 43 | HtmlResourceCount = Count: 44 | '@ 45 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/BackupValidationTool.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | # Root module of this module. 3 | RootModule = 'BackupValidationTool.psm1' 4 | 5 | # Version number of this module. 6 | moduleVersion = '1.0.0.0' 7 | 8 | # Author of this module 9 | Author = 'Microsoft Corporation' 10 | 11 | # Company or vendor of this module 12 | CompanyName = 'Microsoft Corporation' 13 | 14 | # Copyright statement for this module 15 | Copyright = '(c) Microsoft Corporation. All rights reserved.' 16 | 17 | # Description of the functionality provided by this module 18 | Description = 'The BackupValidationTool module contains required functions for an automated backup validation process.' 19 | 20 | # Minimum version of the Windows PowerShell engine required by this module 21 | PowerShellVersion = '5.1' 22 | 23 | # Functions to export from this module 24 | FunctionsToExport = 'Validate-AzsBackup' 25 | 26 | # Dependencies of this module 27 | RequiredModules = @( 28 | (Join-Path $PSScriptRoot 'Unprotect-AzsBackup.psd1'), 29 | (Join-Path $PSScriptRoot 'IBCAdapterClientPkg\Microsoft.AzureStack.Fabric.Backup.Common.Client.Cmdlets.psd1') 30 | ) 31 | 32 | # 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. 33 | PrivateData = @{ 34 | 35 | PSData = @{ 36 | 37 | # Tags applied to this module. These help with module discovery in online galleries. 38 | Tags = @('Backup', 'Validate') 39 | 40 | # A URL to the license for this module. 41 | # LicenseUri = '' 42 | 43 | # ReleaseNotes of this module 44 | # ReleaseNotes = '' 45 | 46 | } # End of PSData hashtable 47 | 48 | } # End of PrivateData hashtable 49 | } 50 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Azure.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Azure.Core.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Azure.Identity.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Azure.Identity.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Azure.Security.KeyVault.Secrets.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Azure.Security.KeyVault.Secrets.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Bootstrap.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Bootstrap.ps1 -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/IfxMetrics.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/IfxMetrics.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Backup.Storage.DataMovement.Internal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Backup.Storage.DataMovement.Internal.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Async.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Async.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Async.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Async.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Diagnostics.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Diagnostics.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Encryption.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Encryption.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Encryption.ManagementContract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Encryption.ManagementContract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Encryption.Models.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Encryption.Models.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Encryption.Trace.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Encryption.Trace.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Encryption.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Encryption.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Encryption.dll.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.FaultSdk.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.FaultSdk.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.FxCop.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.FxCop.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.HostModel.Service.Core.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.HostModel.Service.Core.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Http.Client.ErrorModel.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Http.Client.ErrorModel.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Http.Client.Remoting.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Http.Client.Remoting.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Http.Client.Remoting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Http.Client.Remoting.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Http.Models.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Http.Models.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Http.Trace.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Http.Trace.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Http.Trace.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Http.Trace.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Persistence.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Persistence.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Persistence.DataMigration.Client.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Persistence.DataMigration.Client.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Persistence.DataMigration.Core.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Persistence.DataMigration.Core.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Persistence.EntityStore.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Persistence.EntityStore.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Persistence.Serialization.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Persistence.Serialization.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Persistence.Serialization.Models.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Persistence.Serialization.Models.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Persistence.Serialization.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Persistence.Serialization.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Persistence.Serialization.dll.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Persistence.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Persistence.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Persistence.dll.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.ReliableCollections.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.ReliableCollections.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.ReliableCollections.EntityStore.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.ReliableCollections.EntityStore.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.ReliableOperations.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.ReliableOperations.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.ReliableOperations.dll.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.ServiceDiscovery.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.ServiceDiscovery.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.ServiceDiscovery.ServiceFabric.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.ServiceDiscovery.ServiceFabric.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.ServiceDiscovery.ServiceFabric.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.ServiceDiscovery.ServiceFabric.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.ServiceRegistry.ServiceFabricTypeRegistry.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.ServiceRegistry.ServiceFabricTypeRegistry.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.ServiceRegistry.ServiceTypeRegistry.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.ServiceRegistry.ServiceTypeRegistry.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Telemetry.TelemetryReporter.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Common.Infrastructure.Telemetry.TelemetryReporter.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.BackupController.Common.Trace.Internal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.BackupController.Common.Trace.Internal.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.BackupController.Common.Trace.Internal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AzureStack.Fabric.Backup.BackupController.Common.Trace.Internal 5 | 6 | 7 | 8 | 9 | The microsoft context header name for ASP.NET's Http Context 10 | 11 | 12 | 13 | 14 | The microsoft context header name for ASP.NET's Http Context 15 | 16 | 17 | 18 | 19 | Value to log in place of suppressed header values 20 | 21 | 22 | 23 | 24 | Headers that may contain secrets and should be suppressed 25 | 26 | 27 | 28 | 29 | Traces an HTTP request handled by a server. 30 | 31 | The request. 32 | The response. 33 | The request body. 34 | The response body. 35 | 36 | 37 | 38 | Gets the caller address from the request property bag. 39 | 40 | The HTTP request. 41 | the caller address. 42 | 43 | 44 | 45 | Suppresses a header value if the header is on the suppress list 46 | 47 | Header name 48 | Header value 49 | Returns the original or suppressed header value as appropriate 50 | 51 | 52 | 53 | Filters request and response header values suppressing those that should not be logged. 54 | 55 | Request or response header name 56 | Header values 57 | Header value to log 58 | 59 | 60 | 61 | Formats the request headers. 62 | 63 | The request. 64 | A string containing all the request headers 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.BackupProvider.Internal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.BackupProvider.Internal.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupAlert.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupAlert.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupCache.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupCache.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupDataModel.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupDataModel.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupOperationBroker.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupOperationBroker.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupOperationBroker.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AzureStack.Fabric.Backup.Common.BackupOperationBroker 5 | 6 | 7 | 8 | 9 | Event handlers for IBC operations 10 | 11 | 12 | 13 | 14 | Triggers when any IBC settings changed 15 | 16 | 17 | 18 | 19 | Triggers when scheduler configurations are cleared 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupSettingManager.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupSettingManager.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupSettingsManager.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupSettingsManager.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupSnapshotOrganizer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupSnapshotOrganizer.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupSourceBlobMetadata.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupSourceBlobMetadata.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupSourceBlobMetadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AzureStack.Fabric.Backup.Common.BackupSourceBlobMetadata 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupSourceInternalContract.Internal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupSourceInternalContract.Internal.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupSourceInternalContract.Internal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AzureStack.Fabric.Backup.Common.BackupSourceInternalContract.Internal 5 | 6 | 7 | 8 | 9 | The interface for a blob data mover 10 | 11 | 12 | 13 | 14 | Copy a blob directory to the local data source 15 | 16 | The source blob container 17 | The transfer context with the relavent callbacks for the data movement lib 18 | Task 19 | 20 | 21 | 22 | Generate the metadata of all blobs that are backed up 23 | 24 | The source blob container 25 | The blobs in the container. Ideally the list should contain blobs only and not directory. 26 | The container metadata to be filled 27 | Task 28 | 29 | 30 | 31 | Stores the metadata file to the local backup source 32 | 33 | The stream of the metadata file content 34 | The metadata file name 35 | Task 36 | 37 | 38 | 39 | Read the backed up metadata file 40 | 41 | The metadata file name 42 | Task 43 | 44 | 45 | 46 | Copy from the local data source to a blob directory 47 | 48 | The target blob container 49 | Blob type 50 | The transfer context with the relavent callbacks for the data movement lib 51 | Task 52 | 53 | 54 | 55 | The interface for a stream factory for backup destination 56 | 57 | 58 | 59 | 60 | Creates a write stream 61 | 62 | the name of the stream 63 | 64 | 65 | 66 | Creates a read stream 67 | 68 | the name of the stream 69 | 70 | 71 | 72 | Enumerates the names of all the streams 73 | 74 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupSourceUtils.Internal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupSourceUtils.Internal.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupSourceUtils.Internal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AzureStack.Fabric.Backup.Common.BackupSourceUtils.Internal 5 | 6 | 7 | 8 | 9 | The stream factory for blob-based backup destination 10 | 11 | 12 | 13 | 14 | Remove .blob extension from the Blob Uri being uploaded to container. 15 | 16 | 17 | 18 | 19 | The blob to blob data mover 20 | 21 | 22 | 23 | 24 | The blobs stored in the restore local blob container came from the snapshot repository, the assumptions are: 25 | 1) The data come from a valid backup with the original directory structure 26 | 2) All blobs in the restore local blob container are BlockBlobs placed under sub-directories with their 27 | actual blob types. For example: 28 | localDir/AppendBlob/someAppendBlob.blob 29 | localDir/BlockBlob/someBlockBlob.blob 30 | localDir/PageBlob/somePageBlob.blob 31 | This function uploads all blobs of a particular type (i.e., all blobs under one of the blob type directories) 32 | to the destination blob container with their actual blob type and remove the .blob extension. 33 | It's recommended to use DatamovementLib functions to transfer BlockBlobs. 34 | 35 | 36 | 37 | 38 | The stream factory for blob-based backup destination 39 | 40 | 41 | 42 | 43 | Creates a write stream 44 | 45 | the name of the stream 46 | 47 | 48 | 49 | Creates a read stream 50 | 51 | the name of the stream 52 | 53 | 54 | 55 | Enumerates the names of all the streams 56 | 57 | 58 | 59 | 60 | The blob to file data mover 61 | 62 | 63 | 64 | 65 | Add .blob extension to destination blob file name being downloaded from container. 66 | 67 | 68 | 69 | 70 | The stream factory for file-based backup destination 71 | 72 | 73 | 74 | 75 | Creates a write stream 76 | 77 | the name of the stream 78 | 79 | 80 | 81 | Creates a read stream 82 | 83 | the name of the stream 84 | 85 | 86 | 87 | Enumerates the names of all the streams 88 | 89 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupStore.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupStore.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupStoreProviderBTS.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupStoreProviderBTS.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupStoreProviderFileShare.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupStoreProviderFileShare.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupTelemetry.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupTelemetry.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupUtils.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.BackupUtils.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.Client.Cmdlets.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.Client.Cmdlets.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.Client.Cmdlets.psd1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.Client.Cmdlets.psd1 -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.Client.IBCAdapterClient.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.Client.IBCAdapterClient.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.Client.IBCAdapterClient.Contract.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AzureStack.Fabric.Backup.Common.Client.IBCAdapterClient.Contract 5 | 6 | 7 | 8 | 9 | Create IBC client using static dns resolver. 10 | 11 | IIbcRestClient. 12 | 13 | 14 | 15 | Create IBC client using service fabric resolver. 16 | This is a method hould be only used for resolve service on ERCS ring. 17 | 18 | IIbcRestClient. 19 | 20 | 21 | 22 | Create IBC client using service fabric resolver. 23 | This is a method hould be only used for resolve service on ERCS ring. 24 | 25 | IIbcRestClient. 26 | 27 | 28 | 29 | Create IBC client using service fabric resolver. 30 | This is a method hould be only used for resolve service on ERCS ring. 31 | 32 | IIbcRestClient. 33 | 34 | 35 | 36 | Create IBC client using service fabric resolver. 37 | This is a method hould be only used for resolve service on ERCS ring. 38 | 39 | IIbcRestClient. 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.Client.IBCAdapterClient.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.Client.IBCAdapterClient.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.CommonUtils.Internal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.CommonUtils.Internal.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.EceHelpers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.EceHelpers.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.IbcInternalConfigurations.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.IbcInternalConfigurations.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.Operation.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.Operation.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.Operation.Contract.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AzureStack.Fabric.Backup.Common.Operation.Contract 5 | 6 | 7 | 8 | 9 | External store operation interface 10 | 11 | 12 | 13 | 14 | backup operation interface 15 | 16 | 17 | 18 | 19 | Gets or sets backup restore operation data. 20 | 21 | 22 | 23 | 24 | backup service operation interface 25 | 26 | 27 | 28 | 29 | Gets or sets the operation type 30 | 31 | 32 | 33 | 34 | Gets or sets whether the operation is resumable 35 | 36 | 37 | This is different from property CanResume defined in 38 | If IsOperationResumable is false, the operation should fail after suspended and resumed 39 | While for CanResume, if it is set to false, the operation will not be launched during resume but just left in store 40 | 41 | 42 | 43 | 44 | Runs the operation 45 | 46 | The cancellation token 47 | The Task for the running operation 48 | 49 | 50 | 51 | Restore operation interface 52 | 53 | 54 | 55 | 56 | Gets or sets force restore flag. 57 | 58 | 59 | 60 | 61 | Gets or sets backup restore operation data. 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryBlob.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryBlob.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryBlob.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AzureStack.Fabric.Backup.Common.RepositoryBlob 5 | 6 | 7 | 8 | 9 | Initializes a new instance of the class. 10 | 11 | component info 12 | repository name 13 | account name 14 | account key 15 | table end point used for connecting to storage 16 | blob end point used for connecting to storage 17 | queue end point used for connecting to storage 18 | name filter for Azure Stack storage account containers 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryBlobInternal.Internal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryBlobInternal.Internal.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryBlobInternal.Internal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AzureStack.Fabric.Backup.Common.RepositoryBlobInternal.Internal 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryDirectory.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryDirectory.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryDirectory.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AzureStack.Fabric.Backup.Common.RepositoryDirectory 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryDkmContainer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryDkmContainer.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryDkmContainer.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AzureStack.Fabric.Backup.Common.RepositoryDkmContainer 5 | 6 | 7 | 8 | 9 | DKM container related constants 10 | 11 | 12 | 13 | 14 | repository for DKM container 15 | 16 | 17 | 18 | 19 | Gets or sets the distinguished name of DKM container 20 | 21 | 22 | 23 | 24 | Gets or sets the service account name assigning DKM container permission 25 | 26 | 27 | 28 | 29 | Initializes a new instance of the class. 30 | 31 | component info 32 | repository name 33 | 34 | 35 | 36 | Perform backup of DKM container 37 | 38 | backup local store 39 | 40 | 41 | 42 | Perform restore of DKM container 43 | 44 | restore local store 45 | 46 | 47 | 48 | Add RSAT-AD-Tools feature 49 | 50 | 51 | 52 | 53 | Export the DKM container 54 | 55 | dkmDn 56 | dkmExportPath 57 | 58 | 59 | 60 | Import the DKM container 61 | 62 | dkmFilePath 63 | 64 | 65 | 66 | Set the DKM container permission 67 | 68 | dkmLdapPath 69 | account 70 | 71 | 72 | 73 | Check if the current user is domain admin 74 | 75 | True if the current user is domain admin 76 | 77 | 78 | 79 | Starts the ldifde.exe process 80 | 81 | argument 82 | process time out in milliseconds 83 | Invalid Op exception 84 | Time out exception 85 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositorySQLServer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositorySQLServer.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositorySfCss.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositorySfCss.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositorySfCss.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AzureStack.Fabric.Backup.Common.RepositorySfCss 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryTable.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryTable.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryTable.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AzureStack.Fabric.Backup.Common.RepositoryTable 5 | 6 | 7 | 8 | 9 | repository for table 10 | 11 | 12 | 13 | 14 | Initializes a new instance of the class. 15 | 16 | component info 17 | repository name 18 | account name 19 | account key 20 | table end point used for connecting to storage 21 | blob end point used for connecting to storage 22 | queue end point used for connecting to storage 23 | name filter for Azure Stack storage account containers 24 | 25 | 26 | 27 | Backup all tables for a given storage account 28 | 29 | backup local store 30 | 31 | 32 | 33 | Restore tables from JSON files for given storage account 34 | 35 | restore local store 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryTableInternal.Internal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryTableInternal.Internal.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryVM.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryVM.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryVM.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AzureStack.Fabric.Backup.Common.RepositoryVM 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryVSS.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Common.RepositoryVSS.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.DataModel.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.DataModel.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Transfer.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Transfer.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Backup.Transfer.Contract.dll.config: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Health.Telemetry.TelemetryReporter.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Fabric.Health.Telemetry.TelemetryReporter.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Infrastructure.Orchestration.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Infrastructure.Orchestration.Common.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Infrastructure.Orchestration.ServiceFabric.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Infrastructure.Orchestration.ServiceFabric.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Security.CngDpapi.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Security.CngDpapi.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Contract.dll.config: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Contract.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Contract 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Core.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Core.dll.config: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Models.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Models.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Backup.ResourceProvider.BackupService.Models.dll.config: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.ApiVersion.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.ApiVersion.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.Errors.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.Errors.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.ODataHelpers.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.ODataHelpers.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.ODataHelpers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.ODataHelpers.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.Resource.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.Resource.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.ResourceCaching.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.ResourceCaching.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.ResourceCaching.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.ResourceCaching.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.ResourceProvider.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.ResourceProvider.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.ResourceProvider.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.ResourceProvider.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.Trace.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.Trace.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.Utilities.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Services.Fabric.Common.Utilities.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Solution.Deploy.EnterpriseCloudEngine.Agent.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Solution.Deploy.EnterpriseCloudEngine.Agent.Common.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Solution.Deploy.EnterpriseCloudEngine.Client.Contract.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Solution.Deploy.EnterpriseCloudEngine.Client.Contract.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Solution.Deploy.EnterpriseCloudEngine.Client.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Solution.Deploy.EnterpriseCloudEngine.Client.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Solution.Deploy.EnterpriseCloudEngine.Controllers.Models.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.AzureStack.Solution.Deploy.EnterpriseCloudEngine.Controllers.Models.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.Bcl.AsyncInterfaces.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.Bcl.AsyncInterfaces.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.Cloud.InstrumentationFramework.Metrics.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.Cloud.InstrumentationFramework.Metrics.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.Diagnostics.Tracing.EventSource.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.Diagnostics.Tracing.EventSource.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.Identity.Client.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.Identity.Client.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.IdentityModel.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.IdentityModel.Abstractions.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.ServiceFabric.Client.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.ServiceFabric.Client.Http.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.ServiceFabric.Client.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.ServiceFabric.Client.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.ServiceFabric.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.ServiceFabric.Common.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.SqlServer.ConnectionInfo.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.SqlServer.ConnectionInfo.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.SqlServer.Dmf.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.SqlServer.Dmf.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.SqlServer.Management.Sdk.Sfc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.SqlServer.Management.Sdk.Sfc.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.SqlServer.RegSvrEnum.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.SqlServer.RegSvrEnum.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.SqlServer.ServiceBrokerEnum.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.SqlServer.ServiceBrokerEnum.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.SqlServer.Smo.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.SqlServer.Smo.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.SqlServer.SmoExtended.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.SqlServer.SmoExtended.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.SqlServer.SqlClrProvider.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.SqlServer.SqlClrProvider.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.SqlServer.SqlEnum.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.SqlServer.SqlEnum.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.WindowsAzure.Storage.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Microsoft.WindowsAzure.Storage.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Newtonsoft.Json.Bson.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Newtonsoft.Json.Bson.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Omu.ValueInjecter.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Omu.ValueInjecter.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/System.Buffers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/System.Buffers.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/System.Fabric.Management.ServiceModel.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/System.Fabric.Management.ServiceModel.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/System.Fabric.Strings.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/System.Fabric.Strings.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/System.Fabric.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/System.Fabric.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/System.Management.Automation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/System.Management.Automation.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/System.Memory.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/System.Memory.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/System.Net.Http.Formatting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/System.Net.Http.Formatting.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/System.Numerics.Vectors.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/System.Numerics.Vectors.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/System.Threading.Tasks.Dataflow.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/System.Threading.Tasks.Dataflow.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/System.Web.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/System.Web.Http.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/System.Web.OData.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/System.Web.OData.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Unity.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Unity.Abstractions.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/Unity.Container.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/Unity.Container.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/msvcp140.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/msvcp140.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/IBCAdapterClientPkg/vcruntime140.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/IBCAdapterClientPkg/vcruntime140.dll -------------------------------------------------------------------------------- /InfrastructureBackupValidator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/InfrastructureBackupValidator/README.md -------------------------------------------------------------------------------- /InfrastructureBackupValidator/Unprotect-AzsBackup.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | # Root module of this module. 3 | RootModule = 'Unprotect-AzsBackup.psm1' 4 | 5 | # Version number of this module. 6 | moduleVersion = '1.0.0.0' 7 | 8 | # Author of this module 9 | Author = 'Microsoft Corporation' 10 | 11 | # Company or vendor of this module 12 | CompanyName = 'Microsoft Corporation' 13 | 14 | # Copyright statement for this module 15 | Copyright = '(c) Microsoft Corporation. All rights reserved.' 16 | 17 | # Description of the functionality provided by this module 18 | Description = 'The Unprotect-AzsBackup module contains required functions for backup decryption.' 19 | 20 | # Minimum version of the Windows PowerShell engine required by this module 21 | PowerShellVersion = '5.1' 22 | 23 | # Functions to export from this module 24 | FunctionsToExport = 'Unprotect-AzsBackup' 25 | 26 | # 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. 27 | PrivateData = @{ 28 | 29 | PSData = @{ 30 | 31 | # Tags applied to this module. These help with module discovery in online galleries. 32 | Tags = @('Backup', 'Decrypt') 33 | 34 | # A URL to the license for this module. 35 | # LicenseUri = '' 36 | 37 | # ReleaseNotes of this module 38 | # ReleaseNotes = '' 39 | 40 | } # End of PSData hashtable 41 | 42 | } # End of PrivateData hashtable 43 | } 44 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Microsoft 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /Policy/AzureStack.Policy.psm1: -------------------------------------------------------------------------------- 1 | # Copyright (c) Microsoft Corporation. All rights reserved. 2 | # See LICENSE.txt in the project root for license information. 3 | 4 | #requires -Version 5.0 5 | #requires -Modules AzureRM.Profile 6 | 7 | <# 8 | .SYNOPSIS 9 | Produces Azure Resource Manager Policy document to apply to restrict Azure subscriptions to Azure Stack compatible functionality 10 | #> 11 | 12 | function Get-AzsPolicy { 13 | $defaults = [System.IO.Path]::GetDirectoryName($PSCommandPath) 14 | 15 | $providerMetadata = ConvertFrom-Json (Get-Content -Path ($defaults + "\AzureStack.Provider.Metadata.json") -Raw) 16 | $vmSkus = @() + (ConvertFrom-Json (Get-Content -Path ($defaults + "\AzureStack.vmSkus.json") -Raw)) 17 | $storageSkus = @() + (ConvertFrom-Json (Get-Content -Path ($defaults + "\AzureStack.storageSkus.json") -Raw)) 18 | 19 | $allowResources = @() 20 | 21 | foreach ($p in $providerMetadata.value) { 22 | foreach ($r in $p.resourceTypes) { 23 | $allowResources += @{ field = "type"; equals = $p.namespace + "/" + $r.ResourceType} 24 | $allowResources += @{ field = "type"; like = $p.namespace + "/" + $r.ResourceType + "/*" } 25 | } 26 | } 27 | 28 | $vmSkuField = "Microsoft.Compute/virtualMachines/sku.name" 29 | $storageSkuField = "Microsoft.Storage/storageAccounts/sku.name" 30 | 31 | $policy = @{ 32 | if = @{ 33 | not = @{ 34 | allOf = @( 35 | @{ 36 | anyOf = $allowResources 37 | }, 38 | @{ 39 | not = @{ 40 | anyOf = @( 41 | @{ 42 | allOf = @( 43 | @{ 44 | field = $vmSkuField; 45 | exists = "true" 46 | }, 47 | @{ 48 | not = @{ 49 | field = $vmSkuField; 50 | in = $vmSkus 51 | } 52 | } 53 | ) 54 | }, 55 | @{ 56 | allOf = @( 57 | @{ 58 | field = $storageSkuField; 59 | exists = "true" 60 | }, 61 | @{ 62 | not = @{ 63 | field = $storageSkuField; 64 | in = $storageSkus 65 | } 66 | } 67 | ) 68 | } 69 | ) 70 | } 71 | } 72 | ) 73 | } 74 | }; 75 | then = @{ 76 | effect = "deny" 77 | } 78 | } 79 | 80 | ConvertTo-Json $policy -Depth 100 81 | } 82 | 83 | Export-ModuleMember Get-AzsPolicy 84 | -------------------------------------------------------------------------------- /Policy/AzureStack.storageSkus.json: -------------------------------------------------------------------------------- 1 | [ 2 | "Premium_LRS", 3 | "Standard_LRS" 4 | ] 5 | -------------------------------------------------------------------------------- /Policy/AzureStack.vmSkus.json: -------------------------------------------------------------------------------- 1 | [ 2 | "Basic_A0", 3 | "Basic_A1", 4 | "Basic_A2", 5 | "Basic_A3", 6 | "Basic_A4", 7 | "Standard_A0", 8 | "Standard_A1", 9 | "Standard_A2", 10 | "Standard_A3", 11 | "Standard_A4", 12 | "Standard_A5", 13 | "Standard_A6", 14 | "Standard_A7", 15 | "Standard_D1", 16 | "Standard_D2", 17 | "Standard_D3", 18 | "Standard_D4", 19 | "Standard_D11", 20 | "Standard_D12", 21 | "Standard_D13", 22 | "Standard_D14", 23 | "Standard_D1_v2", 24 | "Standard_D2_v2", 25 | "Standard_D3_v2", 26 | "Standard_D4_v2", 27 | "Standard_D5_v2", 28 | "Standard_D11_v2", 29 | "Standard_D12_v2", 30 | "Standard_D13_v2", 31 | "Standard_D14_v2", 32 | "Standard_DS1", 33 | "Standard_DS2", 34 | "Standard_DS3", 35 | "Standard_DS4", 36 | "Standard_DS11", 37 | "Standard_DS12", 38 | "Standard_DS13", 39 | "Standard_DS14", 40 | "Standard_DS1_v2", 41 | "Standard_DS2_v2", 42 | "Standard_DS3_v2", 43 | "Standard_DS4_v2", 44 | "Standard_DS5_v2", 45 | "Standard_DS11_v2", 46 | "Standard_DS12_v2", 47 | "Standard_DS13_v2", 48 | "Standard_DS14_v2" 49 | ] -------------------------------------------------------------------------------- /Policy/README.md: -------------------------------------------------------------------------------- 1 | # Azure Resource Manager policy for Azure Stack 2 | 3 | Instructions below are relative to the .\Policy folder of the [AzureStack-Tools repo](..). 4 | 5 | This tool constrains Azure subscription to the capabilities available in the Azure Stack via the [Azure Resource Manager policy](https://azure.microsoft.com/en-us/documentation/articles/resource-manager-policy/). 6 | 7 | ```powershell 8 | Import-Module .\AzureStack.Policy.psm1 9 | 10 | Login-AzureRmAccount 11 | $s = Select-AzureRmSubscription -SubscriptionName "" 12 | $subId = $s.Subscription.SubscriptionId 13 | 14 | $policy = New-AzureRmPolicyDefinition -Name AzureStack -Policy (Get-AzsPolicy) 15 | 16 | New-AzureRmPolicyAssignment -Name AzureStack -PolicyDefinition $policy -Scope /subscriptions/$subId 17 | ``` 18 | 19 | To constrain only a particular resource group in your Azure subscription to match the capabilities of Azure Stack, specify the resource group in the scope as below when assigning the policy. 20 | 21 | ```powershell 22 | #Specify the resource group where you would like to apply the policy 23 | $rgName = 'AzureStack' 24 | New-AzureRmPolicyAssignment -Name AzureStack -PolicyDefinition $policy -Scope /subscriptions/$subID/resourceGroups/$rgName 25 | ``` 26 | 27 | To remove the Azure Stack policy, run this command with the same scope used when the policy was applied: 28 | 29 | ```powershell 30 | 31 | Remove-AzureRmPolicyAssignment -Name AzureStack -Scope /subscriptions/$subId/resourceGroups/$rgName 32 | Remove-AzureRmPolicyAssignment -Name AzureStack -Scope /subscriptions/$subId 33 | ``` 34 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Security 4 | 5 | Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). 6 | 7 | If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below. 8 | 9 | ## Reporting Security Issues 10 | 11 | **Please do not report security vulnerabilities through public GitHub issues.** 12 | 13 | Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report). 14 | 15 | If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey). 16 | 17 | You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). 18 | 19 | Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: 20 | 21 | * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) 22 | * Full paths of source file(s) related to the manifestation of the issue 23 | * The location of the affected source code (tag/branch/commit or direct URL) 24 | * Any special configuration required to reproduce the issue 25 | * Step-by-step instructions to reproduce the issue 26 | * Proof-of-concept or exploit code (if possible) 27 | * Impact of the issue, including how an attacker might exploit the issue 28 | 29 | This information will help us triage your report more quickly. 30 | 31 | If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs. 32 | 33 | ## Preferred Languages 34 | 35 | We prefer all communications to be in English. 36 | 37 | ## Policy 38 | 39 | Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd). 40 | 41 | 42 | -------------------------------------------------------------------------------- /Support/AzS_PoSh/Media/AzsPoSh.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/Support/AzS_PoSh/Media/AzsPoSh.gif -------------------------------------------------------------------------------- /Support/AzS_PoSh/ReadMe.md: -------------------------------------------------------------------------------- 1 | # AzS-PoSh-Environment.ps1 # 2 | 3 | ![](https://github.com/Azure/AzureStack-Tools/blob/master/Support/AzS_PoSh/Media/AzsPoSh.gif?raw=true) 4 | 5 | 6 | Script to setup AzureStack PowerShell Enviroment 7 | 8 | Via UI or CLI the script will insure Azure Stack PowerShell modules are running at the proper version. Build AzureStack endpoint environment variables from supplied JSON file. Download and extract AzureStack-Tools-master Toolkit. Builds a function called AzSLoadTools that imports modules in proper order. If no parameters are supplied the script will default to prompting user via GUI for needed parameters. 9 | 10 | ## AzSPathToStampJSON ## 11 | Path to AzureStackStampInformation.json file 12 | 13 | - "C:\Users\AzureStackAdmin\Desktop\AzureStackStampInformation.json" 14 | 15 | ## AzSToolsPath ## 16 | Path to AzureStack-Tools-master folder 17 | 18 | - "C:\Users\AzureStackAdmin\Desktop\master\AzureStack-Tools-master" 19 | 20 | ## Example Use ## 21 | .\AzS-PS-Environment.ps1 -AzSPathToStampJSON "C:\Users\AzureStackAdmin\Desktop\AzureStackStampInformation.json" -AzSToolsPath "C:\Users\AzureStackAdmin\Desktop\master\AzureStack-Tools-master" 22 | -------------------------------------------------------------------------------- /Support/ERCS_Logs/Media/ERCS.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/Support/ERCS_Logs/Media/ERCS.gif -------------------------------------------------------------------------------- /Support/ERCS_Logs/ReadMe.md: -------------------------------------------------------------------------------- 1 | # ​ERCS_AzureStackLogs​.ps1 # 2 | 3 | ![](https://github.com/Azure/AzureStack-Tools/blob/vnext/Support/ERCS_Logs/Media/ERCS.gif?raw=true) 4 | 5 | Built to be run on the HLH, DVM, or Jumpbox from an administrative powershell session the script uses seven methods to find the privileged endpoint virtual machines. The script connects to selected privileged endpoint and runs Get-AzureStackLog with supplied parameters. If no parameters are supplied the script will default to prompting user via GUI for needed parameters. 6 | 7 | 8 | The script will use one of the below seven methods; Gather requested logs, Transcript, and AzureStackStampInformation.json. The script will also save AzureStackStampInformation.json in %ProgramData% and in created log folder. AzureStackStampInformation.json in %ProgramData% allows future runs to have ERCS IP information populated at beginning of script. 9 | 10 | ## Methods: ## 11 | - Check %ProgramData% for AzureStackStampInformation.json 12 | - Prompt user for AzureStackStampInformation.json 13 | - Prompt user for install prefix and check connection to privileged endpoint virtual machine(s) 14 | - Install and/or load AD powershell module and check for computernames that match ERCS 15 | - Install and/or load DNS powershell module and check for A records in all zones that that match ERCS 16 | - Prompt user for tenant portal and based of the IP address of the portal find the likely IP(s) of privileged endpoint virtual machine(s) 17 | - Prompt user for manual entry of IP address of a privileged endpoint virtual machine 18 | 19 | ## FromDate ## 20 | Specifies starting time frame for data search. If parameter is not specified, script will default to 4 hours from current time. Format must be in one of the 3 formats: 21 | 22 | - (get-date).AddHours(-4) 23 | - "MM/DD/YYYY HH:MM" 24 | - "MM/DD/YYYY" 25 | 26 | 27 | ## ToDate ## 28 | Specifies ending time frame for data search. If parameter is not specified, script will default to current time. Format must be in one of the 3 formats: 29 | 30 | - (get-date).AddHours(-1) 31 | - "MM/DD/YYYY HH:MM" 32 | - "MM/DD/YYYY" 33 | 34 | ## FilterByRole ## 35 | Specifies parameter to filter log collection. Valid formats are comma separated values. List of possible switches http://aka.ms/AzureStack/Diagnostics 36 | 37 | ## ErcsName ## 38 | Specifies privileged endpoint virtual machine name or IP address to use. Example: AzS-ERCS01 or 192.168.200.255 39 | 40 | ## AzSCredentials ## 41 | Specifies credentials the script will use to connect to Azure Stack privileged endpoint. Format must be in one of the 2 formats: 42 | 43 | - (Get-Credential -Message "Azure Stack Credentials") 44 | - (Get-Credential) 45 | 46 | ## ShareCred ## 47 | Specifies credentials the script will use to build a local share Format must be in one of the 2 formats: 48 | 49 | - (Get-Credential -Message "Local Share Credentials" -UserName $env:USERNAME) 50 | - (Get-Credential) 51 | 52 | ## InStamp ## 53 | Specifies if script is running on Azure Stack machine such as Azure Stack Development Kit deployment or DVM. 54 | 55 | - Yes 56 | - No 57 | 58 | ## StampTimeZone ## 59 | Specifies timezone id for Azure Stack stamp. Format must be in one of the 2 formats: 60 | 61 | - (Get-TimeZone -Name "US Eastern*").id 62 | - "Pacific Standard Time" 63 | 64 | ## IncompleteDeployment ## 65 | Specifies if Azure Stack Deployment is incomplete. Only for use in Azure Stack Development Kit deployment or DVM 66 | 67 | - Yes 68 | - No 69 | 70 | ## Example Use ## 71 | .\ERCS_AzureStackLogs.ps1 -FromDate (get-date).AddHours(-4) -ToDate (get-date) -FilterByRole VirtualMachines,BareMetal -ErcsName AzS-ERCS01 -AzSCredentials (Get-Credential -Message "Azure Stack Credentials") -ShareCred (get-credential -Message "Local Share Credentials" -UserName $env:USERNAME) -InStamp No -StampTimeZone "Pacific Standard Time" -IncompleteDeployment No 72 | -------------------------------------------------------------------------------- /Support/scripts/README.md: -------------------------------------------------------------------------------- 1 | # Support Scripts # 2 | Scripts created to be run on the HLH, DVM, ASDK HOST or Jumpbox from an administrative powershell session. These scripts are referenced from within the Release Notes for Azure Stack Integrated System as well as Azure Stack Development Kit (ASDK) to solve or workaround identified Known Issues. 3 | 4 | The script scripts will contain information on relevancy for both build and deployment type as well as intended use and overall environmen impact (as needed). 5 | 6 | ## Available Support Scripts: ## 7 | - Start-ResourceSynchronization.ps1 (applies to both Integraded System and ASDK; relevant build(s): 1802) 8 | -------------------------------------------------------------------------------- /Support/scripts/Start-ResourceSynchronization.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | .SYNOPSIS 4 | This script initiates a resource synchronization job in the backend, fixing the documented known issue where the Storage Account Overview does not load within Azure Stack portals (both Admin and User portals) for Storage accounts created with "apiVersion": "2015-06-15". 5 | 6 | .DESCRIPTION 7 | Created to be run on the HLH, DVM, ASDK HOST or Jumpbox from an administrative powershell session. 8 | Start-ResourceSynchronization.ps1 must be run after the user has logged in as the Service Admin to the Default Provider Subscription within their Azure Stack subscription. 9 | 10 | Applies to: Azure Stack Integraded System and ASDK 11 | Relevant build(s): 1802 12 | 13 | It can be run without any parameters - if done so, it will initiate the resource synchronization on the Default Provider Subscription as well as any available User Subscriptions. 14 | NOTE: A warning will be thrown (-WarningAction Inquire) if more than 10 subscriptions exist, as there could be a performance impact during the execution of the resource synchronization agianst all the user subscriptions at once. 15 | Alternatively, the script can be run one subscription at a time, leveraging the optional SubscriptionId parameter. 16 | 17 | .PARAMETER SubscriptionId 18 | OPTIONAL [Guid] parameter specifying a single subscription to run the resource synchronization against. 19 | Use this option for targeted subscription resource synchronization. 20 | 21 | .EXAMPLE 22 | .\Start-ResourceSynchronization.ps1 23 | 24 | .EXAMPLE 25 | .\Start-ResourceSynchronization.ps1 -SubscriptionId 9b291bc8-fdef-4f88-bf81-8a0a53d4c2c5 26 | 27 | .NOTES 28 | The following are the prerequisite steps to be completed before running Start-ResourceSynchronization.ps1 29 | 30 | 1. Install Azure and Azure Stack PowerShell (leverage current documented guidance for supported versions) 31 | 2. Add an Azure Stack Environment (leverave current documented guidance for adding an adminmanagement environment) 32 | Example: Add-AzureRmEnvironment -Name AzureStackAdmin -ARMEndpoint "https://adminmanagement.local.azurestack.external" 33 | 3. Login as the Service Admin to the Azure Stack environment (for Azure Stack environments deployed with AAD, identify the TenantID) 34 | Example: Login-AzureRmAccount -Environment AzureStackAdmin -TenantId 9b291bc8-fdef-4f88-bf81-8a0a53d4c2c5 35 | 36 | Within the same PS session, Start-ResourceSynchronization.ps1 can now be run 37 | 38 | .LINK 39 | https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-powershell-install 40 | 41 | .LINK 42 | https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-powershell-configure-admin 43 | 44 | .LINK 45 | https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-update-1802 46 | 47 | .LINK 48 | https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-asdk-release-notes#build-201803021 49 | #> 50 | 51 | [CmdletBinding()] 52 | param 53 | ( 54 | [Guid] $SubscriptionId 55 | ) 56 | 57 | function IsNotNullOrEmptyString([Object]$Obj) { return ($Obj -ne $null) -and ($Obj.ToString() -ne "") } 58 | 59 | Import-Module AzureRM.Profile 60 | Import-Module AzureRM.AzureStackAdmin 61 | 62 | $adminSubscription = (Get-AzureRmSubscription -SubscriptionName "Default Provider Subscription" -ErrorAction Stop).SubscriptionId 63 | 64 | $subscriptions = @($adminSubscription) 65 | 66 | if (IsNotNullOrEmptyString $SubscriptionId) 67 | { 68 | $subscriptions += $SubscriptionId 69 | } 70 | else 71 | { 72 | $userSubscriptions = (Get-AzsUserSubscription | Select-Object -ExpandProperty SubscriptionId) 73 | $subscriptions += $userSubscriptions 74 | } 75 | 76 | $subscriptions = $subscriptions | Select-Object -Unique 77 | 78 | if ($subscriptions.Count -gt 10) 79 | { 80 | Write-Warning "You have more than 10 subscriptions. Synchronizing all these subscriptions might cause performance degradation during the resynchronization period." -WarningAction Inquire 81 | } 82 | 83 | Write-Host "Starting resource synchronization job" 84 | 85 | $subscriptions | ForEach-Object { 86 | $resourceId = "/subscriptions/$adminSubscription/providers/Microsoft.Resources.Admin/subscriptions/$_/providers/Microsoft.Storage" 87 | 88 | $params = @{ 89 | Action = "SynchronizeResources" 90 | ApiVersion = "2015-01-01" 91 | ResourceId = $resourceId 92 | } 93 | Invoke-AzureRmResourceAction @params -Force 94 | 95 | Start-Sleep -Seconds 20 96 | } 97 | 98 | Write-Host "Resource synchronization job started." -------------------------------------------------------------------------------- /Syndication/readme.md: -------------------------------------------------------------------------------- 1 | # Offline Marketplace Syndication 2 | 3 | The Syndication tool is now available as a module on the PowerShell Gallery. Please refer to [the official documenation](https://docs.microsoft.com/en-us/azure-stack/operator/azure-stack-download-azure-marketplace-item?view=azs-2002&pivots=state-disconnected) on how to download marketplace items for Azure Stack Hub. 4 | 5 | -------------------------------------------------------------------------------- /TemplateValidator/README.md: -------------------------------------------------------------------------------- 1 | > **_NOTE:_** The tool validates the ARM template for supported resource types and api versions in AzureStack. However it does not validate the properties supported for each resource type. 2 | 3 | # Validate Azure ARM Template Capabilities 4 | 5 | Generate the Cloud capabilities json by Get-AzureRMCloudCapability cmdlet under module .\CloudCapabilities\AzureRM.CloudCapabilities.psm1 based on your environment. You are required to deploy SQL RP, MYSQL RP or AppServices in order to use the respective resources. 6 | 7 | Instructions below are relative to the .\TemplateValidator folder of the [AzureStack-Tools repo](..). 8 | To Validate Compute Capabilities such as Images, Extensions & Sizes available in the CloudCapabilities.json add -IncludeComputeCapabilities 9 | To Validate Storage Capabilities such as Skus available in the CloudCapabilities.json add -IncludeStorageCapabilities 10 | 11 | ```powershell 12 | Import-Module ".\AzureRM.TemplateValidator.psm1" 13 | ``` 14 | 15 | ## Prerequisites 16 | 17 | Create CloudCapabilities.json by using Get-AzureRMCloudCapabilities tool [AzureStack-Tools repo/CloudCapabilities](../CloudCapabilities). or use the provided sample AzureStackCapabilities_TP3.json in this folder 18 | For Azure/AzureStack quickstart templates, git clone from below links 19 | `https://github.com/Azure/AzureStack-QuickStart-Templates/` 20 | `https://github.com/Azure/Azure-QuickStart-Templates/` 21 | 22 | ## Usage 23 | 24 | ```powershell 25 | $TemplatePath = "" 26 | $CapabilitiesPath = ".\AzureStackCapabilities_TP3.json" 27 | Test-AzureRMTemplate -TemplatePath $TemplatePath -CapabilitiesPath $CapabilitiesPath -Verbose #-IncludeComputeCapabilities -IncludeStorageCapabilities 28 | ``` 29 | 30 | ## Reporting Usage 31 | 32 | Passed - Validation passed. The template has all the Capabilities to deploy on the validated Cloud 33 | NotSupported - The template Capabilities is currently not supported on the validated cloud 34 | Exception - Exception in processing and validating the template 35 | Recommend - The template has all the Capabilities to deploy on the validated Cloud but has recommendations for best practices 36 | Warning - Changes are required either in Template or the validated cloud to deploy succesfully 37 | 38 | ## TroubleShooting 39 | 40 | For "NotSupported" - Refer the region specific capability JSON for the supported capabilities. 41 | For Warnings(in Console Output) such as "No StorageSkus found in region specific Capabilities JSON file.", Please run Get-AzureRMCloudCapabilities with -IncludeComputeCapabilities and -IncludeStorageCapabilities 42 | -------------------------------------------------------------------------------- /ThirdPartyNotices.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/AzureStack-Tools/a6a9adc403b0b8277ee5b05ed70f3374c1815685/ThirdPartyNotices.txt -------------------------------------------------------------------------------- /ToolTestingUtils/ToolTestingScript.ps1: -------------------------------------------------------------------------------- 1 | param ( 2 | [parameter(mandatory = $true, HelpMessage = "Azure Stack One Node host address or name such as '1.2.3.4'")] 3 | [string] $HostComputer, 4 | [Parameter(mandatory = $true, HelpMessage = "The Admin ARM endpoint of the Azure Stack Environment")] 5 | [string] $ArmEndpoint, 6 | [parameter(HelpMessage = "NAT computer name in this Azure Stack Instance")] 7 | [string] $natServer = "Azs-BGPNAT01", 8 | [parameter(HelpMessage = "Administrator user name of this Azure Stack Instance")] 9 | [string] $AdminUser = "administrator", 10 | [parameter(HelpMessage = "Administrator Azure Stack Environment Name")] 11 | [string] $EnvironmentName = "AzureStackAdmin", 12 | [parameter(mandatory = $true, HelpMessage = "Administrator password used to deploy this Azure Stack instance")] 13 | [securestring] $AdminPassword, 14 | [parameter(mandatory = $true, HelpMessage = "The AAD service admin user name of this Azure Stack Instance")] 15 | [string] $AzureStackServiceAdmin, 16 | [parameter(mandatory = $true, HelpMessage = "AAD Service Admin password used to deploy this Azure Stack instance")] 17 | [securestring] $AzureStackServiceAdminPassword 18 | ) 19 | 20 | # Set environment varibles to pass along testing variables 21 | $global:HostComputer = $HostComputer 22 | $global:ArmEndpoint = $ArmEndpoint 23 | $global:natServer = $natServer 24 | $global:AdminUser = $AdminUser 25 | $global:AdminPassword = $AdminPassword 26 | $global:AzureStackServiceAdmin = $AzureStackServiceAdmin 27 | $global:AzureStackServiceAdminPassword = $AzureStackServiceAdminPassword 28 | $global:EnvironmentName = $EnvironmentName 29 | 30 | $ServiceAdminCreds = New-Object System.Management.Automation.PSCredential "$global:AzureStackServiceAdmin", ($global:AzureStackServiceAdminPassword) 31 | $global:AzureStackLoginCredentials = $ServiceAdminCreds 32 | 33 | $global:VPNConnectionName = "AzureStackTestVPN" 34 | 35 | #Start running tests in correct order 36 | Set-Location ..\Connect 37 | Invoke-Pester 38 | Set-Location ..\ServiceAdmin 39 | Invoke-Pester 40 | Set-Location ..\Infrastructure 41 | Invoke-Pester 42 | Set-Location ..\ComputeAdmin 43 | Invoke-Pester 44 | Set-Location ..\ToolTestingUtils\ 45 | 46 | #Disconnect and Remove VPN Connection 47 | Write-Verbose "Disconnecting and removing vpn connection" 48 | rasdial $global:VPNConnectionName /d 49 | Remove-VpnConnection -Name $global:VPNConnectionName 50 | 51 | -------------------------------------------------------------------------------- /Usage/AppService/Get-AppServiceBillingRecords.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .Synopsis 3 | Get AppService billing records from Azure Stack. You can also export the data to CSV. 4 | .DESCRIPTION 5 | This is sample script to illustrate how App Service billing records can be fetched using Azure stack usage API. 6 | IMPORTANT : THIS SAMPLE IS PROVIDED AS IS AND ONLY INTENDED FOR REFERENCE PURPOSE. 7 | .EXAMPLE 8 | if not alreday, Configure and sign in to Azure stack environment : https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-powershell-configure-admin#configure-the-operator-environment-and-sign-in-to-azure-stack 9 | ** To get subscriber Usage data use (-TenantUsage $true) ******* 10 | .\Get-AppServiceBillingRecords.ps1 -StartTime 01/08/2018 -EndTime 01/09/2018 -Granularity Hourly -TenantUsage $true 11 | .\Get-AppServiceBillingRecords.ps1 -StartTime 01/08/2018 -EndTime 01/09/2018 -Granularity Hourly -TenantUsage $true -ExportToCSV $true 12 | *****To get current subscription data use (-TenantUsage $false) **** 13 | .\Get-AppServiceBillingRecords.ps1 -StartTime 01/08/2018 -EndTime 01/24/2018 -Granularity Daily -TenantUsage $false 14 | #> 15 | [CmdletBinding()] 16 | Param 17 | ( 18 | [Parameter(Mandatory = $true)] 19 | [datetime] 20 | $StartTime, 21 | 22 | [Parameter(Mandatory = $true)] 23 | [datetime] 24 | $EndTime , 25 | 26 | [Parameter(Mandatory = $false)] 27 | [ValidateSet("Hourly", "Daily")] 28 | [String] 29 | $Granularity = 'Hourly', 30 | 31 | [Parameter(Mandatory = $false)] 32 | [bool] 33 | $TenantUsage = $true, 34 | 35 | [Parameter(Mandatory = $false)] 36 | [bool] 37 | $ExportToCSV = $false 38 | ) 39 | 40 | $VerbosePreference = 'Continue' 41 | 42 | # Load common functions 43 | . "$PSScriptRoot\Common.ps1" 44 | 45 | # Main 46 | $CsvFile = "AppServiceUsageSummary.csv" 47 | 48 | $usageSummary = Get-AppServiceBillingRecords ` 49 | -StartTime $StartTime ` 50 | -EndTime $EndTime ` 51 | -Granularity $Granularity ` 52 | -TenantUsage $TenantUsage 53 | 54 | if (!$ExportToCSV) 55 | { 56 | Write-Output $usageSummary | Format-Table -AutoSize 57 | 58 | Write-Host "Complete - billing records" $usageSummary.Count 59 | 60 | return 61 | } 62 | 63 | #Export to CSV 64 | if (Test-Path -Path $CsvFile -ErrorAction SilentlyContinue) 65 | { 66 | Remove-Item -Path $CsvFile -Force 67 | } 68 | 69 | New-Item -Path $CsvFile -ItemType File | Out-Null 70 | 71 | $usageSummary | Export-Csv -Path $CsvFile -Append -NoTypeInformation 72 | 73 | if ($PSBoundParameters.ContainsKey('Debug')) 74 | { 75 | $result | Export-Csv -Path "$CsvFile.raw" -Append -NoTypeInformation 76 | } 77 | 78 | Write-Host "Complete - billing records written to $CsvFile " $usageSummary.Count -------------------------------------------------------------------------------- /Usage/AppService/Get-AppServiceSubscriptionUsage.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .Synopsis 3 | Get AppService billing details per subscription. 4 | .DESCRIPTION 5 | This is sample script to illustrate how App Service billing records can be fetched using Azure stack usage API. It also provides example to calculate subscription usage. 6 | IMPORTANT : THIS SAMPLE IS PROVIDED AS IS AND ONLY INTENDED FOR REFERENCE PURPOSE. 7 | .EXAMPLE 8 | If not alreday, Configure and sign in to Azure stack environment : https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-powershell-configure-admin#configure-the-operator-environment-and-sign-in-to-azure-stack 9 | ** To get subscriber Usage data use (-TenantUsage $true) ******* 10 | .\Get-AppServiceSubscriptionUsage.ps1 -StartTime 01/08/2018 -EndTime 01/09/2018 -Granularity Daily -TenantUsage $true 11 | .\Get-AppServiceSubscriptionUsage.ps1 -StartTime 01/08/2018 -EndTime 01/09/2018 -Granularity Hourly -TenantUsage $true -ExportToCSV $true 12 | 13 | *****To get current subscription data use (-TenantUsage $false) **** 14 | .\Get-AppServiceSubscriptionUsage.ps1 -StartTime 01/08/2018 -EndTime 01/09/2018 -Granularity Hourly -TenantUsage $false 15 | #> 16 | Param 17 | ( 18 | [Parameter(Mandatory = $true)] 19 | [datetime] 20 | $StartTime, 21 | 22 | [Parameter(Mandatory = $true)] 23 | [datetime] 24 | $EndTime , 25 | 26 | [Parameter(Mandatory = $false)] 27 | [ValidateSet("Hourly", "Daily")] 28 | [String] 29 | $Granularity = 'Hourly', 30 | 31 | [Parameter(Mandatory = $false)] 32 | [bool] 33 | $TenantUsage = $true, 34 | 35 | [Parameter(Mandatory = $false)] 36 | [bool] 37 | $ExportToCSV = $false 38 | ) 39 | 40 | $VerbosePreference = 'Continue' 41 | 42 | # Load common functions 43 | . "$PSScriptRoot\Common.ps1" 44 | 45 | # Main 46 | $CsvFile = "AppServiceUsageSummary.csv" 47 | $SubscriptionsUsageCsvFile = "SubscriptionsUsage.csv" 48 | 49 | $usageSummary = Get-AppServiceBillingRecords ` 50 | -StartTime $StartTime ` 51 | -EndTime $EndTime ` 52 | -Granularity $Granularity ` 53 | -TenantUsage $TenantUsage 54 | 55 | $TenantSubscriptionRecords = @() 56 | 57 | $usageSummary | Group-Object Subscription | %{ 58 | $record = New-Object -TypeName System.Object 59 | $record | Add-Member -Name Subscription -MemberType NoteProperty -Value $_.Name 60 | $record | Add-Member -Name currentUsage -MemberType NoteProperty -Value (($_.Group | Measure-Object Amount -Sum).Sum) 61 | $TenantSubscriptionRecords += $record 62 | } 63 | 64 | if (!$ExportToCSV) 65 | { 66 | Write-Output $usageSummary | Format-Table -AutoSize 67 | 68 | Write-Host "Complete - billing records" $usageSummary.Count 69 | 70 | Write-Output $TenantSubscriptionRecords | Format-Table -AutoSize 71 | 72 | Write-Host "Complete - subscription records" $TenantSubscriptionRecords.Count 73 | 74 | return 75 | } 76 | 77 | #Export to CSV 78 | if (Test-Path -Path $CsvFile -ErrorAction SilentlyContinue) 79 | { 80 | Remove-Item -Path $CsvFile -Force 81 | } 82 | 83 | if (Test-Path -Path $SubscriptionsUsageCsvFile -ErrorAction SilentlyContinue) 84 | { 85 | Remove-Item -Path $SubscriptionsUsageCsvFile -Force 86 | } 87 | 88 | New-Item -Path $CsvFile -ItemType File | Out-Null 89 | New-Item -Path $SubscriptionsUsageCsvFile -ItemType File | Out-Null 90 | 91 | $usageSummary | Export-Csv -Path $CsvFile -Append -NoTypeInformation 92 | $TenantSubscriptionRecords | Export-Csv -Path $SubscriptionsUsageCsvFile -Append -NoTypeInformation 93 | 94 | if ($PSBoundParameters.ContainsKey('Debug')) 95 | { 96 | $result | Export-Csv -Path "$CsvFile.raw" -Append -NoTypeInformation 97 | $TenantSubscriptionRecords | Export-Csv -Path "$SubscriptionsUsageCsvFile.raw" -Append -NoTypeInformation 98 | } 99 | 100 | Write-Host "Complete - billing records written to $CsvFile " $usageSummary.Count 101 | Write-Host "Complete - Records written to $SubscriptionsUsageCsvFile " $TenantSubscriptionRecords.Count -------------------------------------------------------------------------------- /Usage/AppService/README.md: -------------------------------------------------------------------------------- 1 | # PreReqs 2 | 3 | As a prerequisite, Configure and sign in to Azure stack environment. Please refer [here](https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-powershell-configure-admin#configure-the-operator-environment-and-sign-in-to-azure-stack) 4 | 5 | ### Get-AppServiceBillingRecords 6 | This sample fetches AppService billing records from Azure Stack usage API. You can also export data to CSV 7 | 8 | ```powershell 9 | .\Get-AppServiceBillingRecords.ps1 -StartTime 01/08/2018 -EndTime 01/09/2018 -Granularity Hourly -TenantUsage $true 10 | 11 | .\Get-AppServiceBillingRecords.ps1 -StartTime 01/08/2018 -EndTime 01/09/2018 -Granularity Hourly -TenantUsage $true -ExportToCSV $true 12 | 13 | .\Get-AppServiceBillingRecords.ps1 -StartTime 01/08/2018 -EndTime 01/24/2018 -Granularity Daily -TenantUsage $false 14 | ``` 15 | 16 | ### Get-AppServiceSubscriptionUsage 17 | This sample calculates AppService usage amount per subscription. This will calculate the usage amount based on the usage data fecthed using Azure stack API and price provided per meter (refer script file). 18 | 19 | ```powershell 20 | .\Get-AppServiceSubscriptionUsage.ps1 -StartTime 01/08/2018 -EndTime 01/09/2018 -Granularity Hourly -TenantUsage $true 21 | 22 | .\Get-AppServiceSubscriptionUsage.ps1 -StartTime 01/08/2018 -EndTime 01/09/2018 -Granularity Hourly -TenantUsage $true -ExportToCSV $true 23 | 24 | .\Get-AppServiceSubscriptionUsage.ps1 -StartTime 01/08/2018 -EndTime 01/24/2018 -Granularity Daily -TenantUsage $false 25 | ``` 26 | 27 | ### Suspend-UserSubscriptions 28 | This sample suspends or enables subscription based on usage limit specified (refer script file). 29 | 30 | ```powershell 31 | .\Suspend-UserSubscriptions.ps1 -StartTime 01/08/2018 -EndTime 01/09/2018 -Granularity Hourly -TenantUsage $true 32 | 33 | .\Suspend-UserSubscriptions.ps1 -StartTime 01/08/2018 -EndTime 01/09/2018 -Granularity Hourly -TenantUsage $true -ExportToCSV $true 34 | 35 | .\Suspend-UserSubscriptions.ps1 -StartTime 01/08/2018 -EndTime 01/24/2018 -Granularity Daily -TenantUsage $false 36 | ``` 37 | 38 | ### Common.ps1 39 | This file has list of AppService meters defined. 40 | 41 | For more information on Azure stack Meter IDs see [here](https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-usage-related-faq#what-meter-ids-can-i-see) 42 | 43 | For more information on Billing and Usage see [here](https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-billing-and-chargeback) 44 | 45 | IMPORTANT : THIS SAMPLE IS PROVIDED AS IS AND ONLY INTENDED FOR REFERENCE PURPOSE. -------------------------------------------------------------------------------- /Usage/AppService/Suspend-UserSubscriptions.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .Synopsis 3 | Suspend or enable subscription based on usage limit. 4 | .DESCRIPTION 5 | This is sample script to illustrate how App Service billing records can be fetched using Azure stack usage API. It also provides example to calculate subscription usage. 6 | IMPORTANT : THIS SAMPLE IS PROVIDED AS IS AND ONLY INTENDED FOR REFERENCE PURPOSE. 7 | .EXAMPLE 8 | #1 - If not alreday, configure and sign in to Azure stack environment : https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-powershell-configure-admin#configure-the-operator-environment-and-sign-in-to-azure-stack 9 | #2 - set value for $TenantSubscriptions with list of tenant subscription and usage limit. 10 | ** To get subscriber Usage data use (-TenantUsage $true) ******* 11 | .\Suspend-UserSubscriptions.ps1 -StartTime 01/08/2018 -EndTime 01/24/2018 -Granularity Hourly -TenantUsage $true 12 | .\Suspend-UserSubscriptions.ps1 -StartTime 01/08/2018 -EndTime 01/09/2018 -Granularity Hourly -TenantUsage $true -ExportToCSV $true 13 | 14 | ***To get current subscription data use (-TenantUsage $false) **** 15 | .\Suspend-UserSubscriptions.ps1 -StartTime 01/08/2018 -EndTime 01/24/2018 -GranularityHourly -TenantUsage $false 16 | #> 17 | Param 18 | ( 19 | [Parameter(Mandatory = $true)] 20 | [datetime] 21 | $StartTime, 22 | 23 | [Parameter(Mandatory = $true)] 24 | [datetime] 25 | $EndTime , 26 | 27 | [Parameter(Mandatory = $false)] 28 | [ValidateSet("Hourly", "Daily")] 29 | [String] 30 | $Granularity = 'Hourly', 31 | 32 | [Parameter(Mandatory = $false)] 33 | [bool] 34 | $TenantUsage = $true, 35 | 36 | [Parameter(Mandatory = $false)] 37 | [bool] 38 | $ExportToCSV = $false 39 | ) 40 | 41 | $VerbosePreference = 'Continue' 42 | 43 | # Load common functions 44 | . "$PSScriptRoot\Common.ps1" 45 | 46 | # Main 47 | $CsvFile = "AppServiceUsageSummary.csv" 48 | $SubscriptionsUsageUpdatedCsvFile = "SubscriptionsUsage-Updated.csv" 49 | 50 | # Provide List of tenant Subscriptions to be validated and disabled if hit the limit for the duration provided. 51 | $TenantSubscriptions = @{ 52 | '53fd0778-cbd3-414c-8554-d006e976e748' = @{ 53 | usageLimit = 1 54 | } 55 | 'e33616fb-ceb7-4a9f-89f5-a7fcba7d5aca' = @{ 56 | usageLimit = 1000 57 | } 58 | } 59 | 60 | $usageSummary = Get-AppServiceBillingRecords ` 61 | -StartTime $StartTime ` 62 | -EndTime $EndTime ` 63 | -Granularity $Granularity ` 64 | -TenantUsage $TenantUsage 65 | 66 | $TenantSubscriptionRecords = @() 67 | 68 | $usageSummary | Group-Object Subscription | %{ 69 | $record = New-Object -TypeName System.Object 70 | $record | Add-Member -Name Subscription -MemberType NoteProperty -Value $_.Name 71 | $CurrentUsage = (($_.Group | Measure-Object Amount -Sum).Sum) 72 | $record | Add-Member -Name currentUsage -MemberType NoteProperty -Value $CurrentUsage 73 | 74 | # Now take action on subscriptions based on current usage 75 | Write-Output "Processing subscription" $_.Name 76 | if ($TenantSubscriptions.ContainsKey($_.Name)) 77 | { 78 | $sub = $null 79 | $sub = Get-AzsUserSubscription -SubscriptionId $_.Name -ErrorAction SilentlyContinue 80 | 81 | if ($sub -eq $null) 82 | { 83 | Write-Warning ("Subscription not found " + ($_.Name)) 84 | } 85 | 86 | $record | Add-Member -Name State -MemberType NoteProperty -Value $sub.State -ErrorAction Continue 87 | $record | Add-Member -Name usageLimit -MemberType NoteProperty -Value $TenantSubscriptions[$_.Name].usageLimit 88 | 89 | if (([decimal]$CurrentUsage) -ge ([decimal]$TenantSubscriptions[$_.Name].usageLimit)) 90 | { 91 | if ($sub.State -eq "Enabled") 92 | { 93 | $sub.State ="Disabled" 94 | Set-AzsUserSubscription -Subscription $sub 95 | } 96 | } 97 | else 98 | { 99 | if ($sub.State -eq "Disabled") 100 | { 101 | $sub.State ="Enabled" 102 | Set-AzsUserSubscription -Subscription $sub 103 | } 104 | } 105 | 106 | $record | Add-Member -Name StateUpdated -MemberType NoteProperty -Value $sub.State 107 | } 108 | 109 | $TenantSubscriptionRecords += $record 110 | } 111 | 112 | if (!$ExportToCSV) 113 | { 114 | Write-Output $usageSummary | Format-Table -AutoSize 115 | 116 | Write-Host "Complete - billing records" $usageSummary.Count 117 | 118 | Write-Output $TenantSubscriptionRecords | Format-Table -AutoSize 119 | 120 | Write-Host "Complete - subscription records" $TenantSubscriptionRecords.Count 121 | 122 | return 123 | } 124 | 125 | # Export to CSV 126 | if (Test-Path -Path $CsvFile -ErrorAction SilentlyContinue) 127 | { 128 | Remove-Item -Path $CsvFile -Force 129 | } 130 | 131 | if (Test-Path -Path $SubscriptionsUsageUpdatedCsvFile -ErrorAction SilentlyContinue) 132 | { 133 | Remove-Item -Path $SubscriptionsUsageUpdatedCsvFile -Force 134 | } 135 | 136 | New-Item -Path $CsvFile -ItemType File | Out-Null 137 | New-Item -Path $SubscriptionsUsageUpdatedCsvFile -ItemType File | Out-Null 138 | 139 | $usageSummary | Export-Csv -Path $CsvFile -Append -NoTypeInformation 140 | $TenantSubscriptionRecords | Export-Csv -Path $SubscriptionsUsageUpdatedCsvFile -Append -NoTypeInformation 141 | 142 | if ($PSBoundParameters.ContainsKey('Debug')) 143 | { 144 | $result | Export-Csv -Path "$CsvFile.raw" -Append -NoTypeInformation 145 | $TenantSubscriptionRecords | Export-Csv -Path "$SubscriptionsUsageUpdatedCsvFile.raw" -Append -NoTypeInformation 146 | } 147 | 148 | Write-Host "Complete - Usage records written to $CsvFile " $usageSummary.Count 149 | Write-Host "Complete - Records written to $SubscriptionsUsageUpdatedCsvFile " $TenantSubscriptionRecords.Count 150 | -------------------------------------------------------------------------------- /Usage/README.md: -------------------------------------------------------------------------------- 1 | # PreReqs 2 | 3 | As a prerequisite, make sure that you installed the correct PowerShell modules and versions: 4 | 5 | For Azure stack 1901 or later 6 | 7 | ```powershell 8 | Install-Module -Name AzureRM -RequiredVersion 2.4.0 9 | Install-Module -Name AzureStack -RequiredVersion 1.7.0 10 | ``` 11 | 12 | For all other azure stack versions, please follow the instructions at https://aka.ms/azspsh for the needed azure powershell 13 | 14 | 15 | Use this script to extract usage data from the AzureStack Usage API's and export it to a CSV file 16 | For more information on Billing and Usage see [here](https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-billing-and-chargeback) 17 | --------------------------------------------------------------------------------