Azure.ResourceManager.Hci 1.2.0

前缀已保留
dotnet add package Azure.ResourceManager.Hci --version 1.2.0                
NuGet\Install-Package Azure.ResourceManager.Hci -Version 1.2.0                
该命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Azure.ResourceManager.Hci" Version="1.2.0" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用包。
paket add Azure.ResourceManager.Hci --version 1.2.0                
#r "nuget: Azure.ResourceManager.Hci, 1.2.0"                
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将此复制到交互工具或脚本源代码中以引用包。
// Install Azure.ResourceManager.Hci as a Cake Addin
#addin nuget:?package=Azure.ResourceManager.Hci&version=1.2.0

// Install Azure.ResourceManager.Hci as a Cake Tool
#tool nuget:?package=Azure.ResourceManager.Hci&version=1.2.0                

Microsoft Azure Stack HCI 管理客户端库用于 .NET

Microsoft Azure VMware 解决方案是一个经过 VMware 验证的持续增强和升级验证的解决方案。Microsoft 管理和维护私有云基础设施和软件。这使您能够专注于在私有云中开发和运行工作负载,以实现业务价值。

此库支持管理 Microsoft Azure Stack HCI 资源。

此库遵循新的 Azure SDK 指南,并提供了许多核心功能

- Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET.
- Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing.
- HTTP pipeline with custom policies.
- Better error-handling.
- Support uniform telemetry across all languages.

入门

安装包

使用 NuGet 安装 Azure Stack HCI 管理库 for .NET

dotnet add package Azure.ResourceManager.Hci

前提条件

客户端认证

为了创建经过认证的客户端并与 Microsoft Azure 资源交互,请参阅此处快速入门指南

关键概念

可以在此处找到 Microsoft Azure SDK for .NET 的关键概念。

文档

提供文档以帮助您了解如何使用此软件包

示例

前提条件
  1. 获取 Azure 令牌
TokenCredential cred = new DefaultAzureCredential();
ArmClient client = new ArmClient(cred);
  1. 更新以下参数
public string subscriptionId = "00000000-0000-0000-0000-000000000000";  // Replace with your subscription ID
public string resourceGroupName = "hcicluster-rg";                      // Replace with your resource group name

扩展管理

前提条件
  1. 更新以下参数
public string clusterName = "HCICluster";                               // Replace with your cluster name
作为启用功能的一部分安装扩展
安装 Azure Monitor Windows Agent 扩展
// Create the Payload and invoke the operation
string extensionName = "AzureMonitorWindowsAgent";
string publisherName = "Microsoft.Azure.Monitor";
string arcExtensionName = "AzureMonitorWindowsAgent";
string typeHandlerVersion = "1.10";
string workspaceId = "xx";  // workspace id for the log analytics workspace to be used with AMA extension
string workspaceKey = "xx"; // workspace key for the log analytics workspace to be used with AMA extension
bool enableAutomaticUpgrade = false;

ArcExtensionData data = new ArcExtensionData()
{
    Publisher = publisherName,
    ArcExtensionType = arcExtensionName,
    TypeHandlerVersion = typeHandlerVersion,
    Settings = BinaryData.FromObjectAsJson(new Dictionary<string, object>()
    {
        ["workspaceId"] = workspaceId
    }),
    ProtectedSettings = BinaryData.FromObjectAsJson(new Dictionary<string, object>()
    {
        ["workspaceKey"] = workspaceKey
    }),
    EnableAutomaticUpgrade = enableAutomaticUpgrade,
};

ResourceIdentifier arcSettingResourceId = ArcSettingResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, clusterName, "default");
ArcSettingResource arcSetting = client.GetArcSettingResource(arcSettingResourceId);
ArcExtensionCollection collection = arcSetting.GetArcExtensions();

// Create the Extension
var lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, extensionName, data);
ArcExtensionResource resource = lro.Value;
安装 Windows Admin Centre 扩展
// Create the payload and invoke the operation
string extensionName = "AdminCenter";
string publisherName = "Microsoft.AdminCenter";
string arcExtensionType = "AdminCenter";
string typeHandlerVersion = "1.10";
string portNumber = "6516"; //port to be associated with WAC
bool enableAutoUpgrade = false; // change to true to enable automatic upgrade

ArcExtensionData data = new ArcExtensionData()
{
    Publisher = publisherName,
    ArcExtensionType = arcExtensionType,
    TypeHandlerVersion = typeHandlerVersion,
    Settings = BinaryData.FromObjectAsJson(new Dictionary<string, object>()
    {
        ["port"] = portNumber
    }),
    EnableAutomaticUpgrade = enableAutoUpgrade,
};
ResourceIdentifier arcSettingResourceId = ArcSettingResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, clusterName, "default");
ArcSettingResource arcSetting = client.GetArcSettingResource(arcSettingResourceId);
ArcExtensionCollection collection = arcSetting.GetArcExtensions();

// Create the Extension
var lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, extensionName, data);
ArcExtensionResource resource = lro.Value;
安装 Azure Site Recovery 扩展
string publisherName = "Microsoft.SiteRecovery.Dra";
string arcExtensionType = "Windows";
string extensionName = "AzureSiteRecovery";
ArcExtensionData data = new ArcExtensionData()
{
    Publisher = publisherName,
    ArcExtensionType = arcExtensionType,
    EnableAutomaticUpgrade = true,
    Settings = BinaryData.FromObjectAsJson(new Dictionary<string, object>()
    {
        { "SubscriptionId", "your SubscriptionId" },
        { "Environment", "AzureCloud" },
        { "ResourceGroup", "your ResourceGroup" },
        { "ResourceName", "your site recovery vault name" },
        { "Location", "your site recovery region" },
        { "SiteId", "Id for your recovery site" },
        { "SiteName", "your recovery site name" },
        { "PolicyId", "your resource id for recovery site policy" },
        { "PrivateEndpointStateForSiteRecovery", "None" },
    })
};

// Get Arc Extension Resource
ResourceIdentifier arcSettingResourceId = ArcSettingResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, clusterName, "default");
ArcSettingResource arcSetting = client.GetArcSettingResource(arcSettingResourceId);
ArcExtensionCollection collection = arcSetting.GetArcExtensions();

// Create the Extension
var lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, extensionName, data);
ArcExtensionResource resource = lro.Value;
扩展升级
string extensionName = "AzureMonitorWindowsAgent"; // Replace with your extension name Some common examples are: AzureMonitorWindowsAgent, AzureSiteRecovery, AdminCenter
string targetVersion = "1.0.18062.0"; //replace with extension version you want to install
ResourceIdentifier arcExtensionResourceId = ArcExtensionResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, clusterName, "default", extensionName);
ArcExtensionResource arcExtension = client.GetArcExtensionResource(arcExtensionResourceId);
// Invoke Upgrade operation
ArcExtensionUpgradeContent content = new ArcExtensionUpgradeContent()
{
    TargetVersion = targetVersion,
};
await arcExtension.UpgradeAsync(WaitUntil.Completed, content);
删除一个 ARC 扩展
string extensionName = "AzureMonitorWindowsAgent"; // Replace with your extension name Some common examples are: AzureMonitorWindowsAgent, AzureSiteRecovery, AdminCenter
ResourceIdentifier arcExtensionResourceId = ArcExtensionResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, clusterName, "default", extensionName);
ArcExtensionResource arcExtension = client.GetArcExtensionResource(arcExtensionResourceId);
// Invoke the delete operation
await arcExtension.DeleteAsync(WaitUntil.Completed);

HCI 集群管理

查看 HCI 集群
使用集群名称获取单个 HCI 集群
// Get the HCI Cluster
string clusterName = "HCICluster"; // Replace with your cluster name,
ResourceIdentifier hciClusterResourceId = HciClusterResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, clusterName);
HciClusterResource hciCluster = client.GetHciClusterResource(hciClusterResourceId);

// Invoke get operation
HciClusterResource result = await hciCluster.GetAsync();
删除单个 HCI 集群
// Get the HCI Cluster
ResourceIdentifier hciClusterResourceId = HciClusterResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, clusterName);
HciClusterResource hciCluster = client.GetHciClusterResource(hciClusterResourceId);

