1package containerservice 2 3// Copyright (c) Microsoft and contributors. All rights reserved. 4// 5// Licensed under the Apache License, Version 2.0 (the "License"); 6// you may not use this file except in compliance with the License. 7// You may obtain a copy of the License at 8// http://www.apache.org/licenses/LICENSE-2.0 9// 10// Unless required by applicable law or agreed to in writing, software 11// distributed under the License is distributed on an "AS IS" BASIS, 12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13// 14// See the License for the specific language governing permissions and 15// limitations under the License. 16// 17// Code generated by Microsoft (R) AutoRest Code Generator. 18// Changes may cause incorrect behavior and will be lost if the code is regenerated. 19 20import ( 21 "context" 22 "encoding/json" 23 "github.com/Azure/go-autorest/autorest" 24 "github.com/Azure/go-autorest/autorest/azure" 25 "github.com/Azure/go-autorest/autorest/to" 26 "github.com/Azure/go-autorest/tracing" 27 "net/http" 28) 29 30// The package's fully qualified name. 31const fqdn = "github.com/Azure/azure-sdk-for-go/services/containerservice/mgmt/2019-10-01/containerservice" 32 33// AgentPoolType enumerates the values for agent pool type. 34type AgentPoolType string 35 36const ( 37 // AvailabilitySet ... 38 AvailabilitySet AgentPoolType = "AvailabilitySet" 39 // VirtualMachineScaleSets ... 40 VirtualMachineScaleSets AgentPoolType = "VirtualMachineScaleSets" 41) 42 43// PossibleAgentPoolTypeValues returns an array of possible values for the AgentPoolType const type. 44func PossibleAgentPoolTypeValues() []AgentPoolType { 45 return []AgentPoolType{AvailabilitySet, VirtualMachineScaleSets} 46} 47 48// Kind enumerates the values for kind. 49type Kind string 50 51const ( 52 // KindAADIdentityProvider ... 53 KindAADIdentityProvider Kind = "AADIdentityProvider" 54 // KindOpenShiftManagedClusterBaseIdentityProvider ... 55 KindOpenShiftManagedClusterBaseIdentityProvider Kind = "OpenShiftManagedClusterBaseIdentityProvider" 56) 57 58// PossibleKindValues returns an array of possible values for the Kind const type. 59func PossibleKindValues() []Kind { 60 return []Kind{KindAADIdentityProvider, KindOpenShiftManagedClusterBaseIdentityProvider} 61} 62 63// LoadBalancerSku enumerates the values for load balancer sku. 64type LoadBalancerSku string 65 66const ( 67 // Basic ... 68 Basic LoadBalancerSku = "basic" 69 // Standard ... 70 Standard LoadBalancerSku = "standard" 71) 72 73// PossibleLoadBalancerSkuValues returns an array of possible values for the LoadBalancerSku const type. 74func PossibleLoadBalancerSkuValues() []LoadBalancerSku { 75 return []LoadBalancerSku{Basic, Standard} 76} 77 78// NetworkPlugin enumerates the values for network plugin. 79type NetworkPlugin string 80 81const ( 82 // Azure ... 83 Azure NetworkPlugin = "azure" 84 // Kubenet ... 85 Kubenet NetworkPlugin = "kubenet" 86) 87 88// PossibleNetworkPluginValues returns an array of possible values for the NetworkPlugin const type. 89func PossibleNetworkPluginValues() []NetworkPlugin { 90 return []NetworkPlugin{Azure, Kubenet} 91} 92 93// NetworkPolicy enumerates the values for network policy. 94type NetworkPolicy string 95 96const ( 97 // NetworkPolicyAzure ... 98 NetworkPolicyAzure NetworkPolicy = "azure" 99 // NetworkPolicyCalico ... 100 NetworkPolicyCalico NetworkPolicy = "calico" 101) 102 103// PossibleNetworkPolicyValues returns an array of possible values for the NetworkPolicy const type. 104func PossibleNetworkPolicyValues() []NetworkPolicy { 105 return []NetworkPolicy{NetworkPolicyAzure, NetworkPolicyCalico} 106} 107 108// OpenShiftAgentPoolProfileRole enumerates the values for open shift agent pool profile role. 109type OpenShiftAgentPoolProfileRole string 110 111const ( 112 // Compute ... 113 Compute OpenShiftAgentPoolProfileRole = "compute" 114 // Infra ... 115 Infra OpenShiftAgentPoolProfileRole = "infra" 116) 117 118// PossibleOpenShiftAgentPoolProfileRoleValues returns an array of possible values for the OpenShiftAgentPoolProfileRole const type. 119func PossibleOpenShiftAgentPoolProfileRoleValues() []OpenShiftAgentPoolProfileRole { 120 return []OpenShiftAgentPoolProfileRole{Compute, Infra} 121} 122 123// OpenShiftContainerServiceVMSize enumerates the values for open shift container service vm size. 124type OpenShiftContainerServiceVMSize string 125 126const ( 127 // StandardD16sV3 ... 128 StandardD16sV3 OpenShiftContainerServiceVMSize = "Standard_D16s_v3" 129 // StandardD2sV3 ... 130 StandardD2sV3 OpenShiftContainerServiceVMSize = "Standard_D2s_v3" 131 // StandardD32sV3 ... 132 StandardD32sV3 OpenShiftContainerServiceVMSize = "Standard_D32s_v3" 133 // StandardD4sV3 ... 134 StandardD4sV3 OpenShiftContainerServiceVMSize = "Standard_D4s_v3" 135 // StandardD64sV3 ... 136 StandardD64sV3 OpenShiftContainerServiceVMSize = "Standard_D64s_v3" 137 // StandardD8sV3 ... 138 StandardD8sV3 OpenShiftContainerServiceVMSize = "Standard_D8s_v3" 139 // StandardDS12V2 ... 140 StandardDS12V2 OpenShiftContainerServiceVMSize = "Standard_DS12_v2" 141 // StandardDS13V2 ... 142 StandardDS13V2 OpenShiftContainerServiceVMSize = "Standard_DS13_v2" 143 // StandardDS14V2 ... 144 StandardDS14V2 OpenShiftContainerServiceVMSize = "Standard_DS14_v2" 145 // StandardDS15V2 ... 146 StandardDS15V2 OpenShiftContainerServiceVMSize = "Standard_DS15_v2" 147 // StandardDS4V2 ... 148 StandardDS4V2 OpenShiftContainerServiceVMSize = "Standard_DS4_v2" 149 // StandardDS5V2 ... 150 StandardDS5V2 OpenShiftContainerServiceVMSize = "Standard_DS5_v2" 151 // StandardE16sV3 ... 152 StandardE16sV3 OpenShiftContainerServiceVMSize = "Standard_E16s_v3" 153 // StandardE20sV3 ... 154 StandardE20sV3 OpenShiftContainerServiceVMSize = "Standard_E20s_v3" 155 // StandardE32sV3 ... 156 StandardE32sV3 OpenShiftContainerServiceVMSize = "Standard_E32s_v3" 157 // StandardE4sV3 ... 158 StandardE4sV3 OpenShiftContainerServiceVMSize = "Standard_E4s_v3" 159 // StandardE64sV3 ... 160 StandardE64sV3 OpenShiftContainerServiceVMSize = "Standard_E64s_v3" 161 // StandardE8sV3 ... 162 StandardE8sV3 OpenShiftContainerServiceVMSize = "Standard_E8s_v3" 163 // StandardF16s ... 164 StandardF16s OpenShiftContainerServiceVMSize = "Standard_F16s" 165 // StandardF16sV2 ... 166 StandardF16sV2 OpenShiftContainerServiceVMSize = "Standard_F16s_v2" 167 // StandardF32sV2 ... 168 StandardF32sV2 OpenShiftContainerServiceVMSize = "Standard_F32s_v2" 169 // StandardF64sV2 ... 170 StandardF64sV2 OpenShiftContainerServiceVMSize = "Standard_F64s_v2" 171 // StandardF72sV2 ... 172 StandardF72sV2 OpenShiftContainerServiceVMSize = "Standard_F72s_v2" 173 // StandardF8s ... 174 StandardF8s OpenShiftContainerServiceVMSize = "Standard_F8s" 175 // StandardF8sV2 ... 176 StandardF8sV2 OpenShiftContainerServiceVMSize = "Standard_F8s_v2" 177 // StandardGS2 ... 178 StandardGS2 OpenShiftContainerServiceVMSize = "Standard_GS2" 179 // StandardGS3 ... 180 StandardGS3 OpenShiftContainerServiceVMSize = "Standard_GS3" 181 // StandardGS4 ... 182 StandardGS4 OpenShiftContainerServiceVMSize = "Standard_GS4" 183 // StandardGS5 ... 184 StandardGS5 OpenShiftContainerServiceVMSize = "Standard_GS5" 185 // StandardL16s ... 186 StandardL16s OpenShiftContainerServiceVMSize = "Standard_L16s" 187 // StandardL32s ... 188 StandardL32s OpenShiftContainerServiceVMSize = "Standard_L32s" 189 // StandardL4s ... 190 StandardL4s OpenShiftContainerServiceVMSize = "Standard_L4s" 191 // StandardL8s ... 192 StandardL8s OpenShiftContainerServiceVMSize = "Standard_L8s" 193) 194 195// PossibleOpenShiftContainerServiceVMSizeValues returns an array of possible values for the OpenShiftContainerServiceVMSize const type. 196func PossibleOpenShiftContainerServiceVMSizeValues() []OpenShiftContainerServiceVMSize { 197 return []OpenShiftContainerServiceVMSize{StandardD16sV3, StandardD2sV3, StandardD32sV3, StandardD4sV3, StandardD64sV3, StandardD8sV3, StandardDS12V2, StandardDS13V2, StandardDS14V2, StandardDS15V2, StandardDS4V2, StandardDS5V2, StandardE16sV3, StandardE20sV3, StandardE32sV3, StandardE4sV3, StandardE64sV3, StandardE8sV3, StandardF16s, StandardF16sV2, StandardF32sV2, StandardF64sV2, StandardF72sV2, StandardF8s, StandardF8sV2, StandardGS2, StandardGS3, StandardGS4, StandardGS5, StandardL16s, StandardL32s, StandardL4s, StandardL8s} 198} 199 200// OrchestratorTypes enumerates the values for orchestrator types. 201type OrchestratorTypes string 202 203const ( 204 // Custom ... 205 Custom OrchestratorTypes = "Custom" 206 // DCOS ... 207 DCOS OrchestratorTypes = "DCOS" 208 // DockerCE ... 209 DockerCE OrchestratorTypes = "DockerCE" 210 // Kubernetes ... 211 Kubernetes OrchestratorTypes = "Kubernetes" 212 // Swarm ... 213 Swarm OrchestratorTypes = "Swarm" 214) 215 216// PossibleOrchestratorTypesValues returns an array of possible values for the OrchestratorTypes const type. 217func PossibleOrchestratorTypesValues() []OrchestratorTypes { 218 return []OrchestratorTypes{Custom, DCOS, DockerCE, Kubernetes, Swarm} 219} 220 221// OSType enumerates the values for os type. 222type OSType string 223 224const ( 225 // Linux ... 226 Linux OSType = "Linux" 227 // Windows ... 228 Windows OSType = "Windows" 229) 230 231// PossibleOSTypeValues returns an array of possible values for the OSType const type. 232func PossibleOSTypeValues() []OSType { 233 return []OSType{Linux, Windows} 234} 235 236// ResourceIdentityType enumerates the values for resource identity type. 237type ResourceIdentityType string 238 239const ( 240 // None ... 241 None ResourceIdentityType = "None" 242 // SystemAssigned ... 243 SystemAssigned ResourceIdentityType = "SystemAssigned" 244) 245 246// PossibleResourceIdentityTypeValues returns an array of possible values for the ResourceIdentityType const type. 247func PossibleResourceIdentityTypeValues() []ResourceIdentityType { 248 return []ResourceIdentityType{None, SystemAssigned} 249} 250 251// ScaleSetEvictionPolicy enumerates the values for scale set eviction policy. 252type ScaleSetEvictionPolicy string 253 254const ( 255 // Deallocate ... 256 Deallocate ScaleSetEvictionPolicy = "Deallocate" 257 // Delete ... 258 Delete ScaleSetEvictionPolicy = "Delete" 259) 260 261// PossibleScaleSetEvictionPolicyValues returns an array of possible values for the ScaleSetEvictionPolicy const type. 262func PossibleScaleSetEvictionPolicyValues() []ScaleSetEvictionPolicy { 263 return []ScaleSetEvictionPolicy{Deallocate, Delete} 264} 265 266// ScaleSetPriority enumerates the values for scale set priority. 267type ScaleSetPriority string 268 269const ( 270 // Low ... 271 Low ScaleSetPriority = "Low" 272 // Regular ... 273 Regular ScaleSetPriority = "Regular" 274) 275 276// PossibleScaleSetPriorityValues returns an array of possible values for the ScaleSetPriority const type. 277func PossibleScaleSetPriorityValues() []ScaleSetPriority { 278 return []ScaleSetPriority{Low, Regular} 279} 280 281// StorageProfileTypes enumerates the values for storage profile types. 282type StorageProfileTypes string 283 284const ( 285 // ManagedDisks ... 286 ManagedDisks StorageProfileTypes = "ManagedDisks" 287 // StorageAccount ... 288 StorageAccount StorageProfileTypes = "StorageAccount" 289) 290 291// PossibleStorageProfileTypesValues returns an array of possible values for the StorageProfileTypes const type. 292func PossibleStorageProfileTypesValues() []StorageProfileTypes { 293 return []StorageProfileTypes{ManagedDisks, StorageAccount} 294} 295 296// VMSizeTypes enumerates the values for vm size types. 297type VMSizeTypes string 298 299const ( 300 // VMSizeTypesStandardA1 ... 301 VMSizeTypesStandardA1 VMSizeTypes = "Standard_A1" 302 // VMSizeTypesStandardA10 ... 303 VMSizeTypesStandardA10 VMSizeTypes = "Standard_A10" 304 // VMSizeTypesStandardA11 ... 305 VMSizeTypesStandardA11 VMSizeTypes = "Standard_A11" 306 // VMSizeTypesStandardA1V2 ... 307 VMSizeTypesStandardA1V2 VMSizeTypes = "Standard_A1_v2" 308 // VMSizeTypesStandardA2 ... 309 VMSizeTypesStandardA2 VMSizeTypes = "Standard_A2" 310 // VMSizeTypesStandardA2mV2 ... 311 VMSizeTypesStandardA2mV2 VMSizeTypes = "Standard_A2m_v2" 312 // VMSizeTypesStandardA2V2 ... 313 VMSizeTypesStandardA2V2 VMSizeTypes = "Standard_A2_v2" 314 // VMSizeTypesStandardA3 ... 315 VMSizeTypesStandardA3 VMSizeTypes = "Standard_A3" 316 // VMSizeTypesStandardA4 ... 317 VMSizeTypesStandardA4 VMSizeTypes = "Standard_A4" 318 // VMSizeTypesStandardA4mV2 ... 319 VMSizeTypesStandardA4mV2 VMSizeTypes = "Standard_A4m_v2" 320 // VMSizeTypesStandardA4V2 ... 321 VMSizeTypesStandardA4V2 VMSizeTypes = "Standard_A4_v2" 322 // VMSizeTypesStandardA5 ... 323 VMSizeTypesStandardA5 VMSizeTypes = "Standard_A5" 324 // VMSizeTypesStandardA6 ... 325 VMSizeTypesStandardA6 VMSizeTypes = "Standard_A6" 326 // VMSizeTypesStandardA7 ... 327 VMSizeTypesStandardA7 VMSizeTypes = "Standard_A7" 328 // VMSizeTypesStandardA8 ... 329 VMSizeTypesStandardA8 VMSizeTypes = "Standard_A8" 330 // VMSizeTypesStandardA8mV2 ... 331 VMSizeTypesStandardA8mV2 VMSizeTypes = "Standard_A8m_v2" 332 // VMSizeTypesStandardA8V2 ... 333 VMSizeTypesStandardA8V2 VMSizeTypes = "Standard_A8_v2" 334 // VMSizeTypesStandardA9 ... 335 VMSizeTypesStandardA9 VMSizeTypes = "Standard_A9" 336 // VMSizeTypesStandardB2ms ... 337 VMSizeTypesStandardB2ms VMSizeTypes = "Standard_B2ms" 338 // VMSizeTypesStandardB2s ... 339 VMSizeTypesStandardB2s VMSizeTypes = "Standard_B2s" 340 // VMSizeTypesStandardB4ms ... 341 VMSizeTypesStandardB4ms VMSizeTypes = "Standard_B4ms" 342 // VMSizeTypesStandardB8ms ... 343 VMSizeTypesStandardB8ms VMSizeTypes = "Standard_B8ms" 344 // VMSizeTypesStandardD1 ... 345 VMSizeTypesStandardD1 VMSizeTypes = "Standard_D1" 346 // VMSizeTypesStandardD11 ... 347 VMSizeTypesStandardD11 VMSizeTypes = "Standard_D11" 348 // VMSizeTypesStandardD11V2 ... 349 VMSizeTypesStandardD11V2 VMSizeTypes = "Standard_D11_v2" 350 // VMSizeTypesStandardD11V2Promo ... 351 VMSizeTypesStandardD11V2Promo VMSizeTypes = "Standard_D11_v2_Promo" 352 // VMSizeTypesStandardD12 ... 353 VMSizeTypesStandardD12 VMSizeTypes = "Standard_D12" 354 // VMSizeTypesStandardD12V2 ... 355 VMSizeTypesStandardD12V2 VMSizeTypes = "Standard_D12_v2" 356 // VMSizeTypesStandardD12V2Promo ... 357 VMSizeTypesStandardD12V2Promo VMSizeTypes = "Standard_D12_v2_Promo" 358 // VMSizeTypesStandardD13 ... 359 VMSizeTypesStandardD13 VMSizeTypes = "Standard_D13" 360 // VMSizeTypesStandardD13V2 ... 361 VMSizeTypesStandardD13V2 VMSizeTypes = "Standard_D13_v2" 362 // VMSizeTypesStandardD13V2Promo ... 363 VMSizeTypesStandardD13V2Promo VMSizeTypes = "Standard_D13_v2_Promo" 364 // VMSizeTypesStandardD14 ... 365 VMSizeTypesStandardD14 VMSizeTypes = "Standard_D14" 366 // VMSizeTypesStandardD14V2 ... 367 VMSizeTypesStandardD14V2 VMSizeTypes = "Standard_D14_v2" 368 // VMSizeTypesStandardD14V2Promo ... 369 VMSizeTypesStandardD14V2Promo VMSizeTypes = "Standard_D14_v2_Promo" 370 // VMSizeTypesStandardD15V2 ... 371 VMSizeTypesStandardD15V2 VMSizeTypes = "Standard_D15_v2" 372 // VMSizeTypesStandardD16sV3 ... 373 VMSizeTypesStandardD16sV3 VMSizeTypes = "Standard_D16s_v3" 374 // VMSizeTypesStandardD16V3 ... 375 VMSizeTypesStandardD16V3 VMSizeTypes = "Standard_D16_v3" 376 // VMSizeTypesStandardD1V2 ... 377 VMSizeTypesStandardD1V2 VMSizeTypes = "Standard_D1_v2" 378 // VMSizeTypesStandardD2 ... 379 VMSizeTypesStandardD2 VMSizeTypes = "Standard_D2" 380 // VMSizeTypesStandardD2sV3 ... 381 VMSizeTypesStandardD2sV3 VMSizeTypes = "Standard_D2s_v3" 382 // VMSizeTypesStandardD2V2 ... 383 VMSizeTypesStandardD2V2 VMSizeTypes = "Standard_D2_v2" 384 // VMSizeTypesStandardD2V2Promo ... 385 VMSizeTypesStandardD2V2Promo VMSizeTypes = "Standard_D2_v2_Promo" 386 // VMSizeTypesStandardD2V3 ... 387 VMSizeTypesStandardD2V3 VMSizeTypes = "Standard_D2_v3" 388 // VMSizeTypesStandardD3 ... 389 VMSizeTypesStandardD3 VMSizeTypes = "Standard_D3" 390 // VMSizeTypesStandardD32sV3 ... 391 VMSizeTypesStandardD32sV3 VMSizeTypes = "Standard_D32s_v3" 392 // VMSizeTypesStandardD32V3 ... 393 VMSizeTypesStandardD32V3 VMSizeTypes = "Standard_D32_v3" 394 // VMSizeTypesStandardD3V2 ... 395 VMSizeTypesStandardD3V2 VMSizeTypes = "Standard_D3_v2" 396 // VMSizeTypesStandardD3V2Promo ... 397 VMSizeTypesStandardD3V2Promo VMSizeTypes = "Standard_D3_v2_Promo" 398 // VMSizeTypesStandardD4 ... 399 VMSizeTypesStandardD4 VMSizeTypes = "Standard_D4" 400 // VMSizeTypesStandardD4sV3 ... 401 VMSizeTypesStandardD4sV3 VMSizeTypes = "Standard_D4s_v3" 402 // VMSizeTypesStandardD4V2 ... 403 VMSizeTypesStandardD4V2 VMSizeTypes = "Standard_D4_v2" 404 // VMSizeTypesStandardD4V2Promo ... 405 VMSizeTypesStandardD4V2Promo VMSizeTypes = "Standard_D4_v2_Promo" 406 // VMSizeTypesStandardD4V3 ... 407 VMSizeTypesStandardD4V3 VMSizeTypes = "Standard_D4_v3" 408 // VMSizeTypesStandardD5V2 ... 409 VMSizeTypesStandardD5V2 VMSizeTypes = "Standard_D5_v2" 410 // VMSizeTypesStandardD5V2Promo ... 411 VMSizeTypesStandardD5V2Promo VMSizeTypes = "Standard_D5_v2_Promo" 412 // VMSizeTypesStandardD64sV3 ... 413 VMSizeTypesStandardD64sV3 VMSizeTypes = "Standard_D64s_v3" 414 // VMSizeTypesStandardD64V3 ... 415 VMSizeTypesStandardD64V3 VMSizeTypes = "Standard_D64_v3" 416 // VMSizeTypesStandardD8sV3 ... 417 VMSizeTypesStandardD8sV3 VMSizeTypes = "Standard_D8s_v3" 418 // VMSizeTypesStandardD8V3 ... 419 VMSizeTypesStandardD8V3 VMSizeTypes = "Standard_D8_v3" 420 // VMSizeTypesStandardDS1 ... 421 VMSizeTypesStandardDS1 VMSizeTypes = "Standard_DS1" 422 // VMSizeTypesStandardDS11 ... 423 VMSizeTypesStandardDS11 VMSizeTypes = "Standard_DS11" 424 // VMSizeTypesStandardDS11V2 ... 425 VMSizeTypesStandardDS11V2 VMSizeTypes = "Standard_DS11_v2" 426 // VMSizeTypesStandardDS11V2Promo ... 427 VMSizeTypesStandardDS11V2Promo VMSizeTypes = "Standard_DS11_v2_Promo" 428 // VMSizeTypesStandardDS12 ... 429 VMSizeTypesStandardDS12 VMSizeTypes = "Standard_DS12" 430 // VMSizeTypesStandardDS12V2 ... 431 VMSizeTypesStandardDS12V2 VMSizeTypes = "Standard_DS12_v2" 432 // VMSizeTypesStandardDS12V2Promo ... 433 VMSizeTypesStandardDS12V2Promo VMSizeTypes = "Standard_DS12_v2_Promo" 434 // VMSizeTypesStandardDS13 ... 435 VMSizeTypesStandardDS13 VMSizeTypes = "Standard_DS13" 436 // VMSizeTypesStandardDS132V2 ... 437 VMSizeTypesStandardDS132V2 VMSizeTypes = "Standard_DS13-2_v2" 438 // VMSizeTypesStandardDS134V2 ... 439 VMSizeTypesStandardDS134V2 VMSizeTypes = "Standard_DS13-4_v2" 440 // VMSizeTypesStandardDS13V2 ... 441 VMSizeTypesStandardDS13V2 VMSizeTypes = "Standard_DS13_v2" 442 // VMSizeTypesStandardDS13V2Promo ... 443 VMSizeTypesStandardDS13V2Promo VMSizeTypes = "Standard_DS13_v2_Promo" 444 // VMSizeTypesStandardDS14 ... 445 VMSizeTypesStandardDS14 VMSizeTypes = "Standard_DS14" 446 // VMSizeTypesStandardDS144V2 ... 447 VMSizeTypesStandardDS144V2 VMSizeTypes = "Standard_DS14-4_v2" 448 // VMSizeTypesStandardDS148V2 ... 449 VMSizeTypesStandardDS148V2 VMSizeTypes = "Standard_DS14-8_v2" 450 // VMSizeTypesStandardDS14V2 ... 451 VMSizeTypesStandardDS14V2 VMSizeTypes = "Standard_DS14_v2" 452 // VMSizeTypesStandardDS14V2Promo ... 453 VMSizeTypesStandardDS14V2Promo VMSizeTypes = "Standard_DS14_v2_Promo" 454 // VMSizeTypesStandardDS15V2 ... 455 VMSizeTypesStandardDS15V2 VMSizeTypes = "Standard_DS15_v2" 456 // VMSizeTypesStandardDS1V2 ... 457 VMSizeTypesStandardDS1V2 VMSizeTypes = "Standard_DS1_v2" 458 // VMSizeTypesStandardDS2 ... 459 VMSizeTypesStandardDS2 VMSizeTypes = "Standard_DS2" 460 // VMSizeTypesStandardDS2V2 ... 461 VMSizeTypesStandardDS2V2 VMSizeTypes = "Standard_DS2_v2" 462 // VMSizeTypesStandardDS2V2Promo ... 463 VMSizeTypesStandardDS2V2Promo VMSizeTypes = "Standard_DS2_v2_Promo" 464 // VMSizeTypesStandardDS3 ... 465 VMSizeTypesStandardDS3 VMSizeTypes = "Standard_DS3" 466 // VMSizeTypesStandardDS3V2 ... 467 VMSizeTypesStandardDS3V2 VMSizeTypes = "Standard_DS3_v2" 468 // VMSizeTypesStandardDS3V2Promo ... 469 VMSizeTypesStandardDS3V2Promo VMSizeTypes = "Standard_DS3_v2_Promo" 470 // VMSizeTypesStandardDS4 ... 471 VMSizeTypesStandardDS4 VMSizeTypes = "Standard_DS4" 472 // VMSizeTypesStandardDS4V2 ... 473 VMSizeTypesStandardDS4V2 VMSizeTypes = "Standard_DS4_v2" 474 // VMSizeTypesStandardDS4V2Promo ... 475 VMSizeTypesStandardDS4V2Promo VMSizeTypes = "Standard_DS4_v2_Promo" 476 // VMSizeTypesStandardDS5V2 ... 477 VMSizeTypesStandardDS5V2 VMSizeTypes = "Standard_DS5_v2" 478 // VMSizeTypesStandardDS5V2Promo ... 479 VMSizeTypesStandardDS5V2Promo VMSizeTypes = "Standard_DS5_v2_Promo" 480 // VMSizeTypesStandardE16sV3 ... 481 VMSizeTypesStandardE16sV3 VMSizeTypes = "Standard_E16s_v3" 482 // VMSizeTypesStandardE16V3 ... 483 VMSizeTypesStandardE16V3 VMSizeTypes = "Standard_E16_v3" 484 // VMSizeTypesStandardE2sV3 ... 485 VMSizeTypesStandardE2sV3 VMSizeTypes = "Standard_E2s_v3" 486 // VMSizeTypesStandardE2V3 ... 487 VMSizeTypesStandardE2V3 VMSizeTypes = "Standard_E2_v3" 488 // VMSizeTypesStandardE3216sV3 ... 489 VMSizeTypesStandardE3216sV3 VMSizeTypes = "Standard_E32-16s_v3" 490 // VMSizeTypesStandardE328sV3 ... 491 VMSizeTypesStandardE328sV3 VMSizeTypes = "Standard_E32-8s_v3" 492 // VMSizeTypesStandardE32sV3 ... 493 VMSizeTypesStandardE32sV3 VMSizeTypes = "Standard_E32s_v3" 494 // VMSizeTypesStandardE32V3 ... 495 VMSizeTypesStandardE32V3 VMSizeTypes = "Standard_E32_v3" 496 // VMSizeTypesStandardE4sV3 ... 497 VMSizeTypesStandardE4sV3 VMSizeTypes = "Standard_E4s_v3" 498 // VMSizeTypesStandardE4V3 ... 499 VMSizeTypesStandardE4V3 VMSizeTypes = "Standard_E4_v3" 500 // VMSizeTypesStandardE6416sV3 ... 501 VMSizeTypesStandardE6416sV3 VMSizeTypes = "Standard_E64-16s_v3" 502 // VMSizeTypesStandardE6432sV3 ... 503 VMSizeTypesStandardE6432sV3 VMSizeTypes = "Standard_E64-32s_v3" 504 // VMSizeTypesStandardE64sV3 ... 505 VMSizeTypesStandardE64sV3 VMSizeTypes = "Standard_E64s_v3" 506 // VMSizeTypesStandardE64V3 ... 507 VMSizeTypesStandardE64V3 VMSizeTypes = "Standard_E64_v3" 508 // VMSizeTypesStandardE8sV3 ... 509 VMSizeTypesStandardE8sV3 VMSizeTypes = "Standard_E8s_v3" 510 // VMSizeTypesStandardE8V3 ... 511 VMSizeTypesStandardE8V3 VMSizeTypes = "Standard_E8_v3" 512 // VMSizeTypesStandardF1 ... 513 VMSizeTypesStandardF1 VMSizeTypes = "Standard_F1" 514 // VMSizeTypesStandardF16 ... 515 VMSizeTypesStandardF16 VMSizeTypes = "Standard_F16" 516 // VMSizeTypesStandardF16s ... 517 VMSizeTypesStandardF16s VMSizeTypes = "Standard_F16s" 518 // VMSizeTypesStandardF16sV2 ... 519 VMSizeTypesStandardF16sV2 VMSizeTypes = "Standard_F16s_v2" 520 // VMSizeTypesStandardF1s ... 521 VMSizeTypesStandardF1s VMSizeTypes = "Standard_F1s" 522 // VMSizeTypesStandardF2 ... 523 VMSizeTypesStandardF2 VMSizeTypes = "Standard_F2" 524 // VMSizeTypesStandardF2s ... 525 VMSizeTypesStandardF2s VMSizeTypes = "Standard_F2s" 526 // VMSizeTypesStandardF2sV2 ... 527 VMSizeTypesStandardF2sV2 VMSizeTypes = "Standard_F2s_v2" 528 // VMSizeTypesStandardF32sV2 ... 529 VMSizeTypesStandardF32sV2 VMSizeTypes = "Standard_F32s_v2" 530 // VMSizeTypesStandardF4 ... 531 VMSizeTypesStandardF4 VMSizeTypes = "Standard_F4" 532 // VMSizeTypesStandardF4s ... 533 VMSizeTypesStandardF4s VMSizeTypes = "Standard_F4s" 534 // VMSizeTypesStandardF4sV2 ... 535 VMSizeTypesStandardF4sV2 VMSizeTypes = "Standard_F4s_v2" 536 // VMSizeTypesStandardF64sV2 ... 537 VMSizeTypesStandardF64sV2 VMSizeTypes = "Standard_F64s_v2" 538 // VMSizeTypesStandardF72sV2 ... 539 VMSizeTypesStandardF72sV2 VMSizeTypes = "Standard_F72s_v2" 540 // VMSizeTypesStandardF8 ... 541 VMSizeTypesStandardF8 VMSizeTypes = "Standard_F8" 542 // VMSizeTypesStandardF8s ... 543 VMSizeTypesStandardF8s VMSizeTypes = "Standard_F8s" 544 // VMSizeTypesStandardF8sV2 ... 545 VMSizeTypesStandardF8sV2 VMSizeTypes = "Standard_F8s_v2" 546 // VMSizeTypesStandardG1 ... 547 VMSizeTypesStandardG1 VMSizeTypes = "Standard_G1" 548 // VMSizeTypesStandardG2 ... 549 VMSizeTypesStandardG2 VMSizeTypes = "Standard_G2" 550 // VMSizeTypesStandardG3 ... 551 VMSizeTypesStandardG3 VMSizeTypes = "Standard_G3" 552 // VMSizeTypesStandardG4 ... 553 VMSizeTypesStandardG4 VMSizeTypes = "Standard_G4" 554 // VMSizeTypesStandardG5 ... 555 VMSizeTypesStandardG5 VMSizeTypes = "Standard_G5" 556 // VMSizeTypesStandardGS1 ... 557 VMSizeTypesStandardGS1 VMSizeTypes = "Standard_GS1" 558 // VMSizeTypesStandardGS2 ... 559 VMSizeTypesStandardGS2 VMSizeTypes = "Standard_GS2" 560 // VMSizeTypesStandardGS3 ... 561 VMSizeTypesStandardGS3 VMSizeTypes = "Standard_GS3" 562 // VMSizeTypesStandardGS4 ... 563 VMSizeTypesStandardGS4 VMSizeTypes = "Standard_GS4" 564 // VMSizeTypesStandardGS44 ... 565 VMSizeTypesStandardGS44 VMSizeTypes = "Standard_GS4-4" 566 // VMSizeTypesStandardGS48 ... 567 VMSizeTypesStandardGS48 VMSizeTypes = "Standard_GS4-8" 568 // VMSizeTypesStandardGS5 ... 569 VMSizeTypesStandardGS5 VMSizeTypes = "Standard_GS5" 570 // VMSizeTypesStandardGS516 ... 571 VMSizeTypesStandardGS516 VMSizeTypes = "Standard_GS5-16" 572 // VMSizeTypesStandardGS58 ... 573 VMSizeTypesStandardGS58 VMSizeTypes = "Standard_GS5-8" 574 // VMSizeTypesStandardH16 ... 575 VMSizeTypesStandardH16 VMSizeTypes = "Standard_H16" 576 // VMSizeTypesStandardH16m ... 577 VMSizeTypesStandardH16m VMSizeTypes = "Standard_H16m" 578 // VMSizeTypesStandardH16mr ... 579 VMSizeTypesStandardH16mr VMSizeTypes = "Standard_H16mr" 580 // VMSizeTypesStandardH16r ... 581 VMSizeTypesStandardH16r VMSizeTypes = "Standard_H16r" 582 // VMSizeTypesStandardH8 ... 583 VMSizeTypesStandardH8 VMSizeTypes = "Standard_H8" 584 // VMSizeTypesStandardH8m ... 585 VMSizeTypesStandardH8m VMSizeTypes = "Standard_H8m" 586 // VMSizeTypesStandardL16s ... 587 VMSizeTypesStandardL16s VMSizeTypes = "Standard_L16s" 588 // VMSizeTypesStandardL32s ... 589 VMSizeTypesStandardL32s VMSizeTypes = "Standard_L32s" 590 // VMSizeTypesStandardL4s ... 591 VMSizeTypesStandardL4s VMSizeTypes = "Standard_L4s" 592 // VMSizeTypesStandardL8s ... 593 VMSizeTypesStandardL8s VMSizeTypes = "Standard_L8s" 594 // VMSizeTypesStandardM12832ms ... 595 VMSizeTypesStandardM12832ms VMSizeTypes = "Standard_M128-32ms" 596 // VMSizeTypesStandardM12864ms ... 597 VMSizeTypesStandardM12864ms VMSizeTypes = "Standard_M128-64ms" 598 // VMSizeTypesStandardM128ms ... 599 VMSizeTypesStandardM128ms VMSizeTypes = "Standard_M128ms" 600 // VMSizeTypesStandardM128s ... 601 VMSizeTypesStandardM128s VMSizeTypes = "Standard_M128s" 602 // VMSizeTypesStandardM6416ms ... 603 VMSizeTypesStandardM6416ms VMSizeTypes = "Standard_M64-16ms" 604 // VMSizeTypesStandardM6432ms ... 605 VMSizeTypesStandardM6432ms VMSizeTypes = "Standard_M64-32ms" 606 // VMSizeTypesStandardM64ms ... 607 VMSizeTypesStandardM64ms VMSizeTypes = "Standard_M64ms" 608 // VMSizeTypesStandardM64s ... 609 VMSizeTypesStandardM64s VMSizeTypes = "Standard_M64s" 610 // VMSizeTypesStandardNC12 ... 611 VMSizeTypesStandardNC12 VMSizeTypes = "Standard_NC12" 612 // VMSizeTypesStandardNC12sV2 ... 613 VMSizeTypesStandardNC12sV2 VMSizeTypes = "Standard_NC12s_v2" 614 // VMSizeTypesStandardNC12sV3 ... 615 VMSizeTypesStandardNC12sV3 VMSizeTypes = "Standard_NC12s_v3" 616 // VMSizeTypesStandardNC24 ... 617 VMSizeTypesStandardNC24 VMSizeTypes = "Standard_NC24" 618 // VMSizeTypesStandardNC24r ... 619 VMSizeTypesStandardNC24r VMSizeTypes = "Standard_NC24r" 620 // VMSizeTypesStandardNC24rsV2 ... 621 VMSizeTypesStandardNC24rsV2 VMSizeTypes = "Standard_NC24rs_v2" 622 // VMSizeTypesStandardNC24rsV3 ... 623 VMSizeTypesStandardNC24rsV3 VMSizeTypes = "Standard_NC24rs_v3" 624 // VMSizeTypesStandardNC24sV2 ... 625 VMSizeTypesStandardNC24sV2 VMSizeTypes = "Standard_NC24s_v2" 626 // VMSizeTypesStandardNC24sV3 ... 627 VMSizeTypesStandardNC24sV3 VMSizeTypes = "Standard_NC24s_v3" 628 // VMSizeTypesStandardNC6 ... 629 VMSizeTypesStandardNC6 VMSizeTypes = "Standard_NC6" 630 // VMSizeTypesStandardNC6sV2 ... 631 VMSizeTypesStandardNC6sV2 VMSizeTypes = "Standard_NC6s_v2" 632 // VMSizeTypesStandardNC6sV3 ... 633 VMSizeTypesStandardNC6sV3 VMSizeTypes = "Standard_NC6s_v3" 634 // VMSizeTypesStandardND12s ... 635 VMSizeTypesStandardND12s VMSizeTypes = "Standard_ND12s" 636 // VMSizeTypesStandardND24rs ... 637 VMSizeTypesStandardND24rs VMSizeTypes = "Standard_ND24rs" 638 // VMSizeTypesStandardND24s ... 639 VMSizeTypesStandardND24s VMSizeTypes = "Standard_ND24s" 640 // VMSizeTypesStandardND6s ... 641 VMSizeTypesStandardND6s VMSizeTypes = "Standard_ND6s" 642 // VMSizeTypesStandardNV12 ... 643 VMSizeTypesStandardNV12 VMSizeTypes = "Standard_NV12" 644 // VMSizeTypesStandardNV24 ... 645 VMSizeTypesStandardNV24 VMSizeTypes = "Standard_NV24" 646 // VMSizeTypesStandardNV6 ... 647 VMSizeTypesStandardNV6 VMSizeTypes = "Standard_NV6" 648) 649 650// PossibleVMSizeTypesValues returns an array of possible values for the VMSizeTypes const type. 651func PossibleVMSizeTypesValues() []VMSizeTypes { 652 return []VMSizeTypes{VMSizeTypesStandardA1, VMSizeTypesStandardA10, VMSizeTypesStandardA11, VMSizeTypesStandardA1V2, VMSizeTypesStandardA2, VMSizeTypesStandardA2mV2, VMSizeTypesStandardA2V2, VMSizeTypesStandardA3, VMSizeTypesStandardA4, VMSizeTypesStandardA4mV2, VMSizeTypesStandardA4V2, VMSizeTypesStandardA5, VMSizeTypesStandardA6, VMSizeTypesStandardA7, VMSizeTypesStandardA8, VMSizeTypesStandardA8mV2, VMSizeTypesStandardA8V2, VMSizeTypesStandardA9, VMSizeTypesStandardB2ms, VMSizeTypesStandardB2s, VMSizeTypesStandardB4ms, VMSizeTypesStandardB8ms, VMSizeTypesStandardD1, VMSizeTypesStandardD11, VMSizeTypesStandardD11V2, VMSizeTypesStandardD11V2Promo, VMSizeTypesStandardD12, VMSizeTypesStandardD12V2, VMSizeTypesStandardD12V2Promo, VMSizeTypesStandardD13, VMSizeTypesStandardD13V2, VMSizeTypesStandardD13V2Promo, VMSizeTypesStandardD14, VMSizeTypesStandardD14V2, VMSizeTypesStandardD14V2Promo, VMSizeTypesStandardD15V2, VMSizeTypesStandardD16sV3, VMSizeTypesStandardD16V3, VMSizeTypesStandardD1V2, VMSizeTypesStandardD2, VMSizeTypesStandardD2sV3, VMSizeTypesStandardD2V2, VMSizeTypesStandardD2V2Promo, VMSizeTypesStandardD2V3, VMSizeTypesStandardD3, VMSizeTypesStandardD32sV3, VMSizeTypesStandardD32V3, VMSizeTypesStandardD3V2, VMSizeTypesStandardD3V2Promo, VMSizeTypesStandardD4, VMSizeTypesStandardD4sV3, VMSizeTypesStandardD4V2, VMSizeTypesStandardD4V2Promo, VMSizeTypesStandardD4V3, VMSizeTypesStandardD5V2, VMSizeTypesStandardD5V2Promo, VMSizeTypesStandardD64sV3, VMSizeTypesStandardD64V3, VMSizeTypesStandardD8sV3, VMSizeTypesStandardD8V3, VMSizeTypesStandardDS1, VMSizeTypesStandardDS11, VMSizeTypesStandardDS11V2, VMSizeTypesStandardDS11V2Promo, VMSizeTypesStandardDS12, VMSizeTypesStandardDS12V2, VMSizeTypesStandardDS12V2Promo, VMSizeTypesStandardDS13, VMSizeTypesStandardDS132V2, VMSizeTypesStandardDS134V2, VMSizeTypesStandardDS13V2, VMSizeTypesStandardDS13V2Promo, VMSizeTypesStandardDS14, VMSizeTypesStandardDS144V2, VMSizeTypesStandardDS148V2, VMSizeTypesStandardDS14V2, VMSizeTypesStandardDS14V2Promo, VMSizeTypesStandardDS15V2, VMSizeTypesStandardDS1V2, VMSizeTypesStandardDS2, VMSizeTypesStandardDS2V2, VMSizeTypesStandardDS2V2Promo, VMSizeTypesStandardDS3, VMSizeTypesStandardDS3V2, VMSizeTypesStandardDS3V2Promo, VMSizeTypesStandardDS4, VMSizeTypesStandardDS4V2, VMSizeTypesStandardDS4V2Promo, VMSizeTypesStandardDS5V2, VMSizeTypesStandardDS5V2Promo, VMSizeTypesStandardE16sV3, VMSizeTypesStandardE16V3, VMSizeTypesStandardE2sV3, VMSizeTypesStandardE2V3, VMSizeTypesStandardE3216sV3, VMSizeTypesStandardE328sV3, VMSizeTypesStandardE32sV3, VMSizeTypesStandardE32V3, VMSizeTypesStandardE4sV3, VMSizeTypesStandardE4V3, VMSizeTypesStandardE6416sV3, VMSizeTypesStandardE6432sV3, VMSizeTypesStandardE64sV3, VMSizeTypesStandardE64V3, VMSizeTypesStandardE8sV3, VMSizeTypesStandardE8V3, VMSizeTypesStandardF1, VMSizeTypesStandardF16, VMSizeTypesStandardF16s, VMSizeTypesStandardF16sV2, VMSizeTypesStandardF1s, VMSizeTypesStandardF2, VMSizeTypesStandardF2s, VMSizeTypesStandardF2sV2, VMSizeTypesStandardF32sV2, VMSizeTypesStandardF4, VMSizeTypesStandardF4s, VMSizeTypesStandardF4sV2, VMSizeTypesStandardF64sV2, VMSizeTypesStandardF72sV2, VMSizeTypesStandardF8, VMSizeTypesStandardF8s, VMSizeTypesStandardF8sV2, VMSizeTypesStandardG1, VMSizeTypesStandardG2, VMSizeTypesStandardG3, VMSizeTypesStandardG4, VMSizeTypesStandardG5, VMSizeTypesStandardGS1, VMSizeTypesStandardGS2, VMSizeTypesStandardGS3, VMSizeTypesStandardGS4, VMSizeTypesStandardGS44, VMSizeTypesStandardGS48, VMSizeTypesStandardGS5, VMSizeTypesStandardGS516, VMSizeTypesStandardGS58, VMSizeTypesStandardH16, VMSizeTypesStandardH16m, VMSizeTypesStandardH16mr, VMSizeTypesStandardH16r, VMSizeTypesStandardH8, VMSizeTypesStandardH8m, VMSizeTypesStandardL16s, VMSizeTypesStandardL32s, VMSizeTypesStandardL4s, VMSizeTypesStandardL8s, VMSizeTypesStandardM12832ms, VMSizeTypesStandardM12864ms, VMSizeTypesStandardM128ms, VMSizeTypesStandardM128s, VMSizeTypesStandardM6416ms, VMSizeTypesStandardM6432ms, VMSizeTypesStandardM64ms, VMSizeTypesStandardM64s, VMSizeTypesStandardNC12, VMSizeTypesStandardNC12sV2, VMSizeTypesStandardNC12sV3, VMSizeTypesStandardNC24, VMSizeTypesStandardNC24r, VMSizeTypesStandardNC24rsV2, VMSizeTypesStandardNC24rsV3, VMSizeTypesStandardNC24sV2, VMSizeTypesStandardNC24sV3, VMSizeTypesStandardNC6, VMSizeTypesStandardNC6sV2, VMSizeTypesStandardNC6sV3, VMSizeTypesStandardND12s, VMSizeTypesStandardND24rs, VMSizeTypesStandardND24s, VMSizeTypesStandardND6s, VMSizeTypesStandardNV12, VMSizeTypesStandardNV24, VMSizeTypesStandardNV6} 653} 654 655// AccessProfile profile for enabling a user to access a managed cluster. 656type AccessProfile struct { 657 // KubeConfig - Base64-encoded Kubernetes configuration file. 658 KubeConfig *[]byte `json:"kubeConfig,omitempty"` 659} 660 661// AgentPool agent Pool. 662type AgentPool struct { 663 autorest.Response `json:"-"` 664 // ManagedClusterAgentPoolProfileProperties - Properties of an agent pool. 665 *ManagedClusterAgentPoolProfileProperties `json:"properties,omitempty"` 666 // ID - READ-ONLY; Resource ID. 667 ID *string `json:"id,omitempty"` 668 // Name - READ-ONLY; The name of the resource that is unique within a resource group. This name can be used to access the resource. 669 Name *string `json:"name,omitempty"` 670 // Type - READ-ONLY; Resource type 671 Type *string `json:"type,omitempty"` 672} 673 674// MarshalJSON is the custom marshaler for AgentPool. 675func (ap AgentPool) MarshalJSON() ([]byte, error) { 676 objectMap := make(map[string]interface{}) 677 if ap.ManagedClusterAgentPoolProfileProperties != nil { 678 objectMap["properties"] = ap.ManagedClusterAgentPoolProfileProperties 679 } 680 return json.Marshal(objectMap) 681} 682 683// UnmarshalJSON is the custom unmarshaler for AgentPool struct. 684func (ap *AgentPool) UnmarshalJSON(body []byte) error { 685 var m map[string]*json.RawMessage 686 err := json.Unmarshal(body, &m) 687 if err != nil { 688 return err 689 } 690 for k, v := range m { 691 switch k { 692 case "properties": 693 if v != nil { 694 var managedClusterAgentPoolProfileProperties ManagedClusterAgentPoolProfileProperties 695 err = json.Unmarshal(*v, &managedClusterAgentPoolProfileProperties) 696 if err != nil { 697 return err 698 } 699 ap.ManagedClusterAgentPoolProfileProperties = &managedClusterAgentPoolProfileProperties 700 } 701 case "id": 702 if v != nil { 703 var ID string 704 err = json.Unmarshal(*v, &ID) 705 if err != nil { 706 return err 707 } 708 ap.ID = &ID 709 } 710 case "name": 711 if v != nil { 712 var name string 713 err = json.Unmarshal(*v, &name) 714 if err != nil { 715 return err 716 } 717 ap.Name = &name 718 } 719 case "type": 720 if v != nil { 721 var typeVar string 722 err = json.Unmarshal(*v, &typeVar) 723 if err != nil { 724 return err 725 } 726 ap.Type = &typeVar 727 } 728 } 729 } 730 731 return nil 732} 733 734// AgentPoolAvailableVersions the list of available versions for an agent pool. 735type AgentPoolAvailableVersions struct { 736 autorest.Response `json:"-"` 737 // ID - READ-ONLY; Id of the agent pool available versions. 738 ID *string `json:"id,omitempty"` 739 // Name - READ-ONLY; Name of the agent pool available versions. 740 Name *string `json:"name,omitempty"` 741 // Type - READ-ONLY; Type of the agent pool available versions. 742 Type *string `json:"type,omitempty"` 743 // AgentPoolAvailableVersionsProperties - Properties of agent pool available versions. 744 *AgentPoolAvailableVersionsProperties `json:"properties,omitempty"` 745} 746 747// MarshalJSON is the custom marshaler for AgentPoolAvailableVersions. 748func (apav AgentPoolAvailableVersions) MarshalJSON() ([]byte, error) { 749 objectMap := make(map[string]interface{}) 750 if apav.AgentPoolAvailableVersionsProperties != nil { 751 objectMap["properties"] = apav.AgentPoolAvailableVersionsProperties 752 } 753 return json.Marshal(objectMap) 754} 755 756// UnmarshalJSON is the custom unmarshaler for AgentPoolAvailableVersions struct. 757func (apav *AgentPoolAvailableVersions) UnmarshalJSON(body []byte) error { 758 var m map[string]*json.RawMessage 759 err := json.Unmarshal(body, &m) 760 if err != nil { 761 return err 762 } 763 for k, v := range m { 764 switch k { 765 case "id": 766 if v != nil { 767 var ID string 768 err = json.Unmarshal(*v, &ID) 769 if err != nil { 770 return err 771 } 772 apav.ID = &ID 773 } 774 case "name": 775 if v != nil { 776 var name string 777 err = json.Unmarshal(*v, &name) 778 if err != nil { 779 return err 780 } 781 apav.Name = &name 782 } 783 case "type": 784 if v != nil { 785 var typeVar string 786 err = json.Unmarshal(*v, &typeVar) 787 if err != nil { 788 return err 789 } 790 apav.Type = &typeVar 791 } 792 case "properties": 793 if v != nil { 794 var agentPoolAvailableVersionsProperties AgentPoolAvailableVersionsProperties 795 err = json.Unmarshal(*v, &agentPoolAvailableVersionsProperties) 796 if err != nil { 797 return err 798 } 799 apav.AgentPoolAvailableVersionsProperties = &agentPoolAvailableVersionsProperties 800 } 801 } 802 } 803 804 return nil 805} 806 807// AgentPoolAvailableVersionsProperties the list of available agent pool versions. 808type AgentPoolAvailableVersionsProperties struct { 809 // AgentPoolVersions - List of versions available for agent pool. 810 AgentPoolVersions *[]AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem `json:"agentPoolVersions,omitempty"` 811} 812 813// AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem ... 814type AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem struct { 815 // Default - Whether this version is the default agent pool version. 816 Default *bool `json:"default,omitempty"` 817 // KubernetesVersion - Kubernetes version (major, minor, patch). 818 KubernetesVersion *string `json:"kubernetesVersion,omitempty"` 819 // IsPreview - Whether Kubernetes version is currently in preview. 820 IsPreview *bool `json:"isPreview,omitempty"` 821} 822 823// AgentPoolListResult the response from the List Agent Pools operation. 824type AgentPoolListResult struct { 825 autorest.Response `json:"-"` 826 // Value - The list of agent pools. 827 Value *[]AgentPool `json:"value,omitempty"` 828 // NextLink - READ-ONLY; The URL to get the next set of agent pool results. 829 NextLink *string `json:"nextLink,omitempty"` 830} 831 832// AgentPoolListResultIterator provides access to a complete listing of AgentPool values. 833type AgentPoolListResultIterator struct { 834 i int 835 page AgentPoolListResultPage 836} 837 838// NextWithContext advances to the next value. If there was an error making 839// the request the iterator does not advance and the error is returned. 840func (iter *AgentPoolListResultIterator) NextWithContext(ctx context.Context) (err error) { 841 if tracing.IsEnabled() { 842 ctx = tracing.StartSpan(ctx, fqdn+"/AgentPoolListResultIterator.NextWithContext") 843 defer func() { 844 sc := -1 845 if iter.Response().Response.Response != nil { 846 sc = iter.Response().Response.Response.StatusCode 847 } 848 tracing.EndSpan(ctx, sc, err) 849 }() 850 } 851 iter.i++ 852 if iter.i < len(iter.page.Values()) { 853 return nil 854 } 855 err = iter.page.NextWithContext(ctx) 856 if err != nil { 857 iter.i-- 858 return err 859 } 860 iter.i = 0 861 return nil 862} 863 864// Next advances to the next value. If there was an error making 865// the request the iterator does not advance and the error is returned. 866// Deprecated: Use NextWithContext() instead. 867func (iter *AgentPoolListResultIterator) Next() error { 868 return iter.NextWithContext(context.Background()) 869} 870 871// NotDone returns true if the enumeration should be started or is not yet complete. 872func (iter AgentPoolListResultIterator) NotDone() bool { 873 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 874} 875 876// Response returns the raw server response from the last page request. 877func (iter AgentPoolListResultIterator) Response() AgentPoolListResult { 878 return iter.page.Response() 879} 880 881// Value returns the current value or a zero-initialized value if the 882// iterator has advanced beyond the end of the collection. 883func (iter AgentPoolListResultIterator) Value() AgentPool { 884 if !iter.page.NotDone() { 885 return AgentPool{} 886 } 887 return iter.page.Values()[iter.i] 888} 889 890// Creates a new instance of the AgentPoolListResultIterator type. 891func NewAgentPoolListResultIterator(page AgentPoolListResultPage) AgentPoolListResultIterator { 892 return AgentPoolListResultIterator{page: page} 893} 894 895// IsEmpty returns true if the ListResult contains no values. 896func (aplr AgentPoolListResult) IsEmpty() bool { 897 return aplr.Value == nil || len(*aplr.Value) == 0 898} 899 900// agentPoolListResultPreparer prepares a request to retrieve the next set of results. 901// It returns nil if no more results exist. 902func (aplr AgentPoolListResult) agentPoolListResultPreparer(ctx context.Context) (*http.Request, error) { 903 if aplr.NextLink == nil || len(to.String(aplr.NextLink)) < 1 { 904 return nil, nil 905 } 906 return autorest.Prepare((&http.Request{}).WithContext(ctx), 907 autorest.AsJSON(), 908 autorest.AsGet(), 909 autorest.WithBaseURL(to.String(aplr.NextLink))) 910} 911 912// AgentPoolListResultPage contains a page of AgentPool values. 913type AgentPoolListResultPage struct { 914 fn func(context.Context, AgentPoolListResult) (AgentPoolListResult, error) 915 aplr AgentPoolListResult 916} 917 918// NextWithContext advances to the next page of values. If there was an error making 919// the request the page does not advance and the error is returned. 920func (page *AgentPoolListResultPage) NextWithContext(ctx context.Context) (err error) { 921 if tracing.IsEnabled() { 922 ctx = tracing.StartSpan(ctx, fqdn+"/AgentPoolListResultPage.NextWithContext") 923 defer func() { 924 sc := -1 925 if page.Response().Response.Response != nil { 926 sc = page.Response().Response.Response.StatusCode 927 } 928 tracing.EndSpan(ctx, sc, err) 929 }() 930 } 931 next, err := page.fn(ctx, page.aplr) 932 if err != nil { 933 return err 934 } 935 page.aplr = next 936 return nil 937} 938 939// Next advances to the next page of values. If there was an error making 940// the request the page does not advance and the error is returned. 941// Deprecated: Use NextWithContext() instead. 942func (page *AgentPoolListResultPage) Next() error { 943 return page.NextWithContext(context.Background()) 944} 945 946// NotDone returns true if the page enumeration should be started or is not yet complete. 947func (page AgentPoolListResultPage) NotDone() bool { 948 return !page.aplr.IsEmpty() 949} 950 951// Response returns the raw server response from the last page request. 952func (page AgentPoolListResultPage) Response() AgentPoolListResult { 953 return page.aplr 954} 955 956// Values returns the slice of values for the current page or nil if there are no values. 957func (page AgentPoolListResultPage) Values() []AgentPool { 958 if page.aplr.IsEmpty() { 959 return nil 960 } 961 return *page.aplr.Value 962} 963 964// Creates a new instance of the AgentPoolListResultPage type. 965func NewAgentPoolListResultPage(getNextPage func(context.Context, AgentPoolListResult) (AgentPoolListResult, error)) AgentPoolListResultPage { 966 return AgentPoolListResultPage{fn: getNextPage} 967} 968 969// AgentPoolProfile profile for the container service agent pool. 970type AgentPoolProfile struct { 971 // Name - Unique name of the agent pool profile in the context of the subscription and resource group. 972 Name *string `json:"name,omitempty"` 973 // Count - Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. 974 Count *int32 `json:"count,omitempty"` 975 // VMSize - Size of agent VMs. Possible values include: 'VMSizeTypesStandardA1', 'VMSizeTypesStandardA10', 'VMSizeTypesStandardA11', 'VMSizeTypesStandardA1V2', 'VMSizeTypesStandardA2', 'VMSizeTypesStandardA2V2', 'VMSizeTypesStandardA2mV2', 'VMSizeTypesStandardA3', 'VMSizeTypesStandardA4', 'VMSizeTypesStandardA4V2', 'VMSizeTypesStandardA4mV2', 'VMSizeTypesStandardA5', 'VMSizeTypesStandardA6', 'VMSizeTypesStandardA7', 'VMSizeTypesStandardA8', 'VMSizeTypesStandardA8V2', 'VMSizeTypesStandardA8mV2', 'VMSizeTypesStandardA9', 'VMSizeTypesStandardB2ms', 'VMSizeTypesStandardB2s', 'VMSizeTypesStandardB4ms', 'VMSizeTypesStandardB8ms', 'VMSizeTypesStandardD1', 'VMSizeTypesStandardD11', 'VMSizeTypesStandardD11V2', 'VMSizeTypesStandardD11V2Promo', 'VMSizeTypesStandardD12', 'VMSizeTypesStandardD12V2', 'VMSizeTypesStandardD12V2Promo', 'VMSizeTypesStandardD13', 'VMSizeTypesStandardD13V2', 'VMSizeTypesStandardD13V2Promo', 'VMSizeTypesStandardD14', 'VMSizeTypesStandardD14V2', 'VMSizeTypesStandardD14V2Promo', 'VMSizeTypesStandardD15V2', 'VMSizeTypesStandardD16V3', 'VMSizeTypesStandardD16sV3', 'VMSizeTypesStandardD1V2', 'VMSizeTypesStandardD2', 'VMSizeTypesStandardD2V2', 'VMSizeTypesStandardD2V2Promo', 'VMSizeTypesStandardD2V3', 'VMSizeTypesStandardD2sV3', 'VMSizeTypesStandardD3', 'VMSizeTypesStandardD32V3', 'VMSizeTypesStandardD32sV3', 'VMSizeTypesStandardD3V2', 'VMSizeTypesStandardD3V2Promo', 'VMSizeTypesStandardD4', 'VMSizeTypesStandardD4V2', 'VMSizeTypesStandardD4V2Promo', 'VMSizeTypesStandardD4V3', 'VMSizeTypesStandardD4sV3', 'VMSizeTypesStandardD5V2', 'VMSizeTypesStandardD5V2Promo', 'VMSizeTypesStandardD64V3', 'VMSizeTypesStandardD64sV3', 'VMSizeTypesStandardD8V3', 'VMSizeTypesStandardD8sV3', 'VMSizeTypesStandardDS1', 'VMSizeTypesStandardDS11', 'VMSizeTypesStandardDS11V2', 'VMSizeTypesStandardDS11V2Promo', 'VMSizeTypesStandardDS12', 'VMSizeTypesStandardDS12V2', 'VMSizeTypesStandardDS12V2Promo', 'VMSizeTypesStandardDS13', 'VMSizeTypesStandardDS132V2', 'VMSizeTypesStandardDS134V2', 'VMSizeTypesStandardDS13V2', 'VMSizeTypesStandardDS13V2Promo', 'VMSizeTypesStandardDS14', 'VMSizeTypesStandardDS144V2', 'VMSizeTypesStandardDS148V2', 'VMSizeTypesStandardDS14V2', 'VMSizeTypesStandardDS14V2Promo', 'VMSizeTypesStandardDS15V2', 'VMSizeTypesStandardDS1V2', 'VMSizeTypesStandardDS2', 'VMSizeTypesStandardDS2V2', 'VMSizeTypesStandardDS2V2Promo', 'VMSizeTypesStandardDS3', 'VMSizeTypesStandardDS3V2', 'VMSizeTypesStandardDS3V2Promo', 'VMSizeTypesStandardDS4', 'VMSizeTypesStandardDS4V2', 'VMSizeTypesStandardDS4V2Promo', 'VMSizeTypesStandardDS5V2', 'VMSizeTypesStandardDS5V2Promo', 'VMSizeTypesStandardE16V3', 'VMSizeTypesStandardE16sV3', 'VMSizeTypesStandardE2V3', 'VMSizeTypesStandardE2sV3', 'VMSizeTypesStandardE3216sV3', 'VMSizeTypesStandardE328sV3', 'VMSizeTypesStandardE32V3', 'VMSizeTypesStandardE32sV3', 'VMSizeTypesStandardE4V3', 'VMSizeTypesStandardE4sV3', 'VMSizeTypesStandardE6416sV3', 'VMSizeTypesStandardE6432sV3', 'VMSizeTypesStandardE64V3', 'VMSizeTypesStandardE64sV3', 'VMSizeTypesStandardE8V3', 'VMSizeTypesStandardE8sV3', 'VMSizeTypesStandardF1', 'VMSizeTypesStandardF16', 'VMSizeTypesStandardF16s', 'VMSizeTypesStandardF16sV2', 'VMSizeTypesStandardF1s', 'VMSizeTypesStandardF2', 'VMSizeTypesStandardF2s', 'VMSizeTypesStandardF2sV2', 'VMSizeTypesStandardF32sV2', 'VMSizeTypesStandardF4', 'VMSizeTypesStandardF4s', 'VMSizeTypesStandardF4sV2', 'VMSizeTypesStandardF64sV2', 'VMSizeTypesStandardF72sV2', 'VMSizeTypesStandardF8', 'VMSizeTypesStandardF8s', 'VMSizeTypesStandardF8sV2', 'VMSizeTypesStandardG1', 'VMSizeTypesStandardG2', 'VMSizeTypesStandardG3', 'VMSizeTypesStandardG4', 'VMSizeTypesStandardG5', 'VMSizeTypesStandardGS1', 'VMSizeTypesStandardGS2', 'VMSizeTypesStandardGS3', 'VMSizeTypesStandardGS4', 'VMSizeTypesStandardGS44', 'VMSizeTypesStandardGS48', 'VMSizeTypesStandardGS5', 'VMSizeTypesStandardGS516', 'VMSizeTypesStandardGS58', 'VMSizeTypesStandardH16', 'VMSizeTypesStandardH16m', 'VMSizeTypesStandardH16mr', 'VMSizeTypesStandardH16r', 'VMSizeTypesStandardH8', 'VMSizeTypesStandardH8m', 'VMSizeTypesStandardL16s', 'VMSizeTypesStandardL32s', 'VMSizeTypesStandardL4s', 'VMSizeTypesStandardL8s', 'VMSizeTypesStandardM12832ms', 'VMSizeTypesStandardM12864ms', 'VMSizeTypesStandardM128ms', 'VMSizeTypesStandardM128s', 'VMSizeTypesStandardM6416ms', 'VMSizeTypesStandardM6432ms', 'VMSizeTypesStandardM64ms', 'VMSizeTypesStandardM64s', 'VMSizeTypesStandardNC12', 'VMSizeTypesStandardNC12sV2', 'VMSizeTypesStandardNC12sV3', 'VMSizeTypesStandardNC24', 'VMSizeTypesStandardNC24r', 'VMSizeTypesStandardNC24rsV2', 'VMSizeTypesStandardNC24rsV3', 'VMSizeTypesStandardNC24sV2', 'VMSizeTypesStandardNC24sV3', 'VMSizeTypesStandardNC6', 'VMSizeTypesStandardNC6sV2', 'VMSizeTypesStandardNC6sV3', 'VMSizeTypesStandardND12s', 'VMSizeTypesStandardND24rs', 'VMSizeTypesStandardND24s', 'VMSizeTypesStandardND6s', 'VMSizeTypesStandardNV12', 'VMSizeTypesStandardNV24', 'VMSizeTypesStandardNV6' 976 VMSize VMSizeTypes `json:"vmSize,omitempty"` 977 // OsDiskSizeGB - OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. 978 OsDiskSizeGB *int32 `json:"osDiskSizeGB,omitempty"` 979 // DNSPrefix - DNS prefix to be used to create the FQDN for the agent pool. 980 DNSPrefix *string `json:"dnsPrefix,omitempty"` 981 // Fqdn - READ-ONLY; FQDN for the agent pool. 982 Fqdn *string `json:"fqdn,omitempty"` 983 // Ports - Ports number array used to expose on this agent pool. The default opened ports are different based on your choice of orchestrator. 984 Ports *[]int32 `json:"ports,omitempty"` 985 // StorageProfile - Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice. Possible values include: 'StorageAccount', 'ManagedDisks' 986 StorageProfile StorageProfileTypes `json:"storageProfile,omitempty"` 987 // VnetSubnetID - VNet SubnetID specifies the VNet's subnet identifier. 988 VnetSubnetID *string `json:"vnetSubnetID,omitempty"` 989 // OsType - OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows' 990 OsType OSType `json:"osType,omitempty"` 991} 992 993// AgentPoolsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a 994// long-running operation. 995type AgentPoolsCreateOrUpdateFuture struct { 996 azure.Future 997} 998 999// Result returns the result of the asynchronous operation. 1000// If the operation has not completed it will return an error. 1001func (future *AgentPoolsCreateOrUpdateFuture) Result(client AgentPoolsClient) (ap AgentPool, err error) { 1002 var done bool 1003 done, err = future.DoneWithContext(context.Background(), client) 1004 if err != nil { 1005 err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 1006 return 1007 } 1008 if !done { 1009 err = azure.NewAsyncOpIncompleteError("containerservice.AgentPoolsCreateOrUpdateFuture") 1010 return 1011 } 1012 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 1013 if ap.Response.Response, err = future.GetResult(sender); err == nil && ap.Response.Response.StatusCode != http.StatusNoContent { 1014 ap, err = client.CreateOrUpdateResponder(ap.Response.Response) 1015 if err != nil { 1016 err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsCreateOrUpdateFuture", "Result", ap.Response.Response, "Failure responding to request") 1017 } 1018 } 1019 return 1020} 1021 1022// AgentPoolsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running 1023// operation. 1024type AgentPoolsDeleteFuture struct { 1025 azure.Future 1026} 1027 1028// Result returns the result of the asynchronous operation. 1029// If the operation has not completed it will return an error. 1030func (future *AgentPoolsDeleteFuture) Result(client AgentPoolsClient) (ar autorest.Response, err error) { 1031 var done bool 1032 done, err = future.DoneWithContext(context.Background(), client) 1033 if err != nil { 1034 err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsDeleteFuture", "Result", future.Response(), "Polling failure") 1035 return 1036 } 1037 if !done { 1038 err = azure.NewAsyncOpIncompleteError("containerservice.AgentPoolsDeleteFuture") 1039 return 1040 } 1041 ar.Response = future.Response() 1042 return 1043} 1044 1045// AgentPoolUpgradeProfile the list of available upgrades for an agent pool. 1046type AgentPoolUpgradeProfile struct { 1047 autorest.Response `json:"-"` 1048 // ID - READ-ONLY; Id of the agent pool upgrade profile. 1049 ID *string `json:"id,omitempty"` 1050 // Name - READ-ONLY; Name of the agent pool upgrade profile. 1051 Name *string `json:"name,omitempty"` 1052 // Type - READ-ONLY; Type of the agent pool upgrade profile. 1053 Type *string `json:"type,omitempty"` 1054 // AgentPoolUpgradeProfileProperties - Properties of agent pool upgrade profile. 1055 *AgentPoolUpgradeProfileProperties `json:"properties,omitempty"` 1056} 1057 1058// MarshalJSON is the custom marshaler for AgentPoolUpgradeProfile. 1059func (apup AgentPoolUpgradeProfile) MarshalJSON() ([]byte, error) { 1060 objectMap := make(map[string]interface{}) 1061 if apup.AgentPoolUpgradeProfileProperties != nil { 1062 objectMap["properties"] = apup.AgentPoolUpgradeProfileProperties 1063 } 1064 return json.Marshal(objectMap) 1065} 1066 1067// UnmarshalJSON is the custom unmarshaler for AgentPoolUpgradeProfile struct. 1068func (apup *AgentPoolUpgradeProfile) UnmarshalJSON(body []byte) error { 1069 var m map[string]*json.RawMessage 1070 err := json.Unmarshal(body, &m) 1071 if err != nil { 1072 return err 1073 } 1074 for k, v := range m { 1075 switch k { 1076 case "id": 1077 if v != nil { 1078 var ID string 1079 err = json.Unmarshal(*v, &ID) 1080 if err != nil { 1081 return err 1082 } 1083 apup.ID = &ID 1084 } 1085 case "name": 1086 if v != nil { 1087 var name string 1088 err = json.Unmarshal(*v, &name) 1089 if err != nil { 1090 return err 1091 } 1092 apup.Name = &name 1093 } 1094 case "type": 1095 if v != nil { 1096 var typeVar string 1097 err = json.Unmarshal(*v, &typeVar) 1098 if err != nil { 1099 return err 1100 } 1101 apup.Type = &typeVar 1102 } 1103 case "properties": 1104 if v != nil { 1105 var agentPoolUpgradeProfileProperties AgentPoolUpgradeProfileProperties 1106 err = json.Unmarshal(*v, &agentPoolUpgradeProfileProperties) 1107 if err != nil { 1108 return err 1109 } 1110 apup.AgentPoolUpgradeProfileProperties = &agentPoolUpgradeProfileProperties 1111 } 1112 } 1113 } 1114 1115 return nil 1116} 1117 1118// AgentPoolUpgradeProfileProperties the list of available upgrade versions. 1119type AgentPoolUpgradeProfileProperties struct { 1120 // KubernetesVersion - Kubernetes version (major, minor, patch). 1121 KubernetesVersion *string `json:"kubernetesVersion,omitempty"` 1122 // OsType - OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows' 1123 OsType OSType `json:"osType,omitempty"` 1124 // Upgrades - List of orchestrator types and versions available for upgrade. 1125 Upgrades *[]AgentPoolUpgradeProfilePropertiesUpgradesItem `json:"upgrades,omitempty"` 1126} 1127 1128// AgentPoolUpgradeProfilePropertiesUpgradesItem ... 1129type AgentPoolUpgradeProfilePropertiesUpgradesItem struct { 1130 // KubernetesVersion - Kubernetes version (major, minor, patch). 1131 KubernetesVersion *string `json:"kubernetesVersion,omitempty"` 1132 // IsPreview - Whether Kubernetes version is currently in preview. 1133 IsPreview *bool `json:"isPreview,omitempty"` 1134} 1135 1136// CloudError an error response from the Container service. 1137type CloudError struct { 1138 // Error - Details about the error. 1139 Error *CloudErrorBody `json:"error,omitempty"` 1140} 1141 1142// CloudErrorBody an error response from the Container service. 1143type CloudErrorBody struct { 1144 // Code - An identifier for the error. Codes are invariant and are intended to be consumed programmatically. 1145 Code *string `json:"code,omitempty"` 1146 // Message - A message describing the error, intended to be suitable for display in a user interface. 1147 Message *string `json:"message,omitempty"` 1148 // Target - The target of the particular error. For example, the name of the property in error. 1149 Target *string `json:"target,omitempty"` 1150 // Details - A list of additional details about the error. 1151 Details *[]CloudErrorBody `json:"details,omitempty"` 1152} 1153 1154// ContainerService container service. 1155type ContainerService struct { 1156 autorest.Response `json:"-"` 1157 // Properties - Properties of the container service. 1158 *Properties `json:"properties,omitempty"` 1159 // ID - READ-ONLY; Resource Id 1160 ID *string `json:"id,omitempty"` 1161 // Name - READ-ONLY; Resource name 1162 Name *string `json:"name,omitempty"` 1163 // Type - READ-ONLY; Resource type 1164 Type *string `json:"type,omitempty"` 1165 // Location - Resource location 1166 Location *string `json:"location,omitempty"` 1167 // Tags - Resource tags 1168 Tags map[string]*string `json:"tags"` 1169} 1170 1171// MarshalJSON is the custom marshaler for ContainerService. 1172func (cs ContainerService) MarshalJSON() ([]byte, error) { 1173 objectMap := make(map[string]interface{}) 1174 if cs.Properties != nil { 1175 objectMap["properties"] = cs.Properties 1176 } 1177 if cs.Location != nil { 1178 objectMap["location"] = cs.Location 1179 } 1180 if cs.Tags != nil { 1181 objectMap["tags"] = cs.Tags 1182 } 1183 return json.Marshal(objectMap) 1184} 1185 1186// UnmarshalJSON is the custom unmarshaler for ContainerService struct. 1187func (cs *ContainerService) UnmarshalJSON(body []byte) error { 1188 var m map[string]*json.RawMessage 1189 err := json.Unmarshal(body, &m) 1190 if err != nil { 1191 return err 1192 } 1193 for k, v := range m { 1194 switch k { 1195 case "properties": 1196 if v != nil { 1197 var properties Properties 1198 err = json.Unmarshal(*v, &properties) 1199 if err != nil { 1200 return err 1201 } 1202 cs.Properties = &properties 1203 } 1204 case "id": 1205 if v != nil { 1206 var ID string 1207 err = json.Unmarshal(*v, &ID) 1208 if err != nil { 1209 return err 1210 } 1211 cs.ID = &ID 1212 } 1213 case "name": 1214 if v != nil { 1215 var name string 1216 err = json.Unmarshal(*v, &name) 1217 if err != nil { 1218 return err 1219 } 1220 cs.Name = &name 1221 } 1222 case "type": 1223 if v != nil { 1224 var typeVar string 1225 err = json.Unmarshal(*v, &typeVar) 1226 if err != nil { 1227 return err 1228 } 1229 cs.Type = &typeVar 1230 } 1231 case "location": 1232 if v != nil { 1233 var location string 1234 err = json.Unmarshal(*v, &location) 1235 if err != nil { 1236 return err 1237 } 1238 cs.Location = &location 1239 } 1240 case "tags": 1241 if v != nil { 1242 var tags map[string]*string 1243 err = json.Unmarshal(*v, &tags) 1244 if err != nil { 1245 return err 1246 } 1247 cs.Tags = tags 1248 } 1249 } 1250 } 1251 1252 return nil 1253} 1254 1255// ContainerServicesCreateOrUpdateFutureType an abstraction for monitoring and retrieving the results of a 1256// long-running operation. 1257type ContainerServicesCreateOrUpdateFutureType struct { 1258 azure.Future 1259} 1260 1261// Result returns the result of the asynchronous operation. 1262// If the operation has not completed it will return an error. 1263func (future *ContainerServicesCreateOrUpdateFutureType) Result(client ContainerServicesClient) (cs ContainerService, err error) { 1264 var done bool 1265 done, err = future.DoneWithContext(context.Background(), client) 1266 if err != nil { 1267 err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesCreateOrUpdateFutureType", "Result", future.Response(), "Polling failure") 1268 return 1269 } 1270 if !done { 1271 err = azure.NewAsyncOpIncompleteError("containerservice.ContainerServicesCreateOrUpdateFutureType") 1272 return 1273 } 1274 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 1275 if cs.Response.Response, err = future.GetResult(sender); err == nil && cs.Response.Response.StatusCode != http.StatusNoContent { 1276 cs, err = client.CreateOrUpdateResponder(cs.Response.Response) 1277 if err != nil { 1278 err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesCreateOrUpdateFutureType", "Result", cs.Response.Response, "Failure responding to request") 1279 } 1280 } 1281 return 1282} 1283 1284// ContainerServicesDeleteFutureType an abstraction for monitoring and retrieving the results of a 1285// long-running operation. 1286type ContainerServicesDeleteFutureType struct { 1287 azure.Future 1288} 1289 1290// Result returns the result of the asynchronous operation. 1291// If the operation has not completed it will return an error. 1292func (future *ContainerServicesDeleteFutureType) Result(client ContainerServicesClient) (ar autorest.Response, err error) { 1293 var done bool 1294 done, err = future.DoneWithContext(context.Background(), client) 1295 if err != nil { 1296 err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesDeleteFutureType", "Result", future.Response(), "Polling failure") 1297 return 1298 } 1299 if !done { 1300 err = azure.NewAsyncOpIncompleteError("containerservice.ContainerServicesDeleteFutureType") 1301 return 1302 } 1303 ar.Response = future.Response() 1304 return 1305} 1306 1307// CredentialResult the credential result response. 1308type CredentialResult struct { 1309 // Name - READ-ONLY; The name of the credential. 1310 Name *string `json:"name,omitempty"` 1311 // Value - READ-ONLY; Base64-encoded Kubernetes configuration file. 1312 Value *[]byte `json:"value,omitempty"` 1313} 1314 1315// CredentialResults the list of credential result response. 1316type CredentialResults struct { 1317 autorest.Response `json:"-"` 1318 // Kubeconfigs - READ-ONLY; Base64-encoded Kubernetes configuration file. 1319 Kubeconfigs *[]CredentialResult `json:"kubeconfigs,omitempty"` 1320} 1321 1322// CustomProfile properties to configure a custom container service cluster. 1323type CustomProfile struct { 1324 // Orchestrator - The name of the custom orchestrator to use. 1325 Orchestrator *string `json:"orchestrator,omitempty"` 1326} 1327 1328// DiagnosticsProfile profile for diagnostics on the container service cluster. 1329type DiagnosticsProfile struct { 1330 // VMDiagnostics - Profile for diagnostics on the container service VMs. 1331 VMDiagnostics *VMDiagnostics `json:"vmDiagnostics,omitempty"` 1332} 1333 1334// KeyVaultSecretRef reference to a secret stored in Azure Key Vault. 1335type KeyVaultSecretRef struct { 1336 // VaultID - Key vault identifier. 1337 VaultID *string `json:"vaultID,omitempty"` 1338 // SecretName - The secret name. 1339 SecretName *string `json:"secretName,omitempty"` 1340 // Version - The secret version. 1341 Version *string `json:"version,omitempty"` 1342} 1343 1344// LinuxProfile profile for Linux VMs in the container service cluster. 1345type LinuxProfile struct { 1346 // AdminUsername - The administrator username to use for Linux VMs. 1347 AdminUsername *string `json:"adminUsername,omitempty"` 1348 // SSH - SSH configuration for Linux-based VMs running on Azure. 1349 SSH *SSHConfiguration `json:"ssh,omitempty"` 1350} 1351 1352// ListResult the response from the List Container Services operation. 1353type ListResult struct { 1354 autorest.Response `json:"-"` 1355 // Value - The list of container services. 1356 Value *[]ContainerService `json:"value,omitempty"` 1357 // NextLink - READ-ONLY; The URL to get the next set of container service results. 1358 NextLink *string `json:"nextLink,omitempty"` 1359} 1360 1361// ListResultIterator provides access to a complete listing of ContainerService values. 1362type ListResultIterator struct { 1363 i int 1364 page ListResultPage 1365} 1366 1367// NextWithContext advances to the next value. If there was an error making 1368// the request the iterator does not advance and the error is returned. 1369func (iter *ListResultIterator) NextWithContext(ctx context.Context) (err error) { 1370 if tracing.IsEnabled() { 1371 ctx = tracing.StartSpan(ctx, fqdn+"/ListResultIterator.NextWithContext") 1372 defer func() { 1373 sc := -1 1374 if iter.Response().Response.Response != nil { 1375 sc = iter.Response().Response.Response.StatusCode 1376 } 1377 tracing.EndSpan(ctx, sc, err) 1378 }() 1379 } 1380 iter.i++ 1381 if iter.i < len(iter.page.Values()) { 1382 return nil 1383 } 1384 err = iter.page.NextWithContext(ctx) 1385 if err != nil { 1386 iter.i-- 1387 return err 1388 } 1389 iter.i = 0 1390 return nil 1391} 1392 1393// Next advances to the next value. If there was an error making 1394// the request the iterator does not advance and the error is returned. 1395// Deprecated: Use NextWithContext() instead. 1396func (iter *ListResultIterator) Next() error { 1397 return iter.NextWithContext(context.Background()) 1398} 1399 1400// NotDone returns true if the enumeration should be started or is not yet complete. 1401func (iter ListResultIterator) NotDone() bool { 1402 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 1403} 1404 1405// Response returns the raw server response from the last page request. 1406func (iter ListResultIterator) Response() ListResult { 1407 return iter.page.Response() 1408} 1409 1410// Value returns the current value or a zero-initialized value if the 1411// iterator has advanced beyond the end of the collection. 1412func (iter ListResultIterator) Value() ContainerService { 1413 if !iter.page.NotDone() { 1414 return ContainerService{} 1415 } 1416 return iter.page.Values()[iter.i] 1417} 1418 1419// Creates a new instance of the ListResultIterator type. 1420func NewListResultIterator(page ListResultPage) ListResultIterator { 1421 return ListResultIterator{page: page} 1422} 1423 1424// IsEmpty returns true if the ListResult contains no values. 1425func (lr ListResult) IsEmpty() bool { 1426 return lr.Value == nil || len(*lr.Value) == 0 1427} 1428 1429// listResultPreparer prepares a request to retrieve the next set of results. 1430// It returns nil if no more results exist. 1431func (lr ListResult) listResultPreparer(ctx context.Context) (*http.Request, error) { 1432 if lr.NextLink == nil || len(to.String(lr.NextLink)) < 1 { 1433 return nil, nil 1434 } 1435 return autorest.Prepare((&http.Request{}).WithContext(ctx), 1436 autorest.AsJSON(), 1437 autorest.AsGet(), 1438 autorest.WithBaseURL(to.String(lr.NextLink))) 1439} 1440 1441// ListResultPage contains a page of ContainerService values. 1442type ListResultPage struct { 1443 fn func(context.Context, ListResult) (ListResult, error) 1444 lr ListResult 1445} 1446 1447// NextWithContext advances to the next page of values. If there was an error making 1448// the request the page does not advance and the error is returned. 1449func (page *ListResultPage) NextWithContext(ctx context.Context) (err error) { 1450 if tracing.IsEnabled() { 1451 ctx = tracing.StartSpan(ctx, fqdn+"/ListResultPage.NextWithContext") 1452 defer func() { 1453 sc := -1 1454 if page.Response().Response.Response != nil { 1455 sc = page.Response().Response.Response.StatusCode 1456 } 1457 tracing.EndSpan(ctx, sc, err) 1458 }() 1459 } 1460 next, err := page.fn(ctx, page.lr) 1461 if err != nil { 1462 return err 1463 } 1464 page.lr = next 1465 return nil 1466} 1467 1468// Next advances to the next page of values. If there was an error making 1469// the request the page does not advance and the error is returned. 1470// Deprecated: Use NextWithContext() instead. 1471func (page *ListResultPage) Next() error { 1472 return page.NextWithContext(context.Background()) 1473} 1474 1475// NotDone returns true if the page enumeration should be started or is not yet complete. 1476func (page ListResultPage) NotDone() bool { 1477 return !page.lr.IsEmpty() 1478} 1479 1480// Response returns the raw server response from the last page request. 1481func (page ListResultPage) Response() ListResult { 1482 return page.lr 1483} 1484 1485// Values returns the slice of values for the current page or nil if there are no values. 1486func (page ListResultPage) Values() []ContainerService { 1487 if page.lr.IsEmpty() { 1488 return nil 1489 } 1490 return *page.lr.Value 1491} 1492 1493// Creates a new instance of the ListResultPage type. 1494func NewListResultPage(getNextPage func(context.Context, ListResult) (ListResult, error)) ListResultPage { 1495 return ListResultPage{fn: getNextPage} 1496} 1497 1498// ManagedCluster managed cluster. 1499type ManagedCluster struct { 1500 autorest.Response `json:"-"` 1501 // ManagedClusterProperties - Properties of a managed cluster. 1502 *ManagedClusterProperties `json:"properties,omitempty"` 1503 // Identity - The identity of the managed cluster, if configured. 1504 Identity *ManagedClusterIdentity `json:"identity,omitempty"` 1505 // ID - READ-ONLY; Resource Id 1506 ID *string `json:"id,omitempty"` 1507 // Name - READ-ONLY; Resource name 1508 Name *string `json:"name,omitempty"` 1509 // Type - READ-ONLY; Resource type 1510 Type *string `json:"type,omitempty"` 1511 // Location - Resource location 1512 Location *string `json:"location,omitempty"` 1513 // Tags - Resource tags 1514 Tags map[string]*string `json:"tags"` 1515} 1516 1517// MarshalJSON is the custom marshaler for ManagedCluster. 1518func (mc ManagedCluster) MarshalJSON() ([]byte, error) { 1519 objectMap := make(map[string]interface{}) 1520 if mc.ManagedClusterProperties != nil { 1521 objectMap["properties"] = mc.ManagedClusterProperties 1522 } 1523 if mc.Identity != nil { 1524 objectMap["identity"] = mc.Identity 1525 } 1526 if mc.Location != nil { 1527 objectMap["location"] = mc.Location 1528 } 1529 if mc.Tags != nil { 1530 objectMap["tags"] = mc.Tags 1531 } 1532 return json.Marshal(objectMap) 1533} 1534 1535// UnmarshalJSON is the custom unmarshaler for ManagedCluster struct. 1536func (mc *ManagedCluster) UnmarshalJSON(body []byte) error { 1537 var m map[string]*json.RawMessage 1538 err := json.Unmarshal(body, &m) 1539 if err != nil { 1540 return err 1541 } 1542 for k, v := range m { 1543 switch k { 1544 case "properties": 1545 if v != nil { 1546 var managedClusterProperties ManagedClusterProperties 1547 err = json.Unmarshal(*v, &managedClusterProperties) 1548 if err != nil { 1549 return err 1550 } 1551 mc.ManagedClusterProperties = &managedClusterProperties 1552 } 1553 case "identity": 1554 if v != nil { 1555 var identity ManagedClusterIdentity 1556 err = json.Unmarshal(*v, &identity) 1557 if err != nil { 1558 return err 1559 } 1560 mc.Identity = &identity 1561 } 1562 case "id": 1563 if v != nil { 1564 var ID string 1565 err = json.Unmarshal(*v, &ID) 1566 if err != nil { 1567 return err 1568 } 1569 mc.ID = &ID 1570 } 1571 case "name": 1572 if v != nil { 1573 var name string 1574 err = json.Unmarshal(*v, &name) 1575 if err != nil { 1576 return err 1577 } 1578 mc.Name = &name 1579 } 1580 case "type": 1581 if v != nil { 1582 var typeVar string 1583 err = json.Unmarshal(*v, &typeVar) 1584 if err != nil { 1585 return err 1586 } 1587 mc.Type = &typeVar 1588 } 1589 case "location": 1590 if v != nil { 1591 var location string 1592 err = json.Unmarshal(*v, &location) 1593 if err != nil { 1594 return err 1595 } 1596 mc.Location = &location 1597 } 1598 case "tags": 1599 if v != nil { 1600 var tags map[string]*string 1601 err = json.Unmarshal(*v, &tags) 1602 if err != nil { 1603 return err 1604 } 1605 mc.Tags = tags 1606 } 1607 } 1608 } 1609 1610 return nil 1611} 1612 1613// ManagedClusterAADProfile aADProfile specifies attributes for Azure Active Directory integration. 1614type ManagedClusterAADProfile struct { 1615 // ClientAppID - The client AAD application ID. 1616 ClientAppID *string `json:"clientAppID,omitempty"` 1617 // ServerAppID - The server AAD application ID. 1618 ServerAppID *string `json:"serverAppID,omitempty"` 1619 // ServerAppSecret - The server AAD application secret. 1620 ServerAppSecret *string `json:"serverAppSecret,omitempty"` 1621 // TenantID - The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. 1622 TenantID *string `json:"tenantID,omitempty"` 1623} 1624 1625// ManagedClusterAccessProfile managed cluster Access Profile. 1626type ManagedClusterAccessProfile struct { 1627 autorest.Response `json:"-"` 1628 // AccessProfile - AccessProfile of a managed cluster. 1629 *AccessProfile `json:"properties,omitempty"` 1630 // ID - READ-ONLY; Resource Id 1631 ID *string `json:"id,omitempty"` 1632 // Name - READ-ONLY; Resource name 1633 Name *string `json:"name,omitempty"` 1634 // Type - READ-ONLY; Resource type 1635 Type *string `json:"type,omitempty"` 1636 // Location - Resource location 1637 Location *string `json:"location,omitempty"` 1638 // Tags - Resource tags 1639 Tags map[string]*string `json:"tags"` 1640} 1641 1642// MarshalJSON is the custom marshaler for ManagedClusterAccessProfile. 1643func (mcap ManagedClusterAccessProfile) MarshalJSON() ([]byte, error) { 1644 objectMap := make(map[string]interface{}) 1645 if mcap.AccessProfile != nil { 1646 objectMap["properties"] = mcap.AccessProfile 1647 } 1648 if mcap.Location != nil { 1649 objectMap["location"] = mcap.Location 1650 } 1651 if mcap.Tags != nil { 1652 objectMap["tags"] = mcap.Tags 1653 } 1654 return json.Marshal(objectMap) 1655} 1656 1657// UnmarshalJSON is the custom unmarshaler for ManagedClusterAccessProfile struct. 1658func (mcap *ManagedClusterAccessProfile) UnmarshalJSON(body []byte) error { 1659 var m map[string]*json.RawMessage 1660 err := json.Unmarshal(body, &m) 1661 if err != nil { 1662 return err 1663 } 1664 for k, v := range m { 1665 switch k { 1666 case "properties": 1667 if v != nil { 1668 var accessProfile AccessProfile 1669 err = json.Unmarshal(*v, &accessProfile) 1670 if err != nil { 1671 return err 1672 } 1673 mcap.AccessProfile = &accessProfile 1674 } 1675 case "id": 1676 if v != nil { 1677 var ID string 1678 err = json.Unmarshal(*v, &ID) 1679 if err != nil { 1680 return err 1681 } 1682 mcap.ID = &ID 1683 } 1684 case "name": 1685 if v != nil { 1686 var name string 1687 err = json.Unmarshal(*v, &name) 1688 if err != nil { 1689 return err 1690 } 1691 mcap.Name = &name 1692 } 1693 case "type": 1694 if v != nil { 1695 var typeVar string 1696 err = json.Unmarshal(*v, &typeVar) 1697 if err != nil { 1698 return err 1699 } 1700 mcap.Type = &typeVar 1701 } 1702 case "location": 1703 if v != nil { 1704 var location string 1705 err = json.Unmarshal(*v, &location) 1706 if err != nil { 1707 return err 1708 } 1709 mcap.Location = &location 1710 } 1711 case "tags": 1712 if v != nil { 1713 var tags map[string]*string 1714 err = json.Unmarshal(*v, &tags) 1715 if err != nil { 1716 return err 1717 } 1718 mcap.Tags = tags 1719 } 1720 } 1721 } 1722 1723 return nil 1724} 1725 1726// ManagedClusterAddonProfile a Kubernetes add-on profile for a managed cluster. 1727type ManagedClusterAddonProfile struct { 1728 // Enabled - Whether the add-on is enabled or not. 1729 Enabled *bool `json:"enabled,omitempty"` 1730 // Config - Key-value pairs for configuring an add-on. 1731 Config map[string]*string `json:"config"` 1732} 1733 1734// MarshalJSON is the custom marshaler for ManagedClusterAddonProfile. 1735func (mcap ManagedClusterAddonProfile) MarshalJSON() ([]byte, error) { 1736 objectMap := make(map[string]interface{}) 1737 if mcap.Enabled != nil { 1738 objectMap["enabled"] = mcap.Enabled 1739 } 1740 if mcap.Config != nil { 1741 objectMap["config"] = mcap.Config 1742 } 1743 return json.Marshal(objectMap) 1744} 1745 1746// ManagedClusterAgentPoolProfile profile for the container service agent pool. 1747type ManagedClusterAgentPoolProfile struct { 1748 // Name - Unique name of the agent pool profile in the context of the subscription and resource group. 1749 Name *string `json:"name,omitempty"` 1750 // Count - Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. 1751 Count *int32 `json:"count,omitempty"` 1752 // VMSize - Size of agent VMs. Possible values include: 'VMSizeTypesStandardA1', 'VMSizeTypesStandardA10', 'VMSizeTypesStandardA11', 'VMSizeTypesStandardA1V2', 'VMSizeTypesStandardA2', 'VMSizeTypesStandardA2V2', 'VMSizeTypesStandardA2mV2', 'VMSizeTypesStandardA3', 'VMSizeTypesStandardA4', 'VMSizeTypesStandardA4V2', 'VMSizeTypesStandardA4mV2', 'VMSizeTypesStandardA5', 'VMSizeTypesStandardA6', 'VMSizeTypesStandardA7', 'VMSizeTypesStandardA8', 'VMSizeTypesStandardA8V2', 'VMSizeTypesStandardA8mV2', 'VMSizeTypesStandardA9', 'VMSizeTypesStandardB2ms', 'VMSizeTypesStandardB2s', 'VMSizeTypesStandardB4ms', 'VMSizeTypesStandardB8ms', 'VMSizeTypesStandardD1', 'VMSizeTypesStandardD11', 'VMSizeTypesStandardD11V2', 'VMSizeTypesStandardD11V2Promo', 'VMSizeTypesStandardD12', 'VMSizeTypesStandardD12V2', 'VMSizeTypesStandardD12V2Promo', 'VMSizeTypesStandardD13', 'VMSizeTypesStandardD13V2', 'VMSizeTypesStandardD13V2Promo', 'VMSizeTypesStandardD14', 'VMSizeTypesStandardD14V2', 'VMSizeTypesStandardD14V2Promo', 'VMSizeTypesStandardD15V2', 'VMSizeTypesStandardD16V3', 'VMSizeTypesStandardD16sV3', 'VMSizeTypesStandardD1V2', 'VMSizeTypesStandardD2', 'VMSizeTypesStandardD2V2', 'VMSizeTypesStandardD2V2Promo', 'VMSizeTypesStandardD2V3', 'VMSizeTypesStandardD2sV3', 'VMSizeTypesStandardD3', 'VMSizeTypesStandardD32V3', 'VMSizeTypesStandardD32sV3', 'VMSizeTypesStandardD3V2', 'VMSizeTypesStandardD3V2Promo', 'VMSizeTypesStandardD4', 'VMSizeTypesStandardD4V2', 'VMSizeTypesStandardD4V2Promo', 'VMSizeTypesStandardD4V3', 'VMSizeTypesStandardD4sV3', 'VMSizeTypesStandardD5V2', 'VMSizeTypesStandardD5V2Promo', 'VMSizeTypesStandardD64V3', 'VMSizeTypesStandardD64sV3', 'VMSizeTypesStandardD8V3', 'VMSizeTypesStandardD8sV3', 'VMSizeTypesStandardDS1', 'VMSizeTypesStandardDS11', 'VMSizeTypesStandardDS11V2', 'VMSizeTypesStandardDS11V2Promo', 'VMSizeTypesStandardDS12', 'VMSizeTypesStandardDS12V2', 'VMSizeTypesStandardDS12V2Promo', 'VMSizeTypesStandardDS13', 'VMSizeTypesStandardDS132V2', 'VMSizeTypesStandardDS134V2', 'VMSizeTypesStandardDS13V2', 'VMSizeTypesStandardDS13V2Promo', 'VMSizeTypesStandardDS14', 'VMSizeTypesStandardDS144V2', 'VMSizeTypesStandardDS148V2', 'VMSizeTypesStandardDS14V2', 'VMSizeTypesStandardDS14V2Promo', 'VMSizeTypesStandardDS15V2', 'VMSizeTypesStandardDS1V2', 'VMSizeTypesStandardDS2', 'VMSizeTypesStandardDS2V2', 'VMSizeTypesStandardDS2V2Promo', 'VMSizeTypesStandardDS3', 'VMSizeTypesStandardDS3V2', 'VMSizeTypesStandardDS3V2Promo', 'VMSizeTypesStandardDS4', 'VMSizeTypesStandardDS4V2', 'VMSizeTypesStandardDS4V2Promo', 'VMSizeTypesStandardDS5V2', 'VMSizeTypesStandardDS5V2Promo', 'VMSizeTypesStandardE16V3', 'VMSizeTypesStandardE16sV3', 'VMSizeTypesStandardE2V3', 'VMSizeTypesStandardE2sV3', 'VMSizeTypesStandardE3216sV3', 'VMSizeTypesStandardE328sV3', 'VMSizeTypesStandardE32V3', 'VMSizeTypesStandardE32sV3', 'VMSizeTypesStandardE4V3', 'VMSizeTypesStandardE4sV3', 'VMSizeTypesStandardE6416sV3', 'VMSizeTypesStandardE6432sV3', 'VMSizeTypesStandardE64V3', 'VMSizeTypesStandardE64sV3', 'VMSizeTypesStandardE8V3', 'VMSizeTypesStandardE8sV3', 'VMSizeTypesStandardF1', 'VMSizeTypesStandardF16', 'VMSizeTypesStandardF16s', 'VMSizeTypesStandardF16sV2', 'VMSizeTypesStandardF1s', 'VMSizeTypesStandardF2', 'VMSizeTypesStandardF2s', 'VMSizeTypesStandardF2sV2', 'VMSizeTypesStandardF32sV2', 'VMSizeTypesStandardF4', 'VMSizeTypesStandardF4s', 'VMSizeTypesStandardF4sV2', 'VMSizeTypesStandardF64sV2', 'VMSizeTypesStandardF72sV2', 'VMSizeTypesStandardF8', 'VMSizeTypesStandardF8s', 'VMSizeTypesStandardF8sV2', 'VMSizeTypesStandardG1', 'VMSizeTypesStandardG2', 'VMSizeTypesStandardG3', 'VMSizeTypesStandardG4', 'VMSizeTypesStandardG5', 'VMSizeTypesStandardGS1', 'VMSizeTypesStandardGS2', 'VMSizeTypesStandardGS3', 'VMSizeTypesStandardGS4', 'VMSizeTypesStandardGS44', 'VMSizeTypesStandardGS48', 'VMSizeTypesStandardGS5', 'VMSizeTypesStandardGS516', 'VMSizeTypesStandardGS58', 'VMSizeTypesStandardH16', 'VMSizeTypesStandardH16m', 'VMSizeTypesStandardH16mr', 'VMSizeTypesStandardH16r', 'VMSizeTypesStandardH8', 'VMSizeTypesStandardH8m', 'VMSizeTypesStandardL16s', 'VMSizeTypesStandardL32s', 'VMSizeTypesStandardL4s', 'VMSizeTypesStandardL8s', 'VMSizeTypesStandardM12832ms', 'VMSizeTypesStandardM12864ms', 'VMSizeTypesStandardM128ms', 'VMSizeTypesStandardM128s', 'VMSizeTypesStandardM6416ms', 'VMSizeTypesStandardM6432ms', 'VMSizeTypesStandardM64ms', 'VMSizeTypesStandardM64s', 'VMSizeTypesStandardNC12', 'VMSizeTypesStandardNC12sV2', 'VMSizeTypesStandardNC12sV3', 'VMSizeTypesStandardNC24', 'VMSizeTypesStandardNC24r', 'VMSizeTypesStandardNC24rsV2', 'VMSizeTypesStandardNC24rsV3', 'VMSizeTypesStandardNC24sV2', 'VMSizeTypesStandardNC24sV3', 'VMSizeTypesStandardNC6', 'VMSizeTypesStandardNC6sV2', 'VMSizeTypesStandardNC6sV3', 'VMSizeTypesStandardND12s', 'VMSizeTypesStandardND24rs', 'VMSizeTypesStandardND24s', 'VMSizeTypesStandardND6s', 'VMSizeTypesStandardNV12', 'VMSizeTypesStandardNV24', 'VMSizeTypesStandardNV6' 1753 VMSize VMSizeTypes `json:"vmSize,omitempty"` 1754 // OsDiskSizeGB - OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. 1755 OsDiskSizeGB *int32 `json:"osDiskSizeGB,omitempty"` 1756 // VnetSubnetID - VNet SubnetID specifies the VNet's subnet identifier. 1757 VnetSubnetID *string `json:"vnetSubnetID,omitempty"` 1758 // MaxPods - Maximum number of pods that can run on a node. 1759 MaxPods *int32 `json:"maxPods,omitempty"` 1760 // OsType - OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows' 1761 OsType OSType `json:"osType,omitempty"` 1762 // MaxCount - Maximum number of nodes for auto-scaling 1763 MaxCount *int32 `json:"maxCount,omitempty"` 1764 // MinCount - Minimum number of nodes for auto-scaling 1765 MinCount *int32 `json:"minCount,omitempty"` 1766 // EnableAutoScaling - Whether to enable auto-scaler 1767 EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` 1768 // Type - AgentPoolType represents types of an agent pool. Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet' 1769 Type AgentPoolType `json:"type,omitempty"` 1770 // OrchestratorVersion - Version of orchestrator specified when creating the managed cluster. 1771 OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` 1772 // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response. 1773 ProvisioningState *string `json:"provisioningState,omitempty"` 1774 // AvailabilityZones - (PREVIEW) Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType. 1775 AvailabilityZones *[]string `json:"availabilityZones,omitempty"` 1776 // EnableNodePublicIP - Enable public IP for nodes 1777 EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` 1778 // ScaleSetPriority - ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. Possible values include: 'Low', 'Regular' 1779 ScaleSetPriority ScaleSetPriority `json:"scaleSetPriority,omitempty"` 1780 // ScaleSetEvictionPolicy - ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete. Possible values include: 'Delete', 'Deallocate' 1781 ScaleSetEvictionPolicy ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` 1782 // NodeTaints - Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. 1783 NodeTaints *[]string `json:"nodeTaints,omitempty"` 1784} 1785 1786// ManagedClusterAgentPoolProfileProperties properties for the container service agent pool profile. 1787type ManagedClusterAgentPoolProfileProperties struct { 1788 // Count - Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. 1789 Count *int32 `json:"count,omitempty"` 1790 // VMSize - Size of agent VMs. Possible values include: 'VMSizeTypesStandardA1', 'VMSizeTypesStandardA10', 'VMSizeTypesStandardA11', 'VMSizeTypesStandardA1V2', 'VMSizeTypesStandardA2', 'VMSizeTypesStandardA2V2', 'VMSizeTypesStandardA2mV2', 'VMSizeTypesStandardA3', 'VMSizeTypesStandardA4', 'VMSizeTypesStandardA4V2', 'VMSizeTypesStandardA4mV2', 'VMSizeTypesStandardA5', 'VMSizeTypesStandardA6', 'VMSizeTypesStandardA7', 'VMSizeTypesStandardA8', 'VMSizeTypesStandardA8V2', 'VMSizeTypesStandardA8mV2', 'VMSizeTypesStandardA9', 'VMSizeTypesStandardB2ms', 'VMSizeTypesStandardB2s', 'VMSizeTypesStandardB4ms', 'VMSizeTypesStandardB8ms', 'VMSizeTypesStandardD1', 'VMSizeTypesStandardD11', 'VMSizeTypesStandardD11V2', 'VMSizeTypesStandardD11V2Promo', 'VMSizeTypesStandardD12', 'VMSizeTypesStandardD12V2', 'VMSizeTypesStandardD12V2Promo', 'VMSizeTypesStandardD13', 'VMSizeTypesStandardD13V2', 'VMSizeTypesStandardD13V2Promo', 'VMSizeTypesStandardD14', 'VMSizeTypesStandardD14V2', 'VMSizeTypesStandardD14V2Promo', 'VMSizeTypesStandardD15V2', 'VMSizeTypesStandardD16V3', 'VMSizeTypesStandardD16sV3', 'VMSizeTypesStandardD1V2', 'VMSizeTypesStandardD2', 'VMSizeTypesStandardD2V2', 'VMSizeTypesStandardD2V2Promo', 'VMSizeTypesStandardD2V3', 'VMSizeTypesStandardD2sV3', 'VMSizeTypesStandardD3', 'VMSizeTypesStandardD32V3', 'VMSizeTypesStandardD32sV3', 'VMSizeTypesStandardD3V2', 'VMSizeTypesStandardD3V2Promo', 'VMSizeTypesStandardD4', 'VMSizeTypesStandardD4V2', 'VMSizeTypesStandardD4V2Promo', 'VMSizeTypesStandardD4V3', 'VMSizeTypesStandardD4sV3', 'VMSizeTypesStandardD5V2', 'VMSizeTypesStandardD5V2Promo', 'VMSizeTypesStandardD64V3', 'VMSizeTypesStandardD64sV3', 'VMSizeTypesStandardD8V3', 'VMSizeTypesStandardD8sV3', 'VMSizeTypesStandardDS1', 'VMSizeTypesStandardDS11', 'VMSizeTypesStandardDS11V2', 'VMSizeTypesStandardDS11V2Promo', 'VMSizeTypesStandardDS12', 'VMSizeTypesStandardDS12V2', 'VMSizeTypesStandardDS12V2Promo', 'VMSizeTypesStandardDS13', 'VMSizeTypesStandardDS132V2', 'VMSizeTypesStandardDS134V2', 'VMSizeTypesStandardDS13V2', 'VMSizeTypesStandardDS13V2Promo', 'VMSizeTypesStandardDS14', 'VMSizeTypesStandardDS144V2', 'VMSizeTypesStandardDS148V2', 'VMSizeTypesStandardDS14V2', 'VMSizeTypesStandardDS14V2Promo', 'VMSizeTypesStandardDS15V2', 'VMSizeTypesStandardDS1V2', 'VMSizeTypesStandardDS2', 'VMSizeTypesStandardDS2V2', 'VMSizeTypesStandardDS2V2Promo', 'VMSizeTypesStandardDS3', 'VMSizeTypesStandardDS3V2', 'VMSizeTypesStandardDS3V2Promo', 'VMSizeTypesStandardDS4', 'VMSizeTypesStandardDS4V2', 'VMSizeTypesStandardDS4V2Promo', 'VMSizeTypesStandardDS5V2', 'VMSizeTypesStandardDS5V2Promo', 'VMSizeTypesStandardE16V3', 'VMSizeTypesStandardE16sV3', 'VMSizeTypesStandardE2V3', 'VMSizeTypesStandardE2sV3', 'VMSizeTypesStandardE3216sV3', 'VMSizeTypesStandardE328sV3', 'VMSizeTypesStandardE32V3', 'VMSizeTypesStandardE32sV3', 'VMSizeTypesStandardE4V3', 'VMSizeTypesStandardE4sV3', 'VMSizeTypesStandardE6416sV3', 'VMSizeTypesStandardE6432sV3', 'VMSizeTypesStandardE64V3', 'VMSizeTypesStandardE64sV3', 'VMSizeTypesStandardE8V3', 'VMSizeTypesStandardE8sV3', 'VMSizeTypesStandardF1', 'VMSizeTypesStandardF16', 'VMSizeTypesStandardF16s', 'VMSizeTypesStandardF16sV2', 'VMSizeTypesStandardF1s', 'VMSizeTypesStandardF2', 'VMSizeTypesStandardF2s', 'VMSizeTypesStandardF2sV2', 'VMSizeTypesStandardF32sV2', 'VMSizeTypesStandardF4', 'VMSizeTypesStandardF4s', 'VMSizeTypesStandardF4sV2', 'VMSizeTypesStandardF64sV2', 'VMSizeTypesStandardF72sV2', 'VMSizeTypesStandardF8', 'VMSizeTypesStandardF8s', 'VMSizeTypesStandardF8sV2', 'VMSizeTypesStandardG1', 'VMSizeTypesStandardG2', 'VMSizeTypesStandardG3', 'VMSizeTypesStandardG4', 'VMSizeTypesStandardG5', 'VMSizeTypesStandardGS1', 'VMSizeTypesStandardGS2', 'VMSizeTypesStandardGS3', 'VMSizeTypesStandardGS4', 'VMSizeTypesStandardGS44', 'VMSizeTypesStandardGS48', 'VMSizeTypesStandardGS5', 'VMSizeTypesStandardGS516', 'VMSizeTypesStandardGS58', 'VMSizeTypesStandardH16', 'VMSizeTypesStandardH16m', 'VMSizeTypesStandardH16mr', 'VMSizeTypesStandardH16r', 'VMSizeTypesStandardH8', 'VMSizeTypesStandardH8m', 'VMSizeTypesStandardL16s', 'VMSizeTypesStandardL32s', 'VMSizeTypesStandardL4s', 'VMSizeTypesStandardL8s', 'VMSizeTypesStandardM12832ms', 'VMSizeTypesStandardM12864ms', 'VMSizeTypesStandardM128ms', 'VMSizeTypesStandardM128s', 'VMSizeTypesStandardM6416ms', 'VMSizeTypesStandardM6432ms', 'VMSizeTypesStandardM64ms', 'VMSizeTypesStandardM64s', 'VMSizeTypesStandardNC12', 'VMSizeTypesStandardNC12sV2', 'VMSizeTypesStandardNC12sV3', 'VMSizeTypesStandardNC24', 'VMSizeTypesStandardNC24r', 'VMSizeTypesStandardNC24rsV2', 'VMSizeTypesStandardNC24rsV3', 'VMSizeTypesStandardNC24sV2', 'VMSizeTypesStandardNC24sV3', 'VMSizeTypesStandardNC6', 'VMSizeTypesStandardNC6sV2', 'VMSizeTypesStandardNC6sV3', 'VMSizeTypesStandardND12s', 'VMSizeTypesStandardND24rs', 'VMSizeTypesStandardND24s', 'VMSizeTypesStandardND6s', 'VMSizeTypesStandardNV12', 'VMSizeTypesStandardNV24', 'VMSizeTypesStandardNV6' 1791 VMSize VMSizeTypes `json:"vmSize,omitempty"` 1792 // OsDiskSizeGB - OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. 1793 OsDiskSizeGB *int32 `json:"osDiskSizeGB,omitempty"` 1794 // VnetSubnetID - VNet SubnetID specifies the VNet's subnet identifier. 1795 VnetSubnetID *string `json:"vnetSubnetID,omitempty"` 1796 // MaxPods - Maximum number of pods that can run on a node. 1797 MaxPods *int32 `json:"maxPods,omitempty"` 1798 // OsType - OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows' 1799 OsType OSType `json:"osType,omitempty"` 1800 // MaxCount - Maximum number of nodes for auto-scaling 1801 MaxCount *int32 `json:"maxCount,omitempty"` 1802 // MinCount - Minimum number of nodes for auto-scaling 1803 MinCount *int32 `json:"minCount,omitempty"` 1804 // EnableAutoScaling - Whether to enable auto-scaler 1805 EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` 1806 // Type - AgentPoolType represents types of an agent pool. Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet' 1807 Type AgentPoolType `json:"type,omitempty"` 1808 // OrchestratorVersion - Version of orchestrator specified when creating the managed cluster. 1809 OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` 1810 // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response. 1811 ProvisioningState *string `json:"provisioningState,omitempty"` 1812 // AvailabilityZones - (PREVIEW) Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType. 1813 AvailabilityZones *[]string `json:"availabilityZones,omitempty"` 1814 // EnableNodePublicIP - Enable public IP for nodes 1815 EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` 1816 // ScaleSetPriority - ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. Possible values include: 'Low', 'Regular' 1817 ScaleSetPriority ScaleSetPriority `json:"scaleSetPriority,omitempty"` 1818 // ScaleSetEvictionPolicy - ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete. Possible values include: 'Delete', 'Deallocate' 1819 ScaleSetEvictionPolicy ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` 1820 // NodeTaints - Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. 1821 NodeTaints *[]string `json:"nodeTaints,omitempty"` 1822} 1823 1824// ManagedClusterAPIServerAccessProfile access profile for managed cluster API server. 1825type ManagedClusterAPIServerAccessProfile struct { 1826 // AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server. 1827 AuthorizedIPRanges *[]string `json:"authorizedIPRanges,omitempty"` 1828 // EnablePrivateCluster - Whether to create the cluster as a private cluster or not. 1829 EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` 1830} 1831 1832// ManagedClusterIdentity identity for the managed cluster. 1833type ManagedClusterIdentity struct { 1834 // PrincipalID - READ-ONLY; The principal id of the system assigned identity which is used by master components. 1835 PrincipalID *string `json:"principalId,omitempty"` 1836 // TenantID - READ-ONLY; The tenant id of the system assigned identity which is used by master components. 1837 TenantID *string `json:"tenantId,omitempty"` 1838 // Type - The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead. Possible values include: 'SystemAssigned', 'None' 1839 Type ResourceIdentityType `json:"type,omitempty"` 1840} 1841 1842// ManagedClusterListResult the response from the List Managed Clusters operation. 1843type ManagedClusterListResult struct { 1844 autorest.Response `json:"-"` 1845 // Value - The list of managed clusters. 1846 Value *[]ManagedCluster `json:"value,omitempty"` 1847 // NextLink - READ-ONLY; The URL to get the next set of managed cluster results. 1848 NextLink *string `json:"nextLink,omitempty"` 1849} 1850 1851// ManagedClusterListResultIterator provides access to a complete listing of ManagedCluster values. 1852type ManagedClusterListResultIterator struct { 1853 i int 1854 page ManagedClusterListResultPage 1855} 1856 1857// NextWithContext advances to the next value. If there was an error making 1858// the request the iterator does not advance and the error is returned. 1859func (iter *ManagedClusterListResultIterator) NextWithContext(ctx context.Context) (err error) { 1860 if tracing.IsEnabled() { 1861 ctx = tracing.StartSpan(ctx, fqdn+"/ManagedClusterListResultIterator.NextWithContext") 1862 defer func() { 1863 sc := -1 1864 if iter.Response().Response.Response != nil { 1865 sc = iter.Response().Response.Response.StatusCode 1866 } 1867 tracing.EndSpan(ctx, sc, err) 1868 }() 1869 } 1870 iter.i++ 1871 if iter.i < len(iter.page.Values()) { 1872 return nil 1873 } 1874 err = iter.page.NextWithContext(ctx) 1875 if err != nil { 1876 iter.i-- 1877 return err 1878 } 1879 iter.i = 0 1880 return nil 1881} 1882 1883// Next advances to the next value. If there was an error making 1884// the request the iterator does not advance and the error is returned. 1885// Deprecated: Use NextWithContext() instead. 1886func (iter *ManagedClusterListResultIterator) Next() error { 1887 return iter.NextWithContext(context.Background()) 1888} 1889 1890// NotDone returns true if the enumeration should be started or is not yet complete. 1891func (iter ManagedClusterListResultIterator) NotDone() bool { 1892 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 1893} 1894 1895// Response returns the raw server response from the last page request. 1896func (iter ManagedClusterListResultIterator) Response() ManagedClusterListResult { 1897 return iter.page.Response() 1898} 1899 1900// Value returns the current value or a zero-initialized value if the 1901// iterator has advanced beyond the end of the collection. 1902func (iter ManagedClusterListResultIterator) Value() ManagedCluster { 1903 if !iter.page.NotDone() { 1904 return ManagedCluster{} 1905 } 1906 return iter.page.Values()[iter.i] 1907} 1908 1909// Creates a new instance of the ManagedClusterListResultIterator type. 1910func NewManagedClusterListResultIterator(page ManagedClusterListResultPage) ManagedClusterListResultIterator { 1911 return ManagedClusterListResultIterator{page: page} 1912} 1913 1914// IsEmpty returns true if the ListResult contains no values. 1915func (mclr ManagedClusterListResult) IsEmpty() bool { 1916 return mclr.Value == nil || len(*mclr.Value) == 0 1917} 1918 1919// managedClusterListResultPreparer prepares a request to retrieve the next set of results. 1920// It returns nil if no more results exist. 1921func (mclr ManagedClusterListResult) managedClusterListResultPreparer(ctx context.Context) (*http.Request, error) { 1922 if mclr.NextLink == nil || len(to.String(mclr.NextLink)) < 1 { 1923 return nil, nil 1924 } 1925 return autorest.Prepare((&http.Request{}).WithContext(ctx), 1926 autorest.AsJSON(), 1927 autorest.AsGet(), 1928 autorest.WithBaseURL(to.String(mclr.NextLink))) 1929} 1930 1931// ManagedClusterListResultPage contains a page of ManagedCluster values. 1932type ManagedClusterListResultPage struct { 1933 fn func(context.Context, ManagedClusterListResult) (ManagedClusterListResult, error) 1934 mclr ManagedClusterListResult 1935} 1936 1937// NextWithContext advances to the next page of values. If there was an error making 1938// the request the page does not advance and the error is returned. 1939func (page *ManagedClusterListResultPage) NextWithContext(ctx context.Context) (err error) { 1940 if tracing.IsEnabled() { 1941 ctx = tracing.StartSpan(ctx, fqdn+"/ManagedClusterListResultPage.NextWithContext") 1942 defer func() { 1943 sc := -1 1944 if page.Response().Response.Response != nil { 1945 sc = page.Response().Response.Response.StatusCode 1946 } 1947 tracing.EndSpan(ctx, sc, err) 1948 }() 1949 } 1950 next, err := page.fn(ctx, page.mclr) 1951 if err != nil { 1952 return err 1953 } 1954 page.mclr = next 1955 return nil 1956} 1957 1958// Next advances to the next page of values. If there was an error making 1959// the request the page does not advance and the error is returned. 1960// Deprecated: Use NextWithContext() instead. 1961func (page *ManagedClusterListResultPage) Next() error { 1962 return page.NextWithContext(context.Background()) 1963} 1964 1965// NotDone returns true if the page enumeration should be started or is not yet complete. 1966func (page ManagedClusterListResultPage) NotDone() bool { 1967 return !page.mclr.IsEmpty() 1968} 1969 1970// Response returns the raw server response from the last page request. 1971func (page ManagedClusterListResultPage) Response() ManagedClusterListResult { 1972 return page.mclr 1973} 1974 1975// Values returns the slice of values for the current page or nil if there are no values. 1976func (page ManagedClusterListResultPage) Values() []ManagedCluster { 1977 if page.mclr.IsEmpty() { 1978 return nil 1979 } 1980 return *page.mclr.Value 1981} 1982 1983// Creates a new instance of the ManagedClusterListResultPage type. 1984func NewManagedClusterListResultPage(getNextPage func(context.Context, ManagedClusterListResult) (ManagedClusterListResult, error)) ManagedClusterListResultPage { 1985 return ManagedClusterListResultPage{fn: getNextPage} 1986} 1987 1988// ManagedClusterLoadBalancerProfile profile of the managed cluster load balancer 1989type ManagedClusterLoadBalancerProfile struct { 1990 // ManagedOutboundIPs - Desired managed outbound IPs for the cluster load balancer. 1991 ManagedOutboundIPs *ManagedClusterLoadBalancerProfileManagedOutboundIPs `json:"managedOutboundIPs,omitempty"` 1992 // OutboundIPPrefixes - Desired outbound IP Prefix resources for the cluster load balancer. 1993 OutboundIPPrefixes *ManagedClusterLoadBalancerProfileOutboundIPPrefixes `json:"outboundIPPrefixes,omitempty"` 1994 // OutboundIPs - Desired outbound IP resources for the cluster load balancer. 1995 OutboundIPs *ManagedClusterLoadBalancerProfileOutboundIPs `json:"outboundIPs,omitempty"` 1996 // EffectiveOutboundIPs - The effective outbound IP resources of the cluster load balancer. 1997 EffectiveOutboundIPs *[]ResourceReference `json:"effectiveOutboundIPs,omitempty"` 1998} 1999 2000// ManagedClusterLoadBalancerProfileManagedOutboundIPs desired managed outbound IPs for the cluster load 2001// balancer. 2002type ManagedClusterLoadBalancerProfileManagedOutboundIPs struct { 2003 // Count - Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. 2004 Count *int32 `json:"count,omitempty"` 2005} 2006 2007// ManagedClusterLoadBalancerProfileOutboundIPPrefixes desired outbound IP Prefix resources for the cluster 2008// load balancer. 2009type ManagedClusterLoadBalancerProfileOutboundIPPrefixes struct { 2010 // PublicIPPrefixes - A list of public IP prefix resources. 2011 PublicIPPrefixes *[]ResourceReference `json:"publicIPPrefixes,omitempty"` 2012} 2013 2014// ManagedClusterLoadBalancerProfileOutboundIPs desired outbound IP resources for the cluster load 2015// balancer. 2016type ManagedClusterLoadBalancerProfileOutboundIPs struct { 2017 // PublicIPs - A list of public IP resources. 2018 PublicIPs *[]ResourceReference `json:"publicIPs,omitempty"` 2019} 2020 2021// ManagedClusterPoolUpgradeProfile the list of available upgrade versions. 2022type ManagedClusterPoolUpgradeProfile struct { 2023 // KubernetesVersion - Kubernetes version (major, minor, patch). 2024 KubernetesVersion *string `json:"kubernetesVersion,omitempty"` 2025 // Name - Pool name. 2026 Name *string `json:"name,omitempty"` 2027 // OsType - OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows' 2028 OsType OSType `json:"osType,omitempty"` 2029 // Upgrades - List of orchestrator types and versions available for upgrade. 2030 Upgrades *[]ManagedClusterPoolUpgradeProfileUpgradesItem `json:"upgrades,omitempty"` 2031} 2032 2033// ManagedClusterPoolUpgradeProfileUpgradesItem ... 2034type ManagedClusterPoolUpgradeProfileUpgradesItem struct { 2035 // KubernetesVersion - Kubernetes version (major, minor, patch). 2036 KubernetesVersion *string `json:"kubernetesVersion,omitempty"` 2037 // IsPreview - Whether Kubernetes version is currently in preview. 2038 IsPreview *bool `json:"isPreview,omitempty"` 2039} 2040 2041// ManagedClusterProperties properties of the managed cluster. 2042type ManagedClusterProperties struct { 2043 // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response. 2044 ProvisioningState *string `json:"provisioningState,omitempty"` 2045 // MaxAgentPools - READ-ONLY; The max number of agent pools for the managed cluster. 2046 MaxAgentPools *int32 `json:"maxAgentPools,omitempty"` 2047 // KubernetesVersion - Version of Kubernetes specified when creating the managed cluster. 2048 KubernetesVersion *string `json:"kubernetesVersion,omitempty"` 2049 // DNSPrefix - DNS prefix specified when creating the managed cluster. 2050 DNSPrefix *string `json:"dnsPrefix,omitempty"` 2051 // Fqdn - READ-ONLY; FQDN for the master pool. 2052 Fqdn *string `json:"fqdn,omitempty"` 2053 // PrivateFQDN - READ-ONLY; FQDN of private cluster. 2054 PrivateFQDN *string `json:"privateFQDN,omitempty"` 2055 // AgentPoolProfiles - Properties of the agent pool. 2056 AgentPoolProfiles *[]ManagedClusterAgentPoolProfile `json:"agentPoolProfiles,omitempty"` 2057 // LinuxProfile - Profile for Linux VMs in the container service cluster. 2058 LinuxProfile *LinuxProfile `json:"linuxProfile,omitempty"` 2059 // WindowsProfile - Profile for Windows VMs in the container service cluster. 2060 WindowsProfile *ManagedClusterWindowsProfile `json:"windowsProfile,omitempty"` 2061 // ServicePrincipalProfile - Information about a service principal identity for the cluster to use for manipulating Azure APIs. 2062 ServicePrincipalProfile *ManagedClusterServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` 2063 // AddonProfiles - Profile of managed cluster add-on. 2064 AddonProfiles map[string]*ManagedClusterAddonProfile `json:"addonProfiles"` 2065 // NodeResourceGroup - Name of the resource group containing agent pool nodes. 2066 NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` 2067 // EnableRBAC - Whether to enable Kubernetes Role-Based Access Control. 2068 EnableRBAC *bool `json:"enableRBAC,omitempty"` 2069 // EnablePodSecurityPolicy - (PREVIEW) Whether to enable Kubernetes Pod security policy. 2070 EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` 2071 // NetworkProfile - Profile of network configuration. 2072 NetworkProfile *NetworkProfileType `json:"networkProfile,omitempty"` 2073 // AadProfile - Profile of Azure Active Directory configuration. 2074 AadProfile *ManagedClusterAADProfile `json:"aadProfile,omitempty"` 2075 // APIServerAccessProfile - Access profile for managed cluster API server. 2076 APIServerAccessProfile *ManagedClusterAPIServerAccessProfile `json:"apiServerAccessProfile,omitempty"` 2077} 2078 2079// MarshalJSON is the custom marshaler for ManagedClusterProperties. 2080func (mcp ManagedClusterProperties) MarshalJSON() ([]byte, error) { 2081 objectMap := make(map[string]interface{}) 2082 if mcp.KubernetesVersion != nil { 2083 objectMap["kubernetesVersion"] = mcp.KubernetesVersion 2084 } 2085 if mcp.DNSPrefix != nil { 2086 objectMap["dnsPrefix"] = mcp.DNSPrefix 2087 } 2088 if mcp.AgentPoolProfiles != nil { 2089 objectMap["agentPoolProfiles"] = mcp.AgentPoolProfiles 2090 } 2091 if mcp.LinuxProfile != nil { 2092 objectMap["linuxProfile"] = mcp.LinuxProfile 2093 } 2094 if mcp.WindowsProfile != nil { 2095 objectMap["windowsProfile"] = mcp.WindowsProfile 2096 } 2097 if mcp.ServicePrincipalProfile != nil { 2098 objectMap["servicePrincipalProfile"] = mcp.ServicePrincipalProfile 2099 } 2100 if mcp.AddonProfiles != nil { 2101 objectMap["addonProfiles"] = mcp.AddonProfiles 2102 } 2103 if mcp.NodeResourceGroup != nil { 2104 objectMap["nodeResourceGroup"] = mcp.NodeResourceGroup 2105 } 2106 if mcp.EnableRBAC != nil { 2107 objectMap["enableRBAC"] = mcp.EnableRBAC 2108 } 2109 if mcp.EnablePodSecurityPolicy != nil { 2110 objectMap["enablePodSecurityPolicy"] = mcp.EnablePodSecurityPolicy 2111 } 2112 if mcp.NetworkProfile != nil { 2113 objectMap["networkProfile"] = mcp.NetworkProfile 2114 } 2115 if mcp.AadProfile != nil { 2116 objectMap["aadProfile"] = mcp.AadProfile 2117 } 2118 if mcp.APIServerAccessProfile != nil { 2119 objectMap["apiServerAccessProfile"] = mcp.APIServerAccessProfile 2120 } 2121 return json.Marshal(objectMap) 2122} 2123 2124// ManagedClustersCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a 2125// long-running operation. 2126type ManagedClustersCreateOrUpdateFuture struct { 2127 azure.Future 2128} 2129 2130// Result returns the result of the asynchronous operation. 2131// If the operation has not completed it will return an error. 2132func (future *ManagedClustersCreateOrUpdateFuture) Result(client ManagedClustersClient) (mc ManagedCluster, err error) { 2133 var done bool 2134 done, err = future.DoneWithContext(context.Background(), client) 2135 if err != nil { 2136 err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 2137 return 2138 } 2139 if !done { 2140 err = azure.NewAsyncOpIncompleteError("containerservice.ManagedClustersCreateOrUpdateFuture") 2141 return 2142 } 2143 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 2144 if mc.Response.Response, err = future.GetResult(sender); err == nil && mc.Response.Response.StatusCode != http.StatusNoContent { 2145 mc, err = client.CreateOrUpdateResponder(mc.Response.Response) 2146 if err != nil { 2147 err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersCreateOrUpdateFuture", "Result", mc.Response.Response, "Failure responding to request") 2148 } 2149 } 2150 return 2151} 2152 2153// ManagedClustersDeleteFuture an abstraction for monitoring and retrieving the results of a long-running 2154// operation. 2155type ManagedClustersDeleteFuture struct { 2156 azure.Future 2157} 2158 2159// Result returns the result of the asynchronous operation. 2160// If the operation has not completed it will return an error. 2161func (future *ManagedClustersDeleteFuture) Result(client ManagedClustersClient) (ar autorest.Response, err error) { 2162 var done bool 2163 done, err = future.DoneWithContext(context.Background(), client) 2164 if err != nil { 2165 err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersDeleteFuture", "Result", future.Response(), "Polling failure") 2166 return 2167 } 2168 if !done { 2169 err = azure.NewAsyncOpIncompleteError("containerservice.ManagedClustersDeleteFuture") 2170 return 2171 } 2172 ar.Response = future.Response() 2173 return 2174} 2175 2176// ManagedClusterServicePrincipalProfile information about a service principal identity for the cluster to 2177// use for manipulating Azure APIs. 2178type ManagedClusterServicePrincipalProfile struct { 2179 // ClientID - The ID for the service principal. 2180 ClientID *string `json:"clientId,omitempty"` 2181 // Secret - The secret password associated with the service principal in plain text. 2182 Secret *string `json:"secret,omitempty"` 2183} 2184 2185// ManagedClustersResetAADProfileFuture an abstraction for monitoring and retrieving the results of a 2186// long-running operation. 2187type ManagedClustersResetAADProfileFuture struct { 2188 azure.Future 2189} 2190 2191// Result returns the result of the asynchronous operation. 2192// If the operation has not completed it will return an error. 2193func (future *ManagedClustersResetAADProfileFuture) Result(client ManagedClustersClient) (ar autorest.Response, err error) { 2194 var done bool 2195 done, err = future.DoneWithContext(context.Background(), client) 2196 if err != nil { 2197 err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersResetAADProfileFuture", "Result", future.Response(), "Polling failure") 2198 return 2199 } 2200 if !done { 2201 err = azure.NewAsyncOpIncompleteError("containerservice.ManagedClustersResetAADProfileFuture") 2202 return 2203 } 2204 ar.Response = future.Response() 2205 return 2206} 2207 2208// ManagedClustersResetServicePrincipalProfileFuture an abstraction for monitoring and retrieving the 2209// results of a long-running operation. 2210type ManagedClustersResetServicePrincipalProfileFuture struct { 2211 azure.Future 2212} 2213 2214// Result returns the result of the asynchronous operation. 2215// If the operation has not completed it will return an error. 2216func (future *ManagedClustersResetServicePrincipalProfileFuture) Result(client ManagedClustersClient) (ar autorest.Response, err error) { 2217 var done bool 2218 done, err = future.DoneWithContext(context.Background(), client) 2219 if err != nil { 2220 err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersResetServicePrincipalProfileFuture", "Result", future.Response(), "Polling failure") 2221 return 2222 } 2223 if !done { 2224 err = azure.NewAsyncOpIncompleteError("containerservice.ManagedClustersResetServicePrincipalProfileFuture") 2225 return 2226 } 2227 ar.Response = future.Response() 2228 return 2229} 2230 2231// ManagedClustersRotateClusterCertificatesFuture an abstraction for monitoring and retrieving the results 2232// of a long-running operation. 2233type ManagedClustersRotateClusterCertificatesFuture struct { 2234 azure.Future 2235} 2236 2237// Result returns the result of the asynchronous operation. 2238// If the operation has not completed it will return an error. 2239func (future *ManagedClustersRotateClusterCertificatesFuture) Result(client ManagedClustersClient) (ar autorest.Response, err error) { 2240 var done bool 2241 done, err = future.DoneWithContext(context.Background(), client) 2242 if err != nil { 2243 err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersRotateClusterCertificatesFuture", "Result", future.Response(), "Polling failure") 2244 return 2245 } 2246 if !done { 2247 err = azure.NewAsyncOpIncompleteError("containerservice.ManagedClustersRotateClusterCertificatesFuture") 2248 return 2249 } 2250 ar.Response = future.Response() 2251 return 2252} 2253 2254// ManagedClustersUpdateTagsFuture an abstraction for monitoring and retrieving the results of a 2255// long-running operation. 2256type ManagedClustersUpdateTagsFuture struct { 2257 azure.Future 2258} 2259 2260// Result returns the result of the asynchronous operation. 2261// If the operation has not completed it will return an error. 2262func (future *ManagedClustersUpdateTagsFuture) Result(client ManagedClustersClient) (mc ManagedCluster, err error) { 2263 var done bool 2264 done, err = future.DoneWithContext(context.Background(), client) 2265 if err != nil { 2266 err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersUpdateTagsFuture", "Result", future.Response(), "Polling failure") 2267 return 2268 } 2269 if !done { 2270 err = azure.NewAsyncOpIncompleteError("containerservice.ManagedClustersUpdateTagsFuture") 2271 return 2272 } 2273 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 2274 if mc.Response.Response, err = future.GetResult(sender); err == nil && mc.Response.Response.StatusCode != http.StatusNoContent { 2275 mc, err = client.UpdateTagsResponder(mc.Response.Response) 2276 if err != nil { 2277 err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersUpdateTagsFuture", "Result", mc.Response.Response, "Failure responding to request") 2278 } 2279 } 2280 return 2281} 2282 2283// ManagedClusterUpgradeProfile the list of available upgrades for compute pools. 2284type ManagedClusterUpgradeProfile struct { 2285 autorest.Response `json:"-"` 2286 // ID - READ-ONLY; Id of upgrade profile. 2287 ID *string `json:"id,omitempty"` 2288 // Name - READ-ONLY; Name of upgrade profile. 2289 Name *string `json:"name,omitempty"` 2290 // Type - READ-ONLY; Type of upgrade profile. 2291 Type *string `json:"type,omitempty"` 2292 // ManagedClusterUpgradeProfileProperties - Properties of upgrade profile. 2293 *ManagedClusterUpgradeProfileProperties `json:"properties,omitempty"` 2294} 2295 2296// MarshalJSON is the custom marshaler for ManagedClusterUpgradeProfile. 2297func (mcup ManagedClusterUpgradeProfile) MarshalJSON() ([]byte, error) { 2298 objectMap := make(map[string]interface{}) 2299 if mcup.ManagedClusterUpgradeProfileProperties != nil { 2300 objectMap["properties"] = mcup.ManagedClusterUpgradeProfileProperties 2301 } 2302 return json.Marshal(objectMap) 2303} 2304 2305// UnmarshalJSON is the custom unmarshaler for ManagedClusterUpgradeProfile struct. 2306func (mcup *ManagedClusterUpgradeProfile) UnmarshalJSON(body []byte) error { 2307 var m map[string]*json.RawMessage 2308 err := json.Unmarshal(body, &m) 2309 if err != nil { 2310 return err 2311 } 2312 for k, v := range m { 2313 switch k { 2314 case "id": 2315 if v != nil { 2316 var ID string 2317 err = json.Unmarshal(*v, &ID) 2318 if err != nil { 2319 return err 2320 } 2321 mcup.ID = &ID 2322 } 2323 case "name": 2324 if v != nil { 2325 var name string 2326 err = json.Unmarshal(*v, &name) 2327 if err != nil { 2328 return err 2329 } 2330 mcup.Name = &name 2331 } 2332 case "type": 2333 if v != nil { 2334 var typeVar string 2335 err = json.Unmarshal(*v, &typeVar) 2336 if err != nil { 2337 return err 2338 } 2339 mcup.Type = &typeVar 2340 } 2341 case "properties": 2342 if v != nil { 2343 var managedClusterUpgradeProfileProperties ManagedClusterUpgradeProfileProperties 2344 err = json.Unmarshal(*v, &managedClusterUpgradeProfileProperties) 2345 if err != nil { 2346 return err 2347 } 2348 mcup.ManagedClusterUpgradeProfileProperties = &managedClusterUpgradeProfileProperties 2349 } 2350 } 2351 } 2352 2353 return nil 2354} 2355 2356// ManagedClusterUpgradeProfileProperties control plane and agent pool upgrade profiles. 2357type ManagedClusterUpgradeProfileProperties struct { 2358 // ControlPlaneProfile - The list of available upgrade versions for the control plane. 2359 ControlPlaneProfile *ManagedClusterPoolUpgradeProfile `json:"controlPlaneProfile,omitempty"` 2360 // AgentPoolProfiles - The list of available upgrade versions for agent pools. 2361 AgentPoolProfiles *[]ManagedClusterPoolUpgradeProfile `json:"agentPoolProfiles,omitempty"` 2362} 2363 2364// ManagedClusterWindowsProfile profile for Windows VMs in the container service cluster. 2365type ManagedClusterWindowsProfile struct { 2366 // AdminUsername - The administrator username to use for Windows VMs. 2367 AdminUsername *string `json:"adminUsername,omitempty"` 2368 // AdminPassword - The administrator password to use for Windows VMs. 2369 AdminPassword *string `json:"adminPassword,omitempty"` 2370} 2371 2372// MasterProfile profile for the container service master. 2373type MasterProfile struct { 2374 // Count - Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1. 2375 Count *int32 `json:"count,omitempty"` 2376 // DNSPrefix - DNS prefix to be used to create the FQDN for the master pool. 2377 DNSPrefix *string `json:"dnsPrefix,omitempty"` 2378 // VMSize - Size of agent VMs. Possible values include: 'VMSizeTypesStandardA1', 'VMSizeTypesStandardA10', 'VMSizeTypesStandardA11', 'VMSizeTypesStandardA1V2', 'VMSizeTypesStandardA2', 'VMSizeTypesStandardA2V2', 'VMSizeTypesStandardA2mV2', 'VMSizeTypesStandardA3', 'VMSizeTypesStandardA4', 'VMSizeTypesStandardA4V2', 'VMSizeTypesStandardA4mV2', 'VMSizeTypesStandardA5', 'VMSizeTypesStandardA6', 'VMSizeTypesStandardA7', 'VMSizeTypesStandardA8', 'VMSizeTypesStandardA8V2', 'VMSizeTypesStandardA8mV2', 'VMSizeTypesStandardA9', 'VMSizeTypesStandardB2ms', 'VMSizeTypesStandardB2s', 'VMSizeTypesStandardB4ms', 'VMSizeTypesStandardB8ms', 'VMSizeTypesStandardD1', 'VMSizeTypesStandardD11', 'VMSizeTypesStandardD11V2', 'VMSizeTypesStandardD11V2Promo', 'VMSizeTypesStandardD12', 'VMSizeTypesStandardD12V2', 'VMSizeTypesStandardD12V2Promo', 'VMSizeTypesStandardD13', 'VMSizeTypesStandardD13V2', 'VMSizeTypesStandardD13V2Promo', 'VMSizeTypesStandardD14', 'VMSizeTypesStandardD14V2', 'VMSizeTypesStandardD14V2Promo', 'VMSizeTypesStandardD15V2', 'VMSizeTypesStandardD16V3', 'VMSizeTypesStandardD16sV3', 'VMSizeTypesStandardD1V2', 'VMSizeTypesStandardD2', 'VMSizeTypesStandardD2V2', 'VMSizeTypesStandardD2V2Promo', 'VMSizeTypesStandardD2V3', 'VMSizeTypesStandardD2sV3', 'VMSizeTypesStandardD3', 'VMSizeTypesStandardD32V3', 'VMSizeTypesStandardD32sV3', 'VMSizeTypesStandardD3V2', 'VMSizeTypesStandardD3V2Promo', 'VMSizeTypesStandardD4', 'VMSizeTypesStandardD4V2', 'VMSizeTypesStandardD4V2Promo', 'VMSizeTypesStandardD4V3', 'VMSizeTypesStandardD4sV3', 'VMSizeTypesStandardD5V2', 'VMSizeTypesStandardD5V2Promo', 'VMSizeTypesStandardD64V3', 'VMSizeTypesStandardD64sV3', 'VMSizeTypesStandardD8V3', 'VMSizeTypesStandardD8sV3', 'VMSizeTypesStandardDS1', 'VMSizeTypesStandardDS11', 'VMSizeTypesStandardDS11V2', 'VMSizeTypesStandardDS11V2Promo', 'VMSizeTypesStandardDS12', 'VMSizeTypesStandardDS12V2', 'VMSizeTypesStandardDS12V2Promo', 'VMSizeTypesStandardDS13', 'VMSizeTypesStandardDS132V2', 'VMSizeTypesStandardDS134V2', 'VMSizeTypesStandardDS13V2', 'VMSizeTypesStandardDS13V2Promo', 'VMSizeTypesStandardDS14', 'VMSizeTypesStandardDS144V2', 'VMSizeTypesStandardDS148V2', 'VMSizeTypesStandardDS14V2', 'VMSizeTypesStandardDS14V2Promo', 'VMSizeTypesStandardDS15V2', 'VMSizeTypesStandardDS1V2', 'VMSizeTypesStandardDS2', 'VMSizeTypesStandardDS2V2', 'VMSizeTypesStandardDS2V2Promo', 'VMSizeTypesStandardDS3', 'VMSizeTypesStandardDS3V2', 'VMSizeTypesStandardDS3V2Promo', 'VMSizeTypesStandardDS4', 'VMSizeTypesStandardDS4V2', 'VMSizeTypesStandardDS4V2Promo', 'VMSizeTypesStandardDS5V2', 'VMSizeTypesStandardDS5V2Promo', 'VMSizeTypesStandardE16V3', 'VMSizeTypesStandardE16sV3', 'VMSizeTypesStandardE2V3', 'VMSizeTypesStandardE2sV3', 'VMSizeTypesStandardE3216sV3', 'VMSizeTypesStandardE328sV3', 'VMSizeTypesStandardE32V3', 'VMSizeTypesStandardE32sV3', 'VMSizeTypesStandardE4V3', 'VMSizeTypesStandardE4sV3', 'VMSizeTypesStandardE6416sV3', 'VMSizeTypesStandardE6432sV3', 'VMSizeTypesStandardE64V3', 'VMSizeTypesStandardE64sV3', 'VMSizeTypesStandardE8V3', 'VMSizeTypesStandardE8sV3', 'VMSizeTypesStandardF1', 'VMSizeTypesStandardF16', 'VMSizeTypesStandardF16s', 'VMSizeTypesStandardF16sV2', 'VMSizeTypesStandardF1s', 'VMSizeTypesStandardF2', 'VMSizeTypesStandardF2s', 'VMSizeTypesStandardF2sV2', 'VMSizeTypesStandardF32sV2', 'VMSizeTypesStandardF4', 'VMSizeTypesStandardF4s', 'VMSizeTypesStandardF4sV2', 'VMSizeTypesStandardF64sV2', 'VMSizeTypesStandardF72sV2', 'VMSizeTypesStandardF8', 'VMSizeTypesStandardF8s', 'VMSizeTypesStandardF8sV2', 'VMSizeTypesStandardG1', 'VMSizeTypesStandardG2', 'VMSizeTypesStandardG3', 'VMSizeTypesStandardG4', 'VMSizeTypesStandardG5', 'VMSizeTypesStandardGS1', 'VMSizeTypesStandardGS2', 'VMSizeTypesStandardGS3', 'VMSizeTypesStandardGS4', 'VMSizeTypesStandardGS44', 'VMSizeTypesStandardGS48', 'VMSizeTypesStandardGS5', 'VMSizeTypesStandardGS516', 'VMSizeTypesStandardGS58', 'VMSizeTypesStandardH16', 'VMSizeTypesStandardH16m', 'VMSizeTypesStandardH16mr', 'VMSizeTypesStandardH16r', 'VMSizeTypesStandardH8', 'VMSizeTypesStandardH8m', 'VMSizeTypesStandardL16s', 'VMSizeTypesStandardL32s', 'VMSizeTypesStandardL4s', 'VMSizeTypesStandardL8s', 'VMSizeTypesStandardM12832ms', 'VMSizeTypesStandardM12864ms', 'VMSizeTypesStandardM128ms', 'VMSizeTypesStandardM128s', 'VMSizeTypesStandardM6416ms', 'VMSizeTypesStandardM6432ms', 'VMSizeTypesStandardM64ms', 'VMSizeTypesStandardM64s', 'VMSizeTypesStandardNC12', 'VMSizeTypesStandardNC12sV2', 'VMSizeTypesStandardNC12sV3', 'VMSizeTypesStandardNC24', 'VMSizeTypesStandardNC24r', 'VMSizeTypesStandardNC24rsV2', 'VMSizeTypesStandardNC24rsV3', 'VMSizeTypesStandardNC24sV2', 'VMSizeTypesStandardNC24sV3', 'VMSizeTypesStandardNC6', 'VMSizeTypesStandardNC6sV2', 'VMSizeTypesStandardNC6sV3', 'VMSizeTypesStandardND12s', 'VMSizeTypesStandardND24rs', 'VMSizeTypesStandardND24s', 'VMSizeTypesStandardND6s', 'VMSizeTypesStandardNV12', 'VMSizeTypesStandardNV24', 'VMSizeTypesStandardNV6' 2379 VMSize VMSizeTypes `json:"vmSize,omitempty"` 2380 // OsDiskSizeGB - OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. 2381 OsDiskSizeGB *int32 `json:"osDiskSizeGB,omitempty"` 2382 // VnetSubnetID - VNet SubnetID specifies the VNet's subnet identifier. 2383 VnetSubnetID *string `json:"vnetSubnetID,omitempty"` 2384 // FirstConsecutiveStaticIP - FirstConsecutiveStaticIP used to specify the first static ip of masters. 2385 FirstConsecutiveStaticIP *string `json:"firstConsecutiveStaticIP,omitempty"` 2386 // StorageProfile - Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice. Possible values include: 'StorageAccount', 'ManagedDisks' 2387 StorageProfile StorageProfileTypes `json:"storageProfile,omitempty"` 2388 // Fqdn - READ-ONLY; FQDN for the master pool. 2389 Fqdn *string `json:"fqdn,omitempty"` 2390} 2391 2392// NetworkProfile represents the OpenShift networking configuration 2393type NetworkProfile struct { 2394 // VnetCidr - CIDR for the OpenShift Vnet. 2395 VnetCidr *string `json:"vnetCidr,omitempty"` 2396 // PeerVnetID - CIDR of the Vnet to peer. 2397 PeerVnetID *string `json:"peerVnetId,omitempty"` 2398 // VnetID - ID of the Vnet created for OSA cluster. 2399 VnetID *string `json:"vnetId,omitempty"` 2400} 2401 2402// NetworkProfileType profile of network configuration. 2403type NetworkProfileType struct { 2404 // NetworkPlugin - Network plugin used for building Kubernetes network. Possible values include: 'Azure', 'Kubenet' 2405 NetworkPlugin NetworkPlugin `json:"networkPlugin,omitempty"` 2406 // NetworkPolicy - Network policy used for building Kubernetes network. Possible values include: 'NetworkPolicyCalico', 'NetworkPolicyAzure' 2407 NetworkPolicy NetworkPolicy `json:"networkPolicy,omitempty"` 2408 // PodCidr - A CIDR notation IP range from which to assign pod IPs when kubenet is used. 2409 PodCidr *string `json:"podCidr,omitempty"` 2410 // ServiceCidr - A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. 2411 ServiceCidr *string `json:"serviceCidr,omitempty"` 2412 // DNSServiceIP - An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. 2413 DNSServiceIP *string `json:"dnsServiceIP,omitempty"` 2414 // DockerBridgeCidr - A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range. 2415 DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` 2416 // LoadBalancerSku - The load balancer sku for the managed cluster. Possible values include: 'Standard', 'Basic' 2417 LoadBalancerSku LoadBalancerSku `json:"loadBalancerSku,omitempty"` 2418 // LoadBalancerProfile - Profile of the cluster load balancer. 2419 LoadBalancerProfile *ManagedClusterLoadBalancerProfile `json:"loadBalancerProfile,omitempty"` 2420} 2421 2422// OpenShiftManagedCluster openShift Managed cluster. 2423type OpenShiftManagedCluster struct { 2424 autorest.Response `json:"-"` 2425 // Plan - Define the resource plan as required by ARM for billing purposes 2426 Plan *PurchasePlan `json:"plan,omitempty"` 2427 // OpenShiftManagedClusterProperties - Properties of a OpenShift managed cluster. 2428 *OpenShiftManagedClusterProperties `json:"properties,omitempty"` 2429 // ID - READ-ONLY; Resource Id 2430 ID *string `json:"id,omitempty"` 2431 // Name - READ-ONLY; Resource name 2432 Name *string `json:"name,omitempty"` 2433 // Type - READ-ONLY; Resource type 2434 Type *string `json:"type,omitempty"` 2435 // Location - Resource location 2436 Location *string `json:"location,omitempty"` 2437 // Tags - Resource tags 2438 Tags map[string]*string `json:"tags"` 2439} 2440 2441// MarshalJSON is the custom marshaler for OpenShiftManagedCluster. 2442func (osmc OpenShiftManagedCluster) MarshalJSON() ([]byte, error) { 2443 objectMap := make(map[string]interface{}) 2444 if osmc.Plan != nil { 2445 objectMap["plan"] = osmc.Plan 2446 } 2447 if osmc.OpenShiftManagedClusterProperties != nil { 2448 objectMap["properties"] = osmc.OpenShiftManagedClusterProperties 2449 } 2450 if osmc.Location != nil { 2451 objectMap["location"] = osmc.Location 2452 } 2453 if osmc.Tags != nil { 2454 objectMap["tags"] = osmc.Tags 2455 } 2456 return json.Marshal(objectMap) 2457} 2458 2459// UnmarshalJSON is the custom unmarshaler for OpenShiftManagedCluster struct. 2460func (osmc *OpenShiftManagedCluster) UnmarshalJSON(body []byte) error { 2461 var m map[string]*json.RawMessage 2462 err := json.Unmarshal(body, &m) 2463 if err != nil { 2464 return err 2465 } 2466 for k, v := range m { 2467 switch k { 2468 case "plan": 2469 if v != nil { 2470 var plan PurchasePlan 2471 err = json.Unmarshal(*v, &plan) 2472 if err != nil { 2473 return err 2474 } 2475 osmc.Plan = &plan 2476 } 2477 case "properties": 2478 if v != nil { 2479 var openShiftManagedClusterProperties OpenShiftManagedClusterProperties 2480 err = json.Unmarshal(*v, &openShiftManagedClusterProperties) 2481 if err != nil { 2482 return err 2483 } 2484 osmc.OpenShiftManagedClusterProperties = &openShiftManagedClusterProperties 2485 } 2486 case "id": 2487 if v != nil { 2488 var ID string 2489 err = json.Unmarshal(*v, &ID) 2490 if err != nil { 2491 return err 2492 } 2493 osmc.ID = &ID 2494 } 2495 case "name": 2496 if v != nil { 2497 var name string 2498 err = json.Unmarshal(*v, &name) 2499 if err != nil { 2500 return err 2501 } 2502 osmc.Name = &name 2503 } 2504 case "type": 2505 if v != nil { 2506 var typeVar string 2507 err = json.Unmarshal(*v, &typeVar) 2508 if err != nil { 2509 return err 2510 } 2511 osmc.Type = &typeVar 2512 } 2513 case "location": 2514 if v != nil { 2515 var location string 2516 err = json.Unmarshal(*v, &location) 2517 if err != nil { 2518 return err 2519 } 2520 osmc.Location = &location 2521 } 2522 case "tags": 2523 if v != nil { 2524 var tags map[string]*string 2525 err = json.Unmarshal(*v, &tags) 2526 if err != nil { 2527 return err 2528 } 2529 osmc.Tags = tags 2530 } 2531 } 2532 } 2533 2534 return nil 2535} 2536 2537// OpenShiftManagedClusterAADIdentityProvider defines the Identity provider for MS AAD. 2538type OpenShiftManagedClusterAADIdentityProvider struct { 2539 // ClientID - The clientId password associated with the provider. 2540 ClientID *string `json:"clientId,omitempty"` 2541 // Secret - The secret password associated with the provider. 2542 Secret *string `json:"secret,omitempty"` 2543 // TenantID - The tenantId associated with the provider. 2544 TenantID *string `json:"tenantId,omitempty"` 2545 // CustomerAdminGroupID - The groupId to be granted cluster admin role. 2546 CustomerAdminGroupID *string `json:"customerAdminGroupId,omitempty"` 2547 // Kind - Possible values include: 'KindOpenShiftManagedClusterBaseIdentityProvider', 'KindAADIdentityProvider' 2548 Kind Kind `json:"kind,omitempty"` 2549} 2550 2551// MarshalJSON is the custom marshaler for OpenShiftManagedClusterAADIdentityProvider. 2552func (osmcaip OpenShiftManagedClusterAADIdentityProvider) MarshalJSON() ([]byte, error) { 2553 osmcaip.Kind = KindAADIdentityProvider 2554 objectMap := make(map[string]interface{}) 2555 if osmcaip.ClientID != nil { 2556 objectMap["clientId"] = osmcaip.ClientID 2557 } 2558 if osmcaip.Secret != nil { 2559 objectMap["secret"] = osmcaip.Secret 2560 } 2561 if osmcaip.TenantID != nil { 2562 objectMap["tenantId"] = osmcaip.TenantID 2563 } 2564 if osmcaip.CustomerAdminGroupID != nil { 2565 objectMap["customerAdminGroupId"] = osmcaip.CustomerAdminGroupID 2566 } 2567 if osmcaip.Kind != "" { 2568 objectMap["kind"] = osmcaip.Kind 2569 } 2570 return json.Marshal(objectMap) 2571} 2572 2573// AsOpenShiftManagedClusterAADIdentityProvider is the BasicOpenShiftManagedClusterBaseIdentityProvider implementation for OpenShiftManagedClusterAADIdentityProvider. 2574func (osmcaip OpenShiftManagedClusterAADIdentityProvider) AsOpenShiftManagedClusterAADIdentityProvider() (*OpenShiftManagedClusterAADIdentityProvider, bool) { 2575 return &osmcaip, true 2576} 2577 2578// AsOpenShiftManagedClusterBaseIdentityProvider is the BasicOpenShiftManagedClusterBaseIdentityProvider implementation for OpenShiftManagedClusterAADIdentityProvider. 2579func (osmcaip OpenShiftManagedClusterAADIdentityProvider) AsOpenShiftManagedClusterBaseIdentityProvider() (*OpenShiftManagedClusterBaseIdentityProvider, bool) { 2580 return nil, false 2581} 2582 2583// AsBasicOpenShiftManagedClusterBaseIdentityProvider is the BasicOpenShiftManagedClusterBaseIdentityProvider implementation for OpenShiftManagedClusterAADIdentityProvider. 2584func (osmcaip OpenShiftManagedClusterAADIdentityProvider) AsBasicOpenShiftManagedClusterBaseIdentityProvider() (BasicOpenShiftManagedClusterBaseIdentityProvider, bool) { 2585 return &osmcaip, true 2586} 2587 2588// OpenShiftManagedClusterAgentPoolProfile defines the configuration of the OpenShift cluster VMs. 2589type OpenShiftManagedClusterAgentPoolProfile struct { 2590 // Name - Unique name of the pool profile in the context of the subscription and resource group. 2591 Name *string `json:"name,omitempty"` 2592 // Count - Number of agents (VMs) to host docker containers. 2593 Count *int32 `json:"count,omitempty"` 2594 // VMSize - Size of agent VMs. Possible values include: 'StandardD2sV3', 'StandardD4sV3', 'StandardD8sV3', 'StandardD16sV3', 'StandardD32sV3', 'StandardD64sV3', 'StandardDS4V2', 'StandardDS5V2', 'StandardF8sV2', 'StandardF16sV2', 'StandardF32sV2', 'StandardF64sV2', 'StandardF72sV2', 'StandardF8s', 'StandardF16s', 'StandardE4sV3', 'StandardE8sV3', 'StandardE16sV3', 'StandardE20sV3', 'StandardE32sV3', 'StandardE64sV3', 'StandardGS2', 'StandardGS3', 'StandardGS4', 'StandardGS5', 'StandardDS12V2', 'StandardDS13V2', 'StandardDS14V2', 'StandardDS15V2', 'StandardL4s', 'StandardL8s', 'StandardL16s', 'StandardL32s' 2595 VMSize OpenShiftContainerServiceVMSize `json:"vmSize,omitempty"` 2596 // SubnetCidr - Subnet CIDR for the peering. 2597 SubnetCidr *string `json:"subnetCidr,omitempty"` 2598 // OsType - OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows' 2599 OsType OSType `json:"osType,omitempty"` 2600 // Role - Define the role of the AgentPoolProfile. Possible values include: 'Compute', 'Infra' 2601 Role OpenShiftAgentPoolProfileRole `json:"role,omitempty"` 2602} 2603 2604// OpenShiftManagedClusterAuthProfile defines all possible authentication profiles for the OpenShift 2605// cluster. 2606type OpenShiftManagedClusterAuthProfile struct { 2607 // IdentityProviders - Type of authentication profile to use. 2608 IdentityProviders *[]OpenShiftManagedClusterIdentityProvider `json:"identityProviders,omitempty"` 2609} 2610 2611// BasicOpenShiftManagedClusterBaseIdentityProvider structure for any Identity provider. 2612type BasicOpenShiftManagedClusterBaseIdentityProvider interface { 2613 AsOpenShiftManagedClusterAADIdentityProvider() (*OpenShiftManagedClusterAADIdentityProvider, bool) 2614 AsOpenShiftManagedClusterBaseIdentityProvider() (*OpenShiftManagedClusterBaseIdentityProvider, bool) 2615} 2616 2617// OpenShiftManagedClusterBaseIdentityProvider structure for any Identity provider. 2618type OpenShiftManagedClusterBaseIdentityProvider struct { 2619 // Kind - Possible values include: 'KindOpenShiftManagedClusterBaseIdentityProvider', 'KindAADIdentityProvider' 2620 Kind Kind `json:"kind,omitempty"` 2621} 2622 2623func unmarshalBasicOpenShiftManagedClusterBaseIdentityProvider(body []byte) (BasicOpenShiftManagedClusterBaseIdentityProvider, error) { 2624 var m map[string]interface{} 2625 err := json.Unmarshal(body, &m) 2626 if err != nil { 2627 return nil, err 2628 } 2629 2630 switch m["kind"] { 2631 case string(KindAADIdentityProvider): 2632 var osmcaip OpenShiftManagedClusterAADIdentityProvider 2633 err := json.Unmarshal(body, &osmcaip) 2634 return osmcaip, err 2635 default: 2636 var osmcbip OpenShiftManagedClusterBaseIdentityProvider 2637 err := json.Unmarshal(body, &osmcbip) 2638 return osmcbip, err 2639 } 2640} 2641func unmarshalBasicOpenShiftManagedClusterBaseIdentityProviderArray(body []byte) ([]BasicOpenShiftManagedClusterBaseIdentityProvider, error) { 2642 var rawMessages []*json.RawMessage 2643 err := json.Unmarshal(body, &rawMessages) 2644 if err != nil { 2645 return nil, err 2646 } 2647 2648 osmcbipArray := make([]BasicOpenShiftManagedClusterBaseIdentityProvider, len(rawMessages)) 2649 2650 for index, rawMessage := range rawMessages { 2651 osmcbip, err := unmarshalBasicOpenShiftManagedClusterBaseIdentityProvider(*rawMessage) 2652 if err != nil { 2653 return nil, err 2654 } 2655 osmcbipArray[index] = osmcbip 2656 } 2657 return osmcbipArray, nil 2658} 2659 2660// MarshalJSON is the custom marshaler for OpenShiftManagedClusterBaseIdentityProvider. 2661func (osmcbip OpenShiftManagedClusterBaseIdentityProvider) MarshalJSON() ([]byte, error) { 2662 osmcbip.Kind = KindOpenShiftManagedClusterBaseIdentityProvider 2663 objectMap := make(map[string]interface{}) 2664 if osmcbip.Kind != "" { 2665 objectMap["kind"] = osmcbip.Kind 2666 } 2667 return json.Marshal(objectMap) 2668} 2669 2670// AsOpenShiftManagedClusterAADIdentityProvider is the BasicOpenShiftManagedClusterBaseIdentityProvider implementation for OpenShiftManagedClusterBaseIdentityProvider. 2671func (osmcbip OpenShiftManagedClusterBaseIdentityProvider) AsOpenShiftManagedClusterAADIdentityProvider() (*OpenShiftManagedClusterAADIdentityProvider, bool) { 2672 return nil, false 2673} 2674 2675// AsOpenShiftManagedClusterBaseIdentityProvider is the BasicOpenShiftManagedClusterBaseIdentityProvider implementation for OpenShiftManagedClusterBaseIdentityProvider. 2676func (osmcbip OpenShiftManagedClusterBaseIdentityProvider) AsOpenShiftManagedClusterBaseIdentityProvider() (*OpenShiftManagedClusterBaseIdentityProvider, bool) { 2677 return &osmcbip, true 2678} 2679 2680// AsBasicOpenShiftManagedClusterBaseIdentityProvider is the BasicOpenShiftManagedClusterBaseIdentityProvider implementation for OpenShiftManagedClusterBaseIdentityProvider. 2681func (osmcbip OpenShiftManagedClusterBaseIdentityProvider) AsBasicOpenShiftManagedClusterBaseIdentityProvider() (BasicOpenShiftManagedClusterBaseIdentityProvider, bool) { 2682 return &osmcbip, true 2683} 2684 2685// OpenShiftManagedClusterIdentityProvider defines the configuration of the identity providers to be used 2686// in the OpenShift cluster. 2687type OpenShiftManagedClusterIdentityProvider struct { 2688 // Name - Name of the provider. 2689 Name *string `json:"name,omitempty"` 2690 // Provider - Configuration of the provider. 2691 Provider BasicOpenShiftManagedClusterBaseIdentityProvider `json:"provider,omitempty"` 2692} 2693 2694// UnmarshalJSON is the custom unmarshaler for OpenShiftManagedClusterIdentityProvider struct. 2695func (osmcip *OpenShiftManagedClusterIdentityProvider) UnmarshalJSON(body []byte) error { 2696 var m map[string]*json.RawMessage 2697 err := json.Unmarshal(body, &m) 2698 if err != nil { 2699 return err 2700 } 2701 for k, v := range m { 2702 switch k { 2703 case "name": 2704 if v != nil { 2705 var name string 2706 err = json.Unmarshal(*v, &name) 2707 if err != nil { 2708 return err 2709 } 2710 osmcip.Name = &name 2711 } 2712 case "provider": 2713 if v != nil { 2714 provider, err := unmarshalBasicOpenShiftManagedClusterBaseIdentityProvider(*v) 2715 if err != nil { 2716 return err 2717 } 2718 osmcip.Provider = provider 2719 } 2720 } 2721 } 2722 2723 return nil 2724} 2725 2726// OpenShiftManagedClusterListResult the response from the List OpenShift Managed Clusters operation. 2727type OpenShiftManagedClusterListResult struct { 2728 autorest.Response `json:"-"` 2729 // Value - The list of OpenShift managed clusters. 2730 Value *[]OpenShiftManagedCluster `json:"value,omitempty"` 2731 // NextLink - READ-ONLY; The URL to get the next set of OpenShift managed cluster results. 2732 NextLink *string `json:"nextLink,omitempty"` 2733} 2734 2735// OpenShiftManagedClusterListResultIterator provides access to a complete listing of 2736// OpenShiftManagedCluster values. 2737type OpenShiftManagedClusterListResultIterator struct { 2738 i int 2739 page OpenShiftManagedClusterListResultPage 2740} 2741 2742// NextWithContext advances to the next value. If there was an error making 2743// the request the iterator does not advance and the error is returned. 2744func (iter *OpenShiftManagedClusterListResultIterator) NextWithContext(ctx context.Context) (err error) { 2745 if tracing.IsEnabled() { 2746 ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftManagedClusterListResultIterator.NextWithContext") 2747 defer func() { 2748 sc := -1 2749 if iter.Response().Response.Response != nil { 2750 sc = iter.Response().Response.Response.StatusCode 2751 } 2752 tracing.EndSpan(ctx, sc, err) 2753 }() 2754 } 2755 iter.i++ 2756 if iter.i < len(iter.page.Values()) { 2757 return nil 2758 } 2759 err = iter.page.NextWithContext(ctx) 2760 if err != nil { 2761 iter.i-- 2762 return err 2763 } 2764 iter.i = 0 2765 return nil 2766} 2767 2768// Next advances to the next value. If there was an error making 2769// the request the iterator does not advance and the error is returned. 2770// Deprecated: Use NextWithContext() instead. 2771func (iter *OpenShiftManagedClusterListResultIterator) Next() error { 2772 return iter.NextWithContext(context.Background()) 2773} 2774 2775// NotDone returns true if the enumeration should be started or is not yet complete. 2776func (iter OpenShiftManagedClusterListResultIterator) NotDone() bool { 2777 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 2778} 2779 2780// Response returns the raw server response from the last page request. 2781func (iter OpenShiftManagedClusterListResultIterator) Response() OpenShiftManagedClusterListResult { 2782 return iter.page.Response() 2783} 2784 2785// Value returns the current value or a zero-initialized value if the 2786// iterator has advanced beyond the end of the collection. 2787func (iter OpenShiftManagedClusterListResultIterator) Value() OpenShiftManagedCluster { 2788 if !iter.page.NotDone() { 2789 return OpenShiftManagedCluster{} 2790 } 2791 return iter.page.Values()[iter.i] 2792} 2793 2794// Creates a new instance of the OpenShiftManagedClusterListResultIterator type. 2795func NewOpenShiftManagedClusterListResultIterator(page OpenShiftManagedClusterListResultPage) OpenShiftManagedClusterListResultIterator { 2796 return OpenShiftManagedClusterListResultIterator{page: page} 2797} 2798 2799// IsEmpty returns true if the ListResult contains no values. 2800func (osmclr OpenShiftManagedClusterListResult) IsEmpty() bool { 2801 return osmclr.Value == nil || len(*osmclr.Value) == 0 2802} 2803 2804// openShiftManagedClusterListResultPreparer prepares a request to retrieve the next set of results. 2805// It returns nil if no more results exist. 2806func (osmclr OpenShiftManagedClusterListResult) openShiftManagedClusterListResultPreparer(ctx context.Context) (*http.Request, error) { 2807 if osmclr.NextLink == nil || len(to.String(osmclr.NextLink)) < 1 { 2808 return nil, nil 2809 } 2810 return autorest.Prepare((&http.Request{}).WithContext(ctx), 2811 autorest.AsJSON(), 2812 autorest.AsGet(), 2813 autorest.WithBaseURL(to.String(osmclr.NextLink))) 2814} 2815 2816// OpenShiftManagedClusterListResultPage contains a page of OpenShiftManagedCluster values. 2817type OpenShiftManagedClusterListResultPage struct { 2818 fn func(context.Context, OpenShiftManagedClusterListResult) (OpenShiftManagedClusterListResult, error) 2819 osmclr OpenShiftManagedClusterListResult 2820} 2821 2822// NextWithContext advances to the next page of values. If there was an error making 2823// the request the page does not advance and the error is returned. 2824func (page *OpenShiftManagedClusterListResultPage) NextWithContext(ctx context.Context) (err error) { 2825 if tracing.IsEnabled() { 2826 ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftManagedClusterListResultPage.NextWithContext") 2827 defer func() { 2828 sc := -1 2829 if page.Response().Response.Response != nil { 2830 sc = page.Response().Response.Response.StatusCode 2831 } 2832 tracing.EndSpan(ctx, sc, err) 2833 }() 2834 } 2835 next, err := page.fn(ctx, page.osmclr) 2836 if err != nil { 2837 return err 2838 } 2839 page.osmclr = next 2840 return nil 2841} 2842 2843// Next advances to the next page of values. If there was an error making 2844// the request the page does not advance and the error is returned. 2845// Deprecated: Use NextWithContext() instead. 2846func (page *OpenShiftManagedClusterListResultPage) Next() error { 2847 return page.NextWithContext(context.Background()) 2848} 2849 2850// NotDone returns true if the page enumeration should be started or is not yet complete. 2851func (page OpenShiftManagedClusterListResultPage) NotDone() bool { 2852 return !page.osmclr.IsEmpty() 2853} 2854 2855// Response returns the raw server response from the last page request. 2856func (page OpenShiftManagedClusterListResultPage) Response() OpenShiftManagedClusterListResult { 2857 return page.osmclr 2858} 2859 2860// Values returns the slice of values for the current page or nil if there are no values. 2861func (page OpenShiftManagedClusterListResultPage) Values() []OpenShiftManagedCluster { 2862 if page.osmclr.IsEmpty() { 2863 return nil 2864 } 2865 return *page.osmclr.Value 2866} 2867 2868// Creates a new instance of the OpenShiftManagedClusterListResultPage type. 2869func NewOpenShiftManagedClusterListResultPage(getNextPage func(context.Context, OpenShiftManagedClusterListResult) (OpenShiftManagedClusterListResult, error)) OpenShiftManagedClusterListResultPage { 2870 return OpenShiftManagedClusterListResultPage{fn: getNextPage} 2871} 2872 2873// OpenShiftManagedClusterMasterPoolProfile openShiftManagedClusterMaterPoolProfile contains configuration 2874// for OpenShift master VMs. 2875type OpenShiftManagedClusterMasterPoolProfile struct { 2876 // Name - Unique name of the master pool profile in the context of the subscription and resource group. 2877 Name *string `json:"name,omitempty"` 2878 // Count - Number of masters (VMs) to host docker containers. The default value is 3. 2879 Count *int32 `json:"count,omitempty"` 2880 // VMSize - Size of agent VMs. Possible values include: 'StandardD2sV3', 'StandardD4sV3', 'StandardD8sV3', 'StandardD16sV3', 'StandardD32sV3', 'StandardD64sV3', 'StandardDS4V2', 'StandardDS5V2', 'StandardF8sV2', 'StandardF16sV2', 'StandardF32sV2', 'StandardF64sV2', 'StandardF72sV2', 'StandardF8s', 'StandardF16s', 'StandardE4sV3', 'StandardE8sV3', 'StandardE16sV3', 'StandardE20sV3', 'StandardE32sV3', 'StandardE64sV3', 'StandardGS2', 'StandardGS3', 'StandardGS4', 'StandardGS5', 'StandardDS12V2', 'StandardDS13V2', 'StandardDS14V2', 'StandardDS15V2', 'StandardL4s', 'StandardL8s', 'StandardL16s', 'StandardL32s' 2881 VMSize OpenShiftContainerServiceVMSize `json:"vmSize,omitempty"` 2882 // SubnetCidr - Subnet CIDR for the peering. 2883 SubnetCidr *string `json:"subnetCidr,omitempty"` 2884 // OsType - OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows' 2885 OsType OSType `json:"osType,omitempty"` 2886} 2887 2888// OpenShiftManagedClusterProperties properties of the OpenShift managed cluster. 2889type OpenShiftManagedClusterProperties struct { 2890 // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response. 2891 ProvisioningState *string `json:"provisioningState,omitempty"` 2892 // OpenShiftVersion - Version of OpenShift specified when creating the cluster. 2893 OpenShiftVersion *string `json:"openShiftVersion,omitempty"` 2894 // ClusterVersion - READ-ONLY; Version of OpenShift specified when creating the cluster. 2895 ClusterVersion *string `json:"clusterVersion,omitempty"` 2896 // PublicHostname - READ-ONLY; Service generated FQDN for OpenShift API server. 2897 PublicHostname *string `json:"publicHostname,omitempty"` 2898 // Fqdn - READ-ONLY; Service generated FQDN for OpenShift API server loadbalancer internal hostname. 2899 Fqdn *string `json:"fqdn,omitempty"` 2900 // NetworkProfile - Configuration for OpenShift networking. 2901 NetworkProfile *NetworkProfile `json:"networkProfile,omitempty"` 2902 // RouterProfiles - Configuration for OpenShift router(s). 2903 RouterProfiles *[]OpenShiftRouterProfile `json:"routerProfiles,omitempty"` 2904 // MasterPoolProfile - Configuration for OpenShift master VMs. 2905 MasterPoolProfile *OpenShiftManagedClusterMasterPoolProfile `json:"masterPoolProfile,omitempty"` 2906 // AgentPoolProfiles - Configuration of OpenShift cluster VMs. 2907 AgentPoolProfiles *[]OpenShiftManagedClusterAgentPoolProfile `json:"agentPoolProfiles,omitempty"` 2908 // AuthProfile - Configures OpenShift authentication. 2909 AuthProfile *OpenShiftManagedClusterAuthProfile `json:"authProfile,omitempty"` 2910} 2911 2912// OpenShiftManagedClustersCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of 2913// a long-running operation. 2914type OpenShiftManagedClustersCreateOrUpdateFuture struct { 2915 azure.Future 2916} 2917 2918// Result returns the result of the asynchronous operation. 2919// If the operation has not completed it will return an error. 2920func (future *OpenShiftManagedClustersCreateOrUpdateFuture) Result(client OpenShiftManagedClustersClient) (osmc OpenShiftManagedCluster, err error) { 2921 var done bool 2922 done, err = future.DoneWithContext(context.Background(), client) 2923 if err != nil { 2924 err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 2925 return 2926 } 2927 if !done { 2928 err = azure.NewAsyncOpIncompleteError("containerservice.OpenShiftManagedClustersCreateOrUpdateFuture") 2929 return 2930 } 2931 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 2932 if osmc.Response.Response, err = future.GetResult(sender); err == nil && osmc.Response.Response.StatusCode != http.StatusNoContent { 2933 osmc, err = client.CreateOrUpdateResponder(osmc.Response.Response) 2934 if err != nil { 2935 err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersCreateOrUpdateFuture", "Result", osmc.Response.Response, "Failure responding to request") 2936 } 2937 } 2938 return 2939} 2940 2941// OpenShiftManagedClustersDeleteFuture an abstraction for monitoring and retrieving the results of a 2942// long-running operation. 2943type OpenShiftManagedClustersDeleteFuture struct { 2944 azure.Future 2945} 2946 2947// Result returns the result of the asynchronous operation. 2948// If the operation has not completed it will return an error. 2949func (future *OpenShiftManagedClustersDeleteFuture) Result(client OpenShiftManagedClustersClient) (ar autorest.Response, err error) { 2950 var done bool 2951 done, err = future.DoneWithContext(context.Background(), client) 2952 if err != nil { 2953 err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersDeleteFuture", "Result", future.Response(), "Polling failure") 2954 return 2955 } 2956 if !done { 2957 err = azure.NewAsyncOpIncompleteError("containerservice.OpenShiftManagedClustersDeleteFuture") 2958 return 2959 } 2960 ar.Response = future.Response() 2961 return 2962} 2963 2964// OpenShiftManagedClustersUpdateTagsFuture an abstraction for monitoring and retrieving the results of a 2965// long-running operation. 2966type OpenShiftManagedClustersUpdateTagsFuture struct { 2967 azure.Future 2968} 2969 2970// Result returns the result of the asynchronous operation. 2971// If the operation has not completed it will return an error. 2972func (future *OpenShiftManagedClustersUpdateTagsFuture) Result(client OpenShiftManagedClustersClient) (osmc OpenShiftManagedCluster, err error) { 2973 var done bool 2974 done, err = future.DoneWithContext(context.Background(), client) 2975 if err != nil { 2976 err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersUpdateTagsFuture", "Result", future.Response(), "Polling failure") 2977 return 2978 } 2979 if !done { 2980 err = azure.NewAsyncOpIncompleteError("containerservice.OpenShiftManagedClustersUpdateTagsFuture") 2981 return 2982 } 2983 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 2984 if osmc.Response.Response, err = future.GetResult(sender); err == nil && osmc.Response.Response.StatusCode != http.StatusNoContent { 2985 osmc, err = client.UpdateTagsResponder(osmc.Response.Response) 2986 if err != nil { 2987 err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersUpdateTagsFuture", "Result", osmc.Response.Response, "Failure responding to request") 2988 } 2989 } 2990 return 2991} 2992 2993// OpenShiftRouterProfile represents an OpenShift router 2994type OpenShiftRouterProfile struct { 2995 // Name - Name of the router profile. 2996 Name *string `json:"name,omitempty"` 2997 // PublicSubdomain - READ-ONLY; DNS subdomain for OpenShift router. 2998 PublicSubdomain *string `json:"publicSubdomain,omitempty"` 2999 // Fqdn - READ-ONLY; Auto-allocated FQDN for the OpenShift router. 3000 Fqdn *string `json:"fqdn,omitempty"` 3001} 3002 3003// OperationListResult the List Compute Operation operation response. 3004type OperationListResult struct { 3005 autorest.Response `json:"-"` 3006 // Value - READ-ONLY; The list of compute operations 3007 Value *[]OperationValue `json:"value,omitempty"` 3008} 3009 3010// OperationValue describes the properties of a Compute Operation value. 3011type OperationValue struct { 3012 // Origin - READ-ONLY; The origin of the compute operation. 3013 Origin *string `json:"origin,omitempty"` 3014 // Name - READ-ONLY; The name of the compute operation. 3015 Name *string `json:"name,omitempty"` 3016 // OperationValueDisplay - Describes the properties of a Compute Operation Value Display. 3017 *OperationValueDisplay `json:"display,omitempty"` 3018} 3019 3020// MarshalJSON is the custom marshaler for OperationValue. 3021func (ov OperationValue) MarshalJSON() ([]byte, error) { 3022 objectMap := make(map[string]interface{}) 3023 if ov.OperationValueDisplay != nil { 3024 objectMap["display"] = ov.OperationValueDisplay 3025 } 3026 return json.Marshal(objectMap) 3027} 3028 3029// UnmarshalJSON is the custom unmarshaler for OperationValue struct. 3030func (ov *OperationValue) UnmarshalJSON(body []byte) error { 3031 var m map[string]*json.RawMessage 3032 err := json.Unmarshal(body, &m) 3033 if err != nil { 3034 return err 3035 } 3036 for k, v := range m { 3037 switch k { 3038 case "origin": 3039 if v != nil { 3040 var origin string 3041 err = json.Unmarshal(*v, &origin) 3042 if err != nil { 3043 return err 3044 } 3045 ov.Origin = &origin 3046 } 3047 case "name": 3048 if v != nil { 3049 var name string 3050 err = json.Unmarshal(*v, &name) 3051 if err != nil { 3052 return err 3053 } 3054 ov.Name = &name 3055 } 3056 case "display": 3057 if v != nil { 3058 var operationValueDisplay OperationValueDisplay 3059 err = json.Unmarshal(*v, &operationValueDisplay) 3060 if err != nil { 3061 return err 3062 } 3063 ov.OperationValueDisplay = &operationValueDisplay 3064 } 3065 } 3066 } 3067 3068 return nil 3069} 3070 3071// OperationValueDisplay describes the properties of a Compute Operation Value Display. 3072type OperationValueDisplay struct { 3073 // Operation - READ-ONLY; The display name of the compute operation. 3074 Operation *string `json:"operation,omitempty"` 3075 // Resource - READ-ONLY; The display name of the resource the operation applies to. 3076 Resource *string `json:"resource,omitempty"` 3077 // Description - READ-ONLY; The description of the operation. 3078 Description *string `json:"description,omitempty"` 3079 // Provider - READ-ONLY; The resource provider for the operation. 3080 Provider *string `json:"provider,omitempty"` 3081} 3082 3083// OrchestratorProfile contains information about orchestrator. 3084type OrchestratorProfile struct { 3085 // OrchestratorType - Orchestrator type. 3086 OrchestratorType *string `json:"orchestratorType,omitempty"` 3087 // OrchestratorVersion - Orchestrator version (major, minor, patch). 3088 OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` 3089 // IsPreview - Whether Kubernetes version is currently in preview. 3090 IsPreview *bool `json:"isPreview,omitempty"` 3091} 3092 3093// OrchestratorProfileType profile for the container service orchestrator. 3094type OrchestratorProfileType struct { 3095 // OrchestratorType - The orchestrator to use to manage container service cluster resources. Valid values are Kubernetes, Swarm, DCOS, DockerCE and Custom. Possible values include: 'Kubernetes', 'Swarm', 'DCOS', 'DockerCE', 'Custom' 3096 OrchestratorType OrchestratorTypes `json:"orchestratorType,omitempty"` 3097 // OrchestratorVersion - The version of the orchestrator to use. You can specify the major.minor.patch part of the actual version.For example, you can specify version as "1.6.11". 3098 OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` 3099} 3100 3101// OrchestratorVersionProfile the profile of an orchestrator and its available versions. 3102type OrchestratorVersionProfile struct { 3103 // OrchestratorType - Orchestrator type. 3104 OrchestratorType *string `json:"orchestratorType,omitempty"` 3105 // OrchestratorVersion - Orchestrator version (major, minor, patch). 3106 OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` 3107 // Default - Installed by default if version is not specified. 3108 Default *bool `json:"default,omitempty"` 3109 // IsPreview - Whether Kubernetes version is currently in preview. 3110 IsPreview *bool `json:"isPreview,omitempty"` 3111 // Upgrades - The list of available upgrade versions. 3112 Upgrades *[]OrchestratorProfile `json:"upgrades,omitempty"` 3113} 3114 3115// OrchestratorVersionProfileListResult the list of versions for supported orchestrators. 3116type OrchestratorVersionProfileListResult struct { 3117 autorest.Response `json:"-"` 3118 // ID - READ-ONLY; Id of the orchestrator version profile list result. 3119 ID *string `json:"id,omitempty"` 3120 // Name - READ-ONLY; Name of the orchestrator version profile list result. 3121 Name *string `json:"name,omitempty"` 3122 // Type - READ-ONLY; Type of the orchestrator version profile list result. 3123 Type *string `json:"type,omitempty"` 3124 // OrchestratorVersionProfileProperties - The properties of an orchestrator version profile. 3125 *OrchestratorVersionProfileProperties `json:"properties,omitempty"` 3126} 3127 3128// MarshalJSON is the custom marshaler for OrchestratorVersionProfileListResult. 3129func (ovplr OrchestratorVersionProfileListResult) MarshalJSON() ([]byte, error) { 3130 objectMap := make(map[string]interface{}) 3131 if ovplr.OrchestratorVersionProfileProperties != nil { 3132 objectMap["properties"] = ovplr.OrchestratorVersionProfileProperties 3133 } 3134 return json.Marshal(objectMap) 3135} 3136 3137// UnmarshalJSON is the custom unmarshaler for OrchestratorVersionProfileListResult struct. 3138func (ovplr *OrchestratorVersionProfileListResult) UnmarshalJSON(body []byte) error { 3139 var m map[string]*json.RawMessage 3140 err := json.Unmarshal(body, &m) 3141 if err != nil { 3142 return err 3143 } 3144 for k, v := range m { 3145 switch k { 3146 case "id": 3147 if v != nil { 3148 var ID string 3149 err = json.Unmarshal(*v, &ID) 3150 if err != nil { 3151 return err 3152 } 3153 ovplr.ID = &ID 3154 } 3155 case "name": 3156 if v != nil { 3157 var name string 3158 err = json.Unmarshal(*v, &name) 3159 if err != nil { 3160 return err 3161 } 3162 ovplr.Name = &name 3163 } 3164 case "type": 3165 if v != nil { 3166 var typeVar string 3167 err = json.Unmarshal(*v, &typeVar) 3168 if err != nil { 3169 return err 3170 } 3171 ovplr.Type = &typeVar 3172 } 3173 case "properties": 3174 if v != nil { 3175 var orchestratorVersionProfileProperties OrchestratorVersionProfileProperties 3176 err = json.Unmarshal(*v, &orchestratorVersionProfileProperties) 3177 if err != nil { 3178 return err 3179 } 3180 ovplr.OrchestratorVersionProfileProperties = &orchestratorVersionProfileProperties 3181 } 3182 } 3183 } 3184 3185 return nil 3186} 3187 3188// OrchestratorVersionProfileProperties the properties of an orchestrator version profile. 3189type OrchestratorVersionProfileProperties struct { 3190 // Orchestrators - List of orchestrator version profiles. 3191 Orchestrators *[]OrchestratorVersionProfile `json:"orchestrators,omitempty"` 3192} 3193 3194// Properties properties of the container service. 3195type Properties struct { 3196 // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response. 3197 ProvisioningState *string `json:"provisioningState,omitempty"` 3198 // OrchestratorProfile - Profile for the container service orchestrator. 3199 OrchestratorProfile *OrchestratorProfileType `json:"orchestratorProfile,omitempty"` 3200 // CustomProfile - Properties to configure a custom container service cluster. 3201 CustomProfile *CustomProfile `json:"customProfile,omitempty"` 3202 // ServicePrincipalProfile - Information about a service principal identity for the cluster to use for manipulating Azure APIs. Exact one of secret or keyVaultSecretRef need to be specified. 3203 ServicePrincipalProfile *ServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` 3204 // MasterProfile - Profile for the container service master. 3205 MasterProfile *MasterProfile `json:"masterProfile,omitempty"` 3206 // AgentPoolProfiles - Properties of the agent pool. 3207 AgentPoolProfiles *[]AgentPoolProfile `json:"agentPoolProfiles,omitempty"` 3208 // WindowsProfile - Profile for Windows VMs in the container service cluster. 3209 WindowsProfile *WindowsProfile `json:"windowsProfile,omitempty"` 3210 // LinuxProfile - Profile for Linux VMs in the container service cluster. 3211 LinuxProfile *LinuxProfile `json:"linuxProfile,omitempty"` 3212 // DiagnosticsProfile - Profile for diagnostics in the container service cluster. 3213 DiagnosticsProfile *DiagnosticsProfile `json:"diagnosticsProfile,omitempty"` 3214} 3215 3216// PurchasePlan used for establishing the purchase context of any 3rd Party artifact through MarketPlace. 3217type PurchasePlan struct { 3218 // Name - The plan ID. 3219 Name *string `json:"name,omitempty"` 3220 // Product - Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. 3221 Product *string `json:"product,omitempty"` 3222 // PromotionCode - The promotion code. 3223 PromotionCode *string `json:"promotionCode,omitempty"` 3224 // Publisher - The plan ID. 3225 Publisher *string `json:"publisher,omitempty"` 3226} 3227 3228// Resource the Resource model definition. 3229type Resource struct { 3230 // ID - READ-ONLY; Resource Id 3231 ID *string `json:"id,omitempty"` 3232 // Name - READ-ONLY; Resource name 3233 Name *string `json:"name,omitempty"` 3234 // Type - READ-ONLY; Resource type 3235 Type *string `json:"type,omitempty"` 3236 // Location - Resource location 3237 Location *string `json:"location,omitempty"` 3238 // Tags - Resource tags 3239 Tags map[string]*string `json:"tags"` 3240} 3241 3242// MarshalJSON is the custom marshaler for Resource. 3243func (r Resource) MarshalJSON() ([]byte, error) { 3244 objectMap := make(map[string]interface{}) 3245 if r.Location != nil { 3246 objectMap["location"] = r.Location 3247 } 3248 if r.Tags != nil { 3249 objectMap["tags"] = r.Tags 3250 } 3251 return json.Marshal(objectMap) 3252} 3253 3254// ResourceReference a reference to an Azure resource. 3255type ResourceReference struct { 3256 // ID - The fully qualified Azure resource id. 3257 ID *string `json:"id,omitempty"` 3258} 3259 3260// ServicePrincipalProfile information about a service principal identity for the cluster to use for 3261// manipulating Azure APIs. Either secret or keyVaultSecretRef must be specified. 3262type ServicePrincipalProfile struct { 3263 // ClientID - The ID for the service principal. 3264 ClientID *string `json:"clientId,omitempty"` 3265 // Secret - The secret password associated with the service principal in plain text. 3266 Secret *string `json:"secret,omitempty"` 3267 // KeyVaultSecretRef - Reference to a secret stored in Azure Key Vault. 3268 KeyVaultSecretRef *KeyVaultSecretRef `json:"keyVaultSecretRef,omitempty"` 3269} 3270 3271// SSHConfiguration SSH configuration for Linux-based VMs running on Azure. 3272type SSHConfiguration struct { 3273 // PublicKeys - The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified. 3274 PublicKeys *[]SSHPublicKey `json:"publicKeys,omitempty"` 3275} 3276 3277// SSHPublicKey contains information about SSH certificate public key data. 3278type SSHPublicKey struct { 3279 // KeyData - Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. 3280 KeyData *string `json:"keyData,omitempty"` 3281} 3282 3283// SubResource reference to another subresource. 3284type SubResource struct { 3285 // ID - READ-ONLY; Resource ID. 3286 ID *string `json:"id,omitempty"` 3287 // Name - READ-ONLY; The name of the resource that is unique within a resource group. This name can be used to access the resource. 3288 Name *string `json:"name,omitempty"` 3289 // Type - READ-ONLY; Resource type 3290 Type *string `json:"type,omitempty"` 3291} 3292 3293// TagsObject tags object for patch operations. 3294type TagsObject struct { 3295 // Tags - Resource tags. 3296 Tags map[string]*string `json:"tags"` 3297} 3298 3299// MarshalJSON is the custom marshaler for TagsObject. 3300func (toVar TagsObject) MarshalJSON() ([]byte, error) { 3301 objectMap := make(map[string]interface{}) 3302 if toVar.Tags != nil { 3303 objectMap["tags"] = toVar.Tags 3304 } 3305 return json.Marshal(objectMap) 3306} 3307 3308// VMDiagnostics profile for diagnostics on the container service VMs. 3309type VMDiagnostics struct { 3310 // Enabled - Whether the VM diagnostic agent is provisioned on the VM. 3311 Enabled *bool `json:"enabled,omitempty"` 3312 // StorageURI - READ-ONLY; The URI of the storage account where diagnostics are stored. 3313 StorageURI *string `json:"storageUri,omitempty"` 3314} 3315 3316// WindowsProfile profile for Windows VMs in the container service cluster. 3317type WindowsProfile struct { 3318 // AdminUsername - The administrator username to use for Windows VMs. 3319 AdminUsername *string `json:"adminUsername,omitempty"` 3320 // AdminPassword - The administrator password to use for Windows VMs. 3321 AdminPassword *string `json:"adminPassword,omitempty"` 3322} 3323