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

type RedisAccessPolicy_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 an access policy.
	Properties *RedisCacheAccessPolicyProperties_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"`
}

// All properties of an access policy.
type RedisCacheAccessPolicyProperties_STATUS struct {
	// Permissions: Permissions for the access policy. Learn how to configure permissions at
	// https://aka.ms/redis/AADPreRequisites
	Permissions *string `json:"permissions,omitempty"`

	// ProvisioningState: Provisioning state of access policy
	ProvisioningState *AccessPolicyProvisioningState_STATUS `json:"provisioningState,omitempty"`

	// Type: Built-In or Custom access policy
	Type *AccessPolicyType_STATUS `json:"type,omitempty"`
}

// Provisioning state of access policy
type AccessPolicyProvisioningState_STATUS string

const (
	AccessPolicyProvisioningState_STATUS_Canceled  = AccessPolicyProvisioningState_STATUS("Canceled")
	AccessPolicyProvisioningState_STATUS_Deleted   = AccessPolicyProvisioningState_STATUS("Deleted")
	AccessPolicyProvisioningState_STATUS_Deleting  = AccessPolicyProvisioningState_STATUS("Deleting")
	AccessPolicyProvisioningState_STATUS_Failed    = AccessPolicyProvisioningState_STATUS("Failed")
	AccessPolicyProvisioningState_STATUS_Succeeded = AccessPolicyProvisioningState_STATUS("Succeeded")
	AccessPolicyProvisioningState_STATUS_Updating  = AccessPolicyProvisioningState_STATUS("Updating")
)

// Mapping from string to AccessPolicyProvisioningState_STATUS
var accessPolicyProvisioningState_STATUS_Values = map[string]AccessPolicyProvisioningState_STATUS{
	"canceled":  AccessPolicyProvisioningState_STATUS_Canceled,
	"deleted":   AccessPolicyProvisioningState_STATUS_Deleted,
	"deleting":  AccessPolicyProvisioningState_STATUS_Deleting,
	"failed":    AccessPolicyProvisioningState_STATUS_Failed,
	"succeeded": AccessPolicyProvisioningState_STATUS_Succeeded,
	"updating":  AccessPolicyProvisioningState_STATUS_Updating,
}

// Built-In or Custom access policy
type AccessPolicyType_STATUS string

const (
	AccessPolicyType_STATUS_BuiltIn = AccessPolicyType_STATUS("BuiltIn")
	AccessPolicyType_STATUS_Custom  = AccessPolicyType_STATUS("Custom")
)

// Mapping from string to AccessPolicyType_STATUS
var accessPolicyType_STATUS_Values = map[string]AccessPolicyType_STATUS{
	"builtin": AccessPolicyType_STATUS_BuiltIn,
	"custom":  AccessPolicyType_STATUS_Custom,
}
