// 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 SqlRoleAssignment_Spec struct {
	Name string `json:"name,omitempty"`

	// Properties: Properties to create and update an Azure Cosmos DB SQL Role Assignment.
	Properties *SqlRoleAssignmentResource `json:"properties,omitempty"`
}

var _ genruntime.ARMResourceSpec = &SqlRoleAssignment_Spec{}

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

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

// GetType returns the ARM Type of the resource. This is always "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments"
func (assignment *SqlRoleAssignment_Spec) GetType() string {
	return "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments"
}

// Azure Cosmos DB SQL Role Assignment resource object.
type SqlRoleAssignmentResource struct {
	// PrincipalId: The unique identifier for the associated AAD principal in the AAD graph to which access is being granted
	// through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription.
	PrincipalId *string `json:"principalId,omitempty" optionalConfigMapPair:"PrincipalId"`

	// RoleDefinitionId: The unique identifier for the associated Role Definition.
	RoleDefinitionId *string `json:"roleDefinitionId,omitempty"`

	// Scope: The data plane resource path for which access is being granted through this Role Assignment.
	Scope *string `json:"scope,omitempty"`
}
