1package netapp 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 "encoding/json" 22 "github.com/Azure/go-autorest/autorest" 23 "github.com/Azure/go-autorest/autorest/azure" 24 "github.com/Azure/go-autorest/autorest/date" 25) 26 27// The package's fully qualified name. 28const fqdn = "github.com/Azure/azure-sdk-for-go/services/netapp/mgmt/2020-02-01/netapp" 29 30// Account netApp account resource 31type Account struct { 32 autorest.Response `json:"-"` 33 // Location - Resource location 34 Location *string `json:"location,omitempty"` 35 // ID - READ-ONLY; Resource Id 36 ID *string `json:"id,omitempty"` 37 // Name - READ-ONLY; Resource name 38 Name *string `json:"name,omitempty"` 39 // Type - READ-ONLY; Resource type 40 Type *string `json:"type,omitempty"` 41 // Tags - Resource tags 42 Tags map[string]*string `json:"tags"` 43 // AccountProperties - NetApp Account properties 44 *AccountProperties `json:"properties,omitempty"` 45} 46 47// MarshalJSON is the custom marshaler for Account. 48func (a Account) MarshalJSON() ([]byte, error) { 49 objectMap := make(map[string]interface{}) 50 if a.Location != nil { 51 objectMap["location"] = a.Location 52 } 53 if a.Tags != nil { 54 objectMap["tags"] = a.Tags 55 } 56 if a.AccountProperties != nil { 57 objectMap["properties"] = a.AccountProperties 58 } 59 return json.Marshal(objectMap) 60} 61 62// UnmarshalJSON is the custom unmarshaler for Account struct. 63func (a *Account) UnmarshalJSON(body []byte) error { 64 var m map[string]*json.RawMessage 65 err := json.Unmarshal(body, &m) 66 if err != nil { 67 return err 68 } 69 for k, v := range m { 70 switch k { 71 case "location": 72 if v != nil { 73 var location string 74 err = json.Unmarshal(*v, &location) 75 if err != nil { 76 return err 77 } 78 a.Location = &location 79 } 80 case "id": 81 if v != nil { 82 var ID string 83 err = json.Unmarshal(*v, &ID) 84 if err != nil { 85 return err 86 } 87 a.ID = &ID 88 } 89 case "name": 90 if v != nil { 91 var name string 92 err = json.Unmarshal(*v, &name) 93 if err != nil { 94 return err 95 } 96 a.Name = &name 97 } 98 case "type": 99 if v != nil { 100 var typeVar string 101 err = json.Unmarshal(*v, &typeVar) 102 if err != nil { 103 return err 104 } 105 a.Type = &typeVar 106 } 107 case "tags": 108 if v != nil { 109 var tags map[string]*string 110 err = json.Unmarshal(*v, &tags) 111 if err != nil { 112 return err 113 } 114 a.Tags = tags 115 } 116 case "properties": 117 if v != nil { 118 var accountProperties AccountProperties 119 err = json.Unmarshal(*v, &accountProperties) 120 if err != nil { 121 return err 122 } 123 a.AccountProperties = &accountProperties 124 } 125 } 126 } 127 128 return nil 129} 130 131// AccountList list of NetApp account resources 132type AccountList struct { 133 autorest.Response `json:"-"` 134 // Value - Multiple NetApp accounts 135 Value *[]Account `json:"value,omitempty"` 136} 137 138// AccountPatch netApp account patch resource 139type AccountPatch struct { 140 // Location - Resource location 141 Location *string `json:"location,omitempty"` 142 // ID - READ-ONLY; Resource Id 143 ID *string `json:"id,omitempty"` 144 // Name - READ-ONLY; Resource name 145 Name *string `json:"name,omitempty"` 146 // Type - READ-ONLY; Resource type 147 Type *string `json:"type,omitempty"` 148 // Tags - Resource tags 149 Tags map[string]*string `json:"tags"` 150 // AccountProperties - NetApp Account properties 151 *AccountProperties `json:"properties,omitempty"` 152} 153 154// MarshalJSON is the custom marshaler for AccountPatch. 155func (ap AccountPatch) MarshalJSON() ([]byte, error) { 156 objectMap := make(map[string]interface{}) 157 if ap.Location != nil { 158 objectMap["location"] = ap.Location 159 } 160 if ap.Tags != nil { 161 objectMap["tags"] = ap.Tags 162 } 163 if ap.AccountProperties != nil { 164 objectMap["properties"] = ap.AccountProperties 165 } 166 return json.Marshal(objectMap) 167} 168 169// UnmarshalJSON is the custom unmarshaler for AccountPatch struct. 170func (ap *AccountPatch) UnmarshalJSON(body []byte) error { 171 var m map[string]*json.RawMessage 172 err := json.Unmarshal(body, &m) 173 if err != nil { 174 return err 175 } 176 for k, v := range m { 177 switch k { 178 case "location": 179 if v != nil { 180 var location string 181 err = json.Unmarshal(*v, &location) 182 if err != nil { 183 return err 184 } 185 ap.Location = &location 186 } 187 case "id": 188 if v != nil { 189 var ID string 190 err = json.Unmarshal(*v, &ID) 191 if err != nil { 192 return err 193 } 194 ap.ID = &ID 195 } 196 case "name": 197 if v != nil { 198 var name string 199 err = json.Unmarshal(*v, &name) 200 if err != nil { 201 return err 202 } 203 ap.Name = &name 204 } 205 case "type": 206 if v != nil { 207 var typeVar string 208 err = json.Unmarshal(*v, &typeVar) 209 if err != nil { 210 return err 211 } 212 ap.Type = &typeVar 213 } 214 case "tags": 215 if v != nil { 216 var tags map[string]*string 217 err = json.Unmarshal(*v, &tags) 218 if err != nil { 219 return err 220 } 221 ap.Tags = tags 222 } 223 case "properties": 224 if v != nil { 225 var accountProperties AccountProperties 226 err = json.Unmarshal(*v, &accountProperties) 227 if err != nil { 228 return err 229 } 230 ap.AccountProperties = &accountProperties 231 } 232 } 233 } 234 235 return nil 236} 237 238// AccountProperties netApp account properties 239type AccountProperties struct { 240 // ProvisioningState - READ-ONLY; Azure lifecycle management 241 ProvisioningState *string `json:"provisioningState,omitempty"` 242 // ActiveDirectories - Active Directories 243 ActiveDirectories *[]ActiveDirectory `json:"activeDirectories,omitempty"` 244} 245 246// MarshalJSON is the custom marshaler for AccountProperties. 247func (ap AccountProperties) MarshalJSON() ([]byte, error) { 248 objectMap := make(map[string]interface{}) 249 if ap.ActiveDirectories != nil { 250 objectMap["activeDirectories"] = ap.ActiveDirectories 251 } 252 return json.Marshal(objectMap) 253} 254 255// AccountsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running 256// operation. 257type AccountsCreateOrUpdateFuture struct { 258 azure.FutureAPI 259 // Result returns the result of the asynchronous operation. 260 // If the operation has not completed it will return an error. 261 Result func(AccountsClient) (Account, error) 262} 263 264// AccountsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running 265// operation. 266type AccountsDeleteFuture struct { 267 azure.FutureAPI 268 // Result returns the result of the asynchronous operation. 269 // If the operation has not completed it will return an error. 270 Result func(AccountsClient) (autorest.Response, error) 271} 272 273// AccountsUpdateFuture an abstraction for monitoring and retrieving the results of a long-running 274// operation. 275type AccountsUpdateFuture struct { 276 azure.FutureAPI 277 // Result returns the result of the asynchronous operation. 278 // If the operation has not completed it will return an error. 279 Result func(AccountsClient) (Account, error) 280} 281 282// ActiveDirectory active Directory 283type ActiveDirectory struct { 284 // ActiveDirectoryID - Id of the Active Directory 285 ActiveDirectoryID *string `json:"activeDirectoryId,omitempty"` 286 // Username - Username of Active Directory domain administrator 287 Username *string `json:"username,omitempty"` 288 // Password - Plain text password of Active Directory domain administrator 289 Password *string `json:"password,omitempty"` 290 // Domain - Name of the Active Directory domain 291 Domain *string `json:"domain,omitempty"` 292 // DNS - Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain 293 DNS *string `json:"dns,omitempty"` 294 // Status - Status of the Active Directory 295 Status *string `json:"status,omitempty"` 296 // SmbServerName - NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes 297 SmbServerName *string `json:"smbServerName,omitempty"` 298 // OrganizationalUnit - The Organizational Unit (OU) within the Windows Active Directory 299 OrganizationalUnit *string `json:"organizationalUnit,omitempty"` 300 // Site - The Active Directory site the service will limit Domain Controller discovery to 301 Site *string `json:"site,omitempty"` 302 // BackupOperators - Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier 303 BackupOperators *[]string `json:"backupOperators,omitempty"` 304} 305 306// AuthorizeRequest authorize request 307type AuthorizeRequest struct { 308 // RemoteVolumeResourceID - Resource id of the remote volume 309 RemoteVolumeResourceID *string `json:"remoteVolumeResourceId,omitempty"` 310} 311 312// CapacityPool capacity pool resource 313type CapacityPool struct { 314 autorest.Response `json:"-"` 315 // Location - Resource location 316 Location *string `json:"location,omitempty"` 317 // ID - READ-ONLY; Resource Id 318 ID *string `json:"id,omitempty"` 319 // Name - READ-ONLY; Resource name 320 Name *string `json:"name,omitempty"` 321 // Type - READ-ONLY; Resource type 322 Type *string `json:"type,omitempty"` 323 // Tags - Resource tags 324 Tags map[string]*string `json:"tags"` 325 // PoolProperties - Capacity pool properties 326 *PoolProperties `json:"properties,omitempty"` 327} 328 329// MarshalJSON is the custom marshaler for CapacityPool. 330func (cp CapacityPool) MarshalJSON() ([]byte, error) { 331 objectMap := make(map[string]interface{}) 332 if cp.Location != nil { 333 objectMap["location"] = cp.Location 334 } 335 if cp.Tags != nil { 336 objectMap["tags"] = cp.Tags 337 } 338 if cp.PoolProperties != nil { 339 objectMap["properties"] = cp.PoolProperties 340 } 341 return json.Marshal(objectMap) 342} 343 344// UnmarshalJSON is the custom unmarshaler for CapacityPool struct. 345func (cp *CapacityPool) UnmarshalJSON(body []byte) error { 346 var m map[string]*json.RawMessage 347 err := json.Unmarshal(body, &m) 348 if err != nil { 349 return err 350 } 351 for k, v := range m { 352 switch k { 353 case "location": 354 if v != nil { 355 var location string 356 err = json.Unmarshal(*v, &location) 357 if err != nil { 358 return err 359 } 360 cp.Location = &location 361 } 362 case "id": 363 if v != nil { 364 var ID string 365 err = json.Unmarshal(*v, &ID) 366 if err != nil { 367 return err 368 } 369 cp.ID = &ID 370 } 371 case "name": 372 if v != nil { 373 var name string 374 err = json.Unmarshal(*v, &name) 375 if err != nil { 376 return err 377 } 378 cp.Name = &name 379 } 380 case "type": 381 if v != nil { 382 var typeVar string 383 err = json.Unmarshal(*v, &typeVar) 384 if err != nil { 385 return err 386 } 387 cp.Type = &typeVar 388 } 389 case "tags": 390 if v != nil { 391 var tags map[string]*string 392 err = json.Unmarshal(*v, &tags) 393 if err != nil { 394 return err 395 } 396 cp.Tags = tags 397 } 398 case "properties": 399 if v != nil { 400 var poolProperties PoolProperties 401 err = json.Unmarshal(*v, &poolProperties) 402 if err != nil { 403 return err 404 } 405 cp.PoolProperties = &poolProperties 406 } 407 } 408 } 409 410 return nil 411} 412 413// CapacityPoolList list of capacity pool resources 414type CapacityPoolList struct { 415 autorest.Response `json:"-"` 416 // Value - List of Capacity pools 417 Value *[]CapacityPool `json:"value,omitempty"` 418} 419 420// CapacityPoolPatch capacity pool patch resource 421type CapacityPoolPatch struct { 422 // Location - Resource location 423 Location *string `json:"location,omitempty"` 424 // ID - READ-ONLY; Resource Id 425 ID *string `json:"id,omitempty"` 426 // Name - READ-ONLY; Resource name 427 Name *string `json:"name,omitempty"` 428 // Type - READ-ONLY; Resource type 429 Type *string `json:"type,omitempty"` 430 // Tags - Resource tags 431 Tags map[string]*string `json:"tags"` 432 // PoolPatchProperties - Capacity pool properties 433 *PoolPatchProperties `json:"properties,omitempty"` 434} 435 436// MarshalJSON is the custom marshaler for CapacityPoolPatch. 437func (cpp CapacityPoolPatch) MarshalJSON() ([]byte, error) { 438 objectMap := make(map[string]interface{}) 439 if cpp.Location != nil { 440 objectMap["location"] = cpp.Location 441 } 442 if cpp.Tags != nil { 443 objectMap["tags"] = cpp.Tags 444 } 445 if cpp.PoolPatchProperties != nil { 446 objectMap["properties"] = cpp.PoolPatchProperties 447 } 448 return json.Marshal(objectMap) 449} 450 451// UnmarshalJSON is the custom unmarshaler for CapacityPoolPatch struct. 452func (cpp *CapacityPoolPatch) UnmarshalJSON(body []byte) error { 453 var m map[string]*json.RawMessage 454 err := json.Unmarshal(body, &m) 455 if err != nil { 456 return err 457 } 458 for k, v := range m { 459 switch k { 460 case "location": 461 if v != nil { 462 var location string 463 err = json.Unmarshal(*v, &location) 464 if err != nil { 465 return err 466 } 467 cpp.Location = &location 468 } 469 case "id": 470 if v != nil { 471 var ID string 472 err = json.Unmarshal(*v, &ID) 473 if err != nil { 474 return err 475 } 476 cpp.ID = &ID 477 } 478 case "name": 479 if v != nil { 480 var name string 481 err = json.Unmarshal(*v, &name) 482 if err != nil { 483 return err 484 } 485 cpp.Name = &name 486 } 487 case "type": 488 if v != nil { 489 var typeVar string 490 err = json.Unmarshal(*v, &typeVar) 491 if err != nil { 492 return err 493 } 494 cpp.Type = &typeVar 495 } 496 case "tags": 497 if v != nil { 498 var tags map[string]*string 499 err = json.Unmarshal(*v, &tags) 500 if err != nil { 501 return err 502 } 503 cpp.Tags = tags 504 } 505 case "properties": 506 if v != nil { 507 var poolPatchProperties PoolPatchProperties 508 err = json.Unmarshal(*v, &poolPatchProperties) 509 if err != nil { 510 return err 511 } 512 cpp.PoolPatchProperties = &poolPatchProperties 513 } 514 } 515 } 516 517 return nil 518} 519 520// Dimension dimension of blobs, possibly be blob type or access tier. 521type Dimension struct { 522 // Name - Display name of dimension. 523 Name *string `json:"name,omitempty"` 524 // DisplayName - Display name of dimension. 525 DisplayName *string `json:"displayName,omitempty"` 526} 527 528// ExportPolicyRule volume Export Policy Rule 529type ExportPolicyRule struct { 530 // RuleIndex - Order index 531 RuleIndex *int32 `json:"ruleIndex,omitempty"` 532 // UnixReadOnly - Read only access 533 UnixReadOnly *bool `json:"unixReadOnly,omitempty"` 534 // UnixReadWrite - Read and write access 535 UnixReadWrite *bool `json:"unixReadWrite,omitempty"` 536 // Cifs - Allows CIFS protocol 537 Cifs *bool `json:"cifs,omitempty"` 538 // Nfsv3 - Allows NFSv3 protocol. Enable only for NFSv3 type volumes 539 Nfsv3 *bool `json:"nfsv3,omitempty"` 540 // Nfsv41 - Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes 541 Nfsv41 *bool `json:"nfsv41,omitempty"` 542 // AllowedClients - Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names 543 AllowedClients *string `json:"allowedClients,omitempty"` 544} 545 546// MetricSpecification metric specification of operation. 547type MetricSpecification struct { 548 // Name - Name of metric specification. 549 Name *string `json:"name,omitempty"` 550 // DisplayName - Display name of metric specification. 551 DisplayName *string `json:"displayName,omitempty"` 552 // DisplayDescription - Display description of metric specification. 553 DisplayDescription *string `json:"displayDescription,omitempty"` 554 // Unit - Unit could be Bytes or Count. 555 Unit *string `json:"unit,omitempty"` 556 // Dimensions - Dimensions of blobs, including blob type and access tier. 557 Dimensions *[]Dimension `json:"dimensions,omitempty"` 558 // AggregationType - Aggregation type could be Average. 559 AggregationType *string `json:"aggregationType,omitempty"` 560 // FillGapWithZero - The property to decide fill gap with zero or not. 561 FillGapWithZero *bool `json:"fillGapWithZero,omitempty"` 562 // Category - The category this metric specification belong to, could be Capacity. 563 Category *string `json:"category,omitempty"` 564 // ResourceIDDimensionNameOverride - Account Resource Id. 565 ResourceIDDimensionNameOverride *string `json:"resourceIdDimensionNameOverride,omitempty"` 566} 567 568// MountTarget mount Target 569type MountTarget struct { 570 // Location - Resource location 571 Location *string `json:"location,omitempty"` 572 // ID - READ-ONLY; Resource Id 573 ID *string `json:"id,omitempty"` 574 // Name - READ-ONLY; Resource name 575 Name *string `json:"name,omitempty"` 576 // Type - READ-ONLY; Resource type 577 Type *string `json:"type,omitempty"` 578 // Tags - Resource tags 579 Tags map[string]*string `json:"tags"` 580 // MountTargetProperties - Mount Target Properties 581 *MountTargetProperties `json:"properties,omitempty"` 582} 583 584// MarshalJSON is the custom marshaler for MountTarget. 585func (mt MountTarget) MarshalJSON() ([]byte, error) { 586 objectMap := make(map[string]interface{}) 587 if mt.Location != nil { 588 objectMap["location"] = mt.Location 589 } 590 if mt.Tags != nil { 591 objectMap["tags"] = mt.Tags 592 } 593 if mt.MountTargetProperties != nil { 594 objectMap["properties"] = mt.MountTargetProperties 595 } 596 return json.Marshal(objectMap) 597} 598 599// UnmarshalJSON is the custom unmarshaler for MountTarget struct. 600func (mt *MountTarget) UnmarshalJSON(body []byte) error { 601 var m map[string]*json.RawMessage 602 err := json.Unmarshal(body, &m) 603 if err != nil { 604 return err 605 } 606 for k, v := range m { 607 switch k { 608 case "location": 609 if v != nil { 610 var location string 611 err = json.Unmarshal(*v, &location) 612 if err != nil { 613 return err 614 } 615 mt.Location = &location 616 } 617 case "id": 618 if v != nil { 619 var ID string 620 err = json.Unmarshal(*v, &ID) 621 if err != nil { 622 return err 623 } 624 mt.ID = &ID 625 } 626 case "name": 627 if v != nil { 628 var name string 629 err = json.Unmarshal(*v, &name) 630 if err != nil { 631 return err 632 } 633 mt.Name = &name 634 } 635 case "type": 636 if v != nil { 637 var typeVar string 638 err = json.Unmarshal(*v, &typeVar) 639 if err != nil { 640 return err 641 } 642 mt.Type = &typeVar 643 } 644 case "tags": 645 if v != nil { 646 var tags map[string]*string 647 err = json.Unmarshal(*v, &tags) 648 if err != nil { 649 return err 650 } 651 mt.Tags = tags 652 } 653 case "properties": 654 if v != nil { 655 var mountTargetProperties MountTargetProperties 656 err = json.Unmarshal(*v, &mountTargetProperties) 657 if err != nil { 658 return err 659 } 660 mt.MountTargetProperties = &mountTargetProperties 661 } 662 } 663 } 664 665 return nil 666} 667 668// MountTargetProperties mount target properties 669type MountTargetProperties struct { 670 // MountTargetID - READ-ONLY; UUID v4 used to identify the MountTarget 671 MountTargetID *string `json:"mountTargetId,omitempty"` 672 // FileSystemID - UUID v4 used to identify the MountTarget 673 FileSystemID *string `json:"fileSystemId,omitempty"` 674 // IPAddress - READ-ONLY; The mount target's IPv4 address 675 IPAddress *string `json:"ipAddress,omitempty"` 676 // Subnet - The subnet 677 Subnet *string `json:"subnet,omitempty"` 678 // StartIP - The start of IPv4 address range to use when creating a new mount target 679 StartIP *string `json:"startIp,omitempty"` 680 // EndIP - The end of IPv4 address range to use when creating a new mount target 681 EndIP *string `json:"endIp,omitempty"` 682 // Gateway - The gateway of the IPv4 address range to use when creating a new mount target 683 Gateway *string `json:"gateway,omitempty"` 684 // Netmask - The netmask of the IPv4 address range to use when creating a new mount target 685 Netmask *string `json:"netmask,omitempty"` 686 // SmbServerFqdn - The SMB server's Fully Qualified Domain Name, FQDN 687 SmbServerFqdn *string `json:"smbServerFqdn,omitempty"` 688} 689 690// MarshalJSON is the custom marshaler for MountTargetProperties. 691func (mtp MountTargetProperties) MarshalJSON() ([]byte, error) { 692 objectMap := make(map[string]interface{}) 693 if mtp.FileSystemID != nil { 694 objectMap["fileSystemId"] = mtp.FileSystemID 695 } 696 if mtp.Subnet != nil { 697 objectMap["subnet"] = mtp.Subnet 698 } 699 if mtp.StartIP != nil { 700 objectMap["startIp"] = mtp.StartIP 701 } 702 if mtp.EndIP != nil { 703 objectMap["endIp"] = mtp.EndIP 704 } 705 if mtp.Gateway != nil { 706 objectMap["gateway"] = mtp.Gateway 707 } 708 if mtp.Netmask != nil { 709 objectMap["netmask"] = mtp.Netmask 710 } 711 if mtp.SmbServerFqdn != nil { 712 objectMap["smbServerFqdn"] = mtp.SmbServerFqdn 713 } 714 return json.Marshal(objectMap) 715} 716 717// Operation microsoft.NetApp REST API operation definition. 718type Operation struct { 719 // Name - Operation name: {provider}/{resource}/{operation} 720 Name *string `json:"name,omitempty"` 721 // Display - Display metadata associated with the operation. 722 Display *OperationDisplay `json:"display,omitempty"` 723 // Origin - The origin of operations. 724 Origin *string `json:"origin,omitempty"` 725 // OperationProperties - Properties of operation, include metric specifications. 726 *OperationProperties `json:"properties,omitempty"` 727} 728 729// MarshalJSON is the custom marshaler for Operation. 730func (o Operation) MarshalJSON() ([]byte, error) { 731 objectMap := make(map[string]interface{}) 732 if o.Name != nil { 733 objectMap["name"] = o.Name 734 } 735 if o.Display != nil { 736 objectMap["display"] = o.Display 737 } 738 if o.Origin != nil { 739 objectMap["origin"] = o.Origin 740 } 741 if o.OperationProperties != nil { 742 objectMap["properties"] = o.OperationProperties 743 } 744 return json.Marshal(objectMap) 745} 746 747// UnmarshalJSON is the custom unmarshaler for Operation struct. 748func (o *Operation) UnmarshalJSON(body []byte) error { 749 var m map[string]*json.RawMessage 750 err := json.Unmarshal(body, &m) 751 if err != nil { 752 return err 753 } 754 for k, v := range m { 755 switch k { 756 case "name": 757 if v != nil { 758 var name string 759 err = json.Unmarshal(*v, &name) 760 if err != nil { 761 return err 762 } 763 o.Name = &name 764 } 765 case "display": 766 if v != nil { 767 var display OperationDisplay 768 err = json.Unmarshal(*v, &display) 769 if err != nil { 770 return err 771 } 772 o.Display = &display 773 } 774 case "origin": 775 if v != nil { 776 var origin string 777 err = json.Unmarshal(*v, &origin) 778 if err != nil { 779 return err 780 } 781 o.Origin = &origin 782 } 783 case "properties": 784 if v != nil { 785 var operationProperties OperationProperties 786 err = json.Unmarshal(*v, &operationProperties) 787 if err != nil { 788 return err 789 } 790 o.OperationProperties = &operationProperties 791 } 792 } 793 } 794 795 return nil 796} 797 798// OperationDisplay display metadata associated with the operation. 799type OperationDisplay struct { 800 // Provider - Service provider: Microsoft NetApp. 801 Provider *string `json:"provider,omitempty"` 802 // Resource - Resource on which the operation is performed etc. 803 Resource *string `json:"resource,omitempty"` 804 // Operation - Type of operation: get, read, delete, etc. 805 Operation *string `json:"operation,omitempty"` 806 // Description - Operation description. 807 Description *string `json:"description,omitempty"` 808} 809 810// OperationListResult result of the request to list Cloud Volume operations. It contains a list of 811// operations and a URL link to get the next set of results. 812type OperationListResult struct { 813 autorest.Response `json:"-"` 814 // Value - List of Storage operations supported by the Storage resource provider. 815 Value *[]Operation `json:"value,omitempty"` 816} 817 818// OperationProperties properties of operation, include metric specifications. 819type OperationProperties struct { 820 // ServiceSpecification - One property of operation, include metric specifications. 821 ServiceSpecification *ServiceSpecification `json:"serviceSpecification,omitempty"` 822} 823 824// PoolPatchProperties patchable pool properties 825type PoolPatchProperties struct { 826 // Size - Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104). 827 Size *int64 `json:"size,omitempty"` 828 // ServiceLevel - The service level of the file system. Possible values include: 'Standard', 'Premium', 'Ultra' 829 ServiceLevel PatchServiceLevel `json:"serviceLevel,omitempty"` 830} 831 832// PoolProperties pool properties 833type PoolProperties struct { 834 // PoolID - READ-ONLY; UUID v4 used to identify the Pool 835 PoolID *string `json:"poolId,omitempty"` 836 // Size - Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104). 837 Size *int64 `json:"size,omitempty"` 838 // ServiceLevel - The service level of the file system. Possible values include: 'PoolServiceLevelStandard', 'PoolServiceLevelPremium', 'PoolServiceLevelUltra' 839 ServiceLevel PoolServiceLevel `json:"serviceLevel,omitempty"` 840 // ProvisioningState - READ-ONLY; Azure lifecycle management 841 ProvisioningState *string `json:"provisioningState,omitempty"` 842} 843 844// MarshalJSON is the custom marshaler for PoolProperties. 845func (pp PoolProperties) MarshalJSON() ([]byte, error) { 846 objectMap := make(map[string]interface{}) 847 if pp.Size != nil { 848 objectMap["size"] = pp.Size 849 } 850 if pp.ServiceLevel != "" { 851 objectMap["serviceLevel"] = pp.ServiceLevel 852 } 853 return json.Marshal(objectMap) 854} 855 856// PoolsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running 857// operation. 858type PoolsCreateOrUpdateFuture struct { 859 azure.FutureAPI 860 // Result returns the result of the asynchronous operation. 861 // If the operation has not completed it will return an error. 862 Result func(PoolsClient) (CapacityPool, error) 863} 864 865// PoolsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running operation. 866type PoolsDeleteFuture struct { 867 azure.FutureAPI 868 // Result returns the result of the asynchronous operation. 869 // If the operation has not completed it will return an error. 870 Result func(PoolsClient) (autorest.Response, error) 871} 872 873// PoolsUpdateFuture an abstraction for monitoring and retrieving the results of a long-running operation. 874type PoolsUpdateFuture struct { 875 azure.FutureAPI 876 // Result returns the result of the asynchronous operation. 877 // If the operation has not completed it will return an error. 878 Result func(PoolsClient) (CapacityPool, error) 879} 880 881// ReplicationObject replication properties 882type ReplicationObject struct { 883 // ReplicationID - Id 884 ReplicationID *string `json:"replicationId,omitempty"` 885 // EndpointType - Indicates whether the local volume is the source or destination for the Volume Replication. Possible values include: 'Src', 'Dst' 886 EndpointType EndpointType `json:"endpointType,omitempty"` 887 // ReplicationSchedule - Schedule. Possible values include: '10minutely', 'Hourly', 'Daily' 888 ReplicationSchedule ReplicationSchedule `json:"replicationSchedule,omitempty"` 889 // RemoteVolumeResourceID - The resource ID of the remote volume. 890 RemoteVolumeResourceID *string `json:"remoteVolumeResourceId,omitempty"` 891 // RemoteVolumeRegion - The remote region for the other end of the Volume Replication. 892 RemoteVolumeRegion *string `json:"remoteVolumeRegion,omitempty"` 893} 894 895// ReplicationStatus replication status 896type ReplicationStatus struct { 897 autorest.Response `json:"-"` 898 // Healthy - Replication health check 899 Healthy *bool `json:"healthy,omitempty"` 900 // RelationshipStatus - Status of the mirror relationship. Possible values include: 'Idle', 'Transferring' 901 RelationshipStatus RelationshipStatus `json:"relationshipStatus,omitempty"` 902 // MirrorState - The status of the replication. Possible values include: 'Uninitialized', 'Mirrored', 'Broken' 903 MirrorState MirrorState `json:"mirrorState,omitempty"` 904 // TotalProgress - The progress of the replication 905 TotalProgress *string `json:"totalProgress,omitempty"` 906 // ErrorMessage - Displays error message if the replication is in an error state 907 ErrorMessage *string `json:"errorMessage,omitempty"` 908} 909 910// ResourceNameAvailability information regarding availability of a resource name. 911type ResourceNameAvailability struct { 912 autorest.Response `json:"-"` 913 // IsAvailable - <code>true</code> indicates name is valid and available. <code>false</code> indicates the name is invalid, unavailable, or both. 914 IsAvailable *bool `json:"isAvailable,omitempty"` 915 // Reason - <code>Invalid</code> indicates the name provided does not match Azure App Service naming requirements. <code>AlreadyExists</code> indicates that the name is already in use and is therefore unavailable. Possible values include: 'Invalid', 'AlreadyExists' 916 Reason InAvailabilityReasonType `json:"reason,omitempty"` 917 // Message - If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that resource name is already in use, and direct them to select a different name. 918 Message *string `json:"message,omitempty"` 919} 920 921// ResourceNameAvailabilityRequest resource name availability request content. 922type ResourceNameAvailabilityRequest struct { 923 // Name - Resource name to verify. 924 Name *string `json:"name,omitempty"` 925 // Type - Resource type used for verification. Possible values include: 'MicrosoftNetAppnetAppAccounts', 'MicrosoftNetAppnetAppAccountscapacityPools', 'MicrosoftNetAppnetAppAccountscapacityPoolsvolumes', 'MicrosoftNetAppnetAppAccountscapacityPoolsvolumessnapshots' 926 Type CheckNameResourceTypes `json:"type,omitempty"` 927 // ResourceGroup - Resource group name. 928 ResourceGroup *string `json:"resourceGroup,omitempty"` 929} 930 931// ServiceSpecification one property of operation, include metric specifications. 932type ServiceSpecification struct { 933 // MetricSpecifications - Metric specifications of operation. 934 MetricSpecifications *[]MetricSpecification `json:"metricSpecifications,omitempty"` 935} 936 937// Snapshot snapshot of a Volume 938type Snapshot struct { 939 autorest.Response `json:"-"` 940 // Location - Resource location 941 Location *string `json:"location,omitempty"` 942 // ID - READ-ONLY; Resource Id 943 ID *string `json:"id,omitempty"` 944 // Name - READ-ONLY; Resource name 945 Name *string `json:"name,omitempty"` 946 // Type - READ-ONLY; Resource type 947 Type *string `json:"type,omitempty"` 948 // SnapshotProperties - Snapshot Properties 949 *SnapshotProperties `json:"properties,omitempty"` 950} 951 952// MarshalJSON is the custom marshaler for Snapshot. 953func (s Snapshot) MarshalJSON() ([]byte, error) { 954 objectMap := make(map[string]interface{}) 955 if s.Location != nil { 956 objectMap["location"] = s.Location 957 } 958 if s.SnapshotProperties != nil { 959 objectMap["properties"] = s.SnapshotProperties 960 } 961 return json.Marshal(objectMap) 962} 963 964// UnmarshalJSON is the custom unmarshaler for Snapshot struct. 965func (s *Snapshot) UnmarshalJSON(body []byte) error { 966 var m map[string]*json.RawMessage 967 err := json.Unmarshal(body, &m) 968 if err != nil { 969 return err 970 } 971 for k, v := range m { 972 switch k { 973 case "location": 974 if v != nil { 975 var location string 976 err = json.Unmarshal(*v, &location) 977 if err != nil { 978 return err 979 } 980 s.Location = &location 981 } 982 case "id": 983 if v != nil { 984 var ID string 985 err = json.Unmarshal(*v, &ID) 986 if err != nil { 987 return err 988 } 989 s.ID = &ID 990 } 991 case "name": 992 if v != nil { 993 var name string 994 err = json.Unmarshal(*v, &name) 995 if err != nil { 996 return err 997 } 998 s.Name = &name 999 } 1000 case "type": 1001 if v != nil { 1002 var typeVar string 1003 err = json.Unmarshal(*v, &typeVar) 1004 if err != nil { 1005 return err 1006 } 1007 s.Type = &typeVar 1008 } 1009 case "properties": 1010 if v != nil { 1011 var snapshotProperties SnapshotProperties 1012 err = json.Unmarshal(*v, &snapshotProperties) 1013 if err != nil { 1014 return err 1015 } 1016 s.SnapshotProperties = &snapshotProperties 1017 } 1018 } 1019 } 1020 1021 return nil 1022} 1023 1024// SnapshotProperties snapshot properties 1025type SnapshotProperties struct { 1026 // SnapshotID - READ-ONLY; UUID v4 used to identify the Snapshot 1027 SnapshotID *string `json:"snapshotId,omitempty"` 1028 // Created - READ-ONLY; The creation date of the snapshot 1029 Created *date.Time `json:"created,omitempty"` 1030 // ProvisioningState - READ-ONLY; Azure lifecycle management 1031 ProvisioningState *string `json:"provisioningState,omitempty"` 1032} 1033 1034// SnapshotsCreateFuture an abstraction for monitoring and retrieving the results of a long-running 1035// operation. 1036type SnapshotsCreateFuture struct { 1037 azure.FutureAPI 1038 // Result returns the result of the asynchronous operation. 1039 // If the operation has not completed it will return an error. 1040 Result func(SnapshotsClient) (Snapshot, error) 1041} 1042 1043// SnapshotsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running 1044// operation. 1045type SnapshotsDeleteFuture struct { 1046 azure.FutureAPI 1047 // Result returns the result of the asynchronous operation. 1048 // If the operation has not completed it will return an error. 1049 Result func(SnapshotsClient) (autorest.Response, error) 1050} 1051 1052// SnapshotsList list of Snapshots 1053type SnapshotsList struct { 1054 autorest.Response `json:"-"` 1055 // Value - A list of Snapshots 1056 Value *[]Snapshot `json:"value,omitempty"` 1057} 1058 1059// SnapshotsUpdateFuture an abstraction for monitoring and retrieving the results of a long-running 1060// operation. 1061type SnapshotsUpdateFuture struct { 1062 azure.FutureAPI 1063 // Result returns the result of the asynchronous operation. 1064 // If the operation has not completed it will return an error. 1065 Result func(SnapshotsClient) (Snapshot, error) 1066} 1067 1068// Volume volume resource 1069type Volume struct { 1070 autorest.Response `json:"-"` 1071 // Location - Resource location 1072 Location *string `json:"location,omitempty"` 1073 // ID - READ-ONLY; Resource Id 1074 ID *string `json:"id,omitempty"` 1075 // Name - READ-ONLY; Resource name 1076 Name *string `json:"name,omitempty"` 1077 // Type - READ-ONLY; Resource type 1078 Type *string `json:"type,omitempty"` 1079 // Tags - Resource tags 1080 Tags map[string]*string `json:"tags"` 1081 // VolumeProperties - Volume properties 1082 *VolumeProperties `json:"properties,omitempty"` 1083} 1084 1085// MarshalJSON is the custom marshaler for Volume. 1086func (vVar Volume) MarshalJSON() ([]byte, error) { 1087 objectMap := make(map[string]interface{}) 1088 if vVar.Location != nil { 1089 objectMap["location"] = vVar.Location 1090 } 1091 if vVar.Tags != nil { 1092 objectMap["tags"] = vVar.Tags 1093 } 1094 if vVar.VolumeProperties != nil { 1095 objectMap["properties"] = vVar.VolumeProperties 1096 } 1097 return json.Marshal(objectMap) 1098} 1099 1100// UnmarshalJSON is the custom unmarshaler for Volume struct. 1101func (vVar *Volume) UnmarshalJSON(body []byte) error { 1102 var m map[string]*json.RawMessage 1103 err := json.Unmarshal(body, &m) 1104 if err != nil { 1105 return err 1106 } 1107 for k, v := range m { 1108 switch k { 1109 case "location": 1110 if v != nil { 1111 var location string 1112 err = json.Unmarshal(*v, &location) 1113 if err != nil { 1114 return err 1115 } 1116 vVar.Location = &location 1117 } 1118 case "id": 1119 if v != nil { 1120 var ID string 1121 err = json.Unmarshal(*v, &ID) 1122 if err != nil { 1123 return err 1124 } 1125 vVar.ID = &ID 1126 } 1127 case "name": 1128 if v != nil { 1129 var name string 1130 err = json.Unmarshal(*v, &name) 1131 if err != nil { 1132 return err 1133 } 1134 vVar.Name = &name 1135 } 1136 case "type": 1137 if v != nil { 1138 var typeVar string 1139 err = json.Unmarshal(*v, &typeVar) 1140 if err != nil { 1141 return err 1142 } 1143 vVar.Type = &typeVar 1144 } 1145 case "tags": 1146 if v != nil { 1147 var tags map[string]*string 1148 err = json.Unmarshal(*v, &tags) 1149 if err != nil { 1150 return err 1151 } 1152 vVar.Tags = tags 1153 } 1154 case "properties": 1155 if v != nil { 1156 var volumeProperties VolumeProperties 1157 err = json.Unmarshal(*v, &volumeProperties) 1158 if err != nil { 1159 return err 1160 } 1161 vVar.VolumeProperties = &volumeProperties 1162 } 1163 } 1164 } 1165 1166 return nil 1167} 1168 1169// VolumeList list of volume resources 1170type VolumeList struct { 1171 autorest.Response `json:"-"` 1172 // Value - List of volumes 1173 Value *[]Volume `json:"value,omitempty"` 1174} 1175 1176// VolumePatch volume patch resource 1177type VolumePatch struct { 1178 // Location - Resource location 1179 Location *string `json:"location,omitempty"` 1180 // ID - READ-ONLY; Resource Id 1181 ID *string `json:"id,omitempty"` 1182 // Name - READ-ONLY; Resource name 1183 Name *string `json:"name,omitempty"` 1184 // Type - READ-ONLY; Resource type 1185 Type *string `json:"type,omitempty"` 1186 // Tags - Resource tags 1187 Tags map[string]*string `json:"tags"` 1188 // VolumePatchProperties - Patchable volume properties 1189 *VolumePatchProperties `json:"properties,omitempty"` 1190} 1191 1192// MarshalJSON is the custom marshaler for VolumePatch. 1193func (vp VolumePatch) MarshalJSON() ([]byte, error) { 1194 objectMap := make(map[string]interface{}) 1195 if vp.Location != nil { 1196 objectMap["location"] = vp.Location 1197 } 1198 if vp.Tags != nil { 1199 objectMap["tags"] = vp.Tags 1200 } 1201 if vp.VolumePatchProperties != nil { 1202 objectMap["properties"] = vp.VolumePatchProperties 1203 } 1204 return json.Marshal(objectMap) 1205} 1206 1207// UnmarshalJSON is the custom unmarshaler for VolumePatch struct. 1208func (vp *VolumePatch) UnmarshalJSON(body []byte) error { 1209 var m map[string]*json.RawMessage 1210 err := json.Unmarshal(body, &m) 1211 if err != nil { 1212 return err 1213 } 1214 for k, v := range m { 1215 switch k { 1216 case "location": 1217 if v != nil { 1218 var location string 1219 err = json.Unmarshal(*v, &location) 1220 if err != nil { 1221 return err 1222 } 1223 vp.Location = &location 1224 } 1225 case "id": 1226 if v != nil { 1227 var ID string 1228 err = json.Unmarshal(*v, &ID) 1229 if err != nil { 1230 return err 1231 } 1232 vp.ID = &ID 1233 } 1234 case "name": 1235 if v != nil { 1236 var name string 1237 err = json.Unmarshal(*v, &name) 1238 if err != nil { 1239 return err 1240 } 1241 vp.Name = &name 1242 } 1243 case "type": 1244 if v != nil { 1245 var typeVar string 1246 err = json.Unmarshal(*v, &typeVar) 1247 if err != nil { 1248 return err 1249 } 1250 vp.Type = &typeVar 1251 } 1252 case "tags": 1253 if v != nil { 1254 var tags map[string]*string 1255 err = json.Unmarshal(*v, &tags) 1256 if err != nil { 1257 return err 1258 } 1259 vp.Tags = tags 1260 } 1261 case "properties": 1262 if v != nil { 1263 var volumePatchProperties VolumePatchProperties 1264 err = json.Unmarshal(*v, &volumePatchProperties) 1265 if err != nil { 1266 return err 1267 } 1268 vp.VolumePatchProperties = &volumePatchProperties 1269 } 1270 } 1271 } 1272 1273 return nil 1274} 1275 1276// VolumePatchProperties patchable volume properties 1277type VolumePatchProperties struct { 1278 // ServiceLevel - The service level of the file system. Possible values include: 'ServiceLevelStandard', 'ServiceLevelPremium', 'ServiceLevelUltra' 1279 ServiceLevel ServiceLevel `json:"serviceLevel,omitempty"` 1280 // UsageThreshold - Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes. 1281 UsageThreshold *int64 `json:"usageThreshold,omitempty"` 1282 // ExportPolicy - Set of export policy rules 1283 ExportPolicy *VolumePatchPropertiesExportPolicy `json:"exportPolicy,omitempty"` 1284} 1285 1286// VolumePatchPropertiesExportPolicy set of export policy rules 1287type VolumePatchPropertiesExportPolicy struct { 1288 // Rules - Export policy rule 1289 Rules *[]ExportPolicyRule `json:"rules,omitempty"` 1290} 1291 1292// VolumeProperties volume properties 1293type VolumeProperties struct { 1294 // FileSystemID - READ-ONLY; Unique FileSystem Identifier. 1295 FileSystemID *string `json:"fileSystemId,omitempty"` 1296 // CreationToken - A unique file path for the volume. Used when creating mount targets 1297 CreationToken *string `json:"creationToken,omitempty"` 1298 // ServiceLevel - The service level of the file system. Possible values include: 'VolumeServiceLevelStandard', 'VolumeServiceLevelPremium', 'VolumeServiceLevelUltra' 1299 ServiceLevel VolumeServiceLevel `json:"serviceLevel,omitempty"` 1300 // UsageThreshold - Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes. 1301 UsageThreshold *int64 `json:"usageThreshold,omitempty"` 1302 // ExportPolicy - Set of export policy rules 1303 ExportPolicy *VolumePropertiesExportPolicy `json:"exportPolicy,omitempty"` 1304 // ProtocolTypes - Set of protocol types 1305 ProtocolTypes *[]string `json:"protocolTypes,omitempty"` 1306 // ProvisioningState - READ-ONLY; Azure lifecycle management 1307 ProvisioningState *string `json:"provisioningState,omitempty"` 1308 // SnapshotID - UUID v4 or resource identifier used to identify the Snapshot. 1309 SnapshotID *string `json:"snapshotId,omitempty"` 1310 // BaremetalTenantID - READ-ONLY; Unique Baremetal Tenant Identifier. 1311 BaremetalTenantID *string `json:"baremetalTenantId,omitempty"` 1312 // SubnetID - The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes 1313 SubnetID *string `json:"subnetId,omitempty"` 1314 // MountTargets - List of mount targets 1315 MountTargets *[]MountTargetProperties `json:"mountTargets,omitempty"` 1316 // VolumeType - What type of volume is this 1317 VolumeType *string `json:"volumeType,omitempty"` 1318 // DataProtection - DataProtection type volumes include an object containing details of the replication 1319 DataProtection *VolumePropertiesDataProtection `json:"dataProtection,omitempty"` 1320 // IsRestoring - Restoring 1321 IsRestoring *bool `json:"isRestoring,omitempty"` 1322 // SnapshotDirectoryVisible - If enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots (default to true). 1323 SnapshotDirectoryVisible *bool `json:"snapshotDirectoryVisible,omitempty"` 1324} 1325 1326// MarshalJSON is the custom marshaler for VolumeProperties. 1327func (vp VolumeProperties) MarshalJSON() ([]byte, error) { 1328 objectMap := make(map[string]interface{}) 1329 if vp.CreationToken != nil { 1330 objectMap["creationToken"] = vp.CreationToken 1331 } 1332 if vp.ServiceLevel != "" { 1333 objectMap["serviceLevel"] = vp.ServiceLevel 1334 } 1335 if vp.UsageThreshold != nil { 1336 objectMap["usageThreshold"] = vp.UsageThreshold 1337 } 1338 if vp.ExportPolicy != nil { 1339 objectMap["exportPolicy"] = vp.ExportPolicy 1340 } 1341 if vp.ProtocolTypes != nil { 1342 objectMap["protocolTypes"] = vp.ProtocolTypes 1343 } 1344 if vp.SnapshotID != nil { 1345 objectMap["snapshotId"] = vp.SnapshotID 1346 } 1347 if vp.SubnetID != nil { 1348 objectMap["subnetId"] = vp.SubnetID 1349 } 1350 if vp.MountTargets != nil { 1351 objectMap["mountTargets"] = vp.MountTargets 1352 } 1353 if vp.VolumeType != nil { 1354 objectMap["volumeType"] = vp.VolumeType 1355 } 1356 if vp.DataProtection != nil { 1357 objectMap["dataProtection"] = vp.DataProtection 1358 } 1359 if vp.IsRestoring != nil { 1360 objectMap["isRestoring"] = vp.IsRestoring 1361 } 1362 if vp.SnapshotDirectoryVisible != nil { 1363 objectMap["snapshotDirectoryVisible"] = vp.SnapshotDirectoryVisible 1364 } 1365 return json.Marshal(objectMap) 1366} 1367 1368// VolumePropertiesDataProtection dataProtection type volumes include an object containing details of the 1369// replication 1370type VolumePropertiesDataProtection struct { 1371 // Replication - Replication properties 1372 Replication *ReplicationObject `json:"replication,omitempty"` 1373 // Snapshot - Snapshot properties. 1374 Snapshot *VolumeSnapshotProperties `json:"snapshot,omitempty"` 1375} 1376 1377// VolumePropertiesExportPolicy set of export policy rules 1378type VolumePropertiesExportPolicy struct { 1379 // Rules - Export policy rule 1380 Rules *[]ExportPolicyRule `json:"rules,omitempty"` 1381} 1382 1383// VolumeRevert revert a volume to the snapshot 1384type VolumeRevert struct { 1385 // SnapshotID - Resource id of the snapshot 1386 SnapshotID *string `json:"snapshotId,omitempty"` 1387} 1388 1389// VolumesAuthorizeReplicationFuture an abstraction for monitoring and retrieving the results of a 1390// long-running operation. 1391type VolumesAuthorizeReplicationFuture struct { 1392 azure.FutureAPI 1393 // Result returns the result of the asynchronous operation. 1394 // If the operation has not completed it will return an error. 1395 Result func(VolumesClient) (autorest.Response, error) 1396} 1397 1398// VolumesBreakReplicationFuture an abstraction for monitoring and retrieving the results of a long-running 1399// operation. 1400type VolumesBreakReplicationFuture struct { 1401 azure.FutureAPI 1402 // Result returns the result of the asynchronous operation. 1403 // If the operation has not completed it will return an error. 1404 Result func(VolumesClient) (autorest.Response, error) 1405} 1406 1407// VolumesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running 1408// operation. 1409type VolumesCreateOrUpdateFuture struct { 1410 azure.FutureAPI 1411 // Result returns the result of the asynchronous operation. 1412 // If the operation has not completed it will return an error. 1413 Result func(VolumesClient) (Volume, error) 1414} 1415 1416// VolumesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running 1417// operation. 1418type VolumesDeleteFuture struct { 1419 azure.FutureAPI 1420 // Result returns the result of the asynchronous operation. 1421 // If the operation has not completed it will return an error. 1422 Result func(VolumesClient) (autorest.Response, error) 1423} 1424 1425// VolumesDeleteReplicationFuture an abstraction for monitoring and retrieving the results of a 1426// long-running operation. 1427type VolumesDeleteReplicationFuture struct { 1428 azure.FutureAPI 1429 // Result returns the result of the asynchronous operation. 1430 // If the operation has not completed it will return an error. 1431 Result func(VolumesClient) (autorest.Response, error) 1432} 1433 1434// VolumeSnapshotProperties volume Snapshot Properties 1435type VolumeSnapshotProperties struct { 1436 // SnapshotPolicyID - Snapshot Policy ResourceId 1437 SnapshotPolicyID *string `json:"snapshotPolicyId,omitempty"` 1438} 1439 1440// VolumesResyncReplicationFuture an abstraction for monitoring and retrieving the results of a 1441// long-running operation. 1442type VolumesResyncReplicationFuture struct { 1443 azure.FutureAPI 1444 // Result returns the result of the asynchronous operation. 1445 // If the operation has not completed it will return an error. 1446 Result func(VolumesClient) (autorest.Response, error) 1447} 1448 1449// VolumesRevertFuture an abstraction for monitoring and retrieving the results of a long-running 1450// operation. 1451type VolumesRevertFuture struct { 1452 azure.FutureAPI 1453 // Result returns the result of the asynchronous operation. 1454 // If the operation has not completed it will return an error. 1455 Result func(VolumesClient) (autorest.Response, error) 1456} 1457 1458// VolumesUpdateFuture an abstraction for monitoring and retrieving the results of a long-running 1459// operation. 1460type VolumesUpdateFuture struct { 1461 azure.FutureAPI 1462 // Result returns the result of the asynchronous operation. 1463 // If the operation has not completed it will return an error. 1464 Result func(VolumesClient) (Volume, error) 1465} 1466