# Interface AuthorizationPolicy.Rule.SourceOrBuilder (0.96.0)

0.96.0 (latest) 0.94.0 0.91.0 0.90.0 0.88.0 0.86.0 0.85.0 0.83.0 0.81.0 0.79.0 0.78.0 0.77.0 0.76.0 0.75.0 0.73.0 0.71.0 0.70.0 0.67.0 0.66.0 0.65.0 0.63.0 0.62.0 0.61.0 0.60.0 0.59.0 0.58.0 0.57.0 0.56.0 0.55.0 0.54.0 0.52.0 0.51.0 0.50.0 0.49.0 0.48.0 0.47.0 0.46.0 0.45.0 0.44.0 0.43.0 0.42.0 0.40.0 0.39.0 0.38.0 0.37.0 0.36.0 0.35.0 0.34.0 0.33.0 0.32.0 0.31.0 0.30.0 0.27.0 0.26.0 0.25.0 0.24.0 0.23.0 0.22.0 0.21.0 0.20.0 0.19.0 0.18.0 0.17.0 0.16.0 0.15.0 0.14.0 0.12.0 0.11.0 0.10.0 0.9.0 0.8.0 0.7.0 0.6.4 0.5.1 0.4.4

    public static interface AuthorizationPolicy.Rule.SourceOrBuilder extends MessageOrBuilder

## Implements

[MessageOrBuilder](https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.MessageOrBuilder.html)

## Methods

### getIpBlocks(int index)

    public abstract String getIpBlocks(int index)

Optional. List of CIDR ranges to match based on source IP address. At
least one IP block should match. Single IP (e.g., "1.2.3.4") and CIDR
(e.g., "1.2.3.0/24") are supported. Authorization based on source IP
alone should be avoided. The IP addresses of any load balancers or
proxies should be considered untrusted.

`repeated string ip_blocks = 2 [(.google.api.field_behavior) = OPTIONAL];`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` The index of the element to return. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/lang/String.html` | The ipBlocks at the given index. |

### getIpBlocksBytes(int index)

    public abstract ByteString getIpBlocksBytes(int index)

Optional. List of CIDR ranges to match based on source IP address. At
least one IP block should match. Single IP (e.g., "1.2.3.4") and CIDR
(e.g., "1.2.3.0/24") are supported. Authorization based on source IP
alone should be avoided. The IP addresses of any load balancers or
proxies should be considered untrusted.

`repeated string ip_blocks = 2 [(.google.api.field_behavior) = OPTIONAL];`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` The index of the value to return. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.ByteString.html` | The bytes of the ipBlocks at the given index. |

### getIpBlocksCount()

    public abstract int getIpBlocksCount()

Optional. List of CIDR ranges to match based on source IP address. At
least one IP block should match. Single IP (e.g., "1.2.3.4") and CIDR
(e.g., "1.2.3.0/24") are supported. Authorization based on source IP
alone should be avoided. The IP addresses of any load balancers or
proxies should be considered untrusted.

`repeated string ip_blocks = 2 [(.google.api.field_behavior) = OPTIONAL];`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | The count of ipBlocks. |

### getIpBlocksList()

    public abstract List<String> getIpBlocksList()

Optional. List of CIDR ranges to match based on source IP address. At
least one IP block should match. Single IP (e.g., "1.2.3.4") and CIDR
(e.g., "1.2.3.0/24") are supported. Authorization based on source IP
alone should be avoided. The IP addresses of any load balancers or
proxies should be considered untrusted.

`repeated string ip_blocks = 2 [(.google.api.field_behavior) = OPTIONAL];`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/util/List.html<https://docs.oracle.com/javase/8/docs/api/java/lang/String.html>` | A list containing the ipBlocks. |

### getPrincipals(int index)

    public abstract String getPrincipals(int index)

Optional. List of peer identities to match for authorization. At least
one principal should match. Each peer can be an exact match, or a
prefix match (example, "namespace/\*") or a suffix match (example,
"*/service-account") or a presence match "*". Authorization based on
the principal name without certificate validation (configured by
ServerTlsPolicy resource) is considered insecure.

`repeated string principals = 1 [(.google.api.field_behavior) = OPTIONAL];`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` The index of the element to return. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/lang/String.html` | The principals at the given index. |

### getPrincipalsBytes(int index)

    public abstract ByteString getPrincipalsBytes(int index)

Optional. List of peer identities to match for authorization. At least
one principal should match. Each peer can be an exact match, or a
prefix match (example, "namespace/\*") or a suffix match (example,
"*/service-account") or a presence match "*". Authorization based on
the principal name without certificate validation (configured by
ServerTlsPolicy resource) is considered insecure.

`repeated string principals = 1 [(.google.api.field_behavior) = OPTIONAL];`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` The index of the value to return. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.ByteString.html` | The bytes of the principals at the given index. |

### getPrincipalsCount()

    public abstract int getPrincipalsCount()

Optional. List of peer identities to match for authorization. At least
one principal should match. Each peer can be an exact match, or a
prefix match (example, "namespace/\*") or a suffix match (example,
"*/service-account") or a presence match "*". Authorization based on
the principal name without certificate validation (configured by
ServerTlsPolicy resource) is considered insecure.

`repeated string principals = 1 [(.google.api.field_behavior) = OPTIONAL];`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | The count of principals. |

### getPrincipalsList()

    public abstract List<String> getPrincipalsList()

Optional. List of peer identities to match for authorization. At least
one principal should match. Each peer can be an exact match, or a
prefix match (example, "namespace/\*") or a suffix match (example,
"*/service-account") or a presence match "*". Authorization based on
the principal name without certificate validation (configured by
ServerTlsPolicy resource) is considered insecure.

`repeated string principals = 1 [(.google.api.field_behavior) = OPTIONAL];`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/util/List.html<https://docs.oracle.com/javase/8/docs/api/java/lang/String.html>` | A list containing the principals. |