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
NuGet 团队不提供对此客户端的支持。请联系其 管理员 获取支持。
#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
NuGet 团队不提供对此客户端的支持。请联系其 管理员 获取支持。
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 资源交互,请参阅此处快速入门指南。
关键概念
可以在此处找到 Microsoft Azure SDK for .NET 的关键概念。
文档
提供文档以帮助您了解如何使用此软件包
示例
前提条件
- 获取 Azure 令牌
TokenCredential cred = new DefaultAzureCredential();
ArmClient client = new ArmClient(cred);
- 更新以下参数
public string subscriptionId = "00000000-0000-0000-0000-000000000000"; // Replace with your subscription ID
public string resourceGroupName = "hcicluster-rg"; // Replace with your resource group name
扩展管理
前提条件
- 更新以下参数
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 混合权益
- 调用操作以扩展 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 管理库的代码示例可在此位置找到
故障排除
- 通过 GitHub Issues 提交问题。
- 查看 先前的问答,或在 Stack Overflow 上使用 Azure 和 .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 已计算。 |
-
.NETStandard 2.0
- Azure.Core (≥ 1.42.0)
- Azure.ResourceManager (≥ 1.12.0)
- System.ClientModel (≥ 1.0.0)
- System.Text.Json (≥ 4.7.2)
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 |