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

import "github.com/Azure/azure-service-operator/v2/pkg/genruntime"

type RedisAccessPolicyAssignment_Spec struct {
	Name string `json:"name,omitempty"`

	// Properties: Properties of an access policy assignment
	Properties *RedisCacheAccessPolicyAssignmentProperties `json:"properties,omitempty"`
}

var _ genruntime.ARMResourceSpec = &RedisAccessPolicyAssignment_Spec{}

// GetAPIVersion returns the ARM API version of the resource. This is always "2024-11-01"
func (assignment RedisAccessPolicyAssignment_Spec) GetAPIVersion() string {
	return "2024-11-01"
}

// GetName returns the Name of the resource
func (assignment *RedisAccessPolicyAssignment_Spec) GetName() string {
	return assignment.Name
}

// GetType returns the ARM Type of the resource. This is always "Microsoft.Cache/redis/accessPolicyAssignments"
func (assignment *RedisAccessPolicyAssignment_Spec) GetType() string {
	return "Microsoft.Cache/redis/accessPolicyAssignments"
}

// Properties for an access policy assignment
type RedisCacheAccessPolicyAssignmentProperties struct {
	// AccessPolicyName: The name of the access policy that is being assigned
	AccessPolicyName *string `json:"accessPolicyName,omitempty"`

	// ObjectId: Object Id to assign access policy to
	ObjectId *string `json:"objectId,omitempty" optionalConfigMapPair:"ObjectId"`

	// ObjectIdAlias: User friendly name for object id. Also represents username for token based authentication
	ObjectIdAlias *string `json:"objectIdAlias,omitempty" optionalConfigMapPair:"ObjectIdAlias"`
}
