github.com/vmware/govmomi@v0.51.0/cns/types/unreleased_types.go (about) 1 // © Broadcom. All Rights Reserved. 2 // The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 3 // SPDX-License-Identifier: Apache-2.0 4 5 package types 6 7 import ( 8 "reflect" 9 10 "github.com/vmware/govmomi/vim25/types" 11 ) 12 13 // CnsBlockCreateSpec is the specification for creating block volumes. 14 type CnsBlockCreateSpec struct { 15 CnsBaseCreateSpec 16 17 // Crypto specifies the encryption settings for the volume to be created. 18 // Works with block volumes only. 19 CryptoSpec types.BaseCryptoSpec `xml:"cryptoSpec,omitempty,typeattr" json:"cryptoSpec"` 20 } 21 22 func init() { 23 types.Add("CnsBlockCreateSpec", reflect.TypeOf((*CnsBlockCreateSpec)(nil)).Elem()) 24 } 25 26 type CnsUpdateVolumeCryptoRequestType struct { 27 This types.ManagedObjectReference `xml:"_this" json:"-"` 28 UpdateSpecs []CnsVolumeCryptoUpdateSpec `xml:"updateSpecs,omitempty" json:"updateSpecs"` 29 } 30 31 func init() { 32 types.Add("CnsUpdateVolumeCryptoRequestType", reflect.TypeOf((*CnsUpdateVolumeCryptoRequestType)(nil)).Elem()) 33 } 34 35 type CnsUpdateVolumeCrypto CnsUpdateVolumeCryptoRequestType 36 37 func init() { 38 types.Add("CnsUpdateVolumeCrypto", reflect.TypeOf((*CnsUpdateVolumeCrypto)(nil)).Elem()) 39 } 40 41 type CnsUpdateVolumeCryptoResponse struct { 42 Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"` 43 } 44 45 // CnsVolumeCryptoUpdateSpec is the specification for volume crypto update operation. 46 type CnsVolumeCryptoUpdateSpec struct { 47 types.DynamicData 48 49 VolumeId CnsVolumeId `xml:"volumeId" json:"volumeId"` 50 Profile []types.BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile"` 51 DisksCrypto *types.DiskCryptoSpec `xml:"disksCrypto,omitempty" json:"disksCrypto"` 52 } 53 54 func init() { 55 types.Add("CnsVolumeCryptoUpdateSpec", reflect.TypeOf((*CnsVolumeCryptoUpdateSpec)(nil)).Elem()) 56 }