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