Skip to main content

firewall_policies

Creates, updates, deletes, gets or lists a firewall_policies resource.

Overview

Namefirewall_policies
TypeResource
Idgoogle.compute.firewall_policies

Fields

The following fields are returned by SELECT queries:

NameDatatypeDescription
idstring (uint64)[Output Only] The unique identifier for the resource. This identifier is defined by the server.
namestringName of the resource. For Organization Firewall Policies it's a [Output Only] numeric ID allocated by Google Cloud which uniquely identifies the Organization Firewall Policy.
associationsarrayA list of associations that belong to this firewall policy.
creationTimestampstringOutput only. [Output Only] Creation timestamp inRFC3339 text format.
descriptionstringAn optional description of this resource. Provide this property when you create the resource.
displayNamestringDeprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. (pattern: [a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)
fingerprintstring (byte)Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error412 conditionNotMet. To see the latest fingerprint, make get() request to the firewall policy.
kindstringOutput only. [Output only] Type of the resource. Alwayscompute#firewallPolicyfor firewall policies (default: compute#firewallPolicy)
packetMirroringRulesarrayA list of packet mirroring rules that belong to this policy.
parentstringOutput only. [Output Only] The parent of the firewall policy. This field is not applicable to network firewall policies.
policyTypestringThe type of the firewall policy. This field can be one of VPC_POLICY, RDMA_ROCE_POLICY or ULL_POLICY. Note: if not specified then VPC_POLICY will be used. (RDMA_ROCE_POLICY, ULL_POLICY, VPC_POLICY)
regionstringOutput only. [Output Only] URL of the region where the regional firewall policy resides. This field is not applicable to global firewall policies. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
ruleTupleCountinteger (int32)Output only. [Output Only] Total count of all firewall policy rule tuples. A firewall policy can not exceed a set number of tuples.
rulesarrayA list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match "*"). If no rules are provided when creating a firewall policy, a default rule with action "allow" will be added.
selfLinkstring[Output Only] Server-defined URL for the resource.
selfLinkWithIdstringOutput only. [Output Only] Server-defined URL for this resource with the resource id.
shortNamestringUser-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. (pattern: [a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectfirewallPolicyReturns the specified firewall policy.
listselectreturnPartialSuccess, maxResults, pageToken, filter, orderBy, parentIdLists all the policies that have been configured for the specified
folder or organization.
insertinsertparentId, requestIdCreates a new policy in the specified project using the data included in
the request.
patchupdatefirewallPolicyrequestIdPatches the specified policy with the data included in the request.
deletedeletefirewallPolicyrequestIdDeletes the specified policy.
clone_rulesexecproject, region, firewallPolicysourceFirewallPolicy, requestIdCopies rules to the specified network firewall policy.
moveexecfirewallPolicyparentId, requestIdMoves the specified firewall policy.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
firewallPolicystring
projectstring
regionstring
filterstring
maxResultsinteger (uint32)
orderBystring
pageTokenstring
parentIdstring
requestIdstring
returnPartialSuccessboolean
sourceFirewallPolicystring

SELECT examples

Returns the specified firewall policy.

SELECT
id,
name,
associations,
creationTimestamp,
description,
displayName,
fingerprint,
kind,
packetMirroringRules,
parent,
policyType,
region,
ruleTupleCount,
rules,
selfLink,
selfLinkWithId,
shortName
FROM google.compute.firewall_policies
WHERE firewallPolicy = '{{ firewallPolicy }}' -- required
;

INSERT examples

Creates a new policy in the specified project using the data included in
the request.

INSERT INTO google.compute.firewall_policies (
data__rules,
data__name,
data__packetMirroringRules,
data__description,
data__policyType,
data__selfLink,
data__id,
data__displayName,
data__fingerprint,
data__shortName,
data__associations,
parentId,
requestId
)
SELECT
'{{ rules }}',
'{{ name }}',
'{{ packetMirroringRules }}',
'{{ description }}',
'{{ policyType }}',
'{{ selfLink }}',
'{{ id }}',
'{{ displayName }}',
'{{ fingerprint }}',
'{{ shortName }}',
'{{ associations }}',
'{{ parentId }}',
'{{ requestId }}'
RETURNING
id,
name,
clientOperationId,
creationTimestamp,
description,
endTime,
error,
getVersionOperationMetadata,
httpErrorMessage,
httpErrorStatusCode,
insertTime,
instancesBulkInsertOperationMetadata,
kind,
operationGroupId,
operationType,
progress,
region,
selfLink,
setCommonInstanceMetadataOperationMetadata,
startTime,
status,
statusMessage,
targetId,
targetLink,
user,
warnings,
zone
;

UPDATE examples

Patches the specified policy with the data included in the request.

UPDATE google.compute.firewall_policies
SET
data__rules = '{{ rules }}',
data__name = '{{ name }}',
data__packetMirroringRules = '{{ packetMirroringRules }}',
data__description = '{{ description }}',
data__policyType = '{{ policyType }}',
data__selfLink = '{{ selfLink }}',
data__id = '{{ id }}',
data__displayName = '{{ displayName }}',
data__fingerprint = '{{ fingerprint }}',
data__shortName = '{{ shortName }}',
data__associations = '{{ associations }}'
WHERE
firewallPolicy = '{{ firewallPolicy }}' --required
AND requestId = '{{ requestId}}'
RETURNING
id,
name,
clientOperationId,
creationTimestamp,
description,
endTime,
error,
getVersionOperationMetadata,
httpErrorMessage,
httpErrorStatusCode,
insertTime,
instancesBulkInsertOperationMetadata,
kind,
operationGroupId,
operationType,
progress,
region,
selfLink,
setCommonInstanceMetadataOperationMetadata,
startTime,
status,
statusMessage,
targetId,
targetLink,
user,
warnings,
zone;

DELETE examples

Deletes the specified policy.

DELETE FROM google.compute.firewall_policies
WHERE firewallPolicy = '{{ firewallPolicy }}' --required
AND requestId = '{{ requestId }}'
;

Lifecycle Methods

Copies rules to the specified network firewall policy.

EXEC google.compute.firewall_policies.clone_rules
@project='{{ project }}' --required,
@region='{{ region }}' --required,
@firewallPolicy='{{ firewallPolicy }}' --required,
@sourceFirewallPolicy='{{ sourceFirewallPolicy }}',
@requestId='{{ requestId }}'
;