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

type Replica_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"`

	// 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 *ReplicaProperties_STATUS `json:"properties,omitempty"`

	// Sku: The billing information of the resource.
	Sku *ResourceSku_STATUS `json:"sku,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"`
}

type ReplicaProperties_STATUS struct {
	// ProvisioningState: Provisioning state of the resource.
	ProvisioningState *ProvisioningState_STATUS `json:"provisioningState,omitempty"`

	// RegionEndpointEnabled: Enable or disable the regional endpoint. Default to "Enabled".
	// When it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be
	// affected.
	RegionEndpointEnabled *string `json:"regionEndpointEnabled,omitempty"`

	// ResourceStopped: Stop or start the resource.  Default to "false".
	// When it's true, the data plane of the resource is shutdown.
	// When it's false, the data plane of the resource is started.
	ResourceStopped *string `json:"resourceStopped,omitempty"`
}

// The billing information of the resource.
type ResourceSku_STATUS struct {
	// Capacity: Optional, integer. The unit count of the resource.
	// 1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.
	// If present, following values are allowed:
	// Free_F1: 1;
	// Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;
	// Premium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;
	// Premium_P2:  100,200,300,400,500,600,700,800,900,1000;
	Capacity *int `json:"capacity,omitempty"`

	// Family: Not used. Retained for future use.
	Family *string `json:"family,omitempty"`

	// Name: The name of the SKU. Required.
	// Allowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2
	Name *string `json:"name,omitempty"`

	// Size: Not used. Retained for future use.
	Size *string `json:"size,omitempty"`

	// Tier: Optional tier of this particular SKU. 'Standard' or 'Free'.
	// `Basic` is deprecated, use `Standard` instead.
	Tier *SignalRSkuTier_STATUS `json:"tier,omitempty"`
}

// Optional tier of this particular SKU. 'Standard' or 'Free'.
// `Basic` is deprecated, use `Standard` instead.
type SignalRSkuTier_STATUS string

const (
	SignalRSkuTier_STATUS_Basic    = SignalRSkuTier_STATUS("Basic")
	SignalRSkuTier_STATUS_Free     = SignalRSkuTier_STATUS("Free")
	SignalRSkuTier_STATUS_Premium  = SignalRSkuTier_STATUS("Premium")
	SignalRSkuTier_STATUS_Standard = SignalRSkuTier_STATUS("Standard")
)

// Mapping from string to SignalRSkuTier_STATUS
var signalRSkuTier_STATUS_Values = map[string]SignalRSkuTier_STATUS{
	"basic":    SignalRSkuTier_STATUS_Basic,
	"free":     SignalRSkuTier_STATUS_Free,
	"premium":  SignalRSkuTier_STATUS_Premium,
	"standard": SignalRSkuTier_STATUS_Standard,
}
