@@ -657,32 +657,59 @@ class ExtensionChainExtension
657657
658658 # Optional. The metadata provided here is included as part of the `
659659 # metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest`
660- # message sent to the extension server. The metadata is available under the
661- # namespace `com.google....`. For example: `com.google.lb_traffic_extension.
662- # lbtrafficextension1.chain1.ext1`. The following variables are supported in the
663- # metadata: ``forwarding_rule_id`` - substituted with the forwarding rule's
664- # fully qualified resource name. This field must not be set for plugin
665- # extensions. Setting it results in a validation error. You can set metadata at
666- # either the resource level or the extension level. The extension level metadata
667- # is recommended because you can pass a different set of metadata through each
668- # extension to the backend. This field is subject to following limitations: *
669- # The total size of the metadata must be less than 1KiB. * The total number of
670- # keys in the metadata must be less than 16. * The length of each key must be
671- # less than 64 characters. * The length of each value must be less than 1024
672- # characters. * All values must be strings.
660+ # message sent to the extension server. For `AuthzExtension` resources, the
661+ # metadata is available under the namespace `com.google.authz_extension.`. For
662+ # other types of extensions, the metadata is available under the namespace `com.
663+ # google....`. For example: `com.google.lb_traffic_extension.lbtrafficextension1.
664+ # chain1.ext1`. The following variables are supported in the metadata: ``
665+ # forwarding_rule_id`` - substituted with the forwarding rule's fully qualified
666+ # resource name. This field must not be set for plugin extensions. Setting it
667+ # results in a validation error. You can set metadata at either the resource
668+ # level or the extension level. The extension level metadata is recommended
669+ # because you can pass a different set of metadata through each extension to the
670+ # backend. This field is subject to following limitations: * The total size of
671+ # the metadata must be less than 1KiB. * The total number of keys in the
672+ # metadata must be less than 16. * The length of each key must be less than 64
673+ # characters. * The length of each value must be less than 1024 characters. *
674+ # All values must be strings.
673675 # Corresponds to the JSON property `metadata`
674676 # @return [Hash<String,Object>]
675677 attr_accessor :metadata
676678
677- # Required . The name for this extension. The name is logged as part of the HTTP
679+ # Optional . The name for this extension. The name is logged as part of the HTTP
678680 # request logs. The name must conform with RFC-1034, is restricted to lower-
679681 # cased letters, numbers and hyphens, and can have a maximum length of 63
680682 # characters. Additionally, the first character must be a letter and the last a
681- # letter or a number.
683+ # letter or a number. This field is required except for AuthzExtension.
682684 # Corresponds to the JSON property `name`
683685 # @return [String]
684686 attr_accessor :name
685687
688+ # Optional. Configures the send mode for request body processing. The field can
689+ # only be set if `supported_events` includes `REQUEST_BODY`. If `
690+ # supported_events` includes `REQUEST_BODY`, but `request_body_send_mode` is
691+ # unset, the default value `STREAMED` is used. When this field is set to `
692+ # FULL_DUPLEX_STREAMED`, `supported_events` must include both `REQUEST_BODY` and
693+ # `REQUEST_TRAILERS`. This field can be set only for `LbTrafficExtension` and `
694+ # LbRouteExtension` resources, and only when the `service` field of the
695+ # extension points to a `BackendService`. Only `FULL_DUPLEX_STREAMED` mode is
696+ # supported for `LbRouteExtension` resources.
697+ # Corresponds to the JSON property `requestBodySendMode`
698+ # @return [String]
699+ attr_accessor :request_body_send_mode
700+
701+ # Optional. Configures the send mode for response processing. If unspecified,
702+ # the default value `STREAMED` is used. The field can only be set if `
703+ # supported_events` includes `RESPONSE_BODY`. If `supported_events` includes `
704+ # RESPONSE_BODY`, but `response_body_send_mode` is unset, the default value `
705+ # STREAMED` is used. When this field is set to `FULL_DUPLEX_STREAMED`, `
706+ # supported_events` must include both `RESPONSE_BODY` and `RESPONSE_TRAILERS`.
707+ # This field can be set only for `LbTrafficExtension` resources, and only when
708+ # the `service` field of the extension points to a `BackendService`.
709+ # Corresponds to the JSON property `responseBodySendMode`
710+ # @return [String]
711+ attr_accessor :response_body_send_mode
712+
686713 # Required. The reference to the service that runs the extension. To configure a
687714 # callout extension, `service` must be a fully-qualified reference to a [backend
688715 # service](https://cloud.google.com/compute/docs/reference/rest/v1/
@@ -706,7 +733,9 @@ class ExtensionChainExtension
706733 # required. For the `LbRouteExtension` resource, this field is optional. If
707734 # unspecified, `REQUEST_HEADERS` event is assumed as supported. For the `
708735 # LbEdgeExtension` resource, this field is required and must only contain `
709- # REQUEST_HEADERS` event.
736+ # REQUEST_HEADERS` event. For the `AuthzExtension` resource, this field is
737+ # optional. `REQUEST_HEADERS` is the only supported event. If unspecified, `
738+ # REQUEST_HEADERS` event is assumed as supported.
710739 # Corresponds to the JSON property `supportedEvents`
711740 # @return [Array<String>]
712741 attr_accessor :supported_events
@@ -730,6 +759,8 @@ def update!(**args)
730759 @forward_headers = args [ :forward_headers ] if args . key? ( :forward_headers )
731760 @metadata = args [ :metadata ] if args . key? ( :metadata )
732761 @name = args [ :name ] if args . key? ( :name )
762+ @request_body_send_mode = args [ :request_body_send_mode ] if args . key? ( :request_body_send_mode )
763+ @response_body_send_mode = args [ :response_body_send_mode ] if args . key? ( :response_body_send_mode )
733764 @service = args [ :service ] if args . key? ( :service )
734765 @supported_events = args [ :supported_events ] if args . key? ( :supported_events )
735766 @timeout = args [ :timeout ] if args . key? ( :timeout )
0 commit comments