machine_catalog

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 24, 2024 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var MappedCustomProperties = map[string]string{
	"Zones":                            "availability_zones",
	"StorageType":                      "storage_type",
	"ResourceGroups":                   "vda_resource_group",
	"UseManagedDisks":                  "use_managed_disks",
	"WBCDiskStorageType":               "wbc_disk_storage_type",
	"PersistWBC":                       "persist_wbc",
	"PersistOsDisk":                    "persist_os_disk",
	"PersistVm":                        "persist_vm",
	"CatalogZones":                     "availability_zones",
	"StorageTypeAtShutdown":            "storage_cost_saving",
	"LicenseType":                      "license_type",
	"UseSharedImageGallery":            "use_azure_compute_gallery",
	"SharedImageGalleryReplicaRatio":   "replica_ratio",
	"SharedImageGalleryReplicaMaximum": "replica_maximum",
	"UseEphemeralOsDisk":               "storage_type",
}

Functions

func NewMachineCatalogResource

func NewMachineCatalogResource() resource.Resource

NewMachineCatalogResource is a helper function to simplify the provider implementation.

Types

type AwsMachineConfigModel

type AwsMachineConfigModel struct {
	ServiceOffering types.String `tfsdk:"service_offering"`
	MasterImage     types.String `tfsdk:"master_image"`
	/** AWS Hypervisor **/
	ImageAmi       types.String   `tfsdk:"image_ami"`
	SecurityGroups []types.String `tfsdk:"security_groups"`
	TenancyType    types.String   `tfsdk:"tenancy_type"`
}

func (*AwsMachineConfigModel) RefreshProperties

type AzureComputeGallerySettings added in v0.5.5

type AzureComputeGallerySettings struct {
	ReplicaRatio   types.Int64 `tfsdk:"replica_ratio"`
	ReplicaMaximum types.Int64 `tfsdk:"replica_maximum"`
}

type AzureDiskEncryptionSetModel added in v0.5.5

type AzureDiskEncryptionSetModel struct {
	DiskEncryptionSetName          types.String `tfsdk:"disk_encryption_set_name"`
	DiskEncryptionSetResourceGroup types.String `tfsdk:"disk_encryption_set_resource_group"`
}

type AzureMachineConfigModel

type AzureMachineConfigModel struct {
	ServiceOffering types.String `tfsdk:"service_offering"`
	/** Azure Hypervisor **/
	AzureMasterImage       *AzureMasterImageModel       `tfsdk:"azure_master_image"`
	VdaResourceGroup       types.String                 `tfsdk:"vda_resource_group"`
	StorageType            types.String                 `tfsdk:"storage_type"`
	UseAzureComputeGallery *AzureComputeGallerySettings `tfsdk:"use_azure_compute_gallery"`
	LicenseType            types.String                 `tfsdk:"license_type"`
	UseManagedDisks        types.Bool                   `tfsdk:"use_managed_disks"`
	MachineProfile         *AzureMachineProfileModel    `tfsdk:"machine_profile"`
	WritebackCache         *AzureWritebackCacheModel    `tfsdk:"writeback_cache"`
	DiskEncryptionSet      *AzureDiskEncryptionSetModel `tfsdk:"disk_encryption_set"`
	EnrollInIntune         types.Bool                   `tfsdk:"enroll_in_intune"`
}

func (*AzureMachineConfigModel) RefreshProperties

type AzureMachineProfileModel added in v0.5.5

type AzureMachineProfileModel struct {
	MachineProfileVmName              types.String `tfsdk:"machine_profile_vm_name"`
	MachineProfileTemplateSpecName    types.String `tfsdk:"machine_profile_template_spec_name"`
	MachineProfileTemplateSpecVersion types.String `tfsdk:"machine_profile_template_spec_version"`
	MachineProfileResourceGroup       types.String `tfsdk:"machine_profile_resource_group"`
}

type AzureMasterImageModel added in v0.5.5

type AzureMasterImageModel struct {
	ResourceGroup      types.String       `tfsdk:"resource_group"`
	SharedSubscription types.String       `tfsdk:"shared_subscription"`
	MasterImage        types.String       `tfsdk:"master_image"`
	StorageAccount     types.String       `tfsdk:"storage_account"`
	Container          types.String       `tfsdk:"container"`
	GalleryImage       *GalleryImageModel `tfsdk:"gallery_image"`
}

type AzureWritebackCacheModel added in v0.5.3

type AzureWritebackCacheModel struct {
	PersistWBC                 types.Bool   `tfsdk:"persist_wbc"`
	WBCDiskStorageType         types.String `tfsdk:"wbc_disk_storage_type"`
	PersistOsDisk              types.Bool   `tfsdk:"persist_os_disk"`
	PersistVm                  types.Bool   `tfsdk:"persist_vm"`
	StorageCostSaving          types.Bool   `tfsdk:"storage_cost_saving"`
	WriteBackCacheDiskSizeGB   types.Int64  `tfsdk:"writeback_cache_disk_size_gb"`
	WriteBackCacheMemorySizeMB types.Int64  `tfsdk:"writeback_cache_memory_size_mb"`
}

WritebackCacheModel maps the write back cacheconfiguration schema data.

type CustomPropertyModel added in v0.5.5

type CustomPropertyModel struct {
	Name  types.String `tfsdk:"name"`
	Value types.String `tfsdk:"value"`
}

type GalleryImageModel

type GalleryImageModel struct {
	Gallery    types.String `tfsdk:"gallery"`
	Definition types.String `tfsdk:"definition"`
	Version    types.String `tfsdk:"version"`
}

type GcpMachineConfigModel

type GcpMachineConfigModel struct {
	MasterImage types.String `tfsdk:"master_image"`
	/** GCP Hypervisor **/
	MachineProfile  types.String            `tfsdk:"machine_profile"`
	MachineSnapshot types.String            `tfsdk:"machine_snapshot"`
	StorageType     types.String            `tfsdk:"storage_type"`
	WritebackCache  *GcpWritebackCacheModel `tfsdk:"writeback_cache"`
}

func (*GcpMachineConfigModel) RefreshProperties

type GcpWritebackCacheModel added in v0.5.3

type GcpWritebackCacheModel struct {
	PersistWBC                 types.Bool   `tfsdk:"persist_wbc"`
	WBCDiskStorageType         types.String `tfsdk:"wbc_disk_storage_type"`
	PersistOsDisk              types.Bool   `tfsdk:"persist_os_disk"`
	WriteBackCacheDiskSizeGB   types.Int64  `tfsdk:"writeback_cache_disk_size_gb"`
	WriteBackCacheMemorySizeMB types.Int64  `tfsdk:"writeback_cache_memory_size_mb"`
}

type MachineAccountCreationRulesModel

type MachineAccountCreationRulesModel struct {
	NamingScheme     types.String `tfsdk:"naming_scheme"`
	NamingSchemeType types.String `tfsdk:"naming_scheme_type"`
}

MachineAccountCreationRulesModel maps the nested machine account creation rules resource schema data.

type MachineAccountsModel

type MachineAccountsModel struct {
	Hypervisor types.String                 `tfsdk:"hypervisor"`
	Machines   []MachineCatalogMachineModel `tfsdk:"machines"`
}

type MachineCatalogMachineModel

type MachineCatalogMachineModel struct {
	MachineAccount    types.String `tfsdk:"machine_account"`
	MachineName       types.String `tfsdk:"machine_name"`
	Region            types.String `tfsdk:"region"`
	ResourceGroupName types.String `tfsdk:"resource_group_name"`
	ProjectName       types.String `tfsdk:"project_name"`
	AvailabilityZone  types.String `tfsdk:"availability_zone"`
	Datacenter        types.String `tfsdk:"datacenter"`
	Cluster           types.String `tfsdk:"cluster"`
	Host              types.String `tfsdk:"host"`
}

type MachineCatalogResourceModel

type MachineCatalogResourceModel struct {
	Id                     types.String             `tfsdk:"id"`
	Name                   types.String             `tfsdk:"name"`
	Description            types.String             `tfsdk:"description"`
	IsPowerManaged         types.Bool               `tfsdk:"is_power_managed"`
	IsRemotePc             types.Bool               `tfsdk:"is_remote_pc"`
	AllocationType         types.String             `tfsdk:"allocation_type"`
	SessionSupport         types.String             `tfsdk:"session_support"`
	Zone                   types.String             `tfsdk:"zone"`
	VdaUpgradeType         types.String             `tfsdk:"vda_upgrade_type"`
	ProvisioningType       types.String             `tfsdk:"provisioning_type"`
	ProvisioningScheme     *ProvisioningSchemeModel `tfsdk:"provisioning_scheme"`
	MachineAccounts        []MachineAccountsModel   `tfsdk:"machine_accounts"`
	RemotePcOus            []RemotePcOuModel        `tfsdk:"remote_pc_ous"`
	MinimumFunctionalLevel types.String             `tfsdk:"minimum_functional_level"`
}

MachineCatalogResourceModel maps the resource schema data.

type MachineDomainIdentityModel

type MachineDomainIdentityModel struct {
	Domain                 types.String `tfsdk:"domain"`
	Ou                     types.String `tfsdk:"domain_ou"`
	ServiceAccount         types.String `tfsdk:"service_account"`
	ServiceAccountPassword types.String `tfsdk:"service_account_password"`
}

type NetworkMappingModel

type NetworkMappingModel struct {
	NetworkDevice types.String `tfsdk:"network_device"`
	Network       types.String `tfsdk:"network"`
}

NetworkMappingModel maps the nested network mapping resource schema data.

func (NetworkMappingModel) RefreshListItem added in v0.6.0

type NutanixMachineConfigModel added in v0.5.4

type NutanixMachineConfigModel struct {
	Container        types.String `tfsdk:"container"`
	MasterImage      types.String `tfsdk:"master_image"`
	CpuCount         types.Int64  `tfsdk:"cpu_count"`
	CoresPerCpuCount types.Int64  `tfsdk:"cores_per_cpu_count"`
	MemoryMB         types.Int64  `tfsdk:"memory_mb"`
}

func (*NutanixMachineConfigModel) RefreshProperties added in v0.5.4

type ProvisioningSchemeModel

type ProvisioningSchemeModel struct {
	Hypervisor                  types.String                      `tfsdk:"hypervisor"`
	HypervisorResourcePool      types.String                      `tfsdk:"hypervisor_resource_pool"`
	AzureMachineConfig          *AzureMachineConfigModel          `tfsdk:"azure_machine_config"`
	AwsMachineConfig            *AwsMachineConfigModel            `tfsdk:"aws_machine_config"`
	GcpMachineConfig            *GcpMachineConfigModel            `tfsdk:"gcp_machine_config"`
	VsphereMachineConfig        *VsphereMachineConfigModel        `tfsdk:"vsphere_machine_config"`
	XenserverMachineConfig      *XenserverMachineConfigModel      `tfsdk:"xenserver_machine_config"`
	NutanixMachineConfigModel   *NutanixMachineConfigModel        `tfsdk:"nutanix_machine_config"`
	NumTotalMachines            types.Int64                       `tfsdk:"number_of_total_machines"`
	NetworkMapping              []NetworkMappingModel             `tfsdk:"network_mapping"`
	AvailabilityZones           types.String                      `tfsdk:"availability_zones"`
	IdentityType                types.String                      `tfsdk:"identity_type"`
	MachineDomainIdentity       *MachineDomainIdentityModel       `tfsdk:"machine_domain_identity"`
	MachineAccountCreationRules *MachineAccountCreationRulesModel `tfsdk:"machine_account_creation_rules"`
	CustomProperties            []CustomPropertyModel             `tfsdk:"custom_properties"`
}

ProvisioningSchemeModel maps the nested provisioning scheme resource schema data.

type RemotePcOuModel

type RemotePcOuModel struct {
	IncludeSubFolders types.Bool   `tfsdk:"include_subfolders"`
	OUName            types.String `tfsdk:"ou_name"`
}

type VsphereMachineConfigModel added in v0.5.3

type VsphereMachineConfigModel struct {
	/** Vsphere Hypervisor **/
	MasterImageVm  types.String                `tfsdk:"master_image_vm"`
	ImageSnapshot  types.String                `tfsdk:"image_snapshot"`
	CpuCount       types.Int64                 `tfsdk:"cpu_count"`
	MemoryMB       types.Int64                 `tfsdk:"memory_mb"`
	WritebackCache *VsphereWritebackCacheModel `tfsdk:"writeback_cache"`
}

func (*VsphereMachineConfigModel) RefreshProperties added in v0.5.3

type VsphereWritebackCacheModel added in v0.5.3

type VsphereWritebackCacheModel struct {
	WriteBackCacheDiskSizeGB   types.Int64  `tfsdk:"writeback_cache_disk_size_gb"`
	WriteBackCacheMemorySizeMB types.Int64  `tfsdk:"writeback_cache_memory_size_mb"`
	WriteBackCacheDriveLetter  types.String `tfsdk:"writeback_cache_drive_letter"`
}

type XenserverMachineConfigModel added in v0.5.3

type XenserverMachineConfigModel struct {
	/** XenServer Hypervisor **/
	MasterImageVm  types.String                  `tfsdk:"master_image_vm"`
	ImageSnapshot  types.String                  `tfsdk:"image_snapshot"`
	CpuCount       types.Int64                   `tfsdk:"cpu_count"`
	MemoryMB       types.Int64                   `tfsdk:"memory_mb"`
	WritebackCache *XenserverWritebackCacheModel `tfsdk:"writeback_cache"`
}

func (*XenserverMachineConfigModel) RefreshProperties added in v0.5.3

type XenserverWritebackCacheModel added in v0.5.3

type XenserverWritebackCacheModel struct {
	WriteBackCacheDiskSizeGB   types.Int64 `tfsdk:"writeback_cache_disk_size_gb"`
	WriteBackCacheMemorySizeMB types.Int64 `tfsdk:"writeback_cache_memory_size_mb"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL