// Code generated by azure-service-operator-codegen. DO NOT EDIT.
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
package arm

// Bastion Host resource.
type BastionHost_STATUS struct {
	// Etag: A unique read-only string that changes whenever the resource is updated.
	Etag *string `json:"etag,omitempty"`

	// Id: Resource ID.
	Id *string `json:"id,omitempty"`

	// Location: Resource location.
	Location *string `json:"location,omitempty"`

	// Name: Resource name.
	Name *string `json:"name,omitempty"`

	// Properties: Represents the bastion host resource.
	Properties *BastionHostPropertiesFormat_STATUS `json:"properties,omitempty"`

	// Sku: The sku of this Bastion Host.
	Sku *Sku_STATUS `json:"sku,omitempty"`

	// Tags: Resource tags.
	Tags map[string]string `json:"tags,omitempty"`

	// Type: Resource type.
	Type *string `json:"type,omitempty"`
}

// Properties of the Bastion Host.
type BastionHostPropertiesFormat_STATUS struct {
	// DisableCopyPaste: Enable/Disable Copy/Paste feature of the Bastion Host resource.
	DisableCopyPaste *bool `json:"disableCopyPaste,omitempty"`

	// DnsName: FQDN for the endpoint on which bastion host is accessible.
	DnsName *string `json:"dnsName,omitempty"`

	// EnableFileCopy: Enable/Disable File Copy feature of the Bastion Host resource.
	EnableFileCopy *bool `json:"enableFileCopy,omitempty"`

	// EnableIpConnect: Enable/Disable IP Connect feature of the Bastion Host resource.
	EnableIpConnect *bool `json:"enableIpConnect,omitempty"`

	// EnableShareableLink: Enable/Disable Shareable Link of the Bastion Host resource.
	EnableShareableLink *bool `json:"enableShareableLink,omitempty"`

	// EnableTunneling: Enable/Disable Tunneling feature of the Bastion Host resource.
	EnableTunneling *bool `json:"enableTunneling,omitempty"`

	// IpConfigurations: IP configuration of the Bastion Host resource.
	IpConfigurations []BastionHostIPConfiguration_STATUS `json:"ipConfigurations,omitempty"`

	// ProvisioningState: The provisioning state of the bastion host resource.
	ProvisioningState *BastionHostProvisioningState_STATUS `json:"provisioningState,omitempty"`

	// ScaleUnits: The scale units for the Bastion Host resource.
	ScaleUnits *int `json:"scaleUnits,omitempty"`
}

// The sku of this Bastion Host.
type Sku_STATUS struct {
	// Name: The name of this Bastion Host.
	Name *Sku_Name_STATUS `json:"name,omitempty"`
}

// IP configuration of an Bastion Host.
type BastionHostIPConfiguration_STATUS struct {
	// Id: Resource ID.
	Id *string `json:"id,omitempty"`
}

// The current provisioning state.
type BastionHostProvisioningState_STATUS string

const (
	BastionHostProvisioningState_STATUS_Deleting  = BastionHostProvisioningState_STATUS("Deleting")
	BastionHostProvisioningState_STATUS_Failed    = BastionHostProvisioningState_STATUS("Failed")
	BastionHostProvisioningState_STATUS_Succeeded = BastionHostProvisioningState_STATUS("Succeeded")
	BastionHostProvisioningState_STATUS_Updating  = BastionHostProvisioningState_STATUS("Updating")
)

// Mapping from string to BastionHostProvisioningState_STATUS
var bastionHostProvisioningState_STATUS_Values = map[string]BastionHostProvisioningState_STATUS{
	"deleting":  BastionHostProvisioningState_STATUS_Deleting,
	"failed":    BastionHostProvisioningState_STATUS_Failed,
	"succeeded": BastionHostProvisioningState_STATUS_Succeeded,
	"updating":  BastionHostProvisioningState_STATUS_Updating,
}

type Sku_Name_STATUS string

const (
	Sku_Name_STATUS_Basic    = Sku_Name_STATUS("Basic")
	Sku_Name_STATUS_Standard = Sku_Name_STATUS("Standard")
)

// Mapping from string to Sku_Name_STATUS
var sku_Name_STATUS_Values = map[string]Sku_Name_STATUS{
	"basic":    Sku_Name_STATUS_Basic,
	"standard": Sku_Name_STATUS_Standard,
}