// Invoke delete operation
await hciCluster.DeleteAsync(WaitUntil.Completed);
删除资源组中的所有 HCI 集群
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);

// Get the collection of this HciClusterResource
HciClusterCollection collection = resourceGroupResource.GetHciClusters();

// Calling the delete function for all Cluster Resources in the collection
await foreach (HciClusterResource item in collection.GetAllAsync())
{
    // delete the item

    await item.DeleteAsync(WaitUntil.Completed);
}
更新 HCI 集群属性
// Get the HCI Cluster
ResourceIdentifier hciClusterResourceId = HciClusterResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, clusterName);
HciClusterResource hciCluster = client.GetHciClusterResource(hciClusterResourceId);
HciClusterPatch patch = new HciClusterPatch()
{
    Tags =
    {
        { "key", "value" }
    },
    DesiredProperties = new HciClusterDesiredProperties()
    {
        WindowsServerSubscription = WindowsServerSubscription.Enabled,  // It can Enabled or Disabled
        DiagnosticLevel = HciClusterDiagnosticLevel.Basic,              // It can be Off, Basic or Enhanced
    },
};
HciClusterResource result = await hciCluster.UpdateAsync(patch);
启用 Azure 混合权益
  1. 调用操作以扩展 Azure 混合权益
ResourceIdentifier hciClusterResourceId = HciClusterResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, clusterName);
HciClusterResource hciCluster = client.GetHciClusterResource(hciClusterResourceId);
SoftwareAssuranceChangeContent content = new SoftwareAssuranceChangeContent()
{
    SoftwareAssuranceIntent = SoftwareAssuranceIntent.Enable,
};
HciClusterResource result = (hciCluster.ExtendSoftwareAssuranceBenefitAsync(WaitUntil.Completed, content).Result).Value;

使用 .NET 管理库的代码示例可在此位置找到

故障排除

下一步操作

有关 Microsoft Azure SDK 的更多信息,请参阅此网站

贡献力量

有关为此存储库做出贡献的详细信息,请参阅贡献指南

本项目欢迎贡献和建议。大多数贡献都需要您同意一份贡献者许可协议(CLA),声明您有权利,并且实际上确实授予我们使用您贡献的权利。有关详细信息,请访问https://cla.microsoft.com

在您提交拉取请求时,CLA-bot 将自动确定您是否需要提供 CLA 并适当标记 PR(例如,标签、评论)。遵循机器人提供的说明。您只需在整个使用我们 CLA 的所有存储库中执行此操作一次。

本项目已采用Microsoft 开源准则。有关更多信息,请参阅准则常见问题解答,或通过[email protected]联系以获取其他任何问题或评论。

产品 兼容及额外的计算目标框架版本。
.NET net5.0 已计算。 net5.0-windows 已计算。 net6.0 已计算。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。
.NET Core netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。
.NET Standard netstandard2.0 兼容。 netstandard2.1 已计算。
.NET Framework net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。
MonoAndroid monoandroid 已计算。
MonoMac monomac 已计算。
MonoTouch monotouch 已计算。
Tizen tizen40 已计算。 tizen60 已计算。
Xamarin.iOS xamarinios 已计算。
Xamarin.Mac xamarinmac 已计算。
Xamarin.TVOS xamarintvos 已计算。
Xamarin.WatchOS xamarinwatchos 已计算。
兼容目标框架
包含目标框架(在包中)
了解更多关于 目标框架.NET Standard

NuGet 包

此包未使用任何 NuGet 包。

GitHub 仓库

此包未使用任何流行的 GitHub 仓库。

版本 下载 最后更新
1.2.0 40 8/14/2024
1.2.0-beta.1 640 12/1/2023
1.1.0 21,249 11/27/2023
1.0.2 14,655 6/1/2023
1.0.1 2,692 2/16/2023
1.0.0 4,539 8/29/2022
1.0.0-beta.5 1,035 7/13/2022
1.0.0-beta.4 220 6/2/2022
1.0.0-beta.3 259 4/8/2022
1.0.0-beta.2 149 3/31/2022
1.0.0-beta.1 163 3/4/2022