1// +build go1.13
2
3// Copyright (c) Microsoft Corporation. All rights reserved.
4// Licensed under the MIT License. See License.txt in the project root for license information.
5// Code generated by Microsoft (R) AutoRest Code Generator.
6// Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
8package armcontainerservice
9
10const telemetryInfo = "azsdk-go-armcontainerservice/v0.1.0"
11
12// AgentPoolMode - A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices,
13// see: https://docs.microsoft.com/azure/aks/use-system-pools
14type AgentPoolMode string
15
16const (
17	// AgentPoolModeSystem - System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType
18	// must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory.
19	AgentPoolModeSystem AgentPoolMode = "System"
20	// AgentPoolModeUser - User agent pools are primarily for hosting your application pods.
21	AgentPoolModeUser AgentPoolMode = "User"
22)
23
24// PossibleAgentPoolModeValues returns the possible values for the AgentPoolMode const type.
25func PossibleAgentPoolModeValues() []AgentPoolMode {
26	return []AgentPoolMode{
27		AgentPoolModeSystem,
28		AgentPoolModeUser,
29	}
30}
31
32// ToPtr returns a *AgentPoolMode pointing to the current value.
33func (c AgentPoolMode) ToPtr() *AgentPoolMode {
34	return &c
35}
36
37// AgentPoolType - The type of Agent Pool.
38type AgentPoolType string
39
40const (
41	// AgentPoolTypeAvailabilitySet - Use of this is strongly discouraged.
42	AgentPoolTypeAvailabilitySet AgentPoolType = "AvailabilitySet"
43	// AgentPoolTypeVirtualMachineScaleSets - Create an Agent Pool backed by a Virtual Machine Scale Set.
44	AgentPoolTypeVirtualMachineScaleSets AgentPoolType = "VirtualMachineScaleSets"
45)
46
47// PossibleAgentPoolTypeValues returns the possible values for the AgentPoolType const type.
48func PossibleAgentPoolTypeValues() []AgentPoolType {
49	return []AgentPoolType{
50		AgentPoolTypeAvailabilitySet,
51		AgentPoolTypeVirtualMachineScaleSets,
52	}
53}
54
55// ToPtr returns a *AgentPoolType pointing to the current value.
56func (c AgentPoolType) ToPtr() *AgentPoolType {
57	return &c
58}
59
60// Code - Tells whether the cluster is Running or Stopped
61type Code string
62
63const (
64	// CodeRunning - The cluster is running.
65	CodeRunning Code = "Running"
66	// CodeStopped - The cluster is stopped.
67	CodeStopped Code = "Stopped"
68)
69
70// PossibleCodeValues returns the possible values for the Code const type.
71func PossibleCodeValues() []Code {
72	return []Code{
73		CodeRunning,
74		CodeStopped,
75	}
76}
77
78// ToPtr returns a *Code pointing to the current value.
79func (c Code) ToPtr() *Code {
80	return &c
81}
82
83// ConnectionStatus - The private link service connection status.
84type ConnectionStatus string
85
86const (
87	ConnectionStatusApproved     ConnectionStatus = "Approved"
88	ConnectionStatusDisconnected ConnectionStatus = "Disconnected"
89	ConnectionStatusPending      ConnectionStatus = "Pending"
90	ConnectionStatusRejected     ConnectionStatus = "Rejected"
91)
92
93// PossibleConnectionStatusValues returns the possible values for the ConnectionStatus const type.
94func PossibleConnectionStatusValues() []ConnectionStatus {
95	return []ConnectionStatus{
96		ConnectionStatusApproved,
97		ConnectionStatusDisconnected,
98		ConnectionStatusPending,
99		ConnectionStatusRejected,
100	}
101}
102
103// ToPtr returns a *ConnectionStatus pointing to the current value.
104func (c ConnectionStatus) ToPtr() *ConnectionStatus {
105	return &c
106}
107
108// ContainerServiceStorageProfileTypes - Specifies what kind of storage to use. If omitted, the default will be chosen on your behalf based on the choice
109// of orchestrator.
110type ContainerServiceStorageProfileTypes string
111
112const (
113	ContainerServiceStorageProfileTypesManagedDisks   ContainerServiceStorageProfileTypes = "ManagedDisks"
114	ContainerServiceStorageProfileTypesStorageAccount ContainerServiceStorageProfileTypes = "StorageAccount"
115)
116
117// PossibleContainerServiceStorageProfileTypesValues returns the possible values for the ContainerServiceStorageProfileTypes const type.
118func PossibleContainerServiceStorageProfileTypesValues() []ContainerServiceStorageProfileTypes {
119	return []ContainerServiceStorageProfileTypes{
120		ContainerServiceStorageProfileTypesManagedDisks,
121		ContainerServiceStorageProfileTypesStorageAccount,
122	}
123}
124
125// ToPtr returns a *ContainerServiceStorageProfileTypes pointing to the current value.
126func (c ContainerServiceStorageProfileTypes) ToPtr() *ContainerServiceStorageProfileTypes {
127	return &c
128}
129
130// ContainerServiceVMSizeTypes - Size of agent VMs. Note: This is no longer maintained.
131type ContainerServiceVMSizeTypes string
132
133const (
134	ContainerServiceVMSizeTypesStandardA1          ContainerServiceVMSizeTypes = "Standard_A1"
135	ContainerServiceVMSizeTypesStandardA10         ContainerServiceVMSizeTypes = "Standard_A10"
136	ContainerServiceVMSizeTypesStandardA11         ContainerServiceVMSizeTypes = "Standard_A11"
137	ContainerServiceVMSizeTypesStandardA1V2        ContainerServiceVMSizeTypes = "Standard_A1_v2"
138	ContainerServiceVMSizeTypesStandardA2          ContainerServiceVMSizeTypes = "Standard_A2"
139	ContainerServiceVMSizeTypesStandardA2MV2       ContainerServiceVMSizeTypes = "Standard_A2m_v2"
140	ContainerServiceVMSizeTypesStandardA2V2        ContainerServiceVMSizeTypes = "Standard_A2_v2"
141	ContainerServiceVMSizeTypesStandardA3          ContainerServiceVMSizeTypes = "Standard_A3"
142	ContainerServiceVMSizeTypesStandardA4          ContainerServiceVMSizeTypes = "Standard_A4"
143	ContainerServiceVMSizeTypesStandardA4MV2       ContainerServiceVMSizeTypes = "Standard_A4m_v2"
144	ContainerServiceVMSizeTypesStandardA4V2        ContainerServiceVMSizeTypes = "Standard_A4_v2"
145	ContainerServiceVMSizeTypesStandardA5          ContainerServiceVMSizeTypes = "Standard_A5"
146	ContainerServiceVMSizeTypesStandardA6          ContainerServiceVMSizeTypes = "Standard_A6"
147	ContainerServiceVMSizeTypesStandardA7          ContainerServiceVMSizeTypes = "Standard_A7"
148	ContainerServiceVMSizeTypesStandardA8          ContainerServiceVMSizeTypes = "Standard_A8"
149	ContainerServiceVMSizeTypesStandardA8MV2       ContainerServiceVMSizeTypes = "Standard_A8m_v2"
150	ContainerServiceVMSizeTypesStandardA8V2        ContainerServiceVMSizeTypes = "Standard_A8_v2"
151	ContainerServiceVMSizeTypesStandardA9          ContainerServiceVMSizeTypes = "Standard_A9"
152	ContainerServiceVMSizeTypesStandardB2Ms        ContainerServiceVMSizeTypes = "Standard_B2ms"
153	ContainerServiceVMSizeTypesStandardB2S         ContainerServiceVMSizeTypes = "Standard_B2s"
154	ContainerServiceVMSizeTypesStandardB4Ms        ContainerServiceVMSizeTypes = "Standard_B4ms"
155	ContainerServiceVMSizeTypesStandardB8Ms        ContainerServiceVMSizeTypes = "Standard_B8ms"
156	ContainerServiceVMSizeTypesStandardD1          ContainerServiceVMSizeTypes = "Standard_D1"
157	ContainerServiceVMSizeTypesStandardD11         ContainerServiceVMSizeTypes = "Standard_D11"
158	ContainerServiceVMSizeTypesStandardD11V2       ContainerServiceVMSizeTypes = "Standard_D11_v2"
159	ContainerServiceVMSizeTypesStandardD11V2Promo  ContainerServiceVMSizeTypes = "Standard_D11_v2_Promo"
160	ContainerServiceVMSizeTypesStandardD12         ContainerServiceVMSizeTypes = "Standard_D12"
161	ContainerServiceVMSizeTypesStandardD12V2       ContainerServiceVMSizeTypes = "Standard_D12_v2"
162	ContainerServiceVMSizeTypesStandardD12V2Promo  ContainerServiceVMSizeTypes = "Standard_D12_v2_Promo"
163	ContainerServiceVMSizeTypesStandardD13         ContainerServiceVMSizeTypes = "Standard_D13"
164	ContainerServiceVMSizeTypesStandardD13V2       ContainerServiceVMSizeTypes = "Standard_D13_v2"
165	ContainerServiceVMSizeTypesStandardD13V2Promo  ContainerServiceVMSizeTypes = "Standard_D13_v2_Promo"
166	ContainerServiceVMSizeTypesStandardD14         ContainerServiceVMSizeTypes = "Standard_D14"
167	ContainerServiceVMSizeTypesStandardD14V2       ContainerServiceVMSizeTypes = "Standard_D14_v2"
168	ContainerServiceVMSizeTypesStandardD14V2Promo  ContainerServiceVMSizeTypes = "Standard_D14_v2_Promo"
169	ContainerServiceVMSizeTypesStandardD15V2       ContainerServiceVMSizeTypes = "Standard_D15_v2"
170	ContainerServiceVMSizeTypesStandardD16SV3      ContainerServiceVMSizeTypes = "Standard_D16s_v3"
171	ContainerServiceVMSizeTypesStandardD16V3       ContainerServiceVMSizeTypes = "Standard_D16_v3"
172	ContainerServiceVMSizeTypesStandardD1V2        ContainerServiceVMSizeTypes = "Standard_D1_v2"
173	ContainerServiceVMSizeTypesStandardD2          ContainerServiceVMSizeTypes = "Standard_D2"
174	ContainerServiceVMSizeTypesStandardD2SV3       ContainerServiceVMSizeTypes = "Standard_D2s_v3"
175	ContainerServiceVMSizeTypesStandardD2V2        ContainerServiceVMSizeTypes = "Standard_D2_v2"
176	ContainerServiceVMSizeTypesStandardD2V2Promo   ContainerServiceVMSizeTypes = "Standard_D2_v2_Promo"
177	ContainerServiceVMSizeTypesStandardD2V3        ContainerServiceVMSizeTypes = "Standard_D2_v3"
178	ContainerServiceVMSizeTypesStandardD3          ContainerServiceVMSizeTypes = "Standard_D3"
179	ContainerServiceVMSizeTypesStandardD32SV3      ContainerServiceVMSizeTypes = "Standard_D32s_v3"
180	ContainerServiceVMSizeTypesStandardD32V3       ContainerServiceVMSizeTypes = "Standard_D32_v3"
181	ContainerServiceVMSizeTypesStandardD3V2        ContainerServiceVMSizeTypes = "Standard_D3_v2"
182	ContainerServiceVMSizeTypesStandardD3V2Promo   ContainerServiceVMSizeTypes = "Standard_D3_v2_Promo"
183	ContainerServiceVMSizeTypesStandardD4          ContainerServiceVMSizeTypes = "Standard_D4"
184	ContainerServiceVMSizeTypesStandardD4SV3       ContainerServiceVMSizeTypes = "Standard_D4s_v3"
185	ContainerServiceVMSizeTypesStandardD4V2        ContainerServiceVMSizeTypes = "Standard_D4_v2"
186	ContainerServiceVMSizeTypesStandardD4V2Promo   ContainerServiceVMSizeTypes = "Standard_D4_v2_Promo"
187	ContainerServiceVMSizeTypesStandardD4V3        ContainerServiceVMSizeTypes = "Standard_D4_v3"
188	ContainerServiceVMSizeTypesStandardD5V2        ContainerServiceVMSizeTypes = "Standard_D5_v2"
189	ContainerServiceVMSizeTypesStandardD5V2Promo   ContainerServiceVMSizeTypes = "Standard_D5_v2_Promo"
190	ContainerServiceVMSizeTypesStandardD64SV3      ContainerServiceVMSizeTypes = "Standard_D64s_v3"
191	ContainerServiceVMSizeTypesStandardD64V3       ContainerServiceVMSizeTypes = "Standard_D64_v3"
192	ContainerServiceVMSizeTypesStandardD8SV3       ContainerServiceVMSizeTypes = "Standard_D8s_v3"
193	ContainerServiceVMSizeTypesStandardD8V3        ContainerServiceVMSizeTypes = "Standard_D8_v3"
194	ContainerServiceVMSizeTypesStandardDS1         ContainerServiceVMSizeTypes = "Standard_DS1"
195	ContainerServiceVMSizeTypesStandardDS11        ContainerServiceVMSizeTypes = "Standard_DS11"
196	ContainerServiceVMSizeTypesStandardDS11V2      ContainerServiceVMSizeTypes = "Standard_DS11_v2"
197	ContainerServiceVMSizeTypesStandardDS11V2Promo ContainerServiceVMSizeTypes = "Standard_DS11_v2_Promo"
198	ContainerServiceVMSizeTypesStandardDS12        ContainerServiceVMSizeTypes = "Standard_DS12"
199	ContainerServiceVMSizeTypesStandardDS12V2      ContainerServiceVMSizeTypes = "Standard_DS12_v2"
200	ContainerServiceVMSizeTypesStandardDS12V2Promo ContainerServiceVMSizeTypes = "Standard_DS12_v2_Promo"
201	ContainerServiceVMSizeTypesStandardDS13        ContainerServiceVMSizeTypes = "Standard_DS13"
202	ContainerServiceVMSizeTypesStandardDS132V2     ContainerServiceVMSizeTypes = "Standard_DS13-2_v2"
203	ContainerServiceVMSizeTypesStandardDS134V2     ContainerServiceVMSizeTypes = "Standard_DS13-4_v2"
204	ContainerServiceVMSizeTypesStandardDS13V2      ContainerServiceVMSizeTypes = "Standard_DS13_v2"
205	ContainerServiceVMSizeTypesStandardDS13V2Promo ContainerServiceVMSizeTypes = "Standard_DS13_v2_Promo"
206	ContainerServiceVMSizeTypesStandardDS14        ContainerServiceVMSizeTypes = "Standard_DS14"
207	ContainerServiceVMSizeTypesStandardDS144V2     ContainerServiceVMSizeTypes = "Standard_DS14-4_v2"
208	ContainerServiceVMSizeTypesStandardDS148V2     ContainerServiceVMSizeTypes = "Standard_DS14-8_v2"
209	ContainerServiceVMSizeTypesStandardDS14V2      ContainerServiceVMSizeTypes = "Standard_DS14_v2"
210	ContainerServiceVMSizeTypesStandardDS14V2Promo ContainerServiceVMSizeTypes = "Standard_DS14_v2_Promo"
211	ContainerServiceVMSizeTypesStandardDS15V2      ContainerServiceVMSizeTypes = "Standard_DS15_v2"
212	ContainerServiceVMSizeTypesStandardDS1V2       ContainerServiceVMSizeTypes = "Standard_DS1_v2"
213	ContainerServiceVMSizeTypesStandardDS2         ContainerServiceVMSizeTypes = "Standard_DS2"
214	ContainerServiceVMSizeTypesStandardDS2V2       ContainerServiceVMSizeTypes = "Standard_DS2_v2"
215	ContainerServiceVMSizeTypesStandardDS2V2Promo  ContainerServiceVMSizeTypes = "Standard_DS2_v2_Promo"
216	ContainerServiceVMSizeTypesStandardDS3         ContainerServiceVMSizeTypes = "Standard_DS3"
217	ContainerServiceVMSizeTypesStandardDS3V2       ContainerServiceVMSizeTypes = "Standard_DS3_v2"
218	ContainerServiceVMSizeTypesStandardDS3V2Promo  ContainerServiceVMSizeTypes = "Standard_DS3_v2_Promo"
219	ContainerServiceVMSizeTypesStandardDS4         ContainerServiceVMSizeTypes = "Standard_DS4"
220	ContainerServiceVMSizeTypesStandardDS4V2       ContainerServiceVMSizeTypes = "Standard_DS4_v2"
221	ContainerServiceVMSizeTypesStandardDS4V2Promo  ContainerServiceVMSizeTypes = "Standard_DS4_v2_Promo"
222	ContainerServiceVMSizeTypesStandardDS5V2       ContainerServiceVMSizeTypes = "Standard_DS5_v2"
223	ContainerServiceVMSizeTypesStandardDS5V2Promo  ContainerServiceVMSizeTypes = "Standard_DS5_v2_Promo"
224	ContainerServiceVMSizeTypesStandardE16SV3      ContainerServiceVMSizeTypes = "Standard_E16s_v3"
225	ContainerServiceVMSizeTypesStandardE16V3       ContainerServiceVMSizeTypes = "Standard_E16_v3"
226	ContainerServiceVMSizeTypesStandardE2SV3       ContainerServiceVMSizeTypes = "Standard_E2s_v3"
227	ContainerServiceVMSizeTypesStandardE2V3        ContainerServiceVMSizeTypes = "Standard_E2_v3"
228	ContainerServiceVMSizeTypesStandardE3216SV3    ContainerServiceVMSizeTypes = "Standard_E32-16s_v3"
229	ContainerServiceVMSizeTypesStandardE328SV3     ContainerServiceVMSizeTypes = "Standard_E32-8s_v3"
230	ContainerServiceVMSizeTypesStandardE32SV3      ContainerServiceVMSizeTypes = "Standard_E32s_v3"
231	ContainerServiceVMSizeTypesStandardE32V3       ContainerServiceVMSizeTypes = "Standard_E32_v3"
232	ContainerServiceVMSizeTypesStandardE4SV3       ContainerServiceVMSizeTypes = "Standard_E4s_v3"
233	ContainerServiceVMSizeTypesStandardE4V3        ContainerServiceVMSizeTypes = "Standard_E4_v3"
234	ContainerServiceVMSizeTypesStandardE6416SV3    ContainerServiceVMSizeTypes = "Standard_E64-16s_v3"
235	ContainerServiceVMSizeTypesStandardE6432SV3    ContainerServiceVMSizeTypes = "Standard_E64-32s_v3"
236	ContainerServiceVMSizeTypesStandardE64SV3      ContainerServiceVMSizeTypes = "Standard_E64s_v3"
237	ContainerServiceVMSizeTypesStandardE64V3       ContainerServiceVMSizeTypes = "Standard_E64_v3"
238	ContainerServiceVMSizeTypesStandardE8SV3       ContainerServiceVMSizeTypes = "Standard_E8s_v3"
239	ContainerServiceVMSizeTypesStandardE8V3        ContainerServiceVMSizeTypes = "Standard_E8_v3"
240	ContainerServiceVMSizeTypesStandardF1          ContainerServiceVMSizeTypes = "Standard_F1"
241	ContainerServiceVMSizeTypesStandardF16         ContainerServiceVMSizeTypes = "Standard_F16"
242	ContainerServiceVMSizeTypesStandardF16S        ContainerServiceVMSizeTypes = "Standard_F16s"
243	ContainerServiceVMSizeTypesStandardF16SV2      ContainerServiceVMSizeTypes = "Standard_F16s_v2"
244	ContainerServiceVMSizeTypesStandardF1S         ContainerServiceVMSizeTypes = "Standard_F1s"
245	ContainerServiceVMSizeTypesStandardF2          ContainerServiceVMSizeTypes = "Standard_F2"
246	ContainerServiceVMSizeTypesStandardF2S         ContainerServiceVMSizeTypes = "Standard_F2s"
247	ContainerServiceVMSizeTypesStandardF2SV2       ContainerServiceVMSizeTypes = "Standard_F2s_v2"
248	ContainerServiceVMSizeTypesStandardF32SV2      ContainerServiceVMSizeTypes = "Standard_F32s_v2"
249	ContainerServiceVMSizeTypesStandardF4          ContainerServiceVMSizeTypes = "Standard_F4"
250	ContainerServiceVMSizeTypesStandardF4S         ContainerServiceVMSizeTypes = "Standard_F4s"
251	ContainerServiceVMSizeTypesStandardF4SV2       ContainerServiceVMSizeTypes = "Standard_F4s_v2"
252	ContainerServiceVMSizeTypesStandardF64SV2      ContainerServiceVMSizeTypes = "Standard_F64s_v2"
253	ContainerServiceVMSizeTypesStandardF72SV2      ContainerServiceVMSizeTypes = "Standard_F72s_v2"
254	ContainerServiceVMSizeTypesStandardF8          ContainerServiceVMSizeTypes = "Standard_F8"
255	ContainerServiceVMSizeTypesStandardF8S         ContainerServiceVMSizeTypes = "Standard_F8s"
256	ContainerServiceVMSizeTypesStandardF8SV2       ContainerServiceVMSizeTypes = "Standard_F8s_v2"
257	ContainerServiceVMSizeTypesStandardG1          ContainerServiceVMSizeTypes = "Standard_G1"
258	ContainerServiceVMSizeTypesStandardG2          ContainerServiceVMSizeTypes = "Standard_G2"
259	ContainerServiceVMSizeTypesStandardG3          ContainerServiceVMSizeTypes = "Standard_G3"
260	ContainerServiceVMSizeTypesStandardG4          ContainerServiceVMSizeTypes = "Standard_G4"
261	ContainerServiceVMSizeTypesStandardG5          ContainerServiceVMSizeTypes = "Standard_G5"
262	ContainerServiceVMSizeTypesStandardGS1         ContainerServiceVMSizeTypes = "Standard_GS1"
263	ContainerServiceVMSizeTypesStandardGS2         ContainerServiceVMSizeTypes = "Standard_GS2"
264	ContainerServiceVMSizeTypesStandardGS3         ContainerServiceVMSizeTypes = "Standard_GS3"
265	ContainerServiceVMSizeTypesStandardGS4         ContainerServiceVMSizeTypes = "Standard_GS4"
266	ContainerServiceVMSizeTypesStandardGS44        ContainerServiceVMSizeTypes = "Standard_GS4-4"
267	ContainerServiceVMSizeTypesStandardGS48        ContainerServiceVMSizeTypes = "Standard_GS4-8"
268	ContainerServiceVMSizeTypesStandardGS5         ContainerServiceVMSizeTypes = "Standard_GS5"
269	ContainerServiceVMSizeTypesStandardGS516       ContainerServiceVMSizeTypes = "Standard_GS5-16"
270	ContainerServiceVMSizeTypesStandardGS58        ContainerServiceVMSizeTypes = "Standard_GS5-8"
271	ContainerServiceVMSizeTypesStandardH16         ContainerServiceVMSizeTypes = "Standard_H16"
272	ContainerServiceVMSizeTypesStandardH16M        ContainerServiceVMSizeTypes = "Standard_H16m"
273	ContainerServiceVMSizeTypesStandardH16Mr       ContainerServiceVMSizeTypes = "Standard_H16mr"
274	ContainerServiceVMSizeTypesStandardH16R        ContainerServiceVMSizeTypes = "Standard_H16r"
275	ContainerServiceVMSizeTypesStandardH8          ContainerServiceVMSizeTypes = "Standard_H8"
276	ContainerServiceVMSizeTypesStandardH8M         ContainerServiceVMSizeTypes = "Standard_H8m"
277	ContainerServiceVMSizeTypesStandardL16S        ContainerServiceVMSizeTypes = "Standard_L16s"
278	ContainerServiceVMSizeTypesStandardL32S        ContainerServiceVMSizeTypes = "Standard_L32s"
279	ContainerServiceVMSizeTypesStandardL4S         ContainerServiceVMSizeTypes = "Standard_L4s"
280	ContainerServiceVMSizeTypesStandardL8S         ContainerServiceVMSizeTypes = "Standard_L8s"
281	ContainerServiceVMSizeTypesStandardM12832Ms    ContainerServiceVMSizeTypes = "Standard_M128-32ms"
282	ContainerServiceVMSizeTypesStandardM12864Ms    ContainerServiceVMSizeTypes = "Standard_M128-64ms"
283	ContainerServiceVMSizeTypesStandardM128Ms      ContainerServiceVMSizeTypes = "Standard_M128ms"
284	ContainerServiceVMSizeTypesStandardM128S       ContainerServiceVMSizeTypes = "Standard_M128s"
285	ContainerServiceVMSizeTypesStandardM6416Ms     ContainerServiceVMSizeTypes = "Standard_M64-16ms"
286	ContainerServiceVMSizeTypesStandardM6432Ms     ContainerServiceVMSizeTypes = "Standard_M64-32ms"
287	ContainerServiceVMSizeTypesStandardM64Ms       ContainerServiceVMSizeTypes = "Standard_M64ms"
288	ContainerServiceVMSizeTypesStandardM64S        ContainerServiceVMSizeTypes = "Standard_M64s"
289	ContainerServiceVMSizeTypesStandardNC12        ContainerServiceVMSizeTypes = "Standard_NC12"
290	ContainerServiceVMSizeTypesStandardNC12SV2     ContainerServiceVMSizeTypes = "Standard_NC12s_v2"
291	ContainerServiceVMSizeTypesStandardNC12SV3     ContainerServiceVMSizeTypes = "Standard_NC12s_v3"
292	ContainerServiceVMSizeTypesStandardNC24        ContainerServiceVMSizeTypes = "Standard_NC24"
293	ContainerServiceVMSizeTypesStandardNC24R       ContainerServiceVMSizeTypes = "Standard_NC24r"
294	ContainerServiceVMSizeTypesStandardNC24RsV2    ContainerServiceVMSizeTypes = "Standard_NC24rs_v2"
295	ContainerServiceVMSizeTypesStandardNC24RsV3    ContainerServiceVMSizeTypes = "Standard_NC24rs_v3"
296	ContainerServiceVMSizeTypesStandardNC24SV2     ContainerServiceVMSizeTypes = "Standard_NC24s_v2"
297	ContainerServiceVMSizeTypesStandardNC24SV3     ContainerServiceVMSizeTypes = "Standard_NC24s_v3"
298	ContainerServiceVMSizeTypesStandardNC6         ContainerServiceVMSizeTypes = "Standard_NC6"
299	ContainerServiceVMSizeTypesStandardNC6SV2      ContainerServiceVMSizeTypes = "Standard_NC6s_v2"
300	ContainerServiceVMSizeTypesStandardNC6SV3      ContainerServiceVMSizeTypes = "Standard_NC6s_v3"
301	ContainerServiceVMSizeTypesStandardND12S       ContainerServiceVMSizeTypes = "Standard_ND12s"
302	ContainerServiceVMSizeTypesStandardND24Rs      ContainerServiceVMSizeTypes = "Standard_ND24rs"
303	ContainerServiceVMSizeTypesStandardND24S       ContainerServiceVMSizeTypes = "Standard_ND24s"
304	ContainerServiceVMSizeTypesStandardND6S        ContainerServiceVMSizeTypes = "Standard_ND6s"
305	ContainerServiceVMSizeTypesStandardNV12        ContainerServiceVMSizeTypes = "Standard_NV12"
306	ContainerServiceVMSizeTypesStandardNV24        ContainerServiceVMSizeTypes = "Standard_NV24"
307	ContainerServiceVMSizeTypesStandardNV6         ContainerServiceVMSizeTypes = "Standard_NV6"
308)
309
310// PossibleContainerServiceVMSizeTypesValues returns the possible values for the ContainerServiceVMSizeTypes const type.
311func PossibleContainerServiceVMSizeTypesValues() []ContainerServiceVMSizeTypes {
312	return []ContainerServiceVMSizeTypes{
313		ContainerServiceVMSizeTypesStandardA1,
314		ContainerServiceVMSizeTypesStandardA10,
315		ContainerServiceVMSizeTypesStandardA11,
316		ContainerServiceVMSizeTypesStandardA1V2,
317		ContainerServiceVMSizeTypesStandardA2,
318		ContainerServiceVMSizeTypesStandardA2MV2,
319		ContainerServiceVMSizeTypesStandardA2V2,
320		ContainerServiceVMSizeTypesStandardA3,
321		ContainerServiceVMSizeTypesStandardA4,
322		ContainerServiceVMSizeTypesStandardA4MV2,
323		ContainerServiceVMSizeTypesStandardA4V2,
324		ContainerServiceVMSizeTypesStandardA5,
325		ContainerServiceVMSizeTypesStandardA6,
326		ContainerServiceVMSizeTypesStandardA7,
327		ContainerServiceVMSizeTypesStandardA8,
328		ContainerServiceVMSizeTypesStandardA8MV2,
329		ContainerServiceVMSizeTypesStandardA8V2,
330		ContainerServiceVMSizeTypesStandardA9,
331		ContainerServiceVMSizeTypesStandardB2Ms,
332		ContainerServiceVMSizeTypesStandardB2S,
333		ContainerServiceVMSizeTypesStandardB4Ms,
334		ContainerServiceVMSizeTypesStandardB8Ms,
335		ContainerServiceVMSizeTypesStandardD1,
336		ContainerServiceVMSizeTypesStandardD11,
337		ContainerServiceVMSizeTypesStandardD11V2,
338		ContainerServiceVMSizeTypesStandardD11V2Promo,
339		ContainerServiceVMSizeTypesStandardD12,
340		ContainerServiceVMSizeTypesStandardD12V2,
341		ContainerServiceVMSizeTypesStandardD12V2Promo,
342		ContainerServiceVMSizeTypesStandardD13,
343		ContainerServiceVMSizeTypesStandardD13V2,
344		ContainerServiceVMSizeTypesStandardD13V2Promo,
345		ContainerServiceVMSizeTypesStandardD14,
346		ContainerServiceVMSizeTypesStandardD14V2,
347		ContainerServiceVMSizeTypesStandardD14V2Promo,
348		ContainerServiceVMSizeTypesStandardD15V2,
349		ContainerServiceVMSizeTypesStandardD16SV3,
350		ContainerServiceVMSizeTypesStandardD16V3,
351		ContainerServiceVMSizeTypesStandardD1V2,
352		ContainerServiceVMSizeTypesStandardD2,
353		ContainerServiceVMSizeTypesStandardD2SV3,
354		ContainerServiceVMSizeTypesStandardD2V2,
355		ContainerServiceVMSizeTypesStandardD2V2Promo,
356		ContainerServiceVMSizeTypesStandardD2V3,
357		ContainerServiceVMSizeTypesStandardD3,
358		ContainerServiceVMSizeTypesStandardD32SV3,
359		ContainerServiceVMSizeTypesStandardD32V3,
360		ContainerServiceVMSizeTypesStandardD3V2,
361		ContainerServiceVMSizeTypesStandardD3V2Promo,
362		ContainerServiceVMSizeTypesStandardD4,
363		ContainerServiceVMSizeTypesStandardD4SV3,
364		ContainerServiceVMSizeTypesStandardD4V2,
365		ContainerServiceVMSizeTypesStandardD4V2Promo,
366		ContainerServiceVMSizeTypesStandardD4V3,
367		ContainerServiceVMSizeTypesStandardD5V2,
368		ContainerServiceVMSizeTypesStandardD5V2Promo,
369		ContainerServiceVMSizeTypesStandardD64SV3,
370		ContainerServiceVMSizeTypesStandardD64V3,
371		ContainerServiceVMSizeTypesStandardD8SV3,
372		ContainerServiceVMSizeTypesStandardD8V3,
373		ContainerServiceVMSizeTypesStandardDS1,
374		ContainerServiceVMSizeTypesStandardDS11,
375		ContainerServiceVMSizeTypesStandardDS11V2,
376		ContainerServiceVMSizeTypesStandardDS11V2Promo,
377		ContainerServiceVMSizeTypesStandardDS12,
378		ContainerServiceVMSizeTypesStandardDS12V2,
379		ContainerServiceVMSizeTypesStandardDS12V2Promo,
380		ContainerServiceVMSizeTypesStandardDS13,
381		ContainerServiceVMSizeTypesStandardDS132V2,
382		ContainerServiceVMSizeTypesStandardDS134V2,
383		ContainerServiceVMSizeTypesStandardDS13V2,
384		ContainerServiceVMSizeTypesStandardDS13V2Promo,
385		ContainerServiceVMSizeTypesStandardDS14,
386		ContainerServiceVMSizeTypesStandardDS144V2,
387		ContainerServiceVMSizeTypesStandardDS148V2,
388		ContainerServiceVMSizeTypesStandardDS14V2,
389		ContainerServiceVMSizeTypesStandardDS14V2Promo,
390		ContainerServiceVMSizeTypesStandardDS15V2,
391		ContainerServiceVMSizeTypesStandardDS1V2,
392		ContainerServiceVMSizeTypesStandardDS2,
393		ContainerServiceVMSizeTypesStandardDS2V2,
394		ContainerServiceVMSizeTypesStandardDS2V2Promo,
395		ContainerServiceVMSizeTypesStandardDS3,
396		ContainerServiceVMSizeTypesStandardDS3V2,
397		ContainerServiceVMSizeTypesStandardDS3V2Promo,
398		ContainerServiceVMSizeTypesStandardDS4,
399		ContainerServiceVMSizeTypesStandardDS4V2,
400		ContainerServiceVMSizeTypesStandardDS4V2Promo,
401		ContainerServiceVMSizeTypesStandardDS5V2,
402		ContainerServiceVMSizeTypesStandardDS5V2Promo,
403		ContainerServiceVMSizeTypesStandardE16SV3,
404		ContainerServiceVMSizeTypesStandardE16V3,
405		ContainerServiceVMSizeTypesStandardE2SV3,
406		ContainerServiceVMSizeTypesStandardE2V3,
407		ContainerServiceVMSizeTypesStandardE3216SV3,
408		ContainerServiceVMSizeTypesStandardE328SV3,
409		ContainerServiceVMSizeTypesStandardE32SV3,
410		ContainerServiceVMSizeTypesStandardE32V3,
411		ContainerServiceVMSizeTypesStandardE4SV3,
412		ContainerServiceVMSizeTypesStandardE4V3,
413		ContainerServiceVMSizeTypesStandardE6416SV3,
414		ContainerServiceVMSizeTypesStandardE6432SV3,
415		ContainerServiceVMSizeTypesStandardE64SV3,
416		ContainerServiceVMSizeTypesStandardE64V3,
417		ContainerServiceVMSizeTypesStandardE8SV3,
418		ContainerServiceVMSizeTypesStandardE8V3,
419		ContainerServiceVMSizeTypesStandardF1,
420		ContainerServiceVMSizeTypesStandardF16,
421		ContainerServiceVMSizeTypesStandardF16S,
422		ContainerServiceVMSizeTypesStandardF16SV2,
423		ContainerServiceVMSizeTypesStandardF1S,
424		ContainerServiceVMSizeTypesStandardF2,
425		ContainerServiceVMSizeTypesStandardF2S,
426		ContainerServiceVMSizeTypesStandardF2SV2,
427		ContainerServiceVMSizeTypesStandardF32SV2,
428		ContainerServiceVMSizeTypesStandardF4,
429		ContainerServiceVMSizeTypesStandardF4S,
430		ContainerServiceVMSizeTypesStandardF4SV2,
431		ContainerServiceVMSizeTypesStandardF64SV2,
432		ContainerServiceVMSizeTypesStandardF72SV2,
433		ContainerServiceVMSizeTypesStandardF8,
434		ContainerServiceVMSizeTypesStandardF8S,
435		ContainerServiceVMSizeTypesStandardF8SV2,
436		ContainerServiceVMSizeTypesStandardG1,
437		ContainerServiceVMSizeTypesStandardG2,
438		ContainerServiceVMSizeTypesStandardG3,
439		ContainerServiceVMSizeTypesStandardG4,
440		ContainerServiceVMSizeTypesStandardG5,
441		ContainerServiceVMSizeTypesStandardGS1,
442		ContainerServiceVMSizeTypesStandardGS2,
443		ContainerServiceVMSizeTypesStandardGS3,
444		ContainerServiceVMSizeTypesStandardGS4,
445		ContainerServiceVMSizeTypesStandardGS44,
446		ContainerServiceVMSizeTypesStandardGS48,
447		ContainerServiceVMSizeTypesStandardGS5,
448		ContainerServiceVMSizeTypesStandardGS516,
449		ContainerServiceVMSizeTypesStandardGS58,
450		ContainerServiceVMSizeTypesStandardH16,
451		ContainerServiceVMSizeTypesStandardH16M,
452		ContainerServiceVMSizeTypesStandardH16Mr,
453		ContainerServiceVMSizeTypesStandardH16R,
454		ContainerServiceVMSizeTypesStandardH8,
455		ContainerServiceVMSizeTypesStandardH8M,
456		ContainerServiceVMSizeTypesStandardL16S,
457		ContainerServiceVMSizeTypesStandardL32S,
458		ContainerServiceVMSizeTypesStandardL4S,
459		ContainerServiceVMSizeTypesStandardL8S,
460		ContainerServiceVMSizeTypesStandardM12832Ms,
461		ContainerServiceVMSizeTypesStandardM12864Ms,
462		ContainerServiceVMSizeTypesStandardM128Ms,
463		ContainerServiceVMSizeTypesStandardM128S,
464		ContainerServiceVMSizeTypesStandardM6416Ms,
465		ContainerServiceVMSizeTypesStandardM6432Ms,
466		ContainerServiceVMSizeTypesStandardM64Ms,
467		ContainerServiceVMSizeTypesStandardM64S,
468		ContainerServiceVMSizeTypesStandardNC12,
469		ContainerServiceVMSizeTypesStandardNC12SV2,
470		ContainerServiceVMSizeTypesStandardNC12SV3,
471		ContainerServiceVMSizeTypesStandardNC24,
472		ContainerServiceVMSizeTypesStandardNC24R,
473		ContainerServiceVMSizeTypesStandardNC24RsV2,
474		ContainerServiceVMSizeTypesStandardNC24RsV3,
475		ContainerServiceVMSizeTypesStandardNC24SV2,
476		ContainerServiceVMSizeTypesStandardNC24SV3,
477		ContainerServiceVMSizeTypesStandardNC6,
478		ContainerServiceVMSizeTypesStandardNC6SV2,
479		ContainerServiceVMSizeTypesStandardNC6SV3,
480		ContainerServiceVMSizeTypesStandardND12S,
481		ContainerServiceVMSizeTypesStandardND24Rs,
482		ContainerServiceVMSizeTypesStandardND24S,
483		ContainerServiceVMSizeTypesStandardND6S,
484		ContainerServiceVMSizeTypesStandardNV12,
485		ContainerServiceVMSizeTypesStandardNV24,
486		ContainerServiceVMSizeTypesStandardNV6,
487	}
488}
489
490// ToPtr returns a *ContainerServiceVMSizeTypes pointing to the current value.
491func (c ContainerServiceVMSizeTypes) ToPtr() *ContainerServiceVMSizeTypes {
492	return &c
493}
494
495// Count - Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.
496type Count int32
497
498const (
499	CountOne   Count = 1
500	CountThree Count = 3
501	CountFive  Count = 5
502)
503
504// PossibleCountValues returns the possible values for the Count const type.
505func PossibleCountValues() []Count {
506	return []Count{
507		CountOne,
508		CountThree,
509		CountFive,
510	}
511}
512
513// ToPtr returns a *Count pointing to the current value.
514func (c Count) ToPtr() *Count {
515	return &c
516}
517
518// CreatedByType - The type of identity that created the resource.
519type CreatedByType string
520
521const (
522	CreatedByTypeApplication     CreatedByType = "Application"
523	CreatedByTypeKey             CreatedByType = "Key"
524	CreatedByTypeManagedIdentity CreatedByType = "ManagedIdentity"
525	CreatedByTypeUser            CreatedByType = "User"
526)
527
528// PossibleCreatedByTypeValues returns the possible values for the CreatedByType const type.
529func PossibleCreatedByTypeValues() []CreatedByType {
530	return []CreatedByType{
531		CreatedByTypeApplication,
532		CreatedByTypeKey,
533		CreatedByTypeManagedIdentity,
534		CreatedByTypeUser,
535	}
536}
537
538// ToPtr returns a *CreatedByType pointing to the current value.
539func (c CreatedByType) ToPtr() *CreatedByType {
540	return &c
541}
542
543// Expander - If not specified, the default is 'random'. See expanders [https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders]
544// for more information.
545type Expander string
546
547const (
548	// ExpanderLeastWaste - Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different
549	// classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources.
550	ExpanderLeastWaste Expander = "least-waste"
551	// ExpanderMostPods - Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector
552	// to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple
553	// smaller nodes at once.
554	ExpanderMostPods Expander = "most-pods"
555	// ExpanderPriority - Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md).
556	ExpanderPriority Expander = "priority"
557	// ExpanderRandom - Used when you don't have a particular need for the node groups to scale differently.
558	ExpanderRandom Expander = "random"
559)
560
561// PossibleExpanderValues returns the possible values for the Expander const type.
562func PossibleExpanderValues() []Expander {
563	return []Expander{
564		ExpanderLeastWaste,
565		ExpanderMostPods,
566		ExpanderPriority,
567		ExpanderRandom,
568	}
569}
570
571// ToPtr returns a *Expander pointing to the current value.
572func (c Expander) ToPtr() *Expander {
573	return &c
574}
575
576// ExtendedLocationTypes - The type of extendedLocation.
577type ExtendedLocationTypes string
578
579const (
580	ExtendedLocationTypesEdgeZone ExtendedLocationTypes = "EdgeZone"
581)
582
583// PossibleExtendedLocationTypesValues returns the possible values for the ExtendedLocationTypes const type.
584func PossibleExtendedLocationTypesValues() []ExtendedLocationTypes {
585	return []ExtendedLocationTypes{
586		ExtendedLocationTypesEdgeZone,
587	}
588}
589
590// ToPtr returns a *ExtendedLocationTypes pointing to the current value.
591func (c ExtendedLocationTypes) ToPtr() *ExtendedLocationTypes {
592	return &c
593}
594
595// GPUInstanceProfile - GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
596type GPUInstanceProfile string
597
598const (
599	GPUInstanceProfileMIG1G GPUInstanceProfile = "MIG1g"
600	GPUInstanceProfileMIG2G GPUInstanceProfile = "MIG2g"
601	GPUInstanceProfileMIG3G GPUInstanceProfile = "MIG3g"
602	GPUInstanceProfileMIG4G GPUInstanceProfile = "MIG4g"
603	GPUInstanceProfileMIG7G GPUInstanceProfile = "MIG7g"
604)
605
606// PossibleGPUInstanceProfileValues returns the possible values for the GPUInstanceProfile const type.
607func PossibleGPUInstanceProfileValues() []GPUInstanceProfile {
608	return []GPUInstanceProfile{
609		GPUInstanceProfileMIG1G,
610		GPUInstanceProfileMIG2G,
611		GPUInstanceProfileMIG3G,
612		GPUInstanceProfileMIG4G,
613		GPUInstanceProfileMIG7G,
614	}
615}
616
617// ToPtr returns a *GPUInstanceProfile pointing to the current value.
618func (c GPUInstanceProfile) ToPtr() *GPUInstanceProfile {
619	return &c
620}
621
622// KubeletDiskType - Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.
623type KubeletDiskType string
624
625const (
626	// KubeletDiskTypeOS - Kubelet will use the OS disk for its data.
627	KubeletDiskTypeOS KubeletDiskType = "OS"
628	// KubeletDiskTypeTemporary - Kubelet will use the temporary disk for its data.
629	KubeletDiskTypeTemporary KubeletDiskType = "Temporary"
630)
631
632// PossibleKubeletDiskTypeValues returns the possible values for the KubeletDiskType const type.
633func PossibleKubeletDiskTypeValues() []KubeletDiskType {
634	return []KubeletDiskType{
635		KubeletDiskTypeOS,
636		KubeletDiskTypeTemporary,
637	}
638}
639
640// ToPtr returns a *KubeletDiskType pointing to the current value.
641func (c KubeletDiskType) ToPtr() *KubeletDiskType {
642	return &c
643}
644
645// LicenseType - The license type to use for Windows VMs. See Azure Hybrid User Benefits [https://azure.microsoft.com/pricing/hybrid-benefit/faq/] for more
646// details.
647type LicenseType string
648
649const (
650	// LicenseTypeNone - No additional licensing is applied.
651	LicenseTypeNone LicenseType = "None"
652	// LicenseTypeWindowsServer - Enables Azure Hybrid User Benefits for Windows VMs.
653	LicenseTypeWindowsServer LicenseType = "Windows_Server"
654)
655
656// PossibleLicenseTypeValues returns the possible values for the LicenseType const type.
657func PossibleLicenseTypeValues() []LicenseType {
658	return []LicenseType{
659		LicenseTypeNone,
660		LicenseTypeWindowsServer,
661	}
662}
663
664// ToPtr returns a *LicenseType pointing to the current value.
665func (c LicenseType) ToPtr() *LicenseType {
666	return &c
667}
668
669// LoadBalancerSKU - The default is 'standard'. See Azure Load Balancer SKUs [https://docs.microsoft.com/azure/load-balancer/skus] for more information
670// about the differences between load balancer SKUs.
671type LoadBalancerSKU string
672
673const (
674	// LoadBalancerSKUBasic - Use a basic Load Balancer with limited functionality.
675	LoadBalancerSKUBasic LoadBalancerSKU = "basic"
676	// LoadBalancerSKUStandard - Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load
677	// balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article.
678	LoadBalancerSKUStandard LoadBalancerSKU = "standard"
679)
680
681// PossibleLoadBalancerSKUValues returns the possible values for the LoadBalancerSKU const type.
682func PossibleLoadBalancerSKUValues() []LoadBalancerSKU {
683	return []LoadBalancerSKU{
684		LoadBalancerSKUBasic,
685		LoadBalancerSKUStandard,
686	}
687}
688
689// ToPtr returns a *LoadBalancerSKU pointing to the current value.
690func (c LoadBalancerSKU) ToPtr() *LoadBalancerSKU {
691	return &c
692}
693
694// ManagedClusterPodIdentityProvisioningState - The current provisioning state of the pod identity.
695type ManagedClusterPodIdentityProvisioningState string
696
697const (
698	ManagedClusterPodIdentityProvisioningStateAssigned ManagedClusterPodIdentityProvisioningState = "Assigned"
699	ManagedClusterPodIdentityProvisioningStateDeleting ManagedClusterPodIdentityProvisioningState = "Deleting"
700	ManagedClusterPodIdentityProvisioningStateFailed   ManagedClusterPodIdentityProvisioningState = "Failed"
701	ManagedClusterPodIdentityProvisioningStateUpdating ManagedClusterPodIdentityProvisioningState = "Updating"
702)
703
704// PossibleManagedClusterPodIdentityProvisioningStateValues returns the possible values for the ManagedClusterPodIdentityProvisioningState const type.
705func PossibleManagedClusterPodIdentityProvisioningStateValues() []ManagedClusterPodIdentityProvisioningState {
706	return []ManagedClusterPodIdentityProvisioningState{
707		ManagedClusterPodIdentityProvisioningStateAssigned,
708		ManagedClusterPodIdentityProvisioningStateDeleting,
709		ManagedClusterPodIdentityProvisioningStateFailed,
710		ManagedClusterPodIdentityProvisioningStateUpdating,
711	}
712}
713
714// ToPtr returns a *ManagedClusterPodIdentityProvisioningState pointing to the current value.
715func (c ManagedClusterPodIdentityProvisioningState) ToPtr() *ManagedClusterPodIdentityProvisioningState {
716	return &c
717}
718
719// ManagedClusterSKUName - The name of a managed cluster SKU.
720type ManagedClusterSKUName string
721
722const (
723	ManagedClusterSKUNameBasic ManagedClusterSKUName = "Basic"
724)
725
726// PossibleManagedClusterSKUNameValues returns the possible values for the ManagedClusterSKUName const type.
727func PossibleManagedClusterSKUNameValues() []ManagedClusterSKUName {
728	return []ManagedClusterSKUName{
729		ManagedClusterSKUNameBasic,
730	}
731}
732
733// ToPtr returns a *ManagedClusterSKUName pointing to the current value.
734func (c ManagedClusterSKUName) ToPtr() *ManagedClusterSKUName {
735	return &c
736}
737
738// ManagedClusterSKUTier - If not specified, the default is 'Free'. See uptime SLA [https://docs.microsoft.com/azure/aks/uptime-sla] for more details.
739type ManagedClusterSKUTier string
740
741const (
742	// ManagedClusterSKUTierFree - No guaranteed SLA, no additional charges. Free tier clusters have an SLO of 99.5%.
743	ManagedClusterSKUTierFree ManagedClusterSKUTier = "Free"
744	// ManagedClusterSKUTierPaid - Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of
745	// availability for clusters that don't use Availability Zones.
746	ManagedClusterSKUTierPaid ManagedClusterSKUTier = "Paid"
747)
748
749// PossibleManagedClusterSKUTierValues returns the possible values for the ManagedClusterSKUTier const type.
750func PossibleManagedClusterSKUTierValues() []ManagedClusterSKUTier {
751	return []ManagedClusterSKUTier{
752		ManagedClusterSKUTierFree,
753		ManagedClusterSKUTierPaid,
754	}
755}
756
757// ToPtr returns a *ManagedClusterSKUTier pointing to the current value.
758func (c ManagedClusterSKUTier) ToPtr() *ManagedClusterSKUTier {
759	return &c
760}
761
762// NetworkMode - This cannot be specified if networkPlugin is anything other than 'azure'.
763type NetworkMode string
764
765const (
766	// NetworkModeBridge - This is no longer supported
767	NetworkModeBridge NetworkMode = "bridge"
768	// NetworkModeTransparent - No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode)
769	// for more information.
770	NetworkModeTransparent NetworkMode = "transparent"
771)
772
773// PossibleNetworkModeValues returns the possible values for the NetworkMode const type.
774func PossibleNetworkModeValues() []NetworkMode {
775	return []NetworkMode{
776		NetworkModeBridge,
777		NetworkModeTransparent,
778	}
779}
780
781// ToPtr returns a *NetworkMode pointing to the current value.
782func (c NetworkMode) ToPtr() *NetworkMode {
783	return &c
784}
785
786// NetworkPlugin - Network plugin used for building the Kubernetes network.
787type NetworkPlugin string
788
789const (
790	// NetworkPluginAzure - Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking)
791	// for more information.
792	NetworkPluginAzure NetworkPlugin = "azure"
793	// NetworkPluginKubenet - Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking)
794	// for more information.
795	NetworkPluginKubenet NetworkPlugin = "kubenet"
796)
797
798// PossibleNetworkPluginValues returns the possible values for the NetworkPlugin const type.
799func PossibleNetworkPluginValues() []NetworkPlugin {
800	return []NetworkPlugin{
801		NetworkPluginAzure,
802		NetworkPluginKubenet,
803	}
804}
805
806// ToPtr returns a *NetworkPlugin pointing to the current value.
807func (c NetworkPlugin) ToPtr() *NetworkPlugin {
808	return &c
809}
810
811// NetworkPolicy - Network policy used for building the Kubernetes network.
812type NetworkPolicy string
813
814const (
815	// NetworkPolicyAzure - Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities)
816	// for more information.
817	NetworkPolicyAzure NetworkPolicy = "azure"
818	// NetworkPolicyCalico - Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities)
819	// for more information.
820	NetworkPolicyCalico NetworkPolicy = "calico"
821)
822
823// PossibleNetworkPolicyValues returns the possible values for the NetworkPolicy const type.
824func PossibleNetworkPolicyValues() []NetworkPolicy {
825	return []NetworkPolicy{
826		NetworkPolicyAzure,
827		NetworkPolicyCalico,
828	}
829}
830
831// ToPtr returns a *NetworkPolicy pointing to the current value.
832func (c NetworkPolicy) ToPtr() *NetworkPolicy {
833	return &c
834}
835
836// OSDiskType - The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'.
837// May not be changed after creation. For more information
838// see Ephemeral OS [https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os].
839type OSDiskType string
840
841const (
842	// OSDiskTypeEphemeral - Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along
843	// with faster node scaling and cluster upgrades.
844	OSDiskTypeEphemeral OSDiskType = "Ephemeral"
845	// OSDiskTypeManaged - Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated
846	// to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including
847	// slower node provisioning and higher read/write latency.
848	OSDiskTypeManaged OSDiskType = "Managed"
849)
850
851// PossibleOSDiskTypeValues returns the possible values for the OSDiskType const type.
852func PossibleOSDiskTypeValues() []OSDiskType {
853	return []OSDiskType{
854		OSDiskTypeEphemeral,
855		OSDiskTypeManaged,
856	}
857}
858
859// ToPtr returns a *OSDiskType pointing to the current value.
860func (c OSDiskType) ToPtr() *OSDiskType {
861	return &c
862}
863
864// OSSKU - Specifies an OS SKU. This value must not be specified if OSType is Windows.
865type OSSKU string
866
867const (
868	OSSKUCBLMariner OSSKU = "CBLMariner"
869	OSSKUUbuntu     OSSKU = "Ubuntu"
870)
871
872// PossibleOSSKUValues returns the possible values for the OSSKU const type.
873func PossibleOSSKUValues() []OSSKU {
874	return []OSSKU{
875		OSSKUCBLMariner,
876		OSSKUUbuntu,
877	}
878}
879
880// ToPtr returns a *OSSKU pointing to the current value.
881func (c OSSKU) ToPtr() *OSSKU {
882	return &c
883}
884
885// OSType - The operating system type. The default is Linux.
886type OSType string
887
888const (
889	// OSTypeLinux - Use Linux.
890	OSTypeLinux OSType = "Linux"
891	// OSTypeWindows - Use Windows.
892	OSTypeWindows OSType = "Windows"
893)
894
895// PossibleOSTypeValues returns the possible values for the OSType const type.
896func PossibleOSTypeValues() []OSType {
897	return []OSType{
898		OSTypeLinux,
899		OSTypeWindows,
900	}
901}
902
903// ToPtr returns a *OSType pointing to the current value.
904func (c OSType) ToPtr() *OSType {
905	return &c
906}
907
908// OutboundType - This can only be set at cluster creation time and cannot be changed later. For more information see egress outbound type [https://docs.microsoft.com/azure/aks/egress-outboundtype].
909type OutboundType string
910
911const (
912	// OutboundTypeLoadBalancer - The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'.
913	// For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer).
914	OutboundTypeLoadBalancer OutboundType = "loadBalancer"
915	// OutboundTypeManagedNATGateway - The AKS-managed NAT gateway is used for egress.
916	OutboundTypeManagedNATGateway OutboundType = "managedNATGateway"
917	// OutboundTypeUserAssignedNATGateway - The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario
918	// and requires proper network configuration.
919	OutboundTypeUserAssignedNATGateway OutboundType = "userAssignedNATGateway"
920	// OutboundTypeUserDefinedRouting - Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For
921	// more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting).
922	OutboundTypeUserDefinedRouting OutboundType = "userDefinedRouting"
923)
924
925// PossibleOutboundTypeValues returns the possible values for the OutboundType const type.
926func PossibleOutboundTypeValues() []OutboundType {
927	return []OutboundType{
928		OutboundTypeLoadBalancer,
929		OutboundTypeManagedNATGateway,
930		OutboundTypeUserAssignedNATGateway,
931		OutboundTypeUserDefinedRouting,
932	}
933}
934
935// ToPtr returns a *OutboundType pointing to the current value.
936func (c OutboundType) ToPtr() *OutboundType {
937	return &c
938}
939
940// PrivateEndpointConnectionProvisioningState - The current provisioning state.
941type PrivateEndpointConnectionProvisioningState string
942
943const (
944	PrivateEndpointConnectionProvisioningStateCreating  PrivateEndpointConnectionProvisioningState = "Creating"
945	PrivateEndpointConnectionProvisioningStateDeleting  PrivateEndpointConnectionProvisioningState = "Deleting"
946	PrivateEndpointConnectionProvisioningStateFailed    PrivateEndpointConnectionProvisioningState = "Failed"
947	PrivateEndpointConnectionProvisioningStateSucceeded PrivateEndpointConnectionProvisioningState = "Succeeded"
948)
949
950// PossiblePrivateEndpointConnectionProvisioningStateValues returns the possible values for the PrivateEndpointConnectionProvisioningState const type.
951func PossiblePrivateEndpointConnectionProvisioningStateValues() []PrivateEndpointConnectionProvisioningState {
952	return []PrivateEndpointConnectionProvisioningState{
953		PrivateEndpointConnectionProvisioningStateCreating,
954		PrivateEndpointConnectionProvisioningStateDeleting,
955		PrivateEndpointConnectionProvisioningStateFailed,
956		PrivateEndpointConnectionProvisioningStateSucceeded,
957	}
958}
959
960// ToPtr returns a *PrivateEndpointConnectionProvisioningState pointing to the current value.
961func (c PrivateEndpointConnectionProvisioningState) ToPtr() *PrivateEndpointConnectionProvisioningState {
962	return &c
963}
964
965// ResourceIdentityType - For more information see use managed identities in AKS [https://docs.microsoft.com/azure/aks/use-managed-identity].
966type ResourceIdentityType string
967
968const (
969	// ResourceIdentityTypeSystemAssigned - Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the
970	// control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources.
971	ResourceIdentityTypeSystemAssigned ResourceIdentityType = "SystemAssigned"
972	// ResourceIdentityTypeUserAssigned - Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager
973	// will use the specified user assigned managed identity to manipulate Azure resources.
974	ResourceIdentityTypeUserAssigned ResourceIdentityType = "UserAssigned"
975	// ResourceIdentityTypeNone - Do not use a managed identity for the Managed Cluster, service principal will be used instead.
976	ResourceIdentityTypeNone ResourceIdentityType = "None"
977)
978
979// PossibleResourceIdentityTypeValues returns the possible values for the ResourceIdentityType const type.
980func PossibleResourceIdentityTypeValues() []ResourceIdentityType {
981	return []ResourceIdentityType{
982		ResourceIdentityTypeSystemAssigned,
983		ResourceIdentityTypeUserAssigned,
984		ResourceIdentityTypeNone,
985	}
986}
987
988// ToPtr returns a *ResourceIdentityType pointing to the current value.
989func (c ResourceIdentityType) ToPtr() *ResourceIdentityType {
990	return &c
991}
992
993// ScaleDownMode - Describes how VMs are added to or removed from Agent Pools. See billing states [https://docs.microsoft.com/azure/virtual-machines/states-billing].
994type ScaleDownMode string
995
996const (
997	// ScaleDownModeDeallocate - Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down.
998	ScaleDownModeDeallocate ScaleDownMode = "Deallocate"
999	// ScaleDownModeDelete - Create new instances during scale up and remove instances during scale down.
1000	ScaleDownModeDelete ScaleDownMode = "Delete"
1001)
1002
1003// PossibleScaleDownModeValues returns the possible values for the ScaleDownMode const type.
1004func PossibleScaleDownModeValues() []ScaleDownMode {
1005	return []ScaleDownMode{
1006		ScaleDownModeDeallocate,
1007		ScaleDownModeDelete,
1008	}
1009}
1010
1011// ToPtr returns a *ScaleDownMode pointing to the current value.
1012func (c ScaleDownMode) ToPtr() *ScaleDownMode {
1013	return &c
1014}
1015
1016// ScaleSetEvictionPolicy - The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction
1017// see spot VMs
1018// [https://docs.microsoft.com/azure/virtual-machines/spot-vms]
1019type ScaleSetEvictionPolicy string
1020
1021const (
1022	// ScaleSetEvictionPolicyDeallocate - Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in
1023	// the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading.
1024	ScaleSetEvictionPolicyDeallocate ScaleSetEvictionPolicy = "Deallocate"
1025	// ScaleSetEvictionPolicyDelete - Nodes in the underlying Scale Set of the node pool are deleted when they're evicted.
1026	ScaleSetEvictionPolicyDelete ScaleSetEvictionPolicy = "Delete"
1027)
1028
1029// PossibleScaleSetEvictionPolicyValues returns the possible values for the ScaleSetEvictionPolicy const type.
1030func PossibleScaleSetEvictionPolicyValues() []ScaleSetEvictionPolicy {
1031	return []ScaleSetEvictionPolicy{
1032		ScaleSetEvictionPolicyDeallocate,
1033		ScaleSetEvictionPolicyDelete,
1034	}
1035}
1036
1037// ToPtr returns a *ScaleSetEvictionPolicy pointing to the current value.
1038func (c ScaleSetEvictionPolicy) ToPtr() *ScaleSetEvictionPolicy {
1039	return &c
1040}
1041
1042// ScaleSetPriority - The Virtual Machine Scale Set priority.
1043type ScaleSetPriority string
1044
1045const (
1046	// ScaleSetPriorityRegular - Regular VMs will be used.
1047	ScaleSetPriorityRegular ScaleSetPriority = "Regular"
1048	// ScaleSetPrioritySpot - Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool)
1049	// for more information.
1050	ScaleSetPrioritySpot ScaleSetPriority = "Spot"
1051)
1052
1053// PossibleScaleSetPriorityValues returns the possible values for the ScaleSetPriority const type.
1054func PossibleScaleSetPriorityValues() []ScaleSetPriority {
1055	return []ScaleSetPriority{
1056		ScaleSetPriorityRegular,
1057		ScaleSetPrioritySpot,
1058	}
1059}
1060
1061// ToPtr returns a *ScaleSetPriority pointing to the current value.
1062func (c ScaleSetPriority) ToPtr() *ScaleSetPriority {
1063	return &c
1064}
1065
1066// UpgradeChannel - For more information see setting the AKS cluster auto-upgrade channel [https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel].
1067type UpgradeChannel string
1068
1069const (
1070	// UpgradeChannelNodeImage - Automatically upgrade the node image to the latest version available. Microsoft provides patches and new images for image nodes
1071	// frequently (usually weekly), but your running nodes won't get the new images unless you do a node image upgrade. Turning on the node-image channel will
1072	// automatically update your node images whenever a new version is available.
1073	UpgradeChannelNodeImage UpgradeChannel = "node-image"
1074	// UpgradeChannelNone - Disables auto-upgrades and keeps the cluster at its current version of Kubernetes.
1075	UpgradeChannelNone UpgradeChannel = "none"
1076	// UpgradeChannelPatch - Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version
1077	// the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded
1078	// to 1.17.9.
1079	UpgradeChannelPatch UpgradeChannel = "patch"
1080	// UpgradeChannelRapid - Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the
1081	// cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the
1082	// latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1
1083	// are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1.
1084	UpgradeChannelRapid UpgradeChannel = "rapid"
1085	// UpgradeChannelStable - Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported
1086	// minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded
1087	// to 1.18.6.
1088	UpgradeChannelStable UpgradeChannel = "stable"
1089)
1090
1091// PossibleUpgradeChannelValues returns the possible values for the UpgradeChannel const type.
1092func PossibleUpgradeChannelValues() []UpgradeChannel {
1093	return []UpgradeChannel{
1094		UpgradeChannelNodeImage,
1095		UpgradeChannelNone,
1096		UpgradeChannelPatch,
1097		UpgradeChannelRapid,
1098		UpgradeChannelStable,
1099	}
1100}
1101
1102// ToPtr returns a *UpgradeChannel pointing to the current value.
1103func (c UpgradeChannel) ToPtr() *UpgradeChannel {
1104	return &c
1105}
1106
1107// WeekDay - The weekday enum.
1108type WeekDay string
1109
1110const (
1111	WeekDayFriday    WeekDay = "Friday"
1112	WeekDayMonday    WeekDay = "Monday"
1113	WeekDaySaturday  WeekDay = "Saturday"
1114	WeekDaySunday    WeekDay = "Sunday"
1115	WeekDayThursday  WeekDay = "Thursday"
1116	WeekDayTuesday   WeekDay = "Tuesday"
1117	WeekDayWednesday WeekDay = "Wednesday"
1118)
1119
1120// PossibleWeekDayValues returns the possible values for the WeekDay const type.
1121func PossibleWeekDayValues() []WeekDay {
1122	return []WeekDay{
1123		WeekDayFriday,
1124		WeekDayMonday,
1125		WeekDaySaturday,
1126		WeekDaySunday,
1127		WeekDayThursday,
1128		WeekDayTuesday,
1129		WeekDayWednesday,
1130	}
1131}
1132
1133// ToPtr returns a *WeekDay pointing to the current value.
1134func (c WeekDay) ToPtr() *WeekDay {
1135	return &c
1136}
1137