# frozen_string_literal: true

# Copyright 2023 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.

# Auto-generated by gapic-generator-ruby. DO NOT EDIT!


module Google
  module Cloud
    module Commerce
      module Consumer
        module Procurement
          module V1
            # Request message for
            # {::Google::Cloud::Commerce::Consumer::Procurement::V1::ConsumerProcurementService::Client#place_order ConsumerProcurementService.PlaceOrder}.
            # @!attribute [rw] parent
            #   @return [::String]
            #     Required. The resource name of the parent resource.
            #     This field has the form  `billingAccounts/{billing-account-id}`.
            # @!attribute [rw] display_name
            #   @return [::String]
            #     Required. The user-specified name of the order being placed.
            # @!attribute [rw] line_item_info
            #   @return [::Array<::Google::Cloud::Commerce::Consumer::Procurement::V1::LineItemInfo>]
            #     Optional. Places order for offer. Required when an offer-based order is
            #     being placed.
            # @!attribute [rw] request_id
            #   @return [::String]
            #     Optional. A unique identifier for this request.
            #     The server will ignore subsequent requests that provide a duplicate request
            #     ID for at least 120 minutes after the first request.
            #
            #     The request ID must be a valid
            #     [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format).
            class PlaceOrderRequest
              include ::Google::Protobuf::MessageExts
              extend ::Google::Protobuf::MessageExts::ClassMethods
            end

            # Message stored in the metadata field of the Operation returned by
            # {::Google::Cloud::Commerce::Consumer::Procurement::V1::ConsumerProcurementService::Client#place_order ConsumerProcurementService.PlaceOrder}.
            class PlaceOrderMetadata
              include ::Google::Protobuf::MessageExts
              extend ::Google::Protobuf::MessageExts::ClassMethods
            end

            # Request message for
            # {::Google::Cloud::Commerce::Consumer::Procurement::V1::ConsumerProcurementService::Client#get_order ConsumerProcurementService.GetOrder}
            # @!attribute [rw] name
            #   @return [::String]
            #     Required. The name of the order to retrieve.
            class GetOrderRequest
              include ::Google::Protobuf::MessageExts
              extend ::Google::Protobuf::MessageExts::ClassMethods
            end

            # Request message for
            # {::Google::Cloud::Commerce::Consumer::Procurement::V1::ConsumerProcurementService::Client#list_orders ConsumerProcurementService.ListOrders}.
            # @!attribute [rw] parent
            #   @return [::String]
            #     Required. The parent resource to query for orders.
            #     This field has the form `billingAccounts/{billing-account-id}`.
            # @!attribute [rw] page_size
            #   @return [::Integer]
            #     The maximum number of entries requested.
            #     The default page size is 25 and the maximum page size is 200.
            # @!attribute [rw] page_token
            #   @return [::String]
            #     The token for fetching the next page.
            # @!attribute [rw] filter
            #   @return [::String]
            #     Filter that you can use to limit the list request.
            #
            #     A query string that can match a selected set of attributes
            #     with string values. For example, `display_name=abc`.
            #     Supported query attributes are
            #
            #     * `display_name`
            #
            #     If the query contains special characters other than letters,
            #     underscore, or digits, the phrase must be quoted with double quotes. For
            #     example, `display_name="foo:bar"`, where the display name needs to be
            #     quoted because it contains special character colon.
            #
            #     Queries can be combined with `OR`, and `NOT` to form more complex queries.
            #     You can also group them to force a desired evaluation order.
            #     For example, `display_name=abc OR display_name=def`.
            class ListOrdersRequest
              include ::Google::Protobuf::MessageExts
              extend ::Google::Protobuf::MessageExts::ClassMethods
            end

            # Response message for
            # {::Google::Cloud::Commerce::Consumer::Procurement::V1::ConsumerProcurementService::Client#list_orders ConsumerProcurementService.ListOrders}.
            # @!attribute [rw] orders
            #   @return [::Array<::Google::Cloud::Commerce::Consumer::Procurement::V1::Order>]
            #     The list of orders in this response.
            # @!attribute [rw] next_page_token
            #   @return [::String]
            #     The token for fetching the next page.
            class ListOrdersResponse
              include ::Google::Protobuf::MessageExts
              extend ::Google::Protobuf::MessageExts::ClassMethods
            end
          end
        end
      end
    end
  end
end