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

type Account_STATUS struct {
	// Etag: Resource entity tag (ETag)
	Etag *string `json:"etag,omitempty"`

	// Id: Fully qualified resource ID for the resource. Ex -
	// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
	Id *string `json:"id,omitempty"`

	// Location: The geo-location where the resource lives
	Location *string `json:"location,omitempty"`

	// Name: The name of the resource
	Name *string `json:"name,omitempty"`

	// Properties: Resource properties
	Properties *AzureMonitorWorkspace_STATUS `json:"properties,omitempty"`

	// SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.
	SystemData *SystemData_STATUS `json:"systemData,omitempty"`

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

	// Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
	Type *string `json:"type,omitempty"`
}

// Properties of an Azure Monitor Workspace
type AzureMonitorWorkspace_STATUS struct {
	// AccountId: The immutable Id of the Azure Monitor Workspace. This property is read-only.
	AccountId *string `json:"accountId,omitempty"`

	// DefaultIngestionSettings: The Data Collection Rule and Endpoint used for ingestion by default.
	DefaultIngestionSettings *IngestionSettings_STATUS `json:"defaultIngestionSettings,omitempty"`

	// Metrics: Properties related to the metrics container in the Azure Monitor Workspace
	Metrics *Metrics_STATUS `json:"metrics,omitempty"`

	// PrivateEndpointConnections: List of private endpoint connections
	PrivateEndpointConnections []PrivateEndpointConnection_STATUS `json:"privateEndpointConnections,omitempty"`

	// ProvisioningState: The provisioning state of the Azure Monitor Workspace. Set to Succeeded if everything is healthy.
	ProvisioningState *AzureMonitorWorkspace_ProvisioningState_STATUS `json:"provisioningState,omitempty"`

	// PublicNetworkAccess: Gets or sets allow or disallow public network access to Azure Monitor Workspace
	PublicNetworkAccess *AzureMonitorWorkspace_PublicNetworkAccess_STATUS `json:"publicNetworkAccess,omitempty"`
}

// Metadata pertaining to creation and last modification of the resource.
type SystemData_STATUS struct {
	// CreatedAt: The timestamp of resource creation (UTC).
	CreatedAt *string `json:"createdAt,omitempty"`

	// CreatedBy: The identity that created the resource.
	CreatedBy *string `json:"createdBy,omitempty"`

	// CreatedByType: The type of identity that created the resource.
	CreatedByType *SystemData_CreatedByType_STATUS `json:"createdByType,omitempty"`

	// LastModifiedAt: The timestamp of resource last modification (UTC)
	LastModifiedAt *string `json:"lastModifiedAt,omitempty"`

	// LastModifiedBy: The identity that last modified the resource.
	LastModifiedBy *string `json:"lastModifiedBy,omitempty"`

	// LastModifiedByType: The type of identity that last modified the resource.
	LastModifiedByType *SystemData_LastModifiedByType_STATUS `json:"lastModifiedByType,omitempty"`
}

type AzureMonitorWorkspace_ProvisioningState_STATUS string

const (
	AzureMonitorWorkspace_ProvisioningState_STATUS_Canceled  = AzureMonitorWorkspace_ProvisioningState_STATUS("Canceled")
	AzureMonitorWorkspace_ProvisioningState_STATUS_Creating  = AzureMonitorWorkspace_ProvisioningState_STATUS("Creating")
	AzureMonitorWorkspace_ProvisioningState_STATUS_Deleting  = AzureMonitorWorkspace_ProvisioningState_STATUS("Deleting")
	AzureMonitorWorkspace_ProvisioningState_STATUS_Failed    = AzureMonitorWorkspace_ProvisioningState_STATUS("Failed")
	AzureMonitorWorkspace_ProvisioningState_STATUS_Succeeded = AzureMonitorWorkspace_ProvisioningState_STATUS("Succeeded")
)

// Mapping from string to AzureMonitorWorkspace_ProvisioningState_STATUS
var azureMonitorWorkspace_ProvisioningState_STATUS_Values = map[string]AzureMonitorWorkspace_ProvisioningState_STATUS{
	"canceled":  AzureMonitorWorkspace_ProvisioningState_STATUS_Canceled,
	"creating":  AzureMonitorWorkspace_ProvisioningState_STATUS_Creating,
	"deleting":  AzureMonitorWorkspace_ProvisioningState_STATUS_Deleting,
	"failed":    AzureMonitorWorkspace_ProvisioningState_STATUS_Failed,
	"succeeded": AzureMonitorWorkspace_ProvisioningState_STATUS_Succeeded,
}

type AzureMonitorWorkspace_PublicNetworkAccess_STATUS string

const (
	AzureMonitorWorkspace_PublicNetworkAccess_STATUS_Disabled = AzureMonitorWorkspace_PublicNetworkAccess_STATUS("Disabled")
	AzureMonitorWorkspace_PublicNetworkAccess_STATUS_Enabled  = AzureMonitorWorkspace_PublicNetworkAccess_STATUS("Enabled")
)

// Mapping from string to AzureMonitorWorkspace_PublicNetworkAccess_STATUS
var azureMonitorWorkspace_PublicNetworkAccess_STATUS_Values = map[string]AzureMonitorWorkspace_PublicNetworkAccess_STATUS{
	"disabled": AzureMonitorWorkspace_PublicNetworkAccess_STATUS_Disabled,
	"enabled":  AzureMonitorWorkspace_PublicNetworkAccess_STATUS_Enabled,
}

// Settings for data ingestion
type IngestionSettings_STATUS struct {
	// DataCollectionEndpointResourceId: The Azure resource Id of the default data collection endpoint for this Azure Monitor
	// Workspace.
	DataCollectionEndpointResourceId *string `json:"dataCollectionEndpointResourceId,omitempty"`

	// DataCollectionRuleResourceId: The Azure resource Id of the default data collection rule for this Azure Monitor Workspace.
	DataCollectionRuleResourceId *string `json:"dataCollectionRuleResourceId,omitempty"`
}

// Properties related to the metrics container in the Azure Monitor Workspace
type Metrics_STATUS struct {
	// InternalId: An internal identifier for the metrics container. Only to be used by the system
	InternalId *string `json:"internalId,omitempty"`

	// PrometheusQueryEndpoint: The Prometheus query endpoint for the Azure Monitor Workspace
	PrometheusQueryEndpoint *string `json:"prometheusQueryEndpoint,omitempty"`
}

// The private endpoint connection resource.
type PrivateEndpointConnection_STATUS struct {
	// Id: Fully qualified resource ID for the resource. E.g.
	// "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
	Id *string `json:"id,omitempty"`
}

type SystemData_CreatedByType_STATUS string

const (
	SystemData_CreatedByType_STATUS_Application     = SystemData_CreatedByType_STATUS("Application")
	SystemData_CreatedByType_STATUS_Key             = SystemData_CreatedByType_STATUS("Key")
	SystemData_CreatedByType_STATUS_ManagedIdentity = SystemData_CreatedByType_STATUS("ManagedIdentity")
	SystemData_CreatedByType_STATUS_User            = SystemData_CreatedByType_STATUS("User")
)

// Mapping from string to SystemData_CreatedByType_STATUS
var systemData_CreatedByType_STATUS_Values = map[string]SystemData_CreatedByType_STATUS{
	"application":     SystemData_CreatedByType_STATUS_Application,
	"key":             SystemData_CreatedByType_STATUS_Key,
	"managedidentity": SystemData_CreatedByType_STATUS_ManagedIdentity,
	"user":            SystemData_CreatedByType_STATUS_User,
}

type SystemData_LastModifiedByType_STATUS string

const (
	SystemData_LastModifiedByType_STATUS_Application     = SystemData_LastModifiedByType_STATUS("Application")
	SystemData_LastModifiedByType_STATUS_Key             = SystemData_LastModifiedByType_STATUS("Key")
	SystemData_LastModifiedByType_STATUS_ManagedIdentity = SystemData_LastModifiedByType_STATUS("ManagedIdentity")
	SystemData_LastModifiedByType_STATUS_User            = SystemData_LastModifiedByType_STATUS("User")
)

// Mapping from string to SystemData_LastModifiedByType_STATUS
var systemData_LastModifiedByType_STATUS_Values = map[string]SystemData_LastModifiedByType_STATUS{
	"application":     SystemData_LastModifiedByType_STATUS_Application,
	"key":             SystemData_LastModifiedByType_STATUS_Key,
	"managedidentity": SystemData_LastModifiedByType_STATUS_ManagedIdentity,
	"user":            SystemData_LastModifiedByType_STATUS_User,
}
