-module(kuberl_v1_volume). -export([encode/1]). -export_type([kuberl_v1_volume/0]). -type kuberl_v1_volume() :: #{ 'awsElasticBlockStore' => kuberl_v1_aws_elastic_block_store_volume_source:kuberl_v1_aws_elastic_block_store_volume_source(), 'azureDisk' => kuberl_v1_azure_disk_volume_source:kuberl_v1_azure_disk_volume_source(), 'azureFile' => kuberl_v1_azure_file_volume_source:kuberl_v1_azure_file_volume_source(), 'cephfs' => kuberl_v1_ceph_fs_volume_source:kuberl_v1_ceph_fs_volume_source(), 'cinder' => kuberl_v1_cinder_volume_source:kuberl_v1_cinder_volume_source(), 'configMap' => kuberl_v1_config_map_volume_source:kuberl_v1_config_map_volume_source(), 'downwardAPI' => kuberl_v1_downward_api_volume_source:kuberl_v1_downward_api_volume_source(), 'emptyDir' => kuberl_v1_empty_dir_volume_source:kuberl_v1_empty_dir_volume_source(), 'fc' => kuberl_v1_fc_volume_source:kuberl_v1_fc_volume_source(), 'flexVolume' => kuberl_v1_flex_volume_source:kuberl_v1_flex_volume_source(), 'flocker' => kuberl_v1_flocker_volume_source:kuberl_v1_flocker_volume_source(), 'gcePersistentDisk' => kuberl_v1_gce_persistent_disk_volume_source:kuberl_v1_gce_persistent_disk_volume_source(), 'gitRepo' => kuberl_v1_git_repo_volume_source:kuberl_v1_git_repo_volume_source(), 'glusterfs' => kuberl_v1_glusterfs_volume_source:kuberl_v1_glusterfs_volume_source(), 'hostPath' => kuberl_v1_host_path_volume_source:kuberl_v1_host_path_volume_source(), 'iscsi' => kuberl_v1_iscsi_volume_source:kuberl_v1_iscsi_volume_source(), 'name' := binary(), 'nfs' => kuberl_v1_nfs_volume_source:kuberl_v1_nfs_volume_source(), 'persistentVolumeClaim' => kuberl_v1_persistent_volume_claim_volume_source:kuberl_v1_persistent_volume_claim_volume_source(), 'photonPersistentDisk' => kuberl_v1_photon_persistent_disk_volume_source:kuberl_v1_photon_persistent_disk_volume_source(), 'portworxVolume' => kuberl_v1_portworx_volume_source:kuberl_v1_portworx_volume_source(), 'projected' => kuberl_v1_projected_volume_source:kuberl_v1_projected_volume_source(), 'quobyte' => kuberl_v1_quobyte_volume_source:kuberl_v1_quobyte_volume_source(), 'rbd' => kuberl_v1_rbd_volume_source:kuberl_v1_rbd_volume_source(), 'scaleIO' => kuberl_v1_scale_io_volume_source:kuberl_v1_scale_io_volume_source(), 'secret' => kuberl_v1_secret_volume_source:kuberl_v1_secret_volume_source(), 'storageos' => kuberl_v1_storage_os_volume_source:kuberl_v1_storage_os_volume_source(), 'vsphereVolume' => kuberl_v1_vsphere_virtual_disk_volume_source:kuberl_v1_vsphere_virtual_disk_volume_source() }. encode(#{ 'awsElasticBlockStore' := AwsElasticBlockStore, 'azureDisk' := AzureDisk, 'azureFile' := AzureFile, 'cephfs' := Cephfs, 'cinder' := Cinder, 'configMap' := ConfigMap, 'downwardAPI' := DownwardAPI, 'emptyDir' := EmptyDir, 'fc' := Fc, 'flexVolume' := FlexVolume, 'flocker' := Flocker, 'gcePersistentDisk' := GcePersistentDisk, 'gitRepo' := GitRepo, 'glusterfs' := Glusterfs, 'hostPath' := HostPath, 'iscsi' := Iscsi, 'name' := Name, 'nfs' := Nfs, 'persistentVolumeClaim' := PersistentVolumeClaim, 'photonPersistentDisk' := PhotonPersistentDisk, 'portworxVolume' := PortworxVolume, 'projected' := Projected, 'quobyte' := Quobyte, 'rbd' := Rbd, 'scaleIO' := ScaleIO, 'secret' := Secret, 'storageos' := Storageos, 'vsphereVolume' := VsphereVolume }) -> #{ 'awsElasticBlockStore' => AwsElasticBlockStore, 'azureDisk' => AzureDisk, 'azureFile' => AzureFile, 'cephfs' => Cephfs, 'cinder' => Cinder, 'configMap' => ConfigMap, 'downwardAPI' => DownwardAPI, 'emptyDir' => EmptyDir, 'fc' => Fc, 'flexVolume' => FlexVolume, 'flocker' => Flocker, 'gcePersistentDisk' => GcePersistentDisk, 'gitRepo' => GitRepo, 'glusterfs' => Glusterfs, 'hostPath' => HostPath, 'iscsi' => Iscsi, 'name' => Name, 'nfs' => Nfs, 'persistentVolumeClaim' => PersistentVolumeClaim, 'photonPersistentDisk' => PhotonPersistentDisk, 'portworxVolume' => PortworxVolume, 'projected' => Projected, 'quobyte' => Quobyte, 'rbd' => Rbd, 'scaleIO' => ScaleIO, 'secret' => Secret, 'storageos' => Storageos, 'vsphereVolume' => VsphereVolume }.