# Class protos.google.cloud.networksecurity.v1.AuthorizationPolicy.Rule (3.1.0)

<button class="button button-with-icon cloud-select-dropdown__button " aria-haspopup="true">Version latest</button>

- [3.1.0 (latest)](https://docs.cloud.google.com/nodejs/docs/reference/network-security/latest/network-security/protos.google.cloud.networksecurity.v1.authorizationpolicy.rule-class)
- [1.1.2](https://docs.cloud.google.com/nodejs/docs/reference/network-security/1.1.2/network-security/protos.google.cloud.networksecurity.v1.authorizationpolicy.rule-class)
- [1.0.2](https://docs.cloud.google.com/nodejs/docs/reference/network-security/1.0.2/network-security/protos.google.cloud.networksecurity.v1.authorizationpolicy.rule-class)
- [0.5.0](https://docs.cloud.google.com/nodejs/docs/reference/network-security/0.5.0/network-security/protos.google.cloud.networksecurity.v1.authorizationpolicy.rule-class)
- [0.3.0](https://docs.cloud.google.com/nodejs/docs/reference/network-security/0.3.0/network-security/protos.google.cloud.networksecurity.v1.authorizationpolicy.rule-class)
- [0.2.0](https://docs.cloud.google.com/nodejs/docs/reference/network-security/0.2.0/network-security/protos.google.cloud.networksecurity.v1.authorizationpolicy.rule-class)
Represents a Rule.

## Package

[@google-cloud/network-security](https://docs.cloud.google.com/nodejs/docs/reference/network-security/latest/overview.html)

## Constructors

### (constructor)(properties)

    constructor(properties?: google.cloud.networksecurity.v1.AuthorizationPolicy.IRule);

Constructs a new Rule.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `properties` | `https://docs.cloud.google.com/nodejs/docs/reference/network-security/latest/network-security/protos.google.cloud.networksecurity.v1.authorizationpolicy.irule` Properties to set |

## Properties

### destinations

    public destinations: google.cloud.networksecurity.v1.AuthorizationPolicy.Rule.IDestination[];

Rule destinations.

### sources

    public sources: google.cloud.networksecurity.v1.AuthorizationPolicy.Rule.ISource[];

Rule sources.

## Methods

### create(properties)

    public static create(properties?: google.cloud.networksecurity.v1.AuthorizationPolicy.IRule): google.cloud.networksecurity.v1.AuthorizationPolicy.Rule;

Creates a new Rule instance using the specified properties.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `properties` | `https://docs.cloud.google.com/nodejs/docs/reference/network-security/latest/network-security/protos.google.cloud.networksecurity.v1.authorizationpolicy.irule` Properties to set |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/nodejs/docs/reference/network-security/latest/network-security/protos.google.cloud.networksecurity.v1.authorizationpolicy.rule-class` | Rule instance |

### decode(reader, length)

    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networksecurity.v1.AuthorizationPolicy.Rule;

Decodes a Rule message from the specified reader or buffer.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `reader` | `(Reader|Uint8Array)` Reader or buffer to decode from |
| `length` | `number` Message length if known beforehand |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/nodejs/docs/reference/network-security/latest/network-security/protos.google.cloud.networksecurity.v1.authorizationpolicy.rule-class` | Rule |

### decodeDelimited(reader)

    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networksecurity.v1.AuthorizationPolicy.Rule;

Decodes a Rule message from the specified reader or buffer, length delimited.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `reader` | `(Reader|Uint8Array)` Reader or buffer to decode from |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/nodejs/docs/reference/network-security/latest/network-security/protos.google.cloud.networksecurity.v1.authorizationpolicy.rule-class` | Rule |

### encode(message, writer)

    public static encode(message: google.cloud.networksecurity.v1.AuthorizationPolicy.IRule, writer?: $protobuf.Writer): $protobuf.Writer;

Encodes the specified Rule message. Does not implicitly messages.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `message` | `https://docs.cloud.google.com/nodejs/docs/reference/network-security/latest/network-security/protos.google.cloud.networksecurity.v1.authorizationpolicy.irule` Rule message or plain object to encode |
| `writer` | `$protobuf.Writer` Writer to encode to |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `$protobuf.Writer` | Writer |

### encodeDelimited(message, writer)

    public static encodeDelimited(message: google.cloud.networksecurity.v1.AuthorizationPolicy.IRule, writer?: $protobuf.Writer): $protobuf.Writer;

Encodes the specified Rule message, length delimited. Does not implicitly messages.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `message` | `https://docs.cloud.google.com/nodejs/docs/reference/network-security/latest/network-security/protos.google.cloud.networksecurity.v1.authorizationpolicy.irule` Rule message or plain object to encode |
| `writer` | `$protobuf.Writer` Writer to encode to |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `$protobuf.Writer` | Writer |

### fromObject(object)

    public static fromObject(object: { [k: string]: any }): google.cloud.networksecurity.v1.AuthorizationPolicy.Rule;

Creates a Rule message from a plain object. Also converts values to their respective internal types.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `object` | `{ [k: string]: any }` Plain object |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/nodejs/docs/reference/network-security/latest/network-security/protos.google.cloud.networksecurity.v1.authorizationpolicy.rule-class` | Rule |

### getTypeUrl(typeUrlPrefix)

    public static getTypeUrl(typeUrlPrefix?: string): string;

Gets the default type url for Rule

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `typeUrlPrefix` | `string` your custom typeUrlPrefix(default "type.googleapis.com") |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `string` | The default type url |

### toJSON()

    public toJSON(): { [k: string]: any };

Converts this Rule to JSON.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `{ [k: string]: any }` | JSON object |

### toObject(message, options)

    public static toObject(message: google.cloud.networksecurity.v1.AuthorizationPolicy.Rule, options?: $protobuf.IConversionOptions): { [k: string]: any };

Creates a plain object from a Rule message. Also converts values to other types if specified.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `message` | `https://docs.cloud.google.com/nodejs/docs/reference/network-security/latest/network-security/protos.google.cloud.networksecurity.v1.authorizationpolicy.rule-class` Rule |
| `options` | `$protobuf.IConversionOptions` Conversion options |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `{ [k: string]: any }` | Plain object |

### verify(message)

    public static verify(message: { [k: string]: any }): (string|null);

Verifies a Rule message.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `message` | `{ [k: string]: any }` Plain object to verify |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `(string|null)` | `null` if valid, otherwise the reason why it is not |