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

type MongodbRoleDefinition_STATUS struct {
	// Id: The unique resource identifier of the database account.
	Id *string `json:"id,omitempty"`

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

	// Properties: Properties related to the Mongo Role Definition.
	Properties *MongoRoleDefinitionResource_STATUS `json:"properties,omitempty"`

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

// Azure Cosmos DB Mongo Role Definition resource object.
type MongoRoleDefinitionResource_STATUS struct {
	// DatabaseName: The database name for which access is being granted for this Role Definition.
	DatabaseName *string `json:"databaseName,omitempty"`

	// Privileges: A set of privileges contained by the Role Definition. This will allow application of this Role Definition on
	// the entire database account or any underlying Database / Collection. Scopes higher than Database are not enforceable as
	// privilege.
	Privileges []Privilege_STATUS `json:"privileges,omitempty"`

	// RoleName: A user-friendly name for the Role Definition. Must be unique for the database account.
	RoleName *string `json:"roleName,omitempty"`

	// Roles: The set of roles inherited by this Role Definition.
	Roles []Role_STATUS `json:"roles,omitempty"`
}

// The set of data plane operations permitted through this Role Definition.
type Privilege_STATUS struct {
	// Actions: An array of actions that are allowed.
	Actions []string `json:"actions,omitempty"`

	// Resource: An Azure Cosmos DB Mongo DB Resource.
	Resource *Privilege_Resource_STATUS `json:"resource,omitempty"`
}

// The set of roles permitted through this Role Definition.
type Role_STATUS struct {
	// Db: The database name the role is applied.
	Db *string `json:"db,omitempty"`

	// Role: The role name.
	Role *string `json:"role,omitempty"`
}

type Privilege_Resource_STATUS struct {
	// Collection: The collection name the role is applied.
	Collection *string `json:"collection,omitempty"`

	// Db: The database name the role is applied.
	Db *string `json:"db,omitempty"`
}
