// Code generated by sidekick. DO NOT EDIT.
//
// Copyright 2026 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#if NetworkFirewallPolicies
  import Foundation
  import GoogleCloudWkt

  extension NetworkFirewallPoliciesClient {
    /// Synthetic request message for the [addAssociation()][google.cloud.compute.v1.networkFirewallPolicies.addAssociation] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.addAssociation]: <doc:NetworkFirewallPolicies/addAssociation(request:)>
    public struct AddAssociationRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// Name of the firewall policy to update.
      public var firewallPolicy: Swift.String = Swift.String()

      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// Indicates whether or not to replace it if an association of the attachment
      /// already exists. This is false by default, in which case an error will be
      /// returned if an association already exists.
      public var replaceExistingAssociation: Swift.Bool? = nil

      /// An optional request ID to identify requests. Specify a unique request ID so
      /// that if you must retry your request, the server will know to ignore the
      /// request if it has already been completed.
      ///
      /// For example, consider a situation where you make an initial request and
      /// the request times out. If you make the request again with the same
      /// request ID, the server can check if original operation with the same
      /// request ID was received, and if so, will ignore the second request. This
      /// prevents clients from accidentally creating duplicate commitments.
      ///
      /// The request ID must be
      /// a valid UUID with the exception that zero UUID is not supported
      /// (00000000-0000-0000-0000-000000000000).
      public var requestId: Swift.String? = nil

      /// Synthetic request body field for the [addAssociation()][google.cloud.compute.v1.networkFirewallPolicies.addAssociation] method.
      ///
      /// [google.cloud.compute.v1.networkFirewallPolicies.addAssociation]: <doc:NetworkFirewallPolicies/addAssociation(request:)>
      public var body: FirewallPolicyAssociation? = nil

      /// Initialize a new instance of `AddAssociationRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = AddAssociationRequest().with { $0.firewallPolicy = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return
          "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.addAssociationRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [addPacketMirroringRule()][google.cloud.compute.v1.networkFirewallPolicies.addPacketMirroringRule] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.addPacketMirroringRule]: <doc:NetworkFirewallPolicies/addPacketMirroringRule(request:)>
    public struct AddPacketMirroringRuleRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// Name of the firewall policy to update.
      public var firewallPolicy: Swift.String = Swift.String()

      /// When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority>.
      /// This field is exclusive with rule.priority.
      public var maxPriority: Swift.Int32? = nil

      /// When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority>.
      /// This field is exclusive with rule.priority.
      public var minPriority: Swift.Int32? = nil

      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// An optional request ID to identify requests. Specify a unique request ID so
      /// that if you must retry your request, the server will know to ignore the
      /// request if it has already been completed.
      ///
      /// For example, consider a situation where you make an initial request and
      /// the request times out. If you make the request again with the same
      /// request ID, the server can check if original operation with the same
      /// request ID was received, and if so, will ignore the second request. This
      /// prevents clients from accidentally creating duplicate commitments.
      ///
      /// The request ID must be
      /// a valid UUID with the exception that zero UUID is not supported
      /// (00000000-0000-0000-0000-000000000000).
      public var requestId: Swift.String? = nil

      /// Synthetic request body field for the [addPacketMirroringRule()][google.cloud.compute.v1.networkFirewallPolicies.addPacketMirroringRule] method.
      ///
      /// [google.cloud.compute.v1.networkFirewallPolicies.addPacketMirroringRule]: <doc:NetworkFirewallPolicies/addPacketMirroringRule(request:)>
      public var body: FirewallPolicyRule? = nil

      /// Initialize a new instance of `AddPacketMirroringRuleRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = AddPacketMirroringRuleRequest().with { $0.firewallPolicy = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return
          "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.addPacketMirroringRuleRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [addRule()][google.cloud.compute.v1.networkFirewallPolicies.addRule] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.addRule]: <doc:NetworkFirewallPolicies/addRule(request:)>
    public struct AddRuleRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// Name of the firewall policy to update.
      public var firewallPolicy: Swift.String = Swift.String()

      /// When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority>.
      /// This field is exclusive with rule.priority.
      public var maxPriority: Swift.Int32? = nil

      /// When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority>.
      /// This field is exclusive with rule.priority.
      public var minPriority: Swift.Int32? = nil

      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// An optional request ID to identify requests. Specify a unique request ID so
      /// that if you must retry your request, the server will know to ignore the
      /// request if it has already been completed.
      ///
      /// For example, consider a situation where you make an initial request and
      /// the request times out. If you make the request again with the same
      /// request ID, the server can check if original operation with the same
      /// request ID was received, and if so, will ignore the second request. This
      /// prevents clients from accidentally creating duplicate commitments.
      ///
      /// The request ID must be
      /// a valid UUID with the exception that zero UUID is not supported
      /// (00000000-0000-0000-0000-000000000000).
      public var requestId: Swift.String? = nil

      /// Synthetic request body field for the [addRule()][google.cloud.compute.v1.networkFirewallPolicies.addRule] method.
      ///
      /// [google.cloud.compute.v1.networkFirewallPolicies.addRule]: <doc:NetworkFirewallPolicies/addRule(request:)>
      public var body: FirewallPolicyRule? = nil

      /// Initialize a new instance of `AddRuleRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = AddRuleRequest().with { $0.firewallPolicy = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.addRuleRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [aggregatedList()][google.cloud.compute.v1.networkFirewallPolicies.aggregatedList] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.aggregatedList]: <doc:NetworkFirewallPolicies/aggregatedList(request:)>
    public struct AggregatedListRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// A filter expression that filters resources listed in the response. Most
      /// Compute resources support two types of filter expressions:
      /// expressions that support regular expressions and expressions that follow
      /// API improvement proposal AIP-160.
      /// These two types of filter expressions cannot be mixed in one request.
      ///
      /// If you want to use AIP-160, your expression must specify the field name, an
      /// operator, and the value that you want to use for filtering. The value
      /// must be a string, a number, or a boolean. The operator
      /// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
      ///
      /// For example, if you are filtering Compute Engine instances, you can
      /// exclude instances named `example-instance` by specifying
      /// `name != example-instance`.
      ///
      /// The `:*` comparison can be used to test whether a key has been defined.
      /// For example, to find all objects with `owner` label use:
      /// ```
      /// labels.owner:*
      /// ```
      ///
      /// You can also filter nested fields. For example, you could specify
      /// `scheduling.automaticRestart = false` to include instances only
      /// if they are not scheduled for automatic restarts. You can use filtering
      /// on nested fields to filter based onresource labels.
      ///
      /// To filter on multiple expressions, provide each separate expression within
      /// parentheses. For example:
      /// ```
      /// (scheduling.automaticRestart = true)
      /// (cpuPlatform = "Intel Skylake")
      /// ```
      /// By default, each expression is an `AND` expression. However, you
      /// can include `AND` and `OR` expressions explicitly.
      /// For example:
      /// ```
      /// (cpuPlatform = "Intel Skylake") OR
      /// (cpuPlatform = "Intel Broadwell") AND
      /// (scheduling.automaticRestart = true)
      /// ```
      ///
      /// If you want to use a regular expression, use the `eq` (equal) or `ne`
      /// (not equal) operator against a single un-parenthesized expression with or
      /// without quotes or against multiple parenthesized expressions. Examples:
      ///
      /// `fieldname eq unquoted literal`
      /// `fieldname eq 'single quoted literal'`
      /// `fieldname eq "double quoted literal"`
      /// `(fieldname1 eq literal) (fieldname2 ne "literal")`
      ///
      /// The literal value is interpreted as a regular expression using GoogleRE2 library syntax.
      /// The literal value must match the entire field.
      ///
      /// For example, to filter for instances that do not end with name "instance",
      /// you would use `name ne .*instance`.
      ///
      /// You cannot combine constraints on multiple fields using regular
      /// expressions.
      public var filter: Swift.String? = nil

      /// Indicates whether every visible scope for each scope type (zone, region,
      /// global) should be included in the response. For new resource types added
      /// after this field, the flag has no effect as new resource types will always
      /// include every visible scope for each scope type in response. For resource
      /// types which predate this field, if this flag is omitted or false, only
      /// scopes of the scope types where the resource type is expected to be found
      /// will be included.
      public var includeAllScopes: Swift.Bool? = nil

      /// The maximum number of results per page that should be returned.
      /// If the number of available results is larger than `maxResults`,
      /// Compute Engine returns a `nextPageToken` that can be used to get
      /// the next page of results in subsequent list requests. Acceptable values are
      /// `0` to `500`, inclusive. (Default: `500`)
      public var maxResults: Swift.UInt32? = nil

      /// Sorts list results by a certain order. By default, results
      /// are returned in alphanumerical order based on the resource name.
      ///
      /// You can also sort results in descending order based on the creation
      /// timestamp using `orderBy="creationTimestamp desc"`. This sorts
      /// results based on the `creationTimestamp` field in
      /// reverse chronological order (newest result first). Use this to sort
      /// resources like operations so that the newest operation is returned first.
      ///
      /// Currently, only sorting by `name` or
      /// `creationTimestamp desc` is supported.
      public var orderBy: Swift.String? = nil

      /// Specifies a page token to use. Set `pageToken` to the
      /// `nextPageToken` returned by a previous list request to get
      /// the next page of results.
      public var pageToken: Swift.String? = nil

      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// Opt-in for partial success behavior which provides partial results in case
      /// of failure. The default value is false.
      ///
      /// For example, when partial success behavior is enabled, aggregatedList for a
      /// single zone scope either returns all resources in the zone or no resources,
      /// with an error code.
      public var returnPartialSuccess: Swift.Bool? = nil

      /// The Shared VPC service project id or service project number for which
      /// aggregated list request is invoked for subnetworks list-usable api.
      public var serviceProjectNumber: Swift.Int64? = nil

      /// Initialize a new instance of `AggregatedListRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = AggregatedListRequest().with { $0.filter = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return
          "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.aggregatedListRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [cloneRules()][google.cloud.compute.v1.networkFirewallPolicies.cloneRules] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.cloneRules]: <doc:NetworkFirewallPolicies/cloneRules(request:)>
    public struct CloneRulesRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// Name of the firewall policy to update.
      public var firewallPolicy: Swift.String = Swift.String()

      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// An optional request ID to identify requests. Specify a unique request ID so
      /// that if you must retry your request, the server will know to ignore the
      /// request if it has already been completed.
      ///
      /// For example, consider a situation where you make an initial request and
      /// the request times out. If you make the request again with the same
      /// request ID, the server can check if original operation with the same
      /// request ID was received, and if so, will ignore the second request. This
      /// prevents clients from accidentally creating duplicate commitments.
      ///
      /// The request ID must be
      /// a valid UUID with the exception that zero UUID is not supported
      /// (00000000-0000-0000-0000-000000000000).
      public var requestId: Swift.String? = nil

      /// The firewall policy from which to copy rules.
      public var sourceFirewallPolicy: Swift.String? = nil

      /// Initialize a new instance of `CloneRulesRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = CloneRulesRequest().with { $0.firewallPolicy = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return
          "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.cloneRulesRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [delete()][google.cloud.compute.v1.networkFirewallPolicies.delete] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.delete]: <doc:NetworkFirewallPolicies/delete(request:)>
    public struct DeleteRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// Name of the firewall policy to delete.
      public var firewallPolicy: Swift.String = Swift.String()

      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// An optional request ID to identify requests. Specify a unique request ID so
      /// that if you must retry your request, the server will know to ignore the
      /// request if it has already been completed.
      ///
      /// For example, consider a situation where you make an initial request and
      /// the request times out. If you make the request again with the same
      /// request ID, the server can check if original operation with the same
      /// request ID was received, and if so, will ignore the second request. This
      /// prevents clients from accidentally creating duplicate commitments.
      ///
      /// The request ID must be
      /// a valid UUID with the exception that zero UUID is not supported
      /// (00000000-0000-0000-0000-000000000000).
      public var requestId: Swift.String? = nil

      /// Initialize a new instance of `DeleteRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = DeleteRequest().with { $0.firewallPolicy = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.deleteRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [get()][google.cloud.compute.v1.networkFirewallPolicies.get] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.get]: <doc:NetworkFirewallPolicies/`get`(request:)>
    public struct GetRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// Name of the firewall policy to get.
      public var firewallPolicy: Swift.String = Swift.String()

      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// Initialize a new instance of `GetRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = GetRequest().with { $0.firewallPolicy = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.getRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [getAssociation()][google.cloud.compute.v1.networkFirewallPolicies.getAssociation] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.getAssociation]: <doc:NetworkFirewallPolicies/getAssociation(request:)>
    public struct GetAssociationRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// Name of the firewall policy to which the queried association belongs.
      public var firewallPolicy: Swift.String = Swift.String()

      /// The name of the association to get from the firewall policy.
      public var name: Swift.String? = nil

      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// Initialize a new instance of `GetAssociationRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = GetAssociationRequest().with { $0.firewallPolicy = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return
          "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.getAssociationRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [getIamPolicy()][google.cloud.compute.v1.networkFirewallPolicies.getIamPolicy] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.getIamPolicy]: <doc:NetworkFirewallPolicies/getIamPolicy(request:)>
    public struct GetIamPolicyRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// Requested IAM Policy version.
      public var optionsRequestedPolicyVersion: Swift.Int32? = nil

      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// Name or id of the resource for this request.
      public var resource: Swift.String = Swift.String()

      /// Initialize a new instance of `GetIamPolicyRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = GetIamPolicyRequest().with { $0.optionsRequestedPolicyVersion = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return
          "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.getIamPolicyRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [getPacketMirroringRule()][google.cloud.compute.v1.networkFirewallPolicies.getPacketMirroringRule] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.getPacketMirroringRule]: <doc:NetworkFirewallPolicies/getPacketMirroringRule(request:)>
    public struct GetPacketMirroringRuleRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// Name of the firewall policy to which the queried rule belongs.
      public var firewallPolicy: Swift.String = Swift.String()

      /// The priority of the rule to get from the firewall policy.
      public var priority: Swift.Int32? = nil

      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// Initialize a new instance of `GetPacketMirroringRuleRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = GetPacketMirroringRuleRequest().with { $0.firewallPolicy = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return
          "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.getPacketMirroringRuleRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [getRule()][google.cloud.compute.v1.networkFirewallPolicies.getRule] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.getRule]: <doc:NetworkFirewallPolicies/getRule(request:)>
    public struct GetRuleRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// Name of the firewall policy to which the queried rule belongs.
      public var firewallPolicy: Swift.String = Swift.String()

      /// The priority of the rule to get from the firewall policy.
      public var priority: Swift.Int32? = nil

      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// Initialize a new instance of `GetRuleRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = GetRuleRequest().with { $0.firewallPolicy = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.getRuleRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [insert()][google.cloud.compute.v1.networkFirewallPolicies.insert] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.insert]: <doc:NetworkFirewallPolicies/insert(request:)>
    public struct InsertRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// An optional request ID to identify requests. Specify a unique request ID so
      /// that if you must retry your request, the server will know to ignore the
      /// request if it has already been completed.
      ///
      /// For example, consider a situation where you make an initial request and
      /// the request times out. If you make the request again with the same
      /// request ID, the server can check if original operation with the same
      /// request ID was received, and if so, will ignore the second request. This
      /// prevents clients from accidentally creating duplicate commitments.
      ///
      /// The request ID must be
      /// a valid UUID with the exception that zero UUID is not supported
      /// (00000000-0000-0000-0000-000000000000).
      public var requestId: Swift.String? = nil

      /// Synthetic request body field for the [insert()][google.cloud.compute.v1.networkFirewallPolicies.insert] method.
      ///
      /// [google.cloud.compute.v1.networkFirewallPolicies.insert]: <doc:NetworkFirewallPolicies/insert(request:)>
      public var body: FirewallPolicy? = nil

      /// Initialize a new instance of `InsertRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = InsertRequest().with { $0.project = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.insertRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [list()][google.cloud.compute.v1.networkFirewallPolicies.list] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.list]: <doc:NetworkFirewallPolicies/list(request:)>
    public struct ListRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// A filter expression that filters resources listed in the response. Most
      /// Compute resources support two types of filter expressions:
      /// expressions that support regular expressions and expressions that follow
      /// API improvement proposal AIP-160.
      /// These two types of filter expressions cannot be mixed in one request.
      ///
      /// If you want to use AIP-160, your expression must specify the field name, an
      /// operator, and the value that you want to use for filtering. The value
      /// must be a string, a number, or a boolean. The operator
      /// must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
      ///
      /// For example, if you are filtering Compute Engine instances, you can
      /// exclude instances named `example-instance` by specifying
      /// `name != example-instance`.
      ///
      /// The `:*` comparison can be used to test whether a key has been defined.
      /// For example, to find all objects with `owner` label use:
      /// ```
      /// labels.owner:*
      /// ```
      ///
      /// You can also filter nested fields. For example, you could specify
      /// `scheduling.automaticRestart = false` to include instances only
      /// if they are not scheduled for automatic restarts. You can use filtering
      /// on nested fields to filter based onresource labels.
      ///
      /// To filter on multiple expressions, provide each separate expression within
      /// parentheses. For example:
      /// ```
      /// (scheduling.automaticRestart = true)
      /// (cpuPlatform = "Intel Skylake")
      /// ```
      /// By default, each expression is an `AND` expression. However, you
      /// can include `AND` and `OR` expressions explicitly.
      /// For example:
      /// ```
      /// (cpuPlatform = "Intel Skylake") OR
      /// (cpuPlatform = "Intel Broadwell") AND
      /// (scheduling.automaticRestart = true)
      /// ```
      ///
      /// If you want to use a regular expression, use the `eq` (equal) or `ne`
      /// (not equal) operator against a single un-parenthesized expression with or
      /// without quotes or against multiple parenthesized expressions. Examples:
      ///
      /// `fieldname eq unquoted literal`
      /// `fieldname eq 'single quoted literal'`
      /// `fieldname eq "double quoted literal"`
      /// `(fieldname1 eq literal) (fieldname2 ne "literal")`
      ///
      /// The literal value is interpreted as a regular expression using GoogleRE2 library syntax.
      /// The literal value must match the entire field.
      ///
      /// For example, to filter for instances that do not end with name "instance",
      /// you would use `name ne .*instance`.
      ///
      /// You cannot combine constraints on multiple fields using regular
      /// expressions.
      public var filter: Swift.String? = nil

      /// The maximum number of results per page that should be returned.
      /// If the number of available results is larger than `maxResults`,
      /// Compute Engine returns a `nextPageToken` that can be used to get
      /// the next page of results in subsequent list requests. Acceptable values are
      /// `0` to `500`, inclusive. (Default: `500`)
      public var maxResults: Swift.UInt32? = nil

      /// Sorts list results by a certain order. By default, results
      /// are returned in alphanumerical order based on the resource name.
      ///
      /// You can also sort results in descending order based on the creation
      /// timestamp using `orderBy="creationTimestamp desc"`. This sorts
      /// results based on the `creationTimestamp` field in
      /// reverse chronological order (newest result first). Use this to sort
      /// resources like operations so that the newest operation is returned first.
      ///
      /// Currently, only sorting by `name` or
      /// `creationTimestamp desc` is supported.
      public var orderBy: Swift.String? = nil

      /// Specifies a page token to use. Set `pageToken` to the
      /// `nextPageToken` returned by a previous list request to get
      /// the next page of results.
      public var pageToken: Swift.String? = nil

      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// Opt-in for partial success behavior which provides partial results in case
      /// of failure. The default value is false.
      ///
      /// For example, when partial success behavior is enabled, aggregatedList for a
      /// single zone scope either returns all resources in the zone or no resources,
      /// with an error code.
      public var returnPartialSuccess: Swift.Bool? = nil

      /// Initialize a new instance of `ListRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = ListRequest().with { $0.filter = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.listRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [patch()][google.cloud.compute.v1.networkFirewallPolicies.patch] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.patch]: <doc:NetworkFirewallPolicies/patch(request:)>
    public struct PatchRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// Name of the firewall policy to update.
      public var firewallPolicy: Swift.String = Swift.String()

      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// An optional request ID to identify requests. Specify a unique request ID so
      /// that if you must retry your request, the server will know to ignore the
      /// request if it has already been completed.
      ///
      /// For example, consider a situation where you make an initial request and
      /// the request times out. If you make the request again with the same
      /// request ID, the server can check if original operation with the same
      /// request ID was received, and if so, will ignore the second request. This
      /// prevents clients from accidentally creating duplicate commitments.
      ///
      /// The request ID must be
      /// a valid UUID with the exception that zero UUID is not supported
      /// (00000000-0000-0000-0000-000000000000).
      public var requestId: Swift.String? = nil

      /// Synthetic request body field for the [patch()][google.cloud.compute.v1.networkFirewallPolicies.patch] method.
      ///
      /// [google.cloud.compute.v1.networkFirewallPolicies.patch]: <doc:NetworkFirewallPolicies/patch(request:)>
      public var body: FirewallPolicy? = nil

      /// Initialize a new instance of `PatchRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = PatchRequest().with { $0.firewallPolicy = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.patchRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [patchPacketMirroringRule()][google.cloud.compute.v1.networkFirewallPolicies.patchPacketMirroringRule] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.patchPacketMirroringRule]: <doc:NetworkFirewallPolicies/patchPacketMirroringRule(request:)>
    public struct PatchPacketMirroringRuleRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// Name of the firewall policy to update.
      public var firewallPolicy: Swift.String = Swift.String()

      /// The priority of the rule to patch.
      public var priority: Swift.Int32? = nil

      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// An optional request ID to identify requests. Specify a unique request ID so
      /// that if you must retry your request, the server will know to ignore the
      /// request if it has already been completed.
      ///
      /// For example, consider a situation where you make an initial request and
      /// the request times out. If you make the request again with the same
      /// request ID, the server can check if original operation with the same
      /// request ID was received, and if so, will ignore the second request. This
      /// prevents clients from accidentally creating duplicate commitments.
      ///
      /// The request ID must be
      /// a valid UUID with the exception that zero UUID is not supported
      /// (00000000-0000-0000-0000-000000000000).
      public var requestId: Swift.String? = nil

      /// Synthetic request body field for the [patchPacketMirroringRule()][google.cloud.compute.v1.networkFirewallPolicies.patchPacketMirroringRule] method.
      ///
      /// [google.cloud.compute.v1.networkFirewallPolicies.patchPacketMirroringRule]: <doc:NetworkFirewallPolicies/patchPacketMirroringRule(request:)>
      public var body: FirewallPolicyRule? = nil

      /// Initialize a new instance of `PatchPacketMirroringRuleRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = PatchPacketMirroringRuleRequest().with { $0.firewallPolicy = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return
          "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.patchPacketMirroringRuleRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [patchRule()][google.cloud.compute.v1.networkFirewallPolicies.patchRule] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.patchRule]: <doc:NetworkFirewallPolicies/patchRule(request:)>
    public struct PatchRuleRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// Name of the firewall policy to update.
      public var firewallPolicy: Swift.String = Swift.String()

      /// The priority of the rule to patch.
      public var priority: Swift.Int32? = nil

      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// An optional request ID to identify requests. Specify a unique request ID so
      /// that if you must retry your request, the server will know to ignore the
      /// request if it has already been completed.
      ///
      /// For example, consider a situation where you make an initial request and
      /// the request times out. If you make the request again with the same
      /// request ID, the server can check if original operation with the same
      /// request ID was received, and if so, will ignore the second request. This
      /// prevents clients from accidentally creating duplicate commitments.
      ///
      /// The request ID must be
      /// a valid UUID with the exception that zero UUID is not supported
      /// (00000000-0000-0000-0000-000000000000).
      public var requestId: Swift.String? = nil

      /// Synthetic request body field for the [patchRule()][google.cloud.compute.v1.networkFirewallPolicies.patchRule] method.
      ///
      /// [google.cloud.compute.v1.networkFirewallPolicies.patchRule]: <doc:NetworkFirewallPolicies/patchRule(request:)>
      public var body: FirewallPolicyRule? = nil

      /// Initialize a new instance of `PatchRuleRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = PatchRuleRequest().with { $0.firewallPolicy = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return
          "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.patchRuleRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [removeAssociation()][google.cloud.compute.v1.networkFirewallPolicies.removeAssociation] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.removeAssociation]: <doc:NetworkFirewallPolicies/removeAssociation(request:)>
    public struct RemoveAssociationRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// Name of the firewall policy to update.
      public var firewallPolicy: Swift.String = Swift.String()

      /// Name for the attachment that will be removed.
      public var name: Swift.String? = nil

      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// An optional request ID to identify requests. Specify a unique request ID so
      /// that if you must retry your request, the server will know to ignore the
      /// request if it has already been completed.
      ///
      /// For example, consider a situation where you make an initial request and
      /// the request times out. If you make the request again with the same
      /// request ID, the server can check if original operation with the same
      /// request ID was received, and if so, will ignore the second request. This
      /// prevents clients from accidentally creating duplicate commitments.
      ///
      /// The request ID must be
      /// a valid UUID with the exception that zero UUID is not supported
      /// (00000000-0000-0000-0000-000000000000).
      public var requestId: Swift.String? = nil

      /// Initialize a new instance of `RemoveAssociationRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = RemoveAssociationRequest().with { $0.firewallPolicy = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return
          "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.removeAssociationRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [removePacketMirroringRule()][google.cloud.compute.v1.networkFirewallPolicies.removePacketMirroringRule] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.removePacketMirroringRule]: <doc:NetworkFirewallPolicies/removePacketMirroringRule(request:)>
    public struct RemovePacketMirroringRuleRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// Name of the firewall policy to update.
      public var firewallPolicy: Swift.String = Swift.String()

      /// The priority of the rule to remove from the firewall policy.
      public var priority: Swift.Int32? = nil

      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// An optional request ID to identify requests. Specify a unique request ID so
      /// that if you must retry your request, the server will know to ignore the
      /// request if it has already been completed.
      ///
      /// For example, consider a situation where you make an initial request and
      /// the request times out. If you make the request again with the same
      /// request ID, the server can check if original operation with the same
      /// request ID was received, and if so, will ignore the second request. This
      /// prevents clients from accidentally creating duplicate commitments.
      ///
      /// The request ID must be
      /// a valid UUID with the exception that zero UUID is not supported
      /// (00000000-0000-0000-0000-000000000000).
      public var requestId: Swift.String? = nil

      /// Initialize a new instance of `RemovePacketMirroringRuleRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = RemovePacketMirroringRuleRequest().with { $0.firewallPolicy = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return
          "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.removePacketMirroringRuleRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [removeRule()][google.cloud.compute.v1.networkFirewallPolicies.removeRule] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.removeRule]: <doc:NetworkFirewallPolicies/removeRule(request:)>
    public struct RemoveRuleRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// Name of the firewall policy to update.
      public var firewallPolicy: Swift.String = Swift.String()

      /// The priority of the rule to remove from the firewall policy.
      public var priority: Swift.Int32? = nil

      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// An optional request ID to identify requests. Specify a unique request ID so
      /// that if you must retry your request, the server will know to ignore the
      /// request if it has already been completed.
      ///
      /// For example, consider a situation where you make an initial request and
      /// the request times out. If you make the request again with the same
      /// request ID, the server can check if original operation with the same
      /// request ID was received, and if so, will ignore the second request. This
      /// prevents clients from accidentally creating duplicate commitments.
      ///
      /// The request ID must be
      /// a valid UUID with the exception that zero UUID is not supported
      /// (00000000-0000-0000-0000-000000000000).
      public var requestId: Swift.String? = nil

      /// Initialize a new instance of `RemoveRuleRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = RemoveRuleRequest().with { $0.firewallPolicy = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return
          "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.removeRuleRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [setIamPolicy()][google.cloud.compute.v1.networkFirewallPolicies.setIamPolicy] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.setIamPolicy]: <doc:NetworkFirewallPolicies/setIamPolicy(request:)>
    public struct SetIamPolicyRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// Name or id of the resource for this request.
      public var resource: Swift.String = Swift.String()

      /// Synthetic request body field for the [setIamPolicy()][google.cloud.compute.v1.networkFirewallPolicies.setIamPolicy] method.
      ///
      /// [google.cloud.compute.v1.networkFirewallPolicies.setIamPolicy]: <doc:NetworkFirewallPolicies/setIamPolicy(request:)>
      public var body: GlobalSetPolicyRequest? = nil

      /// Initialize a new instance of `SetIamPolicyRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = SetIamPolicyRequest().with { $0.project = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return
          "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.setIamPolicyRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }

    /// Synthetic request message for the [testIamPermissions()][google.cloud.compute.v1.networkFirewallPolicies.testIamPermissions] method.
    ///
    /// [google.cloud.compute.v1.networkFirewallPolicies.testIamPermissions]: <doc:NetworkFirewallPolicies/testIamPermissions(request:)>
    public struct TestIamPermissionsRequest: Codable, Equatable, GoogleCloudWkt._AnyPackable,
      Sendable
    {
      /// Project ID for this request.
      public var project: Swift.String = Swift.String()

      /// Name or id of the resource for this request.
      public var resource: Swift.String = Swift.String()

      /// Synthetic request body field for the [testIamPermissions()][google.cloud.compute.v1.networkFirewallPolicies.testIamPermissions] method.
      ///
      /// [google.cloud.compute.v1.networkFirewallPolicies.testIamPermissions]: <doc:NetworkFirewallPolicies/testIamPermissions(request:)>
      public var body: TestPermissionsRequest? = nil

      /// Initialize a new instance of `TestIamPermissionsRequest`.
      public init() {}

      /// Use `config` to return a new instance of this object, with some fields updated.
      ///
      /// Commonly used to initialize the value, for example:
      ///
      /// ```
      /// let value = TestIamPermissionsRequest().with { $0.project = ... }
      /// ```
      public func with(_ config: (inout Self) throws -> Swift.Void) rethrows -> Self {
        var copy = self
        try config(&copy)
        return copy
      }

      public static var _anyTypeUrl: Swift.String {
        return
          "type.googleapis.com/google.cloud.compute.v1.networkFirewallPolicies.testIamPermissionsRequest"
      }
      public init(fromAny any: GoogleCloudWkt.`Any`) throws {
        self = try GoogleCloudWkt._slowAnyDeserialize(Self.self, from: any)
      }
      public func _pack() throws -> GoogleCloudWkt.Struct {
        return try GoogleCloudWkt._slowAnySerialize(message: self)
      }
    }
  }
#endif
