1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424
|
package containerservice
// Copyright (c) Microsoft and contributors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
import (
"context"
"encoding/json"
"github.com/Azure/go-autorest/autorest"
"github.com/Azure/go-autorest/autorest/azure"
"net/http"
)
// The package's fully qualified name.
const fqdn = "github.com/Azure/azure-sdk-for-go/services/containerservice/mgmt/2016-03-30/containerservice"
// OchestratorTypes enumerates the values for ochestrator types.
type OchestratorTypes string
const (
// DCOS ...
DCOS OchestratorTypes = "DCOS"
// Swarm ...
Swarm OchestratorTypes = "Swarm"
)
// PossibleOchestratorTypesValues returns an array of possible values for the OchestratorTypes const type.
func PossibleOchestratorTypesValues() []OchestratorTypes {
return []OchestratorTypes{DCOS, Swarm}
}
// VMSizeTypes enumerates the values for vm size types.
type VMSizeTypes string
const (
// StandardA0 ...
StandardA0 VMSizeTypes = "Standard_A0"
// StandardA1 ...
StandardA1 VMSizeTypes = "Standard_A1"
// StandardA10 ...
StandardA10 VMSizeTypes = "Standard_A10"
// StandardA11 ...
StandardA11 VMSizeTypes = "Standard_A11"
// StandardA2 ...
StandardA2 VMSizeTypes = "Standard_A2"
// StandardA3 ...
StandardA3 VMSizeTypes = "Standard_A3"
// StandardA4 ...
StandardA4 VMSizeTypes = "Standard_A4"
// StandardA5 ...
StandardA5 VMSizeTypes = "Standard_A5"
// StandardA6 ...
StandardA6 VMSizeTypes = "Standard_A6"
// StandardA7 ...
StandardA7 VMSizeTypes = "Standard_A7"
// StandardA8 ...
StandardA8 VMSizeTypes = "Standard_A8"
// StandardA9 ...
StandardA9 VMSizeTypes = "Standard_A9"
// StandardD1 ...
StandardD1 VMSizeTypes = "Standard_D1"
// StandardD11 ...
StandardD11 VMSizeTypes = "Standard_D11"
// StandardD11V2 ...
StandardD11V2 VMSizeTypes = "Standard_D11_v2"
// StandardD12 ...
StandardD12 VMSizeTypes = "Standard_D12"
// StandardD12V2 ...
StandardD12V2 VMSizeTypes = "Standard_D12_v2"
// StandardD13 ...
StandardD13 VMSizeTypes = "Standard_D13"
// StandardD13V2 ...
StandardD13V2 VMSizeTypes = "Standard_D13_v2"
// StandardD14 ...
StandardD14 VMSizeTypes = "Standard_D14"
// StandardD14V2 ...
StandardD14V2 VMSizeTypes = "Standard_D14_v2"
// StandardD1V2 ...
StandardD1V2 VMSizeTypes = "Standard_D1_v2"
// StandardD2 ...
StandardD2 VMSizeTypes = "Standard_D2"
// StandardD2V2 ...
StandardD2V2 VMSizeTypes = "Standard_D2_v2"
// StandardD3 ...
StandardD3 VMSizeTypes = "Standard_D3"
// StandardD3V2 ...
StandardD3V2 VMSizeTypes = "Standard_D3_v2"
// StandardD4 ...
StandardD4 VMSizeTypes = "Standard_D4"
// StandardD4V2 ...
StandardD4V2 VMSizeTypes = "Standard_D4_v2"
// StandardD5V2 ...
StandardD5V2 VMSizeTypes = "Standard_D5_v2"
// StandardDS1 ...
StandardDS1 VMSizeTypes = "Standard_DS1"
// StandardDS11 ...
StandardDS11 VMSizeTypes = "Standard_DS11"
// StandardDS12 ...
StandardDS12 VMSizeTypes = "Standard_DS12"
// StandardDS13 ...
StandardDS13 VMSizeTypes = "Standard_DS13"
// StandardDS14 ...
StandardDS14 VMSizeTypes = "Standard_DS14"
// StandardDS2 ...
StandardDS2 VMSizeTypes = "Standard_DS2"
// StandardDS3 ...
StandardDS3 VMSizeTypes = "Standard_DS3"
// StandardDS4 ...
StandardDS4 VMSizeTypes = "Standard_DS4"
// StandardG1 ...
StandardG1 VMSizeTypes = "Standard_G1"
// StandardG2 ...
StandardG2 VMSizeTypes = "Standard_G2"
// StandardG3 ...
StandardG3 VMSizeTypes = "Standard_G3"
// StandardG4 ...
StandardG4 VMSizeTypes = "Standard_G4"
// StandardG5 ...
StandardG5 VMSizeTypes = "Standard_G5"
// StandardGS1 ...
StandardGS1 VMSizeTypes = "Standard_GS1"
// StandardGS2 ...
StandardGS2 VMSizeTypes = "Standard_GS2"
// StandardGS3 ...
StandardGS3 VMSizeTypes = "Standard_GS3"
// StandardGS4 ...
StandardGS4 VMSizeTypes = "Standard_GS4"
// StandardGS5 ...
StandardGS5 VMSizeTypes = "Standard_GS5"
)
// PossibleVMSizeTypesValues returns an array of possible values for the VMSizeTypes const type.
func PossibleVMSizeTypesValues() []VMSizeTypes {
return []VMSizeTypes{StandardA0, StandardA1, StandardA10, StandardA11, StandardA2, StandardA3, StandardA4, StandardA5, StandardA6, StandardA7, StandardA8, StandardA9, StandardD1, StandardD11, StandardD11V2, StandardD12, StandardD12V2, StandardD13, StandardD13V2, StandardD14, StandardD14V2, StandardD1V2, StandardD2, StandardD2V2, StandardD3, StandardD3V2, StandardD4, StandardD4V2, StandardD5V2, StandardDS1, StandardDS11, StandardDS12, StandardDS13, StandardDS14, StandardDS2, StandardDS3, StandardDS4, StandardG1, StandardG2, StandardG3, StandardG4, StandardG5, StandardGS1, StandardGS2, StandardGS3, StandardGS4, StandardGS5}
}
// AgentPoolProfile profile for the container service agent pool.
type AgentPoolProfile struct {
// Name - Unique name of the agent pool profile in the context of the subscription and resource group.
Name *string `json:"name,omitempty"`
// 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.
Count *int32 `json:"count,omitempty"`
// VMSize - Size of agent VMs. Possible values include: 'StandardA0', 'StandardA1', 'StandardA2', 'StandardA3', 'StandardA4', 'StandardA5', 'StandardA6', 'StandardA7', 'StandardA8', 'StandardA9', 'StandardA10', 'StandardA11', 'StandardD1', 'StandardD2', 'StandardD3', 'StandardD4', 'StandardD11', 'StandardD12', 'StandardD13', 'StandardD14', 'StandardD1V2', 'StandardD2V2', 'StandardD3V2', 'StandardD4V2', 'StandardD5V2', 'StandardD11V2', 'StandardD12V2', 'StandardD13V2', 'StandardD14V2', 'StandardG1', 'StandardG2', 'StandardG3', 'StandardG4', 'StandardG5', 'StandardDS1', 'StandardDS2', 'StandardDS3', 'StandardDS4', 'StandardDS11', 'StandardDS12', 'StandardDS13', 'StandardDS14', 'StandardGS1', 'StandardGS2', 'StandardGS3', 'StandardGS4', 'StandardGS5'
VMSize VMSizeTypes `json:"vmSize,omitempty"`
// DNSPrefix - DNS prefix to be used to create the FQDN for the agent pool.
DNSPrefix *string `json:"dnsPrefix,omitempty"`
// Fqdn - READ-ONLY; FQDN for the agent pool.
Fqdn *string `json:"fqdn,omitempty"`
}
// ContainerService container service.
type ContainerService struct {
autorest.Response `json:"-"`
*Properties `json:"properties,omitempty"`
// ID - READ-ONLY; Resource Id
ID *string `json:"id,omitempty"`
// Name - READ-ONLY; Resource name
Name *string `json:"name,omitempty"`
// Type - READ-ONLY; Resource type
Type *string `json:"type,omitempty"`
// Location - Resource location
Location *string `json:"location,omitempty"`
// Tags - Resource tags
Tags map[string]*string `json:"tags"`
}
// MarshalJSON is the custom marshaler for ContainerService.
func (cs ContainerService) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
if cs.Properties != nil {
objectMap["properties"] = cs.Properties
}
if cs.Location != nil {
objectMap["location"] = cs.Location
}
if cs.Tags != nil {
objectMap["tags"] = cs.Tags
}
return json.Marshal(objectMap)
}
// UnmarshalJSON is the custom unmarshaler for ContainerService struct.
func (cs *ContainerService) UnmarshalJSON(body []byte) error {
var m map[string]*json.RawMessage
err := json.Unmarshal(body, &m)
if err != nil {
return err
}
for k, v := range m {
switch k {
case "properties":
if v != nil {
var properties Properties
err = json.Unmarshal(*v, &properties)
if err != nil {
return err
}
cs.Properties = &properties
}
case "id":
if v != nil {
var ID string
err = json.Unmarshal(*v, &ID)
if err != nil {
return err
}
cs.ID = &ID
}
case "name":
if v != nil {
var name string
err = json.Unmarshal(*v, &name)
if err != nil {
return err
}
cs.Name = &name
}
case "type":
if v != nil {
var typeVar string
err = json.Unmarshal(*v, &typeVar)
if err != nil {
return err
}
cs.Type = &typeVar
}
case "location":
if v != nil {
var location string
err = json.Unmarshal(*v, &location)
if err != nil {
return err
}
cs.Location = &location
}
case "tags":
if v != nil {
var tags map[string]*string
err = json.Unmarshal(*v, &tags)
if err != nil {
return err
}
cs.Tags = tags
}
}
}
return nil
}
// ContainerServicesCreateOrUpdateFutureType an abstraction for monitoring and retrieving the results of a
// long-running operation.
type ContainerServicesCreateOrUpdateFutureType struct {
azure.Future
}
// Result returns the result of the asynchronous operation.
// If the operation has not completed it will return an error.
func (future *ContainerServicesCreateOrUpdateFutureType) Result(client ContainerServicesClient) (cs ContainerService, err error) {
var done bool
done, err = future.DoneWithContext(context.Background(), client)
if err != nil {
err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesCreateOrUpdateFutureType", "Result", future.Response(), "Polling failure")
return
}
if !done {
err = azure.NewAsyncOpIncompleteError("containerservice.ContainerServicesCreateOrUpdateFutureType")
return
}
sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
if cs.Response.Response, err = future.GetResult(sender); err == nil && cs.Response.Response.StatusCode != http.StatusNoContent {
cs, err = client.CreateOrUpdateResponder(cs.Response.Response)
if err != nil {
err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesCreateOrUpdateFutureType", "Result", cs.Response.Response, "Failure responding to request")
}
}
return
}
// ContainerServicesDeleteFutureType an abstraction for monitoring and retrieving the results of a
// long-running operation.
type ContainerServicesDeleteFutureType struct {
azure.Future
}
// Result returns the result of the asynchronous operation.
// If the operation has not completed it will return an error.
func (future *ContainerServicesDeleteFutureType) Result(client ContainerServicesClient) (ar autorest.Response, err error) {
var done bool
done, err = future.DoneWithContext(context.Background(), client)
if err != nil {
err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesDeleteFutureType", "Result", future.Response(), "Polling failure")
return
}
if !done {
err = azure.NewAsyncOpIncompleteError("containerservice.ContainerServicesDeleteFutureType")
return
}
ar.Response = future.Response()
return
}
// DiagnosticsProfile ...
type DiagnosticsProfile struct {
// VMDiagnostics - Profile for the container service VM diagnostic agent.
VMDiagnostics *VMDiagnostics `json:"vmDiagnostics,omitempty"`
}
// LinuxProfile profile for Linux VMs in the container service cluster.
type LinuxProfile struct {
// AdminUsername - The administrator username to use for all Linux VMs
AdminUsername *string `json:"adminUsername,omitempty"`
// SSH - The ssh key configuration for Linux VMs.
SSH *SSHConfiguration `json:"ssh,omitempty"`
}
// ListResult the response from the List Container Services operation.
type ListResult struct {
autorest.Response `json:"-"`
// Value - the list of container services.
Value *[]ContainerService `json:"value,omitempty"`
}
// MasterProfile profile for the container service master.
type MasterProfile struct {
// Count - Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.
Count *int32 `json:"count,omitempty"`
// DNSPrefix - DNS prefix to be used to create the FQDN for master.
DNSPrefix *string `json:"dnsPrefix,omitempty"`
// Fqdn - READ-ONLY; FQDN for the master.
Fqdn *string `json:"fqdn,omitempty"`
}
// OrchestratorProfile profile for the container service orchestrator.
type OrchestratorProfile struct {
// OrchestratorType - The orchestrator to use to manage container service cluster resources. Valid values are Swarm, DCOS, and Custom. Possible values include: 'Swarm', 'DCOS'
OrchestratorType OchestratorTypes `json:"orchestratorType,omitempty"`
}
// Properties properties of the container service.
type Properties struct {
// ProvisioningState - READ-ONLY; the current deployment or provisioning state, which only appears in the response.
ProvisioningState *string `json:"provisioningState,omitempty"`
// OrchestratorProfile - Properties of the orchestrator.
OrchestratorProfile *OrchestratorProfile `json:"orchestratorProfile,omitempty"`
// MasterProfile - Properties of master agents.
MasterProfile *MasterProfile `json:"masterProfile,omitempty"`
// AgentPoolProfiles - Properties of the agent pool.
AgentPoolProfiles *[]AgentPoolProfile `json:"agentPoolProfiles,omitempty"`
// WindowsProfile - Properties of Windows VMs.
WindowsProfile *WindowsProfile `json:"windowsProfile,omitempty"`
// LinuxProfile - Properties of Linux VMs.
LinuxProfile *LinuxProfile `json:"linuxProfile,omitempty"`
// DiagnosticsProfile - Properties of the diagnostic agent.
DiagnosticsProfile *DiagnosticsProfile `json:"diagnosticsProfile,omitempty"`
}
// Resource the Resource model definition.
type Resource struct {
// ID - READ-ONLY; Resource Id
ID *string `json:"id,omitempty"`
// Name - READ-ONLY; Resource name
Name *string `json:"name,omitempty"`
// Type - READ-ONLY; Resource type
Type *string `json:"type,omitempty"`
// Location - Resource location
Location *string `json:"location,omitempty"`
// Tags - Resource tags
Tags map[string]*string `json:"tags"`
}
// MarshalJSON is the custom marshaler for Resource.
func (r Resource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
if r.Location != nil {
objectMap["location"] = r.Location
}
if r.Tags != nil {
objectMap["tags"] = r.Tags
}
return json.Marshal(objectMap)
}
// SSHConfiguration SSH configuration for Linux-based VMs running on Azure.
type SSHConfiguration struct {
// PublicKeys - the list of SSH public keys used to authenticate with Linux-based VMs.
PublicKeys *[]SSHPublicKey `json:"publicKeys,omitempty"`
}
// SSHPublicKey contains information about SSH certificate public key data.
type SSHPublicKey struct {
// KeyData - Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.
KeyData *string `json:"keyData,omitempty"`
}
// VMDiagnostics profile for diagnostics on the container service VMs.
type VMDiagnostics struct {
// Enabled - Whether the VM diagnostic agent is provisioned on the VM.
Enabled *bool `json:"enabled,omitempty"`
// StorageURI - READ-ONLY; The URI of the storage account where diagnostics are stored.
StorageURI *string `json:"storageUri,omitempty"`
}
// WindowsProfile profile for Windows VMs in the container service cluster.
type WindowsProfile struct {
// AdminUsername - The administrator username to use for Windows VMs
AdminUsername *string `json:"adminUsername,omitempty"`
// AdminPassword - The administrator password to use for Windows VMs
AdminPassword *string `json:"adminPassword,omitempty"`
}
|