mmv1/products/compute/NetworkFirewallPolicyRule.yaml [89:206]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
properties:
  - name: 'creationTimestamp'
    type: String
    description: |
      Creation timestamp in RFC3339 text format.
    output: true
  - name: 'kind'
    type: String
    description: |
      Type of the resource. Always `compute#firewallPolicyRule` for firewall policy rules
    output: true
  - name: 'ruleName'
    type: String
    description: |
      An optional name for the rule. This field is not a unique identifier and can be updated.
  - name: 'description'
    type: String
    description: 'An optional description for this resource.'
  - name: 'priority'
    type: Integer
    immutable: true
    description: |
      An integer indicating the priority of a rule in the list.
      The priority must be a positive value between 0 and 2147483647.
      Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority.
    required: true
  - name: 'match'
    type: NestedObject
    description: |
      A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
    required: true
    properties:
      - name: 'srcIpRanges'
        type: Array
        send_empty_value: true
        description: |
          CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.
        item_type:
          type: String
      - name: 'destIpRanges'
        type: Array
        send_empty_value: true
        description: |
          CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.
        item_type:
          type: String
      - name: 'srcNetworkScope'
        type: Enum
        description: |
          Network scope of the traffic source.
        min_version: beta
        enum_values:
          - 'INTERNET'
          - 'INTRA_VPC'
          - 'NON_INTERNET'
          - 'VPC_NETWORKS'
      - name: 'srcNetworks'
        type: Array
        description: |
          Networks of the traffic source. It can be either a full or partial url.
        min_version: beta
        item_type:
          type: String
      - name: 'destNetworkScope'
        type: Enum
        description: |
          Network scope of the traffic destination.
        min_version: beta
        enum_values:
          - 'INTERNET'
          - 'INTRA_VPC'
          - 'NON_INTERNET'
          - 'VPC_NETWORKS'
      - name: 'layer4Configs'
        type: Array
        send_empty_value: true
        description: |
          Pairs of IP protocols and ports that the rule should match.
        required: true
        item_type:
          type: NestedObject
          properties:
            - name: 'ipProtocol'
              type: String
              description: |
                The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule.
                This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
              required: true
            - name: 'ports'
              type: Array
              description: |
                An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
                Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
              item_type:
                type: String
      - name: 'srcSecureTags'
        type: Array
        send_empty_value: true
        description: |
          List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there is no srcIpRange, this rule will be ignored. Maximum number of source tag values allowed is 256.
        item_type:
          type: NestedObject
          properties:
            - name: 'name'
              type: String
              description: |
                Name of the secure tag, created with TagManager's TagValue API.
              diff_suppress_func: 'tpgresource.CompareSelfLinkOrResourceName'
            - name: 'state'
              type: Enum
              description: |
                State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
              output: true
              enum_values:
                - 'EFFECTIVE'
                - 'INEFFECTIVE'
      - name: 'destAddressGroups'
        type: Array
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



mmv1/products/compute/RegionNetworkFirewallPolicyRule.yaml [101:218]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
properties:
  - name: 'creationTimestamp'
    type: String
    description: |
      Creation timestamp in RFC3339 text format.
    output: true
  - name: 'kind'
    type: String
    description: |
      Type of the resource. Always `compute#firewallPolicyRule` for firewall policy rules
    output: true
  - name: 'ruleName'
    type: String
    description: |
      An optional name for the rule. This field is not a unique identifier and can be updated.
  - name: 'description'
    type: String
    description: 'An optional description for this resource.'
  - name: 'priority'
    type: Integer
    immutable: true
    description: |
      An integer indicating the priority of a rule in the list.
      The priority must be a positive value between 0 and 2147483647.
      Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority.
    required: true
  - name: 'match'
    type: NestedObject
    description: |
      A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.
    required: true
    properties:
      - name: 'srcIpRanges'
        type: Array
        send_empty_value: true
        description: |
          CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.
        item_type:
          type: String
      - name: 'destIpRanges'
        type: Array
        send_empty_value: true
        description: |
          CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.
        item_type:
          type: String
      - name: 'srcNetworkScope'
        type: Enum
        description: |
          Network scope of the traffic source.
        min_version: beta
        enum_values:
          - 'INTERNET'
          - 'INTRA_VPC'
          - 'NON_INTERNET'
          - 'VPC_NETWORKS'
      - name: 'srcNetworks'
        type: Array
        description: |
          Networks of the traffic source. It can be either a full or partial url.
        min_version: beta
        item_type:
          type: String
      - name: 'destNetworkScope'
        type: Enum
        description: |
          Network scope of the traffic destination.
        min_version: beta
        enum_values:
          - 'INTERNET'
          - 'INTRA_VPC'
          - 'NON_INTERNET'
          - 'VPC_NETWORKS'
      - name: 'layer4Configs'
        type: Array
        send_empty_value: true
        description: |
          Pairs of IP protocols and ports that the rule should match.
        required: true
        item_type:
          type: NestedObject
          properties:
            - name: 'ipProtocol'
              type: String
              description: |
                The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule.
                This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
              required: true
            - name: 'ports'
              type: Array
              description: |
                An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
                Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
              item_type:
                type: String
      - name: 'srcSecureTags'
        type: Array
        send_empty_value: true
        description: |
          List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there is no srcIpRange, this rule will be ignored. Maximum number of source tag values allowed is 256.
        item_type:
          type: NestedObject
          properties:
            - name: 'name'
              type: String
              description: |
                Name of the secure tag, created with TagManager's TagValue API.
              diff_suppress_func: 'tpgresource.CompareSelfLinkOrResourceName'
            - name: 'state'
              type: Enum
              description: |
                State of the secure tag, either EFFECTIVE or INEFFECTIVE. A secure tag is INEFFECTIVE when it is deleted or its network is deleted.
              output: true
              enum_values:
                - 'EFFECTIVE'
                - 'INEFFECTIVE'
      - name: 'destAddressGroups'
        type: Array
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



