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

type RegistryReplication_STATUS struct {
	// Id: The resource ID.
	Id *string `json:"id,omitempty"`

	// Location: The location of the resource. This cannot be changed after the resource is created.
	Location *string `json:"location,omitempty"`

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

	// Properties: The properties of the replication.
	Properties *ReplicationProperties_STATUS `json:"properties,omitempty"`

	// SystemData: Metadata pertaining to creation and last modification of the resource.
	SystemData *SystemData_STATUS `json:"systemData,omitempty"`

	// Tags: The tags of the resource.
	Tags map[string]string `json:"tags,omitempty"`

	// Type: The type of the resource.
	Type *string `json:"type,omitempty"`
}

// The properties of a replication.
type ReplicationProperties_STATUS struct {
	// ProvisioningState: The provisioning state of the replication at the time the operation was called.
	ProvisioningState *ReplicationProperties_ProvisioningState_STATUS `json:"provisioningState,omitempty"`

	// RegionEndpointEnabled: Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to
	// a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications.
	RegionEndpointEnabled *bool `json:"regionEndpointEnabled,omitempty"`

	// Status: The status of the replication at the time the operation was called.
	Status *Status_STATUS `json:"status,omitempty"`

	// ZoneRedundancy: Whether or not zone redundancy is enabled for this container registry replication
	ZoneRedundancy *ReplicationProperties_ZoneRedundancy_STATUS `json:"zoneRedundancy,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 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 ReplicationProperties_ProvisioningState_STATUS string

const (
	ReplicationProperties_ProvisioningState_STATUS_Canceled  = ReplicationProperties_ProvisioningState_STATUS("Canceled")
	ReplicationProperties_ProvisioningState_STATUS_Creating  = ReplicationProperties_ProvisioningState_STATUS("Creating")
	ReplicationProperties_ProvisioningState_STATUS_Deleting  = ReplicationProperties_ProvisioningState_STATUS("Deleting")
	ReplicationProperties_ProvisioningState_STATUS_Failed    = ReplicationProperties_ProvisioningState_STATUS("Failed")
	ReplicationProperties_ProvisioningState_STATUS_Succeeded = ReplicationProperties_ProvisioningState_STATUS("Succeeded")
	ReplicationProperties_ProvisioningState_STATUS_Updating  = ReplicationProperties_ProvisioningState_STATUS("Updating")
)

// Mapping from string to ReplicationProperties_ProvisioningState_STATUS
var replicationProperties_ProvisioningState_STATUS_Values = map[string]ReplicationProperties_ProvisioningState_STATUS{
	"canceled":  ReplicationProperties_ProvisioningState_STATUS_Canceled,
	"creating":  ReplicationProperties_ProvisioningState_STATUS_Creating,
	"deleting":  ReplicationProperties_ProvisioningState_STATUS_Deleting,
	"failed":    ReplicationProperties_ProvisioningState_STATUS_Failed,
	"succeeded": ReplicationProperties_ProvisioningState_STATUS_Succeeded,
	"updating":  ReplicationProperties_ProvisioningState_STATUS_Updating,
}

type ReplicationProperties_ZoneRedundancy_STATUS string

const (
	ReplicationProperties_ZoneRedundancy_STATUS_Disabled = ReplicationProperties_ZoneRedundancy_STATUS("Disabled")
	ReplicationProperties_ZoneRedundancy_STATUS_Enabled  = ReplicationProperties_ZoneRedundancy_STATUS("Enabled")
)

// Mapping from string to ReplicationProperties_ZoneRedundancy_STATUS
var replicationProperties_ZoneRedundancy_STATUS_Values = map[string]ReplicationProperties_ZoneRedundancy_STATUS{
	"disabled": ReplicationProperties_ZoneRedundancy_STATUS_Disabled,
	"enabled":  ReplicationProperties_ZoneRedundancy_STATUS_Enabled,
}

// The status of an Azure resource at the time the operation was called.
type Status_STATUS struct {
	// DisplayStatus: The short label for the status.
	DisplayStatus *string `json:"displayStatus,omitempty"`

	// Message: The detailed message for the status, including alerts and error messages.
	Message *string `json:"message,omitempty"`

	// Timestamp: The timestamp when the status was changed to the current value.
	Timestamp *string `json:"timestamp,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,
}
