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-08-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// AccountBackupsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running 132// operation. 133type AccountBackupsDeleteFuture struct { 134 azure.FutureAPI 135 // Result returns the result of the asynchronous operation. 136 // If the operation has not completed it will return an error. 137 Result func(AccountBackupsClient) (autorest.Response, error) 138} 139 140// AccountList list of NetApp account resources 141type AccountList struct { 142 autorest.Response `json:"-"` 143 // Value - Multiple NetApp accounts 144 Value *[]Account `json:"value,omitempty"` 145} 146 147// AccountPatch netApp account patch resource 148type AccountPatch struct { 149 // Location - Resource location 150 Location *string `json:"location,omitempty"` 151 // ID - READ-ONLY; Resource Id 152 ID *string `json:"id,omitempty"` 153 // Name - READ-ONLY; Resource name 154 Name *string `json:"name,omitempty"` 155 // Type - READ-ONLY; Resource type 156 Type *string `json:"type,omitempty"` 157 // Tags - Resource tags 158 Tags map[string]*string `json:"tags"` 159 // AccountProperties - NetApp Account properties 160 *AccountProperties `json:"properties,omitempty"` 161} 162 163// MarshalJSON is the custom marshaler for AccountPatch. 164func (ap AccountPatch) MarshalJSON() ([]byte, error) { 165 objectMap := make(map[string]interface{}) 166 if ap.Location != nil { 167 objectMap["location"] = ap.Location 168 } 169 if ap.Tags != nil { 170 objectMap["tags"] = ap.Tags 171 } 172 if ap.AccountProperties != nil { 173 objectMap["properties"] = ap.AccountProperties 174 } 175 return json.Marshal(objectMap) 176} 177 178// UnmarshalJSON is the custom unmarshaler for AccountPatch struct. 179func (ap *AccountPatch) UnmarshalJSON(body []byte) error { 180 var m map[string]*json.RawMessage 181 err := json.Unmarshal(body, &m) 182 if err != nil { 183 return err 184 } 185 for k, v := range m { 186 switch k { 187 case "location": 188 if v != nil { 189 var location string 190 err = json.Unmarshal(*v, &location) 191 if err != nil { 192 return err 193 } 194 ap.Location = &location 195 } 196 case "id": 197 if v != nil { 198 var ID string 199 err = json.Unmarshal(*v, &ID) 200 if err != nil { 201 return err 202 } 203 ap.ID = &ID 204 } 205 case "name": 206 if v != nil { 207 var name string 208 err = json.Unmarshal(*v, &name) 209 if err != nil { 210 return err 211 } 212 ap.Name = &name 213 } 214 case "type": 215 if v != nil { 216 var typeVar string 217 err = json.Unmarshal(*v, &typeVar) 218 if err != nil { 219 return err 220 } 221 ap.Type = &typeVar 222 } 223 case "tags": 224 if v != nil { 225 var tags map[string]*string 226 err = json.Unmarshal(*v, &tags) 227 if err != nil { 228 return err 229 } 230 ap.Tags = tags 231 } 232 case "properties": 233 if v != nil { 234 var accountProperties AccountProperties 235 err = json.Unmarshal(*v, &accountProperties) 236 if err != nil { 237 return err 238 } 239 ap.AccountProperties = &accountProperties 240 } 241 } 242 } 243 244 return nil 245} 246 247// AccountProperties netApp account properties 248type AccountProperties struct { 249 // ProvisioningState - READ-ONLY; Azure lifecycle management 250 ProvisioningState *string `json:"provisioningState,omitempty"` 251 // ActiveDirectories - Active Directories 252 ActiveDirectories *[]ActiveDirectory `json:"activeDirectories,omitempty"` 253} 254 255// MarshalJSON is the custom marshaler for AccountProperties. 256func (ap AccountProperties) MarshalJSON() ([]byte, error) { 257 objectMap := make(map[string]interface{}) 258 if ap.ActiveDirectories != nil { 259 objectMap["activeDirectories"] = ap.ActiveDirectories 260 } 261 return json.Marshal(objectMap) 262} 263 264// AccountsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running 265// operation. 266type AccountsCreateOrUpdateFuture 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) (Account, error) 271} 272 273// AccountsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running 274// operation. 275type AccountsDeleteFuture 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) (autorest.Response, error) 280} 281 282// AccountsUpdateFuture an abstraction for monitoring and retrieving the results of a long-running 283// operation. 284type AccountsUpdateFuture struct { 285 azure.FutureAPI 286 // Result returns the result of the asynchronous operation. 287 // If the operation has not completed it will return an error. 288 Result func(AccountsClient) (Account, error) 289} 290 291// ActiveDirectory active Directory 292type ActiveDirectory struct { 293 // ActiveDirectoryID - Id of the Active Directory 294 ActiveDirectoryID *string `json:"activeDirectoryId,omitempty"` 295 // Username - Username of Active Directory domain administrator 296 Username *string `json:"username,omitempty"` 297 // Password - Plain text password of Active Directory domain administrator, value is masked in the response 298 Password *string `json:"password,omitempty"` 299 // Domain - Name of the Active Directory domain 300 Domain *string `json:"domain,omitempty"` 301 // DNS - Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain 302 DNS *string `json:"dns,omitempty"` 303 // Status - READ-ONLY; Status of the Active Directory. Possible values include: 'Created', 'InUse', 'Deleted', 'Error', 'Updating' 304 Status ActiveDirectoryStatus `json:"status,omitempty"` 305 // StatusDetails - READ-ONLY; Any details in regards to the Status of the Active Directory 306 StatusDetails *string `json:"statusDetails,omitempty"` 307 // SmbServerName - NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes 308 SmbServerName *string `json:"smbServerName,omitempty"` 309 // OrganizationalUnit - The Organizational Unit (OU) within the Windows Active Directory 310 OrganizationalUnit *string `json:"organizationalUnit,omitempty"` 311 // Site - The Active Directory site the service will limit Domain Controller discovery to 312 Site *string `json:"site,omitempty"` 313 // BackupOperators - Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier 314 BackupOperators *[]string `json:"backupOperators,omitempty"` 315 // KdcIP - kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume. 316 KdcIP *string `json:"kdcIP,omitempty"` 317 // AdName - Name of the active directory machine. This optional parameter is used only while creating kerberos volume 318 AdName *string `json:"adName,omitempty"` 319 // ServerRootCACertificate - When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes. 320 ServerRootCACertificate *string `json:"serverRootCACertificate,omitempty"` 321 // AesEncryption - If enabled, AES encryption will be enabled for SMB communication. 322 AesEncryption *bool `json:"aesEncryption,omitempty"` 323 // LdapSigning - Specifies whether or not the LDAP traffic needs to be signed. 324 LdapSigning *bool `json:"ldapSigning,omitempty"` 325} 326 327// MarshalJSON is the custom marshaler for ActiveDirectory. 328func (ad ActiveDirectory) MarshalJSON() ([]byte, error) { 329 objectMap := make(map[string]interface{}) 330 if ad.ActiveDirectoryID != nil { 331 objectMap["activeDirectoryId"] = ad.ActiveDirectoryID 332 } 333 if ad.Username != nil { 334 objectMap["username"] = ad.Username 335 } 336 if ad.Password != nil { 337 objectMap["password"] = ad.Password 338 } 339 if ad.Domain != nil { 340 objectMap["domain"] = ad.Domain 341 } 342 if ad.DNS != nil { 343 objectMap["dns"] = ad.DNS 344 } 345 if ad.SmbServerName != nil { 346 objectMap["smbServerName"] = ad.SmbServerName 347 } 348 if ad.OrganizationalUnit != nil { 349 objectMap["organizationalUnit"] = ad.OrganizationalUnit 350 } 351 if ad.Site != nil { 352 objectMap["site"] = ad.Site 353 } 354 if ad.BackupOperators != nil { 355 objectMap["backupOperators"] = ad.BackupOperators 356 } 357 if ad.KdcIP != nil { 358 objectMap["kdcIP"] = ad.KdcIP 359 } 360 if ad.AdName != nil { 361 objectMap["adName"] = ad.AdName 362 } 363 if ad.ServerRootCACertificate != nil { 364 objectMap["serverRootCACertificate"] = ad.ServerRootCACertificate 365 } 366 if ad.AesEncryption != nil { 367 objectMap["aesEncryption"] = ad.AesEncryption 368 } 369 if ad.LdapSigning != nil { 370 objectMap["ldapSigning"] = ad.LdapSigning 371 } 372 return json.Marshal(objectMap) 373} 374 375// AuthorizeRequest authorize request 376type AuthorizeRequest struct { 377 // RemoteVolumeResourceID - Resource id of the remote volume 378 RemoteVolumeResourceID *string `json:"remoteVolumeResourceId,omitempty"` 379} 380 381// Backup backup of a Volume 382type Backup struct { 383 autorest.Response `json:"-"` 384 // Location - Resource location 385 Location *string `json:"location,omitempty"` 386 // ID - READ-ONLY; Resource Id 387 ID *string `json:"id,omitempty"` 388 // Name - READ-ONLY; Resource name 389 Name *string `json:"name,omitempty"` 390 // Type - READ-ONLY; Resource type 391 Type *string `json:"type,omitempty"` 392 // BackupProperties - Backup Properties 393 *BackupProperties `json:"properties,omitempty"` 394} 395 396// MarshalJSON is the custom marshaler for Backup. 397func (b Backup) MarshalJSON() ([]byte, error) { 398 objectMap := make(map[string]interface{}) 399 if b.Location != nil { 400 objectMap["location"] = b.Location 401 } 402 if b.BackupProperties != nil { 403 objectMap["properties"] = b.BackupProperties 404 } 405 return json.Marshal(objectMap) 406} 407 408// UnmarshalJSON is the custom unmarshaler for Backup struct. 409func (b *Backup) UnmarshalJSON(body []byte) error { 410 var m map[string]*json.RawMessage 411 err := json.Unmarshal(body, &m) 412 if err != nil { 413 return err 414 } 415 for k, v := range m { 416 switch k { 417 case "location": 418 if v != nil { 419 var location string 420 err = json.Unmarshal(*v, &location) 421 if err != nil { 422 return err 423 } 424 b.Location = &location 425 } 426 case "id": 427 if v != nil { 428 var ID string 429 err = json.Unmarshal(*v, &ID) 430 if err != nil { 431 return err 432 } 433 b.ID = &ID 434 } 435 case "name": 436 if v != nil { 437 var name string 438 err = json.Unmarshal(*v, &name) 439 if err != nil { 440 return err 441 } 442 b.Name = &name 443 } 444 case "type": 445 if v != nil { 446 var typeVar string 447 err = json.Unmarshal(*v, &typeVar) 448 if err != nil { 449 return err 450 } 451 b.Type = &typeVar 452 } 453 case "properties": 454 if v != nil { 455 var backupProperties BackupProperties 456 err = json.Unmarshal(*v, &backupProperties) 457 if err != nil { 458 return err 459 } 460 b.BackupProperties = &backupProperties 461 } 462 } 463 } 464 465 return nil 466} 467 468// BackupPatch backup patch 469type BackupPatch struct { 470 // Tags - Resource tags 471 Tags map[string]*string `json:"tags"` 472 // BackupProperties - Backup Properties 473 *BackupProperties `json:"properties,omitempty"` 474} 475 476// MarshalJSON is the custom marshaler for BackupPatch. 477func (bp BackupPatch) MarshalJSON() ([]byte, error) { 478 objectMap := make(map[string]interface{}) 479 if bp.Tags != nil { 480 objectMap["tags"] = bp.Tags 481 } 482 if bp.BackupProperties != nil { 483 objectMap["properties"] = bp.BackupProperties 484 } 485 return json.Marshal(objectMap) 486} 487 488// UnmarshalJSON is the custom unmarshaler for BackupPatch struct. 489func (bp *BackupPatch) UnmarshalJSON(body []byte) error { 490 var m map[string]*json.RawMessage 491 err := json.Unmarshal(body, &m) 492 if err != nil { 493 return err 494 } 495 for k, v := range m { 496 switch k { 497 case "tags": 498 if v != nil { 499 var tags map[string]*string 500 err = json.Unmarshal(*v, &tags) 501 if err != nil { 502 return err 503 } 504 bp.Tags = tags 505 } 506 case "properties": 507 if v != nil { 508 var backupProperties BackupProperties 509 err = json.Unmarshal(*v, &backupProperties) 510 if err != nil { 511 return err 512 } 513 bp.BackupProperties = &backupProperties 514 } 515 } 516 } 517 518 return nil 519} 520 521// BackupPoliciesCreateFuture an abstraction for monitoring and retrieving the results of a long-running 522// operation. 523type BackupPoliciesCreateFuture struct { 524 azure.FutureAPI 525 // Result returns the result of the asynchronous operation. 526 // If the operation has not completed it will return an error. 527 Result func(BackupPoliciesClient) (BackupPolicy, error) 528} 529 530// BackupPoliciesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running 531// operation. 532type BackupPoliciesDeleteFuture struct { 533 azure.FutureAPI 534 // Result returns the result of the asynchronous operation. 535 // If the operation has not completed it will return an error. 536 Result func(BackupPoliciesClient) (autorest.Response, error) 537} 538 539// BackupPoliciesList list of Backup Policies 540type BackupPoliciesList struct { 541 autorest.Response `json:"-"` 542 // Value - A list of backup policies 543 Value *[]BackupPolicy `json:"value,omitempty"` 544} 545 546// BackupPolicy backup policy information 547type BackupPolicy struct { 548 autorest.Response `json:"-"` 549 // Location - Resource location 550 Location *string `json:"location,omitempty"` 551 // ID - READ-ONLY; Resource Id 552 ID *string `json:"id,omitempty"` 553 // Name - READ-ONLY; Resource name 554 Name *string `json:"name,omitempty"` 555 // Type - READ-ONLY; Resource type 556 Type *string `json:"type,omitempty"` 557 // Tags - Resource tags 558 Tags map[string]*string `json:"tags"` 559 // BackupPolicyProperties - Backup policy Properties 560 *BackupPolicyProperties `json:"properties,omitempty"` 561} 562 563// MarshalJSON is the custom marshaler for BackupPolicy. 564func (bp BackupPolicy) MarshalJSON() ([]byte, error) { 565 objectMap := make(map[string]interface{}) 566 if bp.Location != nil { 567 objectMap["location"] = bp.Location 568 } 569 if bp.Tags != nil { 570 objectMap["tags"] = bp.Tags 571 } 572 if bp.BackupPolicyProperties != nil { 573 objectMap["properties"] = bp.BackupPolicyProperties 574 } 575 return json.Marshal(objectMap) 576} 577 578// UnmarshalJSON is the custom unmarshaler for BackupPolicy struct. 579func (bp *BackupPolicy) UnmarshalJSON(body []byte) error { 580 var m map[string]*json.RawMessage 581 err := json.Unmarshal(body, &m) 582 if err != nil { 583 return err 584 } 585 for k, v := range m { 586 switch k { 587 case "location": 588 if v != nil { 589 var location string 590 err = json.Unmarshal(*v, &location) 591 if err != nil { 592 return err 593 } 594 bp.Location = &location 595 } 596 case "id": 597 if v != nil { 598 var ID string 599 err = json.Unmarshal(*v, &ID) 600 if err != nil { 601 return err 602 } 603 bp.ID = &ID 604 } 605 case "name": 606 if v != nil { 607 var name string 608 err = json.Unmarshal(*v, &name) 609 if err != nil { 610 return err 611 } 612 bp.Name = &name 613 } 614 case "type": 615 if v != nil { 616 var typeVar string 617 err = json.Unmarshal(*v, &typeVar) 618 if err != nil { 619 return err 620 } 621 bp.Type = &typeVar 622 } 623 case "tags": 624 if v != nil { 625 var tags map[string]*string 626 err = json.Unmarshal(*v, &tags) 627 if err != nil { 628 return err 629 } 630 bp.Tags = tags 631 } 632 case "properties": 633 if v != nil { 634 var backupPolicyProperties BackupPolicyProperties 635 err = json.Unmarshal(*v, &backupPolicyProperties) 636 if err != nil { 637 return err 638 } 639 bp.BackupPolicyProperties = &backupPolicyProperties 640 } 641 } 642 } 643 644 return nil 645} 646 647// BackupPolicyDetails backup policy properties 648type BackupPolicyDetails struct { 649 // Location - Resource location 650 Location *string `json:"location,omitempty"` 651 // ID - READ-ONLY; Resource Id 652 ID *string `json:"id,omitempty"` 653 // Name - READ-ONLY; Resource name 654 Name *string `json:"name,omitempty"` 655 // Type - READ-ONLY; Resource type 656 Type *string `json:"type,omitempty"` 657 // Tags - Resource tags 658 Tags map[string]*string `json:"tags"` 659 // BackupPolicyProperties - Backup policy Properties 660 *BackupPolicyProperties `json:"properties,omitempty"` 661} 662 663// MarshalJSON is the custom marshaler for BackupPolicyDetails. 664func (bpd BackupPolicyDetails) MarshalJSON() ([]byte, error) { 665 objectMap := make(map[string]interface{}) 666 if bpd.Location != nil { 667 objectMap["location"] = bpd.Location 668 } 669 if bpd.Tags != nil { 670 objectMap["tags"] = bpd.Tags 671 } 672 if bpd.BackupPolicyProperties != nil { 673 objectMap["properties"] = bpd.BackupPolicyProperties 674 } 675 return json.Marshal(objectMap) 676} 677 678// UnmarshalJSON is the custom unmarshaler for BackupPolicyDetails struct. 679func (bpd *BackupPolicyDetails) UnmarshalJSON(body []byte) error { 680 var m map[string]*json.RawMessage 681 err := json.Unmarshal(body, &m) 682 if err != nil { 683 return err 684 } 685 for k, v := range m { 686 switch k { 687 case "location": 688 if v != nil { 689 var location string 690 err = json.Unmarshal(*v, &location) 691 if err != nil { 692 return err 693 } 694 bpd.Location = &location 695 } 696 case "id": 697 if v != nil { 698 var ID string 699 err = json.Unmarshal(*v, &ID) 700 if err != nil { 701 return err 702 } 703 bpd.ID = &ID 704 } 705 case "name": 706 if v != nil { 707 var name string 708 err = json.Unmarshal(*v, &name) 709 if err != nil { 710 return err 711 } 712 bpd.Name = &name 713 } 714 case "type": 715 if v != nil { 716 var typeVar string 717 err = json.Unmarshal(*v, &typeVar) 718 if err != nil { 719 return err 720 } 721 bpd.Type = &typeVar 722 } 723 case "tags": 724 if v != nil { 725 var tags map[string]*string 726 err = json.Unmarshal(*v, &tags) 727 if err != nil { 728 return err 729 } 730 bpd.Tags = tags 731 } 732 case "properties": 733 if v != nil { 734 var backupPolicyProperties BackupPolicyProperties 735 err = json.Unmarshal(*v, &backupPolicyProperties) 736 if err != nil { 737 return err 738 } 739 bpd.BackupPolicyProperties = &backupPolicyProperties 740 } 741 } 742 } 743 744 return nil 745} 746 747// BackupPolicyPatch backup policy Details for create and update 748type BackupPolicyPatch struct { 749 // Location - Resource location 750 Location *string `json:"location,omitempty"` 751 // ID - READ-ONLY; Resource Id 752 ID *string `json:"id,omitempty"` 753 // Name - READ-ONLY; Resource name 754 Name *string `json:"name,omitempty"` 755 // Type - READ-ONLY; Resource type 756 Type *string `json:"type,omitempty"` 757 // Tags - Resource tags 758 Tags map[string]*string `json:"tags"` 759 // BackupPolicyProperties - Backup policy Properties 760 *BackupPolicyProperties `json:"properties,omitempty"` 761} 762 763// MarshalJSON is the custom marshaler for BackupPolicyPatch. 764func (bpp BackupPolicyPatch) MarshalJSON() ([]byte, error) { 765 objectMap := make(map[string]interface{}) 766 if bpp.Location != nil { 767 objectMap["location"] = bpp.Location 768 } 769 if bpp.Tags != nil { 770 objectMap["tags"] = bpp.Tags 771 } 772 if bpp.BackupPolicyProperties != nil { 773 objectMap["properties"] = bpp.BackupPolicyProperties 774 } 775 return json.Marshal(objectMap) 776} 777 778// UnmarshalJSON is the custom unmarshaler for BackupPolicyPatch struct. 779func (bpp *BackupPolicyPatch) UnmarshalJSON(body []byte) error { 780 var m map[string]*json.RawMessage 781 err := json.Unmarshal(body, &m) 782 if err != nil { 783 return err 784 } 785 for k, v := range m { 786 switch k { 787 case "location": 788 if v != nil { 789 var location string 790 err = json.Unmarshal(*v, &location) 791 if err != nil { 792 return err 793 } 794 bpp.Location = &location 795 } 796 case "id": 797 if v != nil { 798 var ID string 799 err = json.Unmarshal(*v, &ID) 800 if err != nil { 801 return err 802 } 803 bpp.ID = &ID 804 } 805 case "name": 806 if v != nil { 807 var name string 808 err = json.Unmarshal(*v, &name) 809 if err != nil { 810 return err 811 } 812 bpp.Name = &name 813 } 814 case "type": 815 if v != nil { 816 var typeVar string 817 err = json.Unmarshal(*v, &typeVar) 818 if err != nil { 819 return err 820 } 821 bpp.Type = &typeVar 822 } 823 case "tags": 824 if v != nil { 825 var tags map[string]*string 826 err = json.Unmarshal(*v, &tags) 827 if err != nil { 828 return err 829 } 830 bpp.Tags = tags 831 } 832 case "properties": 833 if v != nil { 834 var backupPolicyProperties BackupPolicyProperties 835 err = json.Unmarshal(*v, &backupPolicyProperties) 836 if err != nil { 837 return err 838 } 839 bpp.BackupPolicyProperties = &backupPolicyProperties 840 } 841 } 842 } 843 844 return nil 845} 846 847// BackupPolicyProperties backup policy properties 848type BackupPolicyProperties struct { 849 // Name - READ-ONLY; Name of backup policy 850 Name *string `json:"name,omitempty"` 851 // ProvisioningState - READ-ONLY; Azure lifecycle management 852 ProvisioningState *string `json:"provisioningState,omitempty"` 853 // DailyBackupsToKeep - Daily backups count to keep 854 DailyBackupsToKeep *int32 `json:"dailyBackupsToKeep,omitempty"` 855 // WeeklyBackupsToKeep - Weekly backups count to keep 856 WeeklyBackupsToKeep *int32 `json:"weeklyBackupsToKeep,omitempty"` 857 // MonthlyBackupsToKeep - Monthly backups count to keep 858 MonthlyBackupsToKeep *int32 `json:"monthlyBackupsToKeep,omitempty"` 859 // YearlyBackupsToKeep - Yearly backups count to keep 860 YearlyBackupsToKeep *int32 `json:"yearlyBackupsToKeep,omitempty"` 861 // VolumesAssigned - Volumes using current backup policy 862 VolumesAssigned *int32 `json:"volumesAssigned,omitempty"` 863 // Enabled - The property to decide policy is enabled or not 864 Enabled *bool `json:"enabled,omitempty"` 865 // VolumeBackups - A list of volumes assigned to this policy 866 VolumeBackups *[]VolumeBackups `json:"volumeBackups,omitempty"` 867} 868 869// MarshalJSON is the custom marshaler for BackupPolicyProperties. 870func (bpp BackupPolicyProperties) MarshalJSON() ([]byte, error) { 871 objectMap := make(map[string]interface{}) 872 if bpp.DailyBackupsToKeep != nil { 873 objectMap["dailyBackupsToKeep"] = bpp.DailyBackupsToKeep 874 } 875 if bpp.WeeklyBackupsToKeep != nil { 876 objectMap["weeklyBackupsToKeep"] = bpp.WeeklyBackupsToKeep 877 } 878 if bpp.MonthlyBackupsToKeep != nil { 879 objectMap["monthlyBackupsToKeep"] = bpp.MonthlyBackupsToKeep 880 } 881 if bpp.YearlyBackupsToKeep != nil { 882 objectMap["yearlyBackupsToKeep"] = bpp.YearlyBackupsToKeep 883 } 884 if bpp.VolumesAssigned != nil { 885 objectMap["volumesAssigned"] = bpp.VolumesAssigned 886 } 887 if bpp.Enabled != nil { 888 objectMap["enabled"] = bpp.Enabled 889 } 890 if bpp.VolumeBackups != nil { 891 objectMap["volumeBackups"] = bpp.VolumeBackups 892 } 893 return json.Marshal(objectMap) 894} 895 896// BackupProperties backup properties 897type BackupProperties struct { 898 // BackupID - READ-ONLY; UUID v4 used to identify the Backup 899 BackupID *string `json:"backupId,omitempty"` 900 // CreationDate - READ-ONLY; The creation date of the backup 901 CreationDate *date.Time `json:"creationDate,omitempty"` 902 // ProvisioningState - READ-ONLY; Azure lifecycle management 903 ProvisioningState *string `json:"provisioningState,omitempty"` 904 // Size - READ-ONLY; Size of backup 905 Size *int64 `json:"size,omitempty"` 906 // Label - Label for backup 907 Label *string `json:"label,omitempty"` 908 // BackupType - READ-ONLY; Type of backup adhoc or scheduled 909 BackupType *string `json:"backupType,omitempty"` 910} 911 912// MarshalJSON is the custom marshaler for BackupProperties. 913func (bp BackupProperties) MarshalJSON() ([]byte, error) { 914 objectMap := make(map[string]interface{}) 915 if bp.Label != nil { 916 objectMap["label"] = bp.Label 917 } 918 return json.Marshal(objectMap) 919} 920 921// BackupsCreateFuture an abstraction for monitoring and retrieving the results of a long-running 922// operation. 923type BackupsCreateFuture struct { 924 azure.FutureAPI 925 // Result returns the result of the asynchronous operation. 926 // If the operation has not completed it will return an error. 927 Result func(BackupsClient) (Backup, error) 928} 929 930// BackupsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running 931// operation. 932type BackupsDeleteFuture struct { 933 azure.FutureAPI 934 // Result returns the result of the asynchronous operation. 935 // If the operation has not completed it will return an error. 936 Result func(BackupsClient) (autorest.Response, error) 937} 938 939// BackupsList list of Backups 940type BackupsList struct { 941 autorest.Response `json:"-"` 942 // Value - A list of Backups 943 Value *[]Backup `json:"value,omitempty"` 944} 945 946// BreakReplicationRequest break replication request 947type BreakReplicationRequest struct { 948 // ForceBreakReplication - If replication is in status transferring and you want to force break the replication, set to true 949 ForceBreakReplication *bool `json:"forceBreakReplication,omitempty"` 950} 951 952// CapacityPool capacity pool resource 953type CapacityPool struct { 954 autorest.Response `json:"-"` 955 // Location - Resource location 956 Location *string `json:"location,omitempty"` 957 // ID - READ-ONLY; Resource Id 958 ID *string `json:"id,omitempty"` 959 // Name - READ-ONLY; Resource name 960 Name *string `json:"name,omitempty"` 961 // Type - READ-ONLY; Resource type 962 Type *string `json:"type,omitempty"` 963 // Tags - Resource tags 964 Tags map[string]*string `json:"tags"` 965 // PoolProperties - Capacity pool properties 966 *PoolProperties `json:"properties,omitempty"` 967} 968 969// MarshalJSON is the custom marshaler for CapacityPool. 970func (cp CapacityPool) MarshalJSON() ([]byte, error) { 971 objectMap := make(map[string]interface{}) 972 if cp.Location != nil { 973 objectMap["location"] = cp.Location 974 } 975 if cp.Tags != nil { 976 objectMap["tags"] = cp.Tags 977 } 978 if cp.PoolProperties != nil { 979 objectMap["properties"] = cp.PoolProperties 980 } 981 return json.Marshal(objectMap) 982} 983 984// UnmarshalJSON is the custom unmarshaler for CapacityPool struct. 985func (cp *CapacityPool) UnmarshalJSON(body []byte) error { 986 var m map[string]*json.RawMessage 987 err := json.Unmarshal(body, &m) 988 if err != nil { 989 return err 990 } 991 for k, v := range m { 992 switch k { 993 case "location": 994 if v != nil { 995 var location string 996 err = json.Unmarshal(*v, &location) 997 if err != nil { 998 return err 999 } 1000 cp.Location = &location 1001 } 1002 case "id": 1003 if v != nil { 1004 var ID string 1005 err = json.Unmarshal(*v, &ID) 1006 if err != nil { 1007 return err 1008 } 1009 cp.ID = &ID 1010 } 1011 case "name": 1012 if v != nil { 1013 var name string 1014 err = json.Unmarshal(*v, &name) 1015 if err != nil { 1016 return err 1017 } 1018 cp.Name = &name 1019 } 1020 case "type": 1021 if v != nil { 1022 var typeVar string 1023 err = json.Unmarshal(*v, &typeVar) 1024 if err != nil { 1025 return err 1026 } 1027 cp.Type = &typeVar 1028 } 1029 case "tags": 1030 if v != nil { 1031 var tags map[string]*string 1032 err = json.Unmarshal(*v, &tags) 1033 if err != nil { 1034 return err 1035 } 1036 cp.Tags = tags 1037 } 1038 case "properties": 1039 if v != nil { 1040 var poolProperties PoolProperties 1041 err = json.Unmarshal(*v, &poolProperties) 1042 if err != nil { 1043 return err 1044 } 1045 cp.PoolProperties = &poolProperties 1046 } 1047 } 1048 } 1049 1050 return nil 1051} 1052 1053// CapacityPoolList list of capacity pool resources 1054type CapacityPoolList struct { 1055 autorest.Response `json:"-"` 1056 // Value - List of Capacity pools 1057 Value *[]CapacityPool `json:"value,omitempty"` 1058} 1059 1060// CapacityPoolPatch capacity pool patch resource 1061type CapacityPoolPatch struct { 1062 // Location - Resource location 1063 Location *string `json:"location,omitempty"` 1064 // ID - READ-ONLY; Resource Id 1065 ID *string `json:"id,omitempty"` 1066 // Name - READ-ONLY; Resource name 1067 Name *string `json:"name,omitempty"` 1068 // Type - READ-ONLY; Resource type 1069 Type *string `json:"type,omitempty"` 1070 // Tags - Resource tags 1071 Tags map[string]*string `json:"tags"` 1072 // PoolPatchProperties - Capacity pool properties 1073 *PoolPatchProperties `json:"properties,omitempty"` 1074} 1075 1076// MarshalJSON is the custom marshaler for CapacityPoolPatch. 1077func (cpp CapacityPoolPatch) MarshalJSON() ([]byte, error) { 1078 objectMap := make(map[string]interface{}) 1079 if cpp.Location != nil { 1080 objectMap["location"] = cpp.Location 1081 } 1082 if cpp.Tags != nil { 1083 objectMap["tags"] = cpp.Tags 1084 } 1085 if cpp.PoolPatchProperties != nil { 1086 objectMap["properties"] = cpp.PoolPatchProperties 1087 } 1088 return json.Marshal(objectMap) 1089} 1090 1091// UnmarshalJSON is the custom unmarshaler for CapacityPoolPatch struct. 1092func (cpp *CapacityPoolPatch) UnmarshalJSON(body []byte) error { 1093 var m map[string]*json.RawMessage 1094 err := json.Unmarshal(body, &m) 1095 if err != nil { 1096 return err 1097 } 1098 for k, v := range m { 1099 switch k { 1100 case "location": 1101 if v != nil { 1102 var location string 1103 err = json.Unmarshal(*v, &location) 1104 if err != nil { 1105 return err 1106 } 1107 cpp.Location = &location 1108 } 1109 case "id": 1110 if v != nil { 1111 var ID string 1112 err = json.Unmarshal(*v, &ID) 1113 if err != nil { 1114 return err 1115 } 1116 cpp.ID = &ID 1117 } 1118 case "name": 1119 if v != nil { 1120 var name string 1121 err = json.Unmarshal(*v, &name) 1122 if err != nil { 1123 return err 1124 } 1125 cpp.Name = &name 1126 } 1127 case "type": 1128 if v != nil { 1129 var typeVar string 1130 err = json.Unmarshal(*v, &typeVar) 1131 if err != nil { 1132 return err 1133 } 1134 cpp.Type = &typeVar 1135 } 1136 case "tags": 1137 if v != nil { 1138 var tags map[string]*string 1139 err = json.Unmarshal(*v, &tags) 1140 if err != nil { 1141 return err 1142 } 1143 cpp.Tags = tags 1144 } 1145 case "properties": 1146 if v != nil { 1147 var poolPatchProperties PoolPatchProperties 1148 err = json.Unmarshal(*v, &poolPatchProperties) 1149 if err != nil { 1150 return err 1151 } 1152 cpp.PoolPatchProperties = &poolPatchProperties 1153 } 1154 } 1155 } 1156 1157 return nil 1158} 1159 1160// CheckAvailabilityResponse information regarding availability of a resource. 1161type CheckAvailabilityResponse struct { 1162 autorest.Response `json:"-"` 1163 // IsAvailable - <code>true</code> indicates name is valid and available. <code>false</code> indicates the name is invalid, unavailable, or both. 1164 IsAvailable *bool `json:"isAvailable,omitempty"` 1165 // 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' 1166 Reason InAvailabilityReasonType `json:"reason,omitempty"` 1167 // 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. 1168 Message *string `json:"message,omitempty"` 1169} 1170 1171// DailySchedule daily Schedule properties 1172type DailySchedule struct { 1173 // SnapshotsToKeep - Daily snapshot count to keep 1174 SnapshotsToKeep *int32 `json:"snapshotsToKeep,omitempty"` 1175 // Hour - Indicates which hour in UTC timezone a snapshot should be taken 1176 Hour *int32 `json:"hour,omitempty"` 1177 // Minute - Indicates which minute snapshot should be taken 1178 Minute *int32 `json:"minute,omitempty"` 1179 // UsedBytes - Resource size in bytes, current storage usage for the volume in bytes 1180 UsedBytes *int64 `json:"usedBytes,omitempty"` 1181} 1182 1183// Dimension dimension of blobs, possibly be blob type or access tier. 1184type Dimension struct { 1185 // Name - Display name of dimension. 1186 Name *string `json:"name,omitempty"` 1187 // DisplayName - Display name of dimension. 1188 DisplayName *string `json:"displayName,omitempty"` 1189} 1190 1191// ExportPolicyRule volume Export Policy Rule 1192type ExportPolicyRule struct { 1193 // RuleIndex - Order index 1194 RuleIndex *int32 `json:"ruleIndex,omitempty"` 1195 // UnixReadOnly - Read only access 1196 UnixReadOnly *bool `json:"unixReadOnly,omitempty"` 1197 // UnixReadWrite - Read and write access 1198 UnixReadWrite *bool `json:"unixReadWrite,omitempty"` 1199 // Kerberos5ReadOnly - Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later 1200 Kerberos5ReadOnly *bool `json:"kerberos5ReadOnly,omitempty"` 1201 // Kerberos5ReadWrite - Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later 1202 Kerberos5ReadWrite *bool `json:"kerberos5ReadWrite,omitempty"` 1203 // Kerberos5iReadOnly - Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later 1204 Kerberos5iReadOnly *bool `json:"kerberos5iReadOnly,omitempty"` 1205 // Kerberos5iReadWrite - Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later 1206 Kerberos5iReadWrite *bool `json:"kerberos5iReadWrite,omitempty"` 1207 // Kerberos5pReadOnly - Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later 1208 Kerberos5pReadOnly *bool `json:"kerberos5pReadOnly,omitempty"` 1209 // Kerberos5pReadWrite - Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later 1210 Kerberos5pReadWrite *bool `json:"kerberos5pReadWrite,omitempty"` 1211 // Cifs - Allows CIFS protocol 1212 Cifs *bool `json:"cifs,omitempty"` 1213 // Nfsv3 - Allows NFSv3 protocol. Enable only for NFSv3 type volumes 1214 Nfsv3 *bool `json:"nfsv3,omitempty"` 1215 // Nfsv41 - Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes 1216 Nfsv41 *bool `json:"nfsv41,omitempty"` 1217 // AllowedClients - Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names 1218 AllowedClients *string `json:"allowedClients,omitempty"` 1219 // HasRootAccess - Has root access to volume 1220 HasRootAccess *bool `json:"hasRootAccess,omitempty"` 1221} 1222 1223// HourlySchedule hourly Schedule properties 1224type HourlySchedule struct { 1225 // SnapshotsToKeep - Hourly snapshot count to keep 1226 SnapshotsToKeep *int32 `json:"snapshotsToKeep,omitempty"` 1227 // Minute - Indicates which minute snapshot should be taken 1228 Minute *int32 `json:"minute,omitempty"` 1229 // UsedBytes - Resource size in bytes, current storage usage for the volume in bytes 1230 UsedBytes *int64 `json:"usedBytes,omitempty"` 1231} 1232 1233// MetricSpecification metric specification of operation. 1234type MetricSpecification struct { 1235 // Name - Name of metric specification. 1236 Name *string `json:"name,omitempty"` 1237 // DisplayName - Display name of metric specification. 1238 DisplayName *string `json:"displayName,omitempty"` 1239 // DisplayDescription - Display description of metric specification. 1240 DisplayDescription *string `json:"displayDescription,omitempty"` 1241 // Unit - Unit could be Bytes or Count. 1242 Unit *string `json:"unit,omitempty"` 1243 // Dimensions - Dimensions of blobs, including blob type and access tier. 1244 Dimensions *[]Dimension `json:"dimensions,omitempty"` 1245 // AggregationType - Aggregation type could be Average. 1246 AggregationType *string `json:"aggregationType,omitempty"` 1247 // FillGapWithZero - The property to decide fill gap with zero or not. 1248 FillGapWithZero *bool `json:"fillGapWithZero,omitempty"` 1249 // Category - The category this metric specification belong to, could be Capacity. 1250 Category *string `json:"category,omitempty"` 1251 // ResourceIDDimensionNameOverride - Account Resource Id. 1252 ResourceIDDimensionNameOverride *string `json:"resourceIdDimensionNameOverride,omitempty"` 1253} 1254 1255// MonthlySchedule monthly Schedule properties 1256type MonthlySchedule struct { 1257 // SnapshotsToKeep - Monthly snapshot count to keep 1258 SnapshotsToKeep *int32 `json:"snapshotsToKeep,omitempty"` 1259 // DaysOfMonth - Indicates which days of the month snapshot should be taken. A comma delimited string. 1260 DaysOfMonth *string `json:"daysOfMonth,omitempty"` 1261 // Hour - Indicates which hour in UTC timezone a snapshot should be taken 1262 Hour *int32 `json:"hour,omitempty"` 1263 // Minute - Indicates which minute snapshot should be taken 1264 Minute *int32 `json:"minute,omitempty"` 1265 // UsedBytes - Resource size in bytes, current storage usage for the volume in bytes 1266 UsedBytes *int64 `json:"usedBytes,omitempty"` 1267} 1268 1269// MountTarget mount Target 1270type MountTarget struct { 1271 // Location - Resource location 1272 Location *string `json:"location,omitempty"` 1273 // ID - READ-ONLY; Resource Id 1274 ID *string `json:"id,omitempty"` 1275 // Name - READ-ONLY; Resource name 1276 Name *string `json:"name,omitempty"` 1277 // Type - READ-ONLY; Resource type 1278 Type *string `json:"type,omitempty"` 1279 // Tags - Resource tags 1280 Tags map[string]*string `json:"tags"` 1281 // MountTargetProperties - Mount Target Properties 1282 *MountTargetProperties `json:"properties,omitempty"` 1283} 1284 1285// MarshalJSON is the custom marshaler for MountTarget. 1286func (mt MountTarget) MarshalJSON() ([]byte, error) { 1287 objectMap := make(map[string]interface{}) 1288 if mt.Location != nil { 1289 objectMap["location"] = mt.Location 1290 } 1291 if mt.Tags != nil { 1292 objectMap["tags"] = mt.Tags 1293 } 1294 if mt.MountTargetProperties != nil { 1295 objectMap["properties"] = mt.MountTargetProperties 1296 } 1297 return json.Marshal(objectMap) 1298} 1299 1300// UnmarshalJSON is the custom unmarshaler for MountTarget struct. 1301func (mt *MountTarget) UnmarshalJSON(body []byte) error { 1302 var m map[string]*json.RawMessage 1303 err := json.Unmarshal(body, &m) 1304 if err != nil { 1305 return err 1306 } 1307 for k, v := range m { 1308 switch k { 1309 case "location": 1310 if v != nil { 1311 var location string 1312 err = json.Unmarshal(*v, &location) 1313 if err != nil { 1314 return err 1315 } 1316 mt.Location = &location 1317 } 1318 case "id": 1319 if v != nil { 1320 var ID string 1321 err = json.Unmarshal(*v, &ID) 1322 if err != nil { 1323 return err 1324 } 1325 mt.ID = &ID 1326 } 1327 case "name": 1328 if v != nil { 1329 var name string 1330 err = json.Unmarshal(*v, &name) 1331 if err != nil { 1332 return err 1333 } 1334 mt.Name = &name 1335 } 1336 case "type": 1337 if v != nil { 1338 var typeVar string 1339 err = json.Unmarshal(*v, &typeVar) 1340 if err != nil { 1341 return err 1342 } 1343 mt.Type = &typeVar 1344 } 1345 case "tags": 1346 if v != nil { 1347 var tags map[string]*string 1348 err = json.Unmarshal(*v, &tags) 1349 if err != nil { 1350 return err 1351 } 1352 mt.Tags = tags 1353 } 1354 case "properties": 1355 if v != nil { 1356 var mountTargetProperties MountTargetProperties 1357 err = json.Unmarshal(*v, &mountTargetProperties) 1358 if err != nil { 1359 return err 1360 } 1361 mt.MountTargetProperties = &mountTargetProperties 1362 } 1363 } 1364 } 1365 1366 return nil 1367} 1368 1369// MountTargetProperties mount target properties 1370type MountTargetProperties struct { 1371 // MountTargetID - READ-ONLY; UUID v4 used to identify the MountTarget 1372 MountTargetID *string `json:"mountTargetId,omitempty"` 1373 // FileSystemID - UUID v4 used to identify the MountTarget 1374 FileSystemID *string `json:"fileSystemId,omitempty"` 1375 // IPAddress - READ-ONLY; The mount target's IPv4 address 1376 IPAddress *string `json:"ipAddress,omitempty"` 1377 // SmbServerFqdn - The SMB server's Fully Qualified Domain Name, FQDN 1378 SmbServerFqdn *string `json:"smbServerFqdn,omitempty"` 1379} 1380 1381// MarshalJSON is the custom marshaler for MountTargetProperties. 1382func (mtp MountTargetProperties) MarshalJSON() ([]byte, error) { 1383 objectMap := make(map[string]interface{}) 1384 if mtp.FileSystemID != nil { 1385 objectMap["fileSystemId"] = mtp.FileSystemID 1386 } 1387 if mtp.SmbServerFqdn != nil { 1388 objectMap["smbServerFqdn"] = mtp.SmbServerFqdn 1389 } 1390 return json.Marshal(objectMap) 1391} 1392 1393// Operation microsoft.NetApp REST API operation definition. 1394type Operation struct { 1395 // Name - Operation name: {provider}/{resource}/{operation} 1396 Name *string `json:"name,omitempty"` 1397 // Display - Display metadata associated with the operation. 1398 Display *OperationDisplay `json:"display,omitempty"` 1399 // Origin - The origin of operations. 1400 Origin *string `json:"origin,omitempty"` 1401 // OperationProperties - Properties of operation, include metric specifications. 1402 *OperationProperties `json:"properties,omitempty"` 1403} 1404 1405// MarshalJSON is the custom marshaler for Operation. 1406func (o Operation) MarshalJSON() ([]byte, error) { 1407 objectMap := make(map[string]interface{}) 1408 if o.Name != nil { 1409 objectMap["name"] = o.Name 1410 } 1411 if o.Display != nil { 1412 objectMap["display"] = o.Display 1413 } 1414 if o.Origin != nil { 1415 objectMap["origin"] = o.Origin 1416 } 1417 if o.OperationProperties != nil { 1418 objectMap["properties"] = o.OperationProperties 1419 } 1420 return json.Marshal(objectMap) 1421} 1422 1423// UnmarshalJSON is the custom unmarshaler for Operation struct. 1424func (o *Operation) UnmarshalJSON(body []byte) error { 1425 var m map[string]*json.RawMessage 1426 err := json.Unmarshal(body, &m) 1427 if err != nil { 1428 return err 1429 } 1430 for k, v := range m { 1431 switch k { 1432 case "name": 1433 if v != nil { 1434 var name string 1435 err = json.Unmarshal(*v, &name) 1436 if err != nil { 1437 return err 1438 } 1439 o.Name = &name 1440 } 1441 case "display": 1442 if v != nil { 1443 var display OperationDisplay 1444 err = json.Unmarshal(*v, &display) 1445 if err != nil { 1446 return err 1447 } 1448 o.Display = &display 1449 } 1450 case "origin": 1451 if v != nil { 1452 var origin string 1453 err = json.Unmarshal(*v, &origin) 1454 if err != nil { 1455 return err 1456 } 1457 o.Origin = &origin 1458 } 1459 case "properties": 1460 if v != nil { 1461 var operationProperties OperationProperties 1462 err = json.Unmarshal(*v, &operationProperties) 1463 if err != nil { 1464 return err 1465 } 1466 o.OperationProperties = &operationProperties 1467 } 1468 } 1469 } 1470 1471 return nil 1472} 1473 1474// OperationDisplay display metadata associated with the operation. 1475type OperationDisplay struct { 1476 // Provider - Service provider: Microsoft NetApp. 1477 Provider *string `json:"provider,omitempty"` 1478 // Resource - Resource on which the operation is performed etc. 1479 Resource *string `json:"resource,omitempty"` 1480 // Operation - Type of operation: get, read, delete, etc. 1481 Operation *string `json:"operation,omitempty"` 1482 // Description - Operation description. 1483 Description *string `json:"description,omitempty"` 1484} 1485 1486// OperationListResult result of the request to list Cloud Volume operations. It contains a list of 1487// operations and a URL link to get the next set of results. 1488type OperationListResult struct { 1489 autorest.Response `json:"-"` 1490 // Value - List of Storage operations supported by the Storage resource provider. 1491 Value *[]Operation `json:"value,omitempty"` 1492} 1493 1494// OperationProperties properties of operation, include metric specifications. 1495type OperationProperties struct { 1496 // ServiceSpecification - One property of operation, include metric specifications. 1497 ServiceSpecification *ServiceSpecification `json:"serviceSpecification,omitempty"` 1498} 1499 1500// PoolChangeRequest pool change request 1501type PoolChangeRequest struct { 1502 // NewPoolResourceID - Resource id of the pool to move volume to 1503 NewPoolResourceID *string `json:"newPoolResourceId,omitempty"` 1504} 1505 1506// PoolPatchProperties patchable pool properties 1507type PoolPatchProperties struct { 1508 // Size - Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104). 1509 Size *int64 `json:"size,omitempty"` 1510 // QosType - The qos type of the pool. Possible values include: 'Auto', 'Manual' 1511 QosType QosType `json:"qosType,omitempty"` 1512} 1513 1514// PoolProperties pool properties 1515type PoolProperties struct { 1516 // PoolID - READ-ONLY; UUID v4 used to identify the Pool 1517 PoolID *string `json:"poolId,omitempty"` 1518 // Size - Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104). 1519 Size *int64 `json:"size,omitempty"` 1520 // ServiceLevel - The service level of the file system. Possible values include: 'Standard', 'Premium', 'Ultra' 1521 ServiceLevel ServiceLevel `json:"serviceLevel,omitempty"` 1522 // ProvisioningState - READ-ONLY; Azure lifecycle management 1523 ProvisioningState *string `json:"provisioningState,omitempty"` 1524 // TotalThroughputMibps - READ-ONLY; Total throughput of pool in Mibps 1525 TotalThroughputMibps *float64 `json:"totalThroughputMibps,omitempty"` 1526 // UtilizedThroughputMibps - READ-ONLY; Utilized throughput of pool in Mibps 1527 UtilizedThroughputMibps *float64 `json:"utilizedThroughputMibps,omitempty"` 1528 // QosType - The qos type of the pool. Possible values include: 'Auto', 'Manual' 1529 QosType QosType `json:"qosType,omitempty"` 1530} 1531 1532// MarshalJSON is the custom marshaler for PoolProperties. 1533func (pp PoolProperties) MarshalJSON() ([]byte, error) { 1534 objectMap := make(map[string]interface{}) 1535 if pp.Size != nil { 1536 objectMap["size"] = pp.Size 1537 } 1538 if pp.ServiceLevel != "" { 1539 objectMap["serviceLevel"] = pp.ServiceLevel 1540 } 1541 if pp.QosType != "" { 1542 objectMap["qosType"] = pp.QosType 1543 } 1544 return json.Marshal(objectMap) 1545} 1546 1547// PoolsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running 1548// operation. 1549type PoolsCreateOrUpdateFuture struct { 1550 azure.FutureAPI 1551 // Result returns the result of the asynchronous operation. 1552 // If the operation has not completed it will return an error. 1553 Result func(PoolsClient) (CapacityPool, error) 1554} 1555 1556// PoolsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running operation. 1557type PoolsDeleteFuture struct { 1558 azure.FutureAPI 1559 // Result returns the result of the asynchronous operation. 1560 // If the operation has not completed it will return an error. 1561 Result func(PoolsClient) (autorest.Response, error) 1562} 1563 1564// PoolsUpdateFuture an abstraction for monitoring and retrieving the results of a long-running operation. 1565type PoolsUpdateFuture struct { 1566 azure.FutureAPI 1567 // Result returns the result of the asynchronous operation. 1568 // If the operation has not completed it will return an error. 1569 Result func(PoolsClient) (CapacityPool, error) 1570} 1571 1572// QuotaAvailabilityRequest quota availability request content. 1573type QuotaAvailabilityRequest struct { 1574 // Name - Name of the resource to verify. 1575 Name *string `json:"name,omitempty"` 1576 // Type - Resource type used for verification. Possible values include: 'CheckQuotaNameResourceTypesMicrosoftNetAppnetAppAccounts', 'CheckQuotaNameResourceTypesMicrosoftNetAppnetAppAccountscapacityPools', 'CheckQuotaNameResourceTypesMicrosoftNetAppnetAppAccountscapacityPoolsvolumes', 'CheckQuotaNameResourceTypesMicrosoftNetAppnetAppAccountscapacityPoolsvolumessnapshots' 1577 Type CheckQuotaNameResourceTypes `json:"type,omitempty"` 1578 // ResourceGroup - Resource group name. 1579 ResourceGroup *string `json:"resourceGroup,omitempty"` 1580} 1581 1582// ReplicationObject replication properties 1583type ReplicationObject struct { 1584 // ReplicationID - Id 1585 ReplicationID *string `json:"replicationId,omitempty"` 1586 // EndpointType - Indicates whether the local volume is the source or destination for the Volume Replication. Possible values include: 'Src', 'Dst' 1587 EndpointType EndpointType `json:"endpointType,omitempty"` 1588 // ReplicationSchedule - Schedule. Possible values include: '10minutely', 'Hourly', 'Daily' 1589 ReplicationSchedule ReplicationSchedule `json:"replicationSchedule,omitempty"` 1590 // RemoteVolumeResourceID - The resource ID of the remote volume. 1591 RemoteVolumeResourceID *string `json:"remoteVolumeResourceId,omitempty"` 1592 // RemoteVolumeRegion - The remote region for the other end of the Volume Replication. 1593 RemoteVolumeRegion *string `json:"remoteVolumeRegion,omitempty"` 1594} 1595 1596// ReplicationStatus replication status 1597type ReplicationStatus struct { 1598 autorest.Response `json:"-"` 1599 // Healthy - Replication health check 1600 Healthy *bool `json:"healthy,omitempty"` 1601 // RelationshipStatus - Status of the mirror relationship. Possible values include: 'Idle', 'Transferring' 1602 RelationshipStatus RelationshipStatus `json:"relationshipStatus,omitempty"` 1603 // MirrorState - The status of the replication. Possible values include: 'Uninitialized', 'Mirrored', 'Broken' 1604 MirrorState MirrorState `json:"mirrorState,omitempty"` 1605 // TotalProgress - The progress of the replication 1606 TotalProgress *string `json:"totalProgress,omitempty"` 1607 // ErrorMessage - Displays error message if the replication is in an error state 1608 ErrorMessage *string `json:"errorMessage,omitempty"` 1609} 1610 1611// ResourceNameAvailabilityRequest resource name availability request content. 1612type ResourceNameAvailabilityRequest struct { 1613 // Name - Resource name to verify. 1614 Name *string `json:"name,omitempty"` 1615 // Type - Resource type used for verification. Possible values include: 'MicrosoftNetAppnetAppAccounts', 'MicrosoftNetAppnetAppAccountscapacityPools', 'MicrosoftNetAppnetAppAccountscapacityPoolsvolumes', 'MicrosoftNetAppnetAppAccountscapacityPoolsvolumessnapshots' 1616 Type CheckNameResourceTypes `json:"type,omitempty"` 1617 // ResourceGroup - Resource group name. 1618 ResourceGroup *string `json:"resourceGroup,omitempty"` 1619} 1620 1621// ServiceSpecification one property of operation, include metric specifications. 1622type ServiceSpecification struct { 1623 // MetricSpecifications - Metric specifications of operation. 1624 MetricSpecifications *[]MetricSpecification `json:"metricSpecifications,omitempty"` 1625} 1626 1627// Snapshot snapshot of a Volume 1628type Snapshot struct { 1629 autorest.Response `json:"-"` 1630 // Location - Resource location 1631 Location *string `json:"location,omitempty"` 1632 // ID - READ-ONLY; Resource Id 1633 ID *string `json:"id,omitempty"` 1634 // Name - READ-ONLY; Resource name 1635 Name *string `json:"name,omitempty"` 1636 // Type - READ-ONLY; Resource type 1637 Type *string `json:"type,omitempty"` 1638 // SnapshotProperties - Snapshot Properties 1639 *SnapshotProperties `json:"properties,omitempty"` 1640} 1641 1642// MarshalJSON is the custom marshaler for Snapshot. 1643func (s Snapshot) MarshalJSON() ([]byte, error) { 1644 objectMap := make(map[string]interface{}) 1645 if s.Location != nil { 1646 objectMap["location"] = s.Location 1647 } 1648 if s.SnapshotProperties != nil { 1649 objectMap["properties"] = s.SnapshotProperties 1650 } 1651 return json.Marshal(objectMap) 1652} 1653 1654// UnmarshalJSON is the custom unmarshaler for Snapshot struct. 1655func (s *Snapshot) UnmarshalJSON(body []byte) error { 1656 var m map[string]*json.RawMessage 1657 err := json.Unmarshal(body, &m) 1658 if err != nil { 1659 return err 1660 } 1661 for k, v := range m { 1662 switch k { 1663 case "location": 1664 if v != nil { 1665 var location string 1666 err = json.Unmarshal(*v, &location) 1667 if err != nil { 1668 return err 1669 } 1670 s.Location = &location 1671 } 1672 case "id": 1673 if v != nil { 1674 var ID string 1675 err = json.Unmarshal(*v, &ID) 1676 if err != nil { 1677 return err 1678 } 1679 s.ID = &ID 1680 } 1681 case "name": 1682 if v != nil { 1683 var name string 1684 err = json.Unmarshal(*v, &name) 1685 if err != nil { 1686 return err 1687 } 1688 s.Name = &name 1689 } 1690 case "type": 1691 if v != nil { 1692 var typeVar string 1693 err = json.Unmarshal(*v, &typeVar) 1694 if err != nil { 1695 return err 1696 } 1697 s.Type = &typeVar 1698 } 1699 case "properties": 1700 if v != nil { 1701 var snapshotProperties SnapshotProperties 1702 err = json.Unmarshal(*v, &snapshotProperties) 1703 if err != nil { 1704 return err 1705 } 1706 s.SnapshotProperties = &snapshotProperties 1707 } 1708 } 1709 } 1710 1711 return nil 1712} 1713 1714// SnapshotPoliciesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running 1715// operation. 1716type SnapshotPoliciesDeleteFuture struct { 1717 azure.FutureAPI 1718 // Result returns the result of the asynchronous operation. 1719 // If the operation has not completed it will return an error. 1720 Result func(SnapshotPoliciesClient) (autorest.Response, error) 1721} 1722 1723// SnapshotPoliciesList list of Snapshot Policies 1724type SnapshotPoliciesList struct { 1725 autorest.Response `json:"-"` 1726 // Value - A list of snapshot policies 1727 Value *[]SnapshotPolicy `json:"value,omitempty"` 1728} 1729 1730// SnapshotPolicy snapshot policy information 1731type SnapshotPolicy struct { 1732 autorest.Response `json:"-"` 1733 // Location - Resource location 1734 Location *string `json:"location,omitempty"` 1735 // ID - READ-ONLY; Resource Id 1736 ID *string `json:"id,omitempty"` 1737 // Name - READ-ONLY; Resource name 1738 Name *string `json:"name,omitempty"` 1739 // Type - READ-ONLY; Resource type 1740 Type *string `json:"type,omitempty"` 1741 // Tags - Resource tags 1742 Tags map[string]*string `json:"tags"` 1743 // SnapshotPolicyProperties - Snapshot policy Properties 1744 *SnapshotPolicyProperties `json:"properties,omitempty"` 1745} 1746 1747// MarshalJSON is the custom marshaler for SnapshotPolicy. 1748func (sp SnapshotPolicy) MarshalJSON() ([]byte, error) { 1749 objectMap := make(map[string]interface{}) 1750 if sp.Location != nil { 1751 objectMap["location"] = sp.Location 1752 } 1753 if sp.Tags != nil { 1754 objectMap["tags"] = sp.Tags 1755 } 1756 if sp.SnapshotPolicyProperties != nil { 1757 objectMap["properties"] = sp.SnapshotPolicyProperties 1758 } 1759 return json.Marshal(objectMap) 1760} 1761 1762// UnmarshalJSON is the custom unmarshaler for SnapshotPolicy struct. 1763func (sp *SnapshotPolicy) UnmarshalJSON(body []byte) error { 1764 var m map[string]*json.RawMessage 1765 err := json.Unmarshal(body, &m) 1766 if err != nil { 1767 return err 1768 } 1769 for k, v := range m { 1770 switch k { 1771 case "location": 1772 if v != nil { 1773 var location string 1774 err = json.Unmarshal(*v, &location) 1775 if err != nil { 1776 return err 1777 } 1778 sp.Location = &location 1779 } 1780 case "id": 1781 if v != nil { 1782 var ID string 1783 err = json.Unmarshal(*v, &ID) 1784 if err != nil { 1785 return err 1786 } 1787 sp.ID = &ID 1788 } 1789 case "name": 1790 if v != nil { 1791 var name string 1792 err = json.Unmarshal(*v, &name) 1793 if err != nil { 1794 return err 1795 } 1796 sp.Name = &name 1797 } 1798 case "type": 1799 if v != nil { 1800 var typeVar string 1801 err = json.Unmarshal(*v, &typeVar) 1802 if err != nil { 1803 return err 1804 } 1805 sp.Type = &typeVar 1806 } 1807 case "tags": 1808 if v != nil { 1809 var tags map[string]*string 1810 err = json.Unmarshal(*v, &tags) 1811 if err != nil { 1812 return err 1813 } 1814 sp.Tags = tags 1815 } 1816 case "properties": 1817 if v != nil { 1818 var snapshotPolicyProperties SnapshotPolicyProperties 1819 err = json.Unmarshal(*v, &snapshotPolicyProperties) 1820 if err != nil { 1821 return err 1822 } 1823 sp.SnapshotPolicyProperties = &snapshotPolicyProperties 1824 } 1825 } 1826 } 1827 1828 return nil 1829} 1830 1831// SnapshotPolicyDetails snapshot policy properties 1832type SnapshotPolicyDetails struct { 1833 // Location - Resource location 1834 Location *string `json:"location,omitempty"` 1835 // ID - READ-ONLY; Resource Id 1836 ID *string `json:"id,omitempty"` 1837 // Name - READ-ONLY; Resource name 1838 Name *string `json:"name,omitempty"` 1839 // Type - READ-ONLY; Resource type 1840 Type *string `json:"type,omitempty"` 1841 // Tags - Resource tags 1842 Tags map[string]*string `json:"tags"` 1843 // SnapshotPolicyProperties - Snapshot policy Properties 1844 *SnapshotPolicyProperties `json:"properties,omitempty"` 1845} 1846 1847// MarshalJSON is the custom marshaler for SnapshotPolicyDetails. 1848func (spd SnapshotPolicyDetails) MarshalJSON() ([]byte, error) { 1849 objectMap := make(map[string]interface{}) 1850 if spd.Location != nil { 1851 objectMap["location"] = spd.Location 1852 } 1853 if spd.Tags != nil { 1854 objectMap["tags"] = spd.Tags 1855 } 1856 if spd.SnapshotPolicyProperties != nil { 1857 objectMap["properties"] = spd.SnapshotPolicyProperties 1858 } 1859 return json.Marshal(objectMap) 1860} 1861 1862// UnmarshalJSON is the custom unmarshaler for SnapshotPolicyDetails struct. 1863func (spd *SnapshotPolicyDetails) UnmarshalJSON(body []byte) error { 1864 var m map[string]*json.RawMessage 1865 err := json.Unmarshal(body, &m) 1866 if err != nil { 1867 return err 1868 } 1869 for k, v := range m { 1870 switch k { 1871 case "location": 1872 if v != nil { 1873 var location string 1874 err = json.Unmarshal(*v, &location) 1875 if err != nil { 1876 return err 1877 } 1878 spd.Location = &location 1879 } 1880 case "id": 1881 if v != nil { 1882 var ID string 1883 err = json.Unmarshal(*v, &ID) 1884 if err != nil { 1885 return err 1886 } 1887 spd.ID = &ID 1888 } 1889 case "name": 1890 if v != nil { 1891 var name string 1892 err = json.Unmarshal(*v, &name) 1893 if err != nil { 1894 return err 1895 } 1896 spd.Name = &name 1897 } 1898 case "type": 1899 if v != nil { 1900 var typeVar string 1901 err = json.Unmarshal(*v, &typeVar) 1902 if err != nil { 1903 return err 1904 } 1905 spd.Type = &typeVar 1906 } 1907 case "tags": 1908 if v != nil { 1909 var tags map[string]*string 1910 err = json.Unmarshal(*v, &tags) 1911 if err != nil { 1912 return err 1913 } 1914 spd.Tags = tags 1915 } 1916 case "properties": 1917 if v != nil { 1918 var snapshotPolicyProperties SnapshotPolicyProperties 1919 err = json.Unmarshal(*v, &snapshotPolicyProperties) 1920 if err != nil { 1921 return err 1922 } 1923 spd.SnapshotPolicyProperties = &snapshotPolicyProperties 1924 } 1925 } 1926 } 1927 1928 return nil 1929} 1930 1931// SnapshotPolicyPatch snapshot policy Details for create and update 1932type SnapshotPolicyPatch struct { 1933 // Location - Resource location 1934 Location *string `json:"location,omitempty"` 1935 // ID - READ-ONLY; Resource Id 1936 ID *string `json:"id,omitempty"` 1937 // Name - READ-ONLY; Resource name 1938 Name *string `json:"name,omitempty"` 1939 // Type - READ-ONLY; Resource type 1940 Type *string `json:"type,omitempty"` 1941 // Tags - Resource tags 1942 Tags map[string]*string `json:"tags"` 1943 // SnapshotPolicyProperties - Snapshot Policy properties 1944 *SnapshotPolicyProperties `json:"properties,omitempty"` 1945} 1946 1947// MarshalJSON is the custom marshaler for SnapshotPolicyPatch. 1948func (spp SnapshotPolicyPatch) MarshalJSON() ([]byte, error) { 1949 objectMap := make(map[string]interface{}) 1950 if spp.Location != nil { 1951 objectMap["location"] = spp.Location 1952 } 1953 if spp.Tags != nil { 1954 objectMap["tags"] = spp.Tags 1955 } 1956 if spp.SnapshotPolicyProperties != nil { 1957 objectMap["properties"] = spp.SnapshotPolicyProperties 1958 } 1959 return json.Marshal(objectMap) 1960} 1961 1962// UnmarshalJSON is the custom unmarshaler for SnapshotPolicyPatch struct. 1963func (spp *SnapshotPolicyPatch) UnmarshalJSON(body []byte) error { 1964 var m map[string]*json.RawMessage 1965 err := json.Unmarshal(body, &m) 1966 if err != nil { 1967 return err 1968 } 1969 for k, v := range m { 1970 switch k { 1971 case "location": 1972 if v != nil { 1973 var location string 1974 err = json.Unmarshal(*v, &location) 1975 if err != nil { 1976 return err 1977 } 1978 spp.Location = &location 1979 } 1980 case "id": 1981 if v != nil { 1982 var ID string 1983 err = json.Unmarshal(*v, &ID) 1984 if err != nil { 1985 return err 1986 } 1987 spp.ID = &ID 1988 } 1989 case "name": 1990 if v != nil { 1991 var name string 1992 err = json.Unmarshal(*v, &name) 1993 if err != nil { 1994 return err 1995 } 1996 spp.Name = &name 1997 } 1998 case "type": 1999 if v != nil { 2000 var typeVar string 2001 err = json.Unmarshal(*v, &typeVar) 2002 if err != nil { 2003 return err 2004 } 2005 spp.Type = &typeVar 2006 } 2007 case "tags": 2008 if v != nil { 2009 var tags map[string]*string 2010 err = json.Unmarshal(*v, &tags) 2011 if err != nil { 2012 return err 2013 } 2014 spp.Tags = tags 2015 } 2016 case "properties": 2017 if v != nil { 2018 var snapshotPolicyProperties SnapshotPolicyProperties 2019 err = json.Unmarshal(*v, &snapshotPolicyProperties) 2020 if err != nil { 2021 return err 2022 } 2023 spp.SnapshotPolicyProperties = &snapshotPolicyProperties 2024 } 2025 } 2026 } 2027 2028 return nil 2029} 2030 2031// SnapshotPolicyProperties snapshot policy properties 2032type SnapshotPolicyProperties struct { 2033 // Name - READ-ONLY; Snapshot policy name 2034 Name *string `json:"name,omitempty"` 2035 // HourlySchedule - Schedule for hourly snapshots 2036 HourlySchedule *HourlySchedule `json:"hourlySchedule,omitempty"` 2037 // DailySchedule - Schedule for daily snapshots 2038 DailySchedule *DailySchedule `json:"dailySchedule,omitempty"` 2039 // WeeklySchedule - Schedule for weekly snapshots 2040 WeeklySchedule *WeeklySchedule `json:"weeklySchedule,omitempty"` 2041 // MonthlySchedule - Schedule for monthly snapshots 2042 MonthlySchedule *MonthlySchedule `json:"monthlySchedule,omitempty"` 2043 // Enabled - The property to decide policy is enabled or not 2044 Enabled *bool `json:"enabled,omitempty"` 2045 // ProvisioningState - READ-ONLY; Azure lifecycle management 2046 ProvisioningState *string `json:"provisioningState,omitempty"` 2047} 2048 2049// MarshalJSON is the custom marshaler for SnapshotPolicyProperties. 2050func (spp SnapshotPolicyProperties) MarshalJSON() ([]byte, error) { 2051 objectMap := make(map[string]interface{}) 2052 if spp.HourlySchedule != nil { 2053 objectMap["hourlySchedule"] = spp.HourlySchedule 2054 } 2055 if spp.DailySchedule != nil { 2056 objectMap["dailySchedule"] = spp.DailySchedule 2057 } 2058 if spp.WeeklySchedule != nil { 2059 objectMap["weeklySchedule"] = spp.WeeklySchedule 2060 } 2061 if spp.MonthlySchedule != nil { 2062 objectMap["monthlySchedule"] = spp.MonthlySchedule 2063 } 2064 if spp.Enabled != nil { 2065 objectMap["enabled"] = spp.Enabled 2066 } 2067 return json.Marshal(objectMap) 2068} 2069 2070// SnapshotPolicyVolumeList volumes associated with snapshot policy 2071type SnapshotPolicyVolumeList struct { 2072 autorest.Response `json:"-"` 2073 // Value - List of volumes 2074 Value *[]interface{} `json:"value,omitempty"` 2075} 2076 2077// SnapshotProperties snapshot properties 2078type SnapshotProperties struct { 2079 // SnapshotID - READ-ONLY; UUID v4 used to identify the Snapshot 2080 SnapshotID *string `json:"snapshotId,omitempty"` 2081 // Created - READ-ONLY; The creation date of the snapshot 2082 Created *date.Time `json:"created,omitempty"` 2083 // ProvisioningState - READ-ONLY; Azure lifecycle management 2084 ProvisioningState *string `json:"provisioningState,omitempty"` 2085} 2086 2087// SnapshotsCreateFuture an abstraction for monitoring and retrieving the results of a long-running 2088// operation. 2089type SnapshotsCreateFuture struct { 2090 azure.FutureAPI 2091 // Result returns the result of the asynchronous operation. 2092 // If the operation has not completed it will return an error. 2093 Result func(SnapshotsClient) (Snapshot, error) 2094} 2095 2096// SnapshotsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running 2097// operation. 2098type SnapshotsDeleteFuture struct { 2099 azure.FutureAPI 2100 // Result returns the result of the asynchronous operation. 2101 // If the operation has not completed it will return an error. 2102 Result func(SnapshotsClient) (autorest.Response, error) 2103} 2104 2105// SnapshotsList list of Snapshots 2106type SnapshotsList struct { 2107 autorest.Response `json:"-"` 2108 // Value - A list of Snapshots 2109 Value *[]Snapshot `json:"value,omitempty"` 2110} 2111 2112// SnapshotsUpdateFuture an abstraction for monitoring and retrieving the results of a long-running 2113// operation. 2114type SnapshotsUpdateFuture struct { 2115 azure.FutureAPI 2116 // Result returns the result of the asynchronous operation. 2117 // If the operation has not completed it will return an error. 2118 Result func(SnapshotsClient) (Snapshot, error) 2119} 2120 2121// Vault vault information 2122type Vault struct { 2123 // Location - Resource location 2124 Location *string `json:"location,omitempty"` 2125 // ID - READ-ONLY; Resource Id 2126 ID *string `json:"id,omitempty"` 2127 // Name - READ-ONLY; Resource name 2128 Name *string `json:"name,omitempty"` 2129 // Type - READ-ONLY; Resource type 2130 Type *string `json:"type,omitempty"` 2131 // VaultProperties - Vault Properties 2132 *VaultProperties `json:"properties,omitempty"` 2133} 2134 2135// MarshalJSON is the custom marshaler for Vault. 2136func (vVar Vault) MarshalJSON() ([]byte, error) { 2137 objectMap := make(map[string]interface{}) 2138 if vVar.Location != nil { 2139 objectMap["location"] = vVar.Location 2140 } 2141 if vVar.VaultProperties != nil { 2142 objectMap["properties"] = vVar.VaultProperties 2143 } 2144 return json.Marshal(objectMap) 2145} 2146 2147// UnmarshalJSON is the custom unmarshaler for Vault struct. 2148func (vVar *Vault) UnmarshalJSON(body []byte) error { 2149 var m map[string]*json.RawMessage 2150 err := json.Unmarshal(body, &m) 2151 if err != nil { 2152 return err 2153 } 2154 for k, v := range m { 2155 switch k { 2156 case "location": 2157 if v != nil { 2158 var location string 2159 err = json.Unmarshal(*v, &location) 2160 if err != nil { 2161 return err 2162 } 2163 vVar.Location = &location 2164 } 2165 case "id": 2166 if v != nil { 2167 var ID string 2168 err = json.Unmarshal(*v, &ID) 2169 if err != nil { 2170 return err 2171 } 2172 vVar.ID = &ID 2173 } 2174 case "name": 2175 if v != nil { 2176 var name string 2177 err = json.Unmarshal(*v, &name) 2178 if err != nil { 2179 return err 2180 } 2181 vVar.Name = &name 2182 } 2183 case "type": 2184 if v != nil { 2185 var typeVar string 2186 err = json.Unmarshal(*v, &typeVar) 2187 if err != nil { 2188 return err 2189 } 2190 vVar.Type = &typeVar 2191 } 2192 case "properties": 2193 if v != nil { 2194 var vaultProperties VaultProperties 2195 err = json.Unmarshal(*v, &vaultProperties) 2196 if err != nil { 2197 return err 2198 } 2199 vVar.VaultProperties = &vaultProperties 2200 } 2201 } 2202 } 2203 2204 return nil 2205} 2206 2207// VaultList list of Vaults 2208type VaultList struct { 2209 autorest.Response `json:"-"` 2210 // Value - A list of vaults 2211 Value *[]Vault `json:"value,omitempty"` 2212} 2213 2214// VaultProperties vault properties 2215type VaultProperties struct { 2216 // VaultName - Vault Name 2217 VaultName *string `json:"vaultName,omitempty"` 2218} 2219 2220// Volume volume resource 2221type Volume struct { 2222 autorest.Response `json:"-"` 2223 // Location - Resource location 2224 Location *string `json:"location,omitempty"` 2225 // ID - READ-ONLY; Resource Id 2226 ID *string `json:"id,omitempty"` 2227 // Name - READ-ONLY; Resource name 2228 Name *string `json:"name,omitempty"` 2229 // Type - READ-ONLY; Resource type 2230 Type *string `json:"type,omitempty"` 2231 // Tags - Resource tags 2232 Tags map[string]*string `json:"tags"` 2233 // VolumeProperties - Volume properties 2234 *VolumeProperties `json:"properties,omitempty"` 2235} 2236 2237// MarshalJSON is the custom marshaler for Volume. 2238func (vVar Volume) MarshalJSON() ([]byte, error) { 2239 objectMap := make(map[string]interface{}) 2240 if vVar.Location != nil { 2241 objectMap["location"] = vVar.Location 2242 } 2243 if vVar.Tags != nil { 2244 objectMap["tags"] = vVar.Tags 2245 } 2246 if vVar.VolumeProperties != nil { 2247 objectMap["properties"] = vVar.VolumeProperties 2248 } 2249 return json.Marshal(objectMap) 2250} 2251 2252// UnmarshalJSON is the custom unmarshaler for Volume struct. 2253func (vVar *Volume) UnmarshalJSON(body []byte) error { 2254 var m map[string]*json.RawMessage 2255 err := json.Unmarshal(body, &m) 2256 if err != nil { 2257 return err 2258 } 2259 for k, v := range m { 2260 switch k { 2261 case "location": 2262 if v != nil { 2263 var location string 2264 err = json.Unmarshal(*v, &location) 2265 if err != nil { 2266 return err 2267 } 2268 vVar.Location = &location 2269 } 2270 case "id": 2271 if v != nil { 2272 var ID string 2273 err = json.Unmarshal(*v, &ID) 2274 if err != nil { 2275 return err 2276 } 2277 vVar.ID = &ID 2278 } 2279 case "name": 2280 if v != nil { 2281 var name string 2282 err = json.Unmarshal(*v, &name) 2283 if err != nil { 2284 return err 2285 } 2286 vVar.Name = &name 2287 } 2288 case "type": 2289 if v != nil { 2290 var typeVar string 2291 err = json.Unmarshal(*v, &typeVar) 2292 if err != nil { 2293 return err 2294 } 2295 vVar.Type = &typeVar 2296 } 2297 case "tags": 2298 if v != nil { 2299 var tags map[string]*string 2300 err = json.Unmarshal(*v, &tags) 2301 if err != nil { 2302 return err 2303 } 2304 vVar.Tags = tags 2305 } 2306 case "properties": 2307 if v != nil { 2308 var volumeProperties VolumeProperties 2309 err = json.Unmarshal(*v, &volumeProperties) 2310 if err != nil { 2311 return err 2312 } 2313 vVar.VolumeProperties = &volumeProperties 2314 } 2315 } 2316 } 2317 2318 return nil 2319} 2320 2321// VolumeBackupProperties volume Backup Properties 2322type VolumeBackupProperties struct { 2323 // BackupPolicyID - Backup Policy Resource ID 2324 BackupPolicyID *string `json:"backupPolicyId,omitempty"` 2325 // PolicyEnforced - Policy Enforced 2326 PolicyEnforced *bool `json:"policyEnforced,omitempty"` 2327 // VaultID - Vault Resource ID 2328 VaultID *string `json:"vaultId,omitempty"` 2329 // BackupEnabled - Backup Enabled 2330 BackupEnabled *bool `json:"backupEnabled,omitempty"` 2331} 2332 2333// VolumeBackups volume details using the backup policy 2334type VolumeBackups struct { 2335 // VolumeName - Volume name 2336 VolumeName *string `json:"volumeName,omitempty"` 2337 // BackupsCount - Total count of backups for volume 2338 BackupsCount *int32 `json:"backupsCount,omitempty"` 2339 // PolicyEnabled - Policy enabled 2340 PolicyEnabled *bool `json:"policyEnabled,omitempty"` 2341} 2342 2343// VolumeList list of volume resources 2344type VolumeList struct { 2345 autorest.Response `json:"-"` 2346 // Value - List of volumes 2347 Value *[]Volume `json:"value,omitempty"` 2348} 2349 2350// VolumePatch volume patch resource 2351type VolumePatch struct { 2352 // Location - Resource location 2353 Location *string `json:"location,omitempty"` 2354 // ID - READ-ONLY; Resource Id 2355 ID *string `json:"id,omitempty"` 2356 // Name - READ-ONLY; Resource name 2357 Name *string `json:"name,omitempty"` 2358 // Type - READ-ONLY; Resource type 2359 Type *string `json:"type,omitempty"` 2360 // Tags - Resource tags 2361 Tags map[string]*string `json:"tags"` 2362 // VolumePatchProperties - Patchable volume properties 2363 *VolumePatchProperties `json:"properties,omitempty"` 2364} 2365 2366// MarshalJSON is the custom marshaler for VolumePatch. 2367func (vp VolumePatch) MarshalJSON() ([]byte, error) { 2368 objectMap := make(map[string]interface{}) 2369 if vp.Location != nil { 2370 objectMap["location"] = vp.Location 2371 } 2372 if vp.Tags != nil { 2373 objectMap["tags"] = vp.Tags 2374 } 2375 if vp.VolumePatchProperties != nil { 2376 objectMap["properties"] = vp.VolumePatchProperties 2377 } 2378 return json.Marshal(objectMap) 2379} 2380 2381// UnmarshalJSON is the custom unmarshaler for VolumePatch struct. 2382func (vp *VolumePatch) UnmarshalJSON(body []byte) error { 2383 var m map[string]*json.RawMessage 2384 err := json.Unmarshal(body, &m) 2385 if err != nil { 2386 return err 2387 } 2388 for k, v := range m { 2389 switch k { 2390 case "location": 2391 if v != nil { 2392 var location string 2393 err = json.Unmarshal(*v, &location) 2394 if err != nil { 2395 return err 2396 } 2397 vp.Location = &location 2398 } 2399 case "id": 2400 if v != nil { 2401 var ID string 2402 err = json.Unmarshal(*v, &ID) 2403 if err != nil { 2404 return err 2405 } 2406 vp.ID = &ID 2407 } 2408 case "name": 2409 if v != nil { 2410 var name string 2411 err = json.Unmarshal(*v, &name) 2412 if err != nil { 2413 return err 2414 } 2415 vp.Name = &name 2416 } 2417 case "type": 2418 if v != nil { 2419 var typeVar string 2420 err = json.Unmarshal(*v, &typeVar) 2421 if err != nil { 2422 return err 2423 } 2424 vp.Type = &typeVar 2425 } 2426 case "tags": 2427 if v != nil { 2428 var tags map[string]*string 2429 err = json.Unmarshal(*v, &tags) 2430 if err != nil { 2431 return err 2432 } 2433 vp.Tags = tags 2434 } 2435 case "properties": 2436 if v != nil { 2437 var volumePatchProperties VolumePatchProperties 2438 err = json.Unmarshal(*v, &volumePatchProperties) 2439 if err != nil { 2440 return err 2441 } 2442 vp.VolumePatchProperties = &volumePatchProperties 2443 } 2444 } 2445 } 2446 2447 return nil 2448} 2449 2450// VolumePatchProperties patchable volume properties 2451type VolumePatchProperties struct { 2452 // ServiceLevel - The service level of the file system. Possible values include: 'Standard', 'Premium', 'Ultra' 2453 ServiceLevel ServiceLevel `json:"serviceLevel,omitempty"` 2454 // 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. 2455 UsageThreshold *int64 `json:"usageThreshold,omitempty"` 2456 // ExportPolicy - Set of export policy rules 2457 ExportPolicy *VolumePatchPropertiesExportPolicy `json:"exportPolicy,omitempty"` 2458 ThroughputMibps *float64 `json:"throughputMibps,omitempty"` 2459 // DataProtection - DataProtection type volumes include an object containing details of the replication 2460 DataProtection *VolumePatchPropertiesDataProtection `json:"dataProtection,omitempty"` 2461} 2462 2463// VolumePatchPropertiesDataProtection dataProtection type volumes include an object containing details of 2464// the replication 2465type VolumePatchPropertiesDataProtection struct { 2466 // Backup - Backup Properties 2467 Backup *VolumeBackupProperties `json:"backup,omitempty"` 2468} 2469 2470// VolumePatchPropertiesExportPolicy set of export policy rules 2471type VolumePatchPropertiesExportPolicy struct { 2472 // Rules - Export policy rule 2473 Rules *[]ExportPolicyRule `json:"rules,omitempty"` 2474} 2475 2476// VolumeProperties volume properties 2477type VolumeProperties struct { 2478 // FileSystemID - READ-ONLY; Unique FileSystem Identifier. 2479 FileSystemID *string `json:"fileSystemId,omitempty"` 2480 // CreationToken - A unique file path for the volume. Used when creating mount targets 2481 CreationToken *string `json:"creationToken,omitempty"` 2482 // ServiceLevel - The service level of the file system. Possible values include: 'Standard', 'Premium', 'Ultra' 2483 ServiceLevel ServiceLevel `json:"serviceLevel,omitempty"` 2484 // 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. 2485 UsageThreshold *int64 `json:"usageThreshold,omitempty"` 2486 // ExportPolicy - Set of export policy rules 2487 ExportPolicy *VolumePropertiesExportPolicy `json:"exportPolicy,omitempty"` 2488 // ProtocolTypes - Set of protocol types 2489 ProtocolTypes *[]string `json:"protocolTypes,omitempty"` 2490 // ProvisioningState - READ-ONLY; Azure lifecycle management 2491 ProvisioningState *string `json:"provisioningState,omitempty"` 2492 // SnapshotID - UUID v4 or resource identifier used to identify the Snapshot. 2493 SnapshotID *string `json:"snapshotId,omitempty"` 2494 // BackupID - UUID v4 or resource identifier used to identify the Backup. 2495 BackupID *string `json:"backupId,omitempty"` 2496 // BaremetalTenantID - READ-ONLY; Unique Baremetal Tenant Identifier. 2497 BaremetalTenantID *string `json:"baremetalTenantId,omitempty"` 2498 // SubnetID - The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes 2499 SubnetID *string `json:"subnetId,omitempty"` 2500 // MountTargets - List of mount targets 2501 MountTargets *[]MountTargetProperties `json:"mountTargets,omitempty"` 2502 // VolumeType - What type of volume is this 2503 VolumeType *string `json:"volumeType,omitempty"` 2504 // DataProtection - DataProtection type volumes include an object containing details of the replication 2505 DataProtection *VolumePropertiesDataProtection `json:"dataProtection,omitempty"` 2506 // IsRestoring - Restoring 2507 IsRestoring *bool `json:"isRestoring,omitempty"` 2508 // 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). 2509 SnapshotDirectoryVisible *bool `json:"snapshotDirectoryVisible,omitempty"` 2510 // KerberosEnabled - Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later 2511 KerberosEnabled *bool `json:"kerberosEnabled,omitempty"` 2512 // SecurityStyle - The security style of volume. Possible values include: 'Ntfs', 'Unix' 2513 SecurityStyle SecurityStyle `json:"securityStyle,omitempty"` 2514 ThroughputMibps *float64 `json:"throughputMibps,omitempty"` 2515} 2516 2517// MarshalJSON is the custom marshaler for VolumeProperties. 2518func (vp VolumeProperties) MarshalJSON() ([]byte, error) { 2519 objectMap := make(map[string]interface{}) 2520 if vp.CreationToken != nil { 2521 objectMap["creationToken"] = vp.CreationToken 2522 } 2523 if vp.ServiceLevel != "" { 2524 objectMap["serviceLevel"] = vp.ServiceLevel 2525 } 2526 if vp.UsageThreshold != nil { 2527 objectMap["usageThreshold"] = vp.UsageThreshold 2528 } 2529 if vp.ExportPolicy != nil { 2530 objectMap["exportPolicy"] = vp.ExportPolicy 2531 } 2532 if vp.ProtocolTypes != nil { 2533 objectMap["protocolTypes"] = vp.ProtocolTypes 2534 } 2535 if vp.SnapshotID != nil { 2536 objectMap["snapshotId"] = vp.SnapshotID 2537 } 2538 if vp.BackupID != nil { 2539 objectMap["backupId"] = vp.BackupID 2540 } 2541 if vp.SubnetID != nil { 2542 objectMap["subnetId"] = vp.SubnetID 2543 } 2544 if vp.MountTargets != nil { 2545 objectMap["mountTargets"] = vp.MountTargets 2546 } 2547 if vp.VolumeType != nil { 2548 objectMap["volumeType"] = vp.VolumeType 2549 } 2550 if vp.DataProtection != nil { 2551 objectMap["dataProtection"] = vp.DataProtection 2552 } 2553 if vp.IsRestoring != nil { 2554 objectMap["isRestoring"] = vp.IsRestoring 2555 } 2556 if vp.SnapshotDirectoryVisible != nil { 2557 objectMap["snapshotDirectoryVisible"] = vp.SnapshotDirectoryVisible 2558 } 2559 if vp.KerberosEnabled != nil { 2560 objectMap["kerberosEnabled"] = vp.KerberosEnabled 2561 } 2562 if vp.SecurityStyle != "" { 2563 objectMap["securityStyle"] = vp.SecurityStyle 2564 } 2565 if vp.ThroughputMibps != nil { 2566 objectMap["throughputMibps"] = vp.ThroughputMibps 2567 } 2568 return json.Marshal(objectMap) 2569} 2570 2571// VolumePropertiesDataProtection dataProtection type volumes include an object containing details of the 2572// replication 2573type VolumePropertiesDataProtection struct { 2574 // Backup - Backup Properties 2575 Backup *VolumeBackupProperties `json:"backup,omitempty"` 2576 // Replication - Replication properties 2577 Replication *ReplicationObject `json:"replication,omitempty"` 2578 // Snapshot - Snapshot properties. 2579 Snapshot *VolumeSnapshotProperties `json:"snapshot,omitempty"` 2580} 2581 2582// VolumePropertiesExportPolicy set of export policy rules 2583type VolumePropertiesExportPolicy struct { 2584 // Rules - Export policy rule 2585 Rules *[]ExportPolicyRule `json:"rules,omitempty"` 2586} 2587 2588// VolumeRevert revert a volume to the snapshot 2589type VolumeRevert struct { 2590 // SnapshotID - Resource id of the snapshot 2591 SnapshotID *string `json:"snapshotId,omitempty"` 2592} 2593 2594// VolumesAuthorizeReplicationFuture an abstraction for monitoring and retrieving the results of a 2595// long-running operation. 2596type VolumesAuthorizeReplicationFuture struct { 2597 azure.FutureAPI 2598 // Result returns the result of the asynchronous operation. 2599 // If the operation has not completed it will return an error. 2600 Result func(VolumesClient) (autorest.Response, error) 2601} 2602 2603// VolumesBreakReplicationFuture an abstraction for monitoring and retrieving the results of a long-running 2604// operation. 2605type VolumesBreakReplicationFuture struct { 2606 azure.FutureAPI 2607 // Result returns the result of the asynchronous operation. 2608 // If the operation has not completed it will return an error. 2609 Result func(VolumesClient) (autorest.Response, error) 2610} 2611 2612// VolumesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running 2613// operation. 2614type VolumesCreateOrUpdateFuture struct { 2615 azure.FutureAPI 2616 // Result returns the result of the asynchronous operation. 2617 // If the operation has not completed it will return an error. 2618 Result func(VolumesClient) (Volume, error) 2619} 2620 2621// VolumesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running 2622// operation. 2623type VolumesDeleteFuture struct { 2624 azure.FutureAPI 2625 // Result returns the result of the asynchronous operation. 2626 // If the operation has not completed it will return an error. 2627 Result func(VolumesClient) (autorest.Response, error) 2628} 2629 2630// VolumesDeleteReplicationFuture an abstraction for monitoring and retrieving the results of a 2631// long-running operation. 2632type VolumesDeleteReplicationFuture struct { 2633 azure.FutureAPI 2634 // Result returns the result of the asynchronous operation. 2635 // If the operation has not completed it will return an error. 2636 Result func(VolumesClient) (autorest.Response, error) 2637} 2638 2639// VolumeSnapshotProperties volume Snapshot Properties 2640type VolumeSnapshotProperties struct { 2641 // SnapshotPolicyID - Snapshot Policy ResourceId 2642 SnapshotPolicyID *string `json:"snapshotPolicyId,omitempty"` 2643} 2644 2645// VolumesPoolChangeFuture an abstraction for monitoring and retrieving the results of a long-running 2646// operation. 2647type VolumesPoolChangeFuture struct { 2648 azure.FutureAPI 2649 // Result returns the result of the asynchronous operation. 2650 // If the operation has not completed it will return an error. 2651 Result func(VolumesClient) (autorest.Response, error) 2652} 2653 2654// VolumesReInitializeReplicationFuture an abstraction for monitoring and retrieving the results of a 2655// long-running operation. 2656type VolumesReInitializeReplicationFuture struct { 2657 azure.FutureAPI 2658 // Result returns the result of the asynchronous operation. 2659 // If the operation has not completed it will return an error. 2660 Result func(VolumesClient) (autorest.Response, error) 2661} 2662 2663// VolumesResyncReplicationFuture an abstraction for monitoring and retrieving the results of a 2664// long-running operation. 2665type VolumesResyncReplicationFuture struct { 2666 azure.FutureAPI 2667 // Result returns the result of the asynchronous operation. 2668 // If the operation has not completed it will return an error. 2669 Result func(VolumesClient) (autorest.Response, error) 2670} 2671 2672// VolumesRevertFuture an abstraction for monitoring and retrieving the results of a long-running 2673// operation. 2674type VolumesRevertFuture struct { 2675 azure.FutureAPI 2676 // Result returns the result of the asynchronous operation. 2677 // If the operation has not completed it will return an error. 2678 Result func(VolumesClient) (autorest.Response, error) 2679} 2680 2681// VolumesUpdateFuture an abstraction for monitoring and retrieving the results of a long-running 2682// operation. 2683type VolumesUpdateFuture struct { 2684 azure.FutureAPI 2685 // Result returns the result of the asynchronous operation. 2686 // If the operation has not completed it will return an error. 2687 Result func(VolumesClient) (Volume, error) 2688} 2689 2690// WeeklySchedule weekly Schedule properties, make a snapshot every week at a specific day or days 2691type WeeklySchedule struct { 2692 // SnapshotsToKeep - Weekly snapshot count to keep 2693 SnapshotsToKeep *int32 `json:"snapshotsToKeep,omitempty"` 2694 // Day - Indicates which weekdays snapshot should be taken, accepts a comma separated list of week day names in english 2695 Day *string `json:"day,omitempty"` 2696 // Hour - Indicates which hour in UTC timezone a snapshot should be taken 2697 Hour *int32 `json:"hour,omitempty"` 2698 // Minute - Indicates which minute snapshot should be taken 2699 Minute *int32 `json:"minute,omitempty"` 2700 // UsedBytes - Resource size in bytes, current storage usage for the volume in bytes 2701 UsedBytes *int64 `json:"usedBytes,omitempty"` 2702} 2703