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

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

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

	// Properties: Properties of the linked server.
	Properties *RedisLinkedServerProperties_STATUS `json:"properties,omitempty"`

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

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

// Properties of a linked server to be returned in get/put response
type RedisLinkedServerProperties_STATUS struct {
	// GeoReplicatedPrimaryHostName: The unchanging DNS name which will always point to current geo-primary cache among the
	// linked redis caches for seamless Geo Failover experience.
	GeoReplicatedPrimaryHostName *string `json:"geoReplicatedPrimaryHostName,omitempty"`

	// LinkedRedisCacheId: Fully qualified resourceId of the linked redis cache.
	LinkedRedisCacheId *string `json:"linkedRedisCacheId,omitempty"`

	// LinkedRedisCacheLocation: Location of the linked redis cache.
	LinkedRedisCacheLocation *string `json:"linkedRedisCacheLocation,omitempty"`

	// PrimaryHostName: The changing DNS name that resolves to the current geo-primary cache among the linked redis caches
	// before or after the Geo Failover.
	PrimaryHostName *string `json:"primaryHostName,omitempty"`

	// ProvisioningState: Terminal state of the link between primary and secondary redis cache.
	ProvisioningState *string `json:"provisioningState,omitempty"`

	// ServerRole: Role of the linked server.
	ServerRole *ReplicationRole_STATUS `json:"serverRole,omitempty"`
}

// Role of the linked server.
type ReplicationRole_STATUS string

const (
	ReplicationRole_STATUS_Primary   = ReplicationRole_STATUS("Primary")
	ReplicationRole_STATUS_Secondary = ReplicationRole_STATUS("Secondary")
)

// Mapping from string to ReplicationRole_STATUS
var replicationRole_STATUS_Values = map[string]ReplicationRole_STATUS{
	"primary":   ReplicationRole_STATUS_Primary,
	"secondary": ReplicationRole_STATUS_Secondary,
}
