# WebPubSubServiceProxy.createRoleAssignment

- Module: [Aspire.Hosting.Azure.Provisioning.WebPubSub](/reference/api/typescript/aspire.hosting.azure.provisioning.webpubsub.md)
- Defined on: [WebPubSubServiceProxy](/reference/api/typescript/aspire.hosting.azure.provisioning.webpubsub/webpubsubserviceproxy.md)
- Version: `13.6.0-preview.1.26478.8`
- Kind: `method`

Invokes CreateRoleAssignment on the WebPubSubService provisioning model.

## Definition

```typescript
interface WebPubSubServiceProxy {
  // ... omitted for brevity
  createRoleAssignment(
      role: WebPubSubBuiltInRoleProxy,
      principalType: BicepValueProxy | RoleManagementPrincipalType,
      principalId: BicepValueProxy | guid,
      bicepIdentifierSuffix: string): WebPubSubRoleAssignmentProxy;
}
```

## Signature

```typescript
createRoleAssignment(
    role: WebPubSubBuiltInRoleProxy,
    principalType: BicepValueProxy | RoleManagementPrincipalType,
    principalId: BicepValueProxy | guid,
    bicepIdentifierSuffix: string): WebPubSubRoleAssignmentProxy
```

## Parameters

- `role` ([WebPubSubBuiltInRoleProxy](/reference/api/typescript/aspire.hosting.azure.provisioning.webpubsub/webpubsubbuiltinroleproxy.md))
- `principalType` (`BicepValueProxy | RoleManagementPrincipalType`)
- `principalId` (`BicepValueProxy | guid`)
- `bicepIdentifierSuffix` (`string`)

## Returns

[WebPubSubRoleAssignmentProxy](/reference/api/typescript/aspire.hosting.azure.provisioning.webpubsub/webpubsubroleassignmentproxy.md)

## Defined on

- [WebPubSubServiceProxy](/reference/api/typescript/aspire.hosting.azure.provisioning.webpubsub/webpubsubserviceproxy.md) -- `handle`
