# Interface GatewaySecurityPolicyRuleOrBuilder (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 interface GatewaySecurityPolicyRuleOrBuilder extends MessageOrBuilder

## Implements

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

## Methods

### getApplicationMatcher()

    public abstract String getApplicationMatcher()

Optional. CEL expression for matching on L7/application level criteria.

`string application_matcher = 8 [(.google.api.field_behavior) = OPTIONAL];`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/lang/String.html` | The applicationMatcher. |

### getApplicationMatcherBytes()

    public abstract ByteString getApplicationMatcherBytes()

Optional. CEL expression for matching on L7/application level criteria.

`string application_matcher = 8 [(.google.api.field_behavior) = OPTIONAL];`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.ByteString.html` | The bytes for applicationMatcher. |

### getBasicProfile()

    public abstract GatewaySecurityPolicyRule.BasicProfile getBasicProfile()

Required. Profile which tells what the primitive action should be.

`
.google.cloud.networksecurity.v1.GatewaySecurityPolicyRule.BasicProfile basic_profile = 9 [(.google.api.field_behavior) = REQUIRED];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-cloud-network-security/latest/com.google.cloud.networksecurity.v1.GatewaySecurityPolicyRule.BasicProfile` | The basicProfile. |

### getBasicProfileValue()

    public abstract int getBasicProfileValue()

Required. Profile which tells what the primitive action should be.

`
.google.cloud.networksecurity.v1.GatewaySecurityPolicyRule.BasicProfile basic_profile = 9 [(.google.api.field_behavior) = REQUIRED];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | The enum numeric value on the wire for basicProfile. |

### getCreateTime()

    public abstract Timestamp getCreateTime()

Output only. Time when the rule was created.

`.google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.Timestamp.html` | The createTime. |

### getCreateTimeOrBuilder()

    public abstract TimestampOrBuilder getCreateTimeOrBuilder()

Output only. Time when the rule was created.

`.google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.TimestampOrBuilder.html` |   |

### getDescription()

    public abstract String getDescription()

Optional. Free-text description of the resource.

`string description = 6 [(.google.api.field_behavior) = OPTIONAL];`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/lang/String.html` | The description. |

### getDescriptionBytes()

    public abstract ByteString getDescriptionBytes()

Optional. Free-text description of the resource.

`string description = 6 [(.google.api.field_behavior) = OPTIONAL];`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.ByteString.html` | The bytes for description. |

### getEnabled()

    public abstract boolean getEnabled()

Required. Whether the rule is enforced.

`bool enabled = 4 [(.google.api.field_behavior) = REQUIRED];`

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

### getName()

    public abstract String getName()

Required. Immutable. Name of the resource. ame is the full resource name so
projects/{project}/locations/{location}/gatewaySecurityPolicies/{gateway_security_policy}/rules/{rule}
rule should match the
pattern: (\^[a-z](https://docs.cloud.google.com/java/docs/reference/google-cloud-network-security/latest/[a-z0-9-]{0,61}[a-z0-9])?$).

`
string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = IMMUTABLE];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/lang/String.html` | The name. |

### getNameBytes()

    public abstract ByteString getNameBytes()

Required. Immutable. Name of the resource. ame is the full resource name so
projects/{project}/locations/{location}/gatewaySecurityPolicies/{gateway_security_policy}/rules/{rule}
rule should match the
pattern: (\^[a-z](https://docs.cloud.google.com/java/docs/reference/google-cloud-network-security/latest/[a-z0-9-]{0,61}[a-z0-9])?$).

`
string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = IMMUTABLE];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.ByteString.html` | The bytes for name. |

### getPriority()

    public abstract int getPriority()

Required. Priority of the rule.
Lower number corresponds to higher precedence.

`int32 priority = 5 [(.google.api.field_behavior) = REQUIRED];`

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

### getProfileCase()

    public abstract GatewaySecurityPolicyRule.ProfileCase getProfileCase()

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-cloud-network-security/latest/com.google.cloud.networksecurity.v1.GatewaySecurityPolicyRule.ProfileCase` |   |

### getSessionMatcher()

    public abstract String getSessionMatcher()

Required. CEL expression for matching on session criteria.

`string session_matcher = 7 [(.google.api.field_behavior) = REQUIRED];`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/lang/String.html` | The sessionMatcher. |

### getSessionMatcherBytes()

    public abstract ByteString getSessionMatcherBytes()

Required. CEL expression for matching on session criteria.

`string session_matcher = 7 [(.google.api.field_behavior) = REQUIRED];`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.ByteString.html` | The bytes for sessionMatcher. |

### getTlsInspectionEnabled()

    public abstract boolean getTlsInspectionEnabled()

Optional. Flag to enable TLS inspection of traffic matching on
\<session_matcher\>, can only be true if the parent GatewaySecurityPolicy
references a TLSInspectionConfig.

`bool tls_inspection_enabled = 10 [(.google.api.field_behavior) = OPTIONAL];`

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

### getUpdateTime()

    public abstract Timestamp getUpdateTime()

Output only. Time when the rule was updated.

`.google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.Timestamp.html` | The updateTime. |

### getUpdateTimeOrBuilder()

    public abstract TimestampOrBuilder getUpdateTimeOrBuilder()

Output only. Time when the rule was updated.

`.google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.TimestampOrBuilder.html` |   |

### hasBasicProfile()

    public abstract boolean hasBasicProfile()

Required. Profile which tells what the primitive action should be.

`
.google.cloud.networksecurity.v1.GatewaySecurityPolicyRule.BasicProfile basic_profile = 9 [(.google.api.field_behavior) = REQUIRED];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | Whether the basicProfile field is set. |

### hasCreateTime()

    public abstract boolean hasCreateTime()

Output only. Time when the rule was created.

`.google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | Whether the createTime field is set. |

### hasUpdateTime()

    public abstract boolean hasUpdateTime()

Output only. Time when the rule was updated.

`.google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | Whether the updateTime field is set. |