public sealed class AzureControlPlane : IMessage<AzureControlPlane>, IEquatable<AzureControlPlane>, IDeepCloneable<AzureControlPlane>, IBufferMessage, IMessage
Reference documentation and code samples for the Anthos Multi-Cloud v1 API class AzureControlPlane.
AzureControlPlane represents the control plane configurations.
Optional. Configuration related to the main volume provisioned for each
control plane replica.
The main volume is in charge of storing all of the cluster's etcd state.
When unspecified, it defaults to a 8-GiB Azure Disk.
public RepeatedField<ReplicaPlacement> ReplicaPlacements { get; }
Optional. Configuration for where to place the control plane replicas.
Up to three replica placement instances can be specified. If
replica_placements is set, the replica placement instances will be applied
to the three control plane replicas as evenly as possible.
Optional. The ARM ID of the default subnet for the control plane. The
control plane VMs are deployed in this subnet, unless
AzureControlPlane.replica_placements is specified. This subnet will also
be used as default for AzureControlPlane.endpoint_subnet_id if
AzureControlPlane.endpoint_subnet_id is not specified. Similarly it will
be used as default for
AzureClusterNetworking.service_load_balancer_subnet_id.
Required. The Kubernetes version to run on control plane replicas
(e.g. 1.19.10-gke.1000).
You can list all supported versions on a given Google Cloud region by
calling
[GetAzureServerConfig][google.cloud.gkemulticloud.v1.AzureClusters.GetAzureServerConfig].
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThis documentation outlines the \u003ccode\u003eAzureControlPlane\u003c/code\u003e class, which is crucial for configuring the control plane in Anthos Multi-Cloud v1 API, specifically for Azure environments.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eAzureControlPlane\u003c/code\u003e class provides properties to manage various aspects of the control plane, including encryption, volume configuration, network settings, SSH access, and versioning.\u003c/p\u003e\n"],["\u003cp\u003eSeveral versions of the \u003ccode\u003eAzureControlPlane\u003c/code\u003e documentation are available, ranging from version 1.0.0-beta01 up to the latest version 2.8.0, with accessible links for each.\u003c/p\u003e\n"],["\u003cp\u003eThe class implements several interfaces, such as \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, and \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and inherits from \u003ccode\u003eobject\u003c/code\u003e, indicating its role in data management and manipulation.\u003c/p\u003e\n"],["\u003cp\u003eThe class also contains constructors to create instances of the \u003ccode\u003eAzureControlPlane\u003c/code\u003e, allowing for parameter input when instantiating the class, and allows the use of inheritance from \u003ccode\u003eobject\u003c/code\u003e, and its members, including \u003ccode\u003eGetHashCode()\u003c/code\u003e, \u003ccode\u003eGetType()\u003c/code\u003e, and \u003ccode\u003eToString()\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Anthos Multi-Cloud v1 API - Class AzureControlPlane (2.8.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.8.0 (latest)](/dotnet/docs/reference/Google.Cloud.GkeMultiCloud.V1/latest/Google.Cloud.GkeMultiCloud.V1.AzureControlPlane)\n- [2.7.0](/dotnet/docs/reference/Google.Cloud.GkeMultiCloud.V1/2.7.0/Google.Cloud.GkeMultiCloud.V1.AzureControlPlane)\n- [2.6.0](/dotnet/docs/reference/Google.Cloud.GkeMultiCloud.V1/2.6.0/Google.Cloud.GkeMultiCloud.V1.AzureControlPlane)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.GkeMultiCloud.V1/2.5.0/Google.Cloud.GkeMultiCloud.V1.AzureControlPlane)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.GkeMultiCloud.V1/2.4.0/Google.Cloud.GkeMultiCloud.V1.AzureControlPlane)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.GkeMultiCloud.V1/2.3.0/Google.Cloud.GkeMultiCloud.V1.AzureControlPlane)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.GkeMultiCloud.V1/2.2.0/Google.Cloud.GkeMultiCloud.V1.AzureControlPlane)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.GkeMultiCloud.V1/2.1.0/Google.Cloud.GkeMultiCloud.V1.AzureControlPlane)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.GkeMultiCloud.V1/2.0.0/Google.Cloud.GkeMultiCloud.V1.AzureControlPlane)\n- [1.0.0-beta01](/dotnet/docs/reference/Google.Cloud.GkeMultiCloud.V1/1.0.0-beta01/Google.Cloud.GkeMultiCloud.V1.AzureControlPlane) \n\n public sealed class AzureControlPlane : IMessage\u003cAzureControlPlane\u003e, IEquatable\u003cAzureControlPlane\u003e, IDeepCloneable\u003cAzureControlPlane\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Anthos Multi-Cloud v1 API class AzureControlPlane.\n\nAzureControlPlane represents the control plane configurations. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e AzureControlPlane \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[AzureControlPlane](/dotnet/docs/reference/Google.Cloud.GkeMultiCloud.V1/latest/Google.Cloud.GkeMultiCloud.V1.AzureControlPlane), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[AzureControlPlane](/dotnet/docs/reference/Google.Cloud.GkeMultiCloud.V1/latest/Google.Cloud.GkeMultiCloud.V1.AzureControlPlane), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[AzureControlPlane](/dotnet/docs/reference/Google.Cloud.GkeMultiCloud.V1/latest/Google.Cloud.GkeMultiCloud.V1.AzureControlPlane), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.GkeMultiCloud.V1](/dotnet/docs/reference/Google.Cloud.GkeMultiCloud.V1/latest/Google.Cloud.GkeMultiCloud.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.GkeMultiCloud.V1.dll\n\nConstructors\n------------\n\n### AzureControlPlane()\n\n public AzureControlPlane()\n\n### AzureControlPlane(AzureControlPlane)\n\n public AzureControlPlane(AzureControlPlane other)\n\nProperties\n----------\n\n### ConfigEncryption\n\n public AzureConfigEncryption ConfigEncryption { get; set; }\n\nOptional. Configuration related to vm config encryption.\n\n### DatabaseEncryption\n\n public AzureDatabaseEncryption DatabaseEncryption { get; set; }\n\nOptional. Configuration related to application-layer secrets encryption.\n\n### EndpointSubnetId\n\n public string EndpointSubnetId { get; set; }\n\nOptional. The ARM ID of the subnet where the control plane load balancer is\ndeployed. When unspecified, it defaults to AzureControlPlane.subnet_id.\n\nExample:\n\"/subscriptions/d00494d6-6f3c-4280-bbb2-899e163d1d30/resourceGroups/anthos_cluster_gkeust4/providers/Microsoft.Network/virtualNetworks/gke-vnet-gkeust4/subnets/subnetid123\"\n\n### MainVolume\n\n public AzureDiskTemplate MainVolume { get; set; }\n\nOptional. Configuration related to the main volume provisioned for each\ncontrol plane replica.\nThe main volume is in charge of storing all of the cluster's etcd state.\n\nWhen unspecified, it defaults to a 8-GiB Azure Disk.\n\n### ProxyConfig\n\n public AzureProxyConfig ProxyConfig { get; set; }\n\nOptional. Proxy configuration for outbound HTTP(S) traffic.\n\n### ReplicaPlacements\n\n public RepeatedField\u003cReplicaPlacement\u003e ReplicaPlacements { get; }\n\nOptional. Configuration for where to place the control plane replicas.\n\nUp to three replica placement instances can be specified. If\nreplica_placements is set, the replica placement instances will be applied\nto the three control plane replicas as evenly as possible.\n\n### RootVolume\n\n public AzureDiskTemplate RootVolume { get; set; }\n\nOptional. Configuration related to the root volume provisioned for each\ncontrol plane replica.\n\nWhen unspecified, it defaults to 32-GiB Azure Disk.\n\n### SshConfig\n\n public AzureSshConfig SshConfig { get; set; }\n\nRequired. SSH configuration for how to access the underlying control plane\nmachines.\n\n### SubnetId\n\n public string SubnetId { get; set; }\n\nOptional. The ARM ID of the default subnet for the control plane. The\ncontrol plane VMs are deployed in this subnet, unless\n`AzureControlPlane.replica_placements` is specified. This subnet will also\nbe used as default for `AzureControlPlane.endpoint_subnet_id` if\n`AzureControlPlane.endpoint_subnet_id` is not specified. Similarly it will\nbe used as default for\n`AzureClusterNetworking.service_load_balancer_subnet_id`.\n\nExample:\n`/subscriptions/\u003csubscription-id\u003e/resourceGroups/\u003cresource-group-id\u003e/providers/Microsoft.Network/virtualNetworks/\u003cvnet-id\u003e/subnets/default`.\n\n### Tags\n\n public MapField\u003cstring, string\u003e Tags { get; }\n\nOptional. A set of tags to apply to all underlying control plane Azure\nresources.\n\n### Version\n\n public string Version { get; set; }\n\nRequired. The Kubernetes version to run on control plane replicas\n(e.g. `1.19.10-gke.1000`).\n\nYou can list all supported versions on a given Google Cloud region by\ncalling\n\\[GetAzureServerConfig\\]\\[google.cloud.gkemulticloud.v1.AzureClusters.GetAzureServerConfig\\].\n\n### VmSize\n\n public string VmSize { get; set; }\n\nOptional. The Azure VM size name. Example: `Standard_DS2_v2`.\n\nFor available VM sizes, see\n\u003chttps://docs.microsoft.com/en-us/azure/virtual-machines/vm-naming-conventions\u003e.\n\nWhen unspecified, it defaults to `Standard_DS2_v2`."]]