diff --git a/.repo-metadata-full.json b/.repo-metadata-full.json index a6d0b360f96..b2998c4ff20 100644 --- a/.repo-metadata-full.json +++ b/.repo-metadata-full.json @@ -459,6 +459,14 @@ "library_type": "GAPIC_AUTO", "api_shortname": "cloudcommerceconsumerprocurement" }, + "Commerceproducer": { + "language": "php", + "distribution_name": "google/cloud-commerceproducer", + "release_level": "preview", + "client_documentation": "https://cloud.google.com/php/docs/reference/cloud-commerceproducer/latest", + "library_type": "GAPIC_AUTO", + "api_shortname": "commerceproducer" + }, "CommonProtos": { "language": "php", "distribution_name": "google/common-protos", @@ -805,14 +813,6 @@ "library_type": "GAPIC_AUTO", "api_shortname": "cloudfunctions" }, - "Gax": { - "language": "php", - "distribution_name": "google/gax", - "release_level": "stable", - "client_documentation": "https://cloud.google.com/php/docs/reference/gax/latest", - "library_type": "CORE", - "api_shortname": "" - }, "GSuiteAddOns": { "language": "php", "distribution_name": "google/cloud-gsuite-addons", @@ -823,6 +823,14 @@ "issue_tracker": "https://github.com/googleapis/google-cloud-php/issues", "api_shortname": "gsuiteaddons" }, + "Gax": { + "language": "php", + "distribution_name": "google/gax", + "release_level": "stable", + "client_documentation": "https://cloud.google.com/php/docs/reference/gax/latest", + "library_type": "CORE", + "api_shortname": "" + }, "GeminiDataAnalytics": { "language": "php", "distribution_name": "google/cloud-geminidataanalytics", diff --git a/Commerceproducer/.OwlBot.yaml b/Commerceproducer/.OwlBot.yaml new file mode 100644 index 00000000000..01dbd558e92 --- /dev/null +++ b/Commerceproducer/.OwlBot.yaml @@ -0,0 +1,4 @@ +deep-copy-regex: + - source: /google/cloud/commerceproducer/(v1beta)/.*-php/(.*) + dest: /owl-bot-staging/Commerceproducer/$1/$2 +api-name: Commerceproducer diff --git a/Commerceproducer/.gitattributes b/Commerceproducer/.gitattributes new file mode 100644 index 00000000000..4bf0fe6f415 --- /dev/null +++ b/Commerceproducer/.gitattributes @@ -0,0 +1,7 @@ +/*.xml.dist export-ignore +/.OwlBot.yaml export-ignore +/.github export-ignore +/owlbot.py export-ignore +/src/**/gapic_metadata.json export-ignore +/samples export-ignore +/tests export-ignore diff --git a/Commerceproducer/.github/pull_request_template.md b/Commerceproducer/.github/pull_request_template.md new file mode 100644 index 00000000000..375e9633199 --- /dev/null +++ b/Commerceproducer/.github/pull_request_template.md @@ -0,0 +1,24 @@ +**PLEASE READ THIS ENTIRE MESSAGE** + +Hello, and thank you for your contribution! Please note that this repository is +a read-only split of `googleapis/google-cloud-php`. As such, we are +unable to accept pull requests to this repository. + +We welcome your pull request and would be happy to consider it for inclusion in +our library if you follow these steps: + +* Clone the parent client library repository: + +```sh +$ git clone git@github.com:googleapis/google-cloud-php.git +``` + +* Move your changes into the correct location in that library. Library code +belongs in `Commerceproducer/src`, and tests in `Commerceproducer/tests`. + +* Push the changes in a new branch to a fork, and open a new pull request +[here](https://github.com/googleapis/google-cloud-php). + +Thanks again, and we look forward to seeing your proposed change! + +The Google Cloud PHP team diff --git a/Commerceproducer/CONTRIBUTING.md b/Commerceproducer/CONTRIBUTING.md new file mode 100644 index 00000000000..76ea811cacd --- /dev/null +++ b/Commerceproducer/CONTRIBUTING.md @@ -0,0 +1,10 @@ +# How to Contribute + +We'd love to accept your patches and contributions to this project. We accept +and review pull requests against the main +[Google Cloud PHP](https://github.com/googleapis/google-cloud-php) +repository, which contains all of our client libraries. You will also need to +sign a Contributor License Agreement. For more details about how to contribute, +see the +[CONTRIBUTING.md](https://github.com/googleapis/google-cloud-php/blob/main/CONTRIBUTING.md) +file in the main Google Cloud PHP repository. diff --git a/Commerceproducer/LICENSE b/Commerceproducer/LICENSE new file mode 100644 index 00000000000..8f71f43fee3 --- /dev/null +++ b/Commerceproducer/LICENSE @@ -0,0 +1,202 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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 + + http://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. + diff --git a/Commerceproducer/README.md b/Commerceproducer/README.md new file mode 100644 index 00000000000..9cdd7a89489 --- /dev/null +++ b/Commerceproducer/README.md @@ -0,0 +1,72 @@ +# Google Cloud Commerceproducer for PHP + +> Idiomatic PHP client for [Google Cloud Commerceproducer](https://docs.cloud.google.com/marketplace). + +[![Latest Stable Version](https://poser.pugx.org/google/cloud-commerceproducer/v/stable)](https://packagist.org/packages/google/cloud-commerceproducer) [![Packagist](https://img.shields.io/packagist/dm/google/cloud-commerceproducer.svg)](https://packagist.org/packages/google/cloud-commerceproducer) + +* [API documentation](https://cloud.google.com/php/docs/reference/cloud-commerceproducer/latest) + +**NOTE:** This repository is part of [Google Cloud PHP](https://github.com/googleapis/google-cloud-php). Any +support requests, bug reports, or development contributions should be directed to +that project. + +### Installation + +To begin, install the preferred dependency manager for PHP, [Composer](https://getcomposer.org/). + +Now, install this component: + +```sh +$ composer require google/cloud-commerceproducer +``` + +> Browse the complete list of [Google Cloud APIs](https://cloud.google.com/php/docs/reference) +> for PHP + +This component supports both REST over HTTP/1.1 and gRPC. In order to take advantage of the benefits +offered by gRPC (such as streaming methods) please see our +[gRPC installation guide](https://cloud.google.com/php/grpc). + +### Authentication + +Please see our [Authentication guide](https://github.com/googleapis/google-cloud-php/blob/main/AUTHENTICATION.md) for more information +on authenticating your client. Once authenticated, you'll be ready to start making requests. + +### Sample + +```php +use Google\ApiCore\ApiException; +use Google\Cloud\Commerceproducer\V1beta\Client\CommerceTransactionClient; +use Google\Cloud\Location\GetLocationRequest; +use Google\Cloud\Location\Location; + +// Create a client. +$commerceTransactionClient = new CommerceTransactionClient(); + +// Prepare the request message. +$request = new GetLocationRequest(); + +// Call the API and handle any network failures. +try { + /** @var Location $response */ + $response = $commerceTransactionClient->getLocation($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); +} catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); +} +``` + +See the [samples directory](https://github.com/googleapis/google-cloud-php-commerceproducer/tree/main/samples) for a canonical list of samples. + +### Debugging + +Please see our [Debugging guide](https://github.com/googleapis/google-cloud-php/blob/main/DEBUG.md) +for more information about the debugging tools. + +### Version + +This component is considered alpha. As such, it is still a work-in-progress and is more likely to get backwards-incompatible updates. + +### Next Steps + +1. Understand the [official documentation](https://docs.cloud.google.com/marketplace/docs/partners/commerce-producer-api/reference). diff --git a/Commerceproducer/SECURITY.md b/Commerceproducer/SECURITY.md new file mode 100644 index 00000000000..8b58ae9c01a --- /dev/null +++ b/Commerceproducer/SECURITY.md @@ -0,0 +1,7 @@ +# Security Policy + +To report a security issue, please use [g.co/vulnz](https://g.co/vulnz). + +The Google Security Team will respond within 5 working days of your report on g.co/vulnz. + +We use g.co/vulnz for our intake, and do coordination and disclosure here using GitHub Security Advisory to privately discuss and fix the issue. diff --git a/Commerceproducer/VERSION b/Commerceproducer/VERSION new file mode 100644 index 00000000000..77d6f4ca237 --- /dev/null +++ b/Commerceproducer/VERSION @@ -0,0 +1 @@ +0.0.0 diff --git a/Commerceproducer/composer.json b/Commerceproducer/composer.json new file mode 100644 index 00000000000..cc8f3311ea1 --- /dev/null +++ b/Commerceproducer/composer.json @@ -0,0 +1,30 @@ +{ + "name": "google/cloud-commerceproducer", + "description": "Google Cloud Commerceproducer Client for PHP", + "license": "Apache-2.0", + "minimum-stability": "stable", + "autoload": { + "psr-4": { + "Google\\Cloud\\Commerceproducer\\": "src", + "GPBMetadata\\Google\\Cloud\\Commerceproducer\\": "metadata" + } + }, + "extra": { + "component": { + "id": "cloud-commerceproducer", + "path": "Commerceproducer", + "target": "googleapis/google-cloud-php-commerceproducer" + } + }, + "require": { + "php": "^8.1", + "google/gax": "^1.46.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" + }, + "suggest": { + "ext-grpc": "Enables use of gRPC, a universal high-performance RPC framework created by Google.", + "ext-protobuf": "Provides a significant increase in throughput over the pure PHP protobuf implementation. See https://cloud.google.com/php/grpc for installation instructions." + } +} diff --git a/Commerceproducer/metadata/V1Beta/CommerceTransaction.php b/Commerceproducer/metadata/V1Beta/CommerceTransaction.php new file mode 100644 index 00000000000..848e060ba44 --- /dev/null +++ b/Commerceproducer/metadata/V1Beta/CommerceTransaction.php @@ -0,0 +1,35 @@ +internalAddGeneratedFile( + "\x0A\x86Q\x0A?google/cloud/commerceproducer/v1beta/commerce_transaction.proto\x12\$google.cloud.commerceproducer.v1beta\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A8google/cloud/commerceproducer/v1beta/private_offer.proto\x1A2google/cloud/commerceproducer/v1beta/service.proto\x1A.google/cloud/commerceproducer/v1beta/sku.proto\x1A4google/cloud/commerceproducer/v1beta/sku_group.proto\x1A9google/cloud/commerceproducer/v1beta/standard_offer.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\"\xBD\x01\x0A\x18ListPrivateOffersRequest\x12D\x0A\x06parent\x18\x01 \x01(\x09B4\xE0A\x02\xFAA.\x12,commerceproducer.googleapis.com/PrivateOffer\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x80\x01\x0A\x19ListPrivateOffersResponse\x12J\x0A\x0Eprivate_offers\x18\x01 \x03(\x0B22.google.cloud.commerceproducer.v1beta.PrivateOffer\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xA7\x01\x0A\x16GetPrivateOfferRequest\x12B\x0A\x04name\x18\x01 \x01(\x09B4\xE0A\x02\xFAA.\x0A,commerceproducer.googleapis.com/PrivateOffer\x12I\x0A\x04view\x18\x02 \x01(\x0E26.google.cloud.commerceproducer.v1beta.PrivateOfferViewB\x03\xE0A\x01\"\x8D\x02\x0A\x1DResolveAmendmentTargetRequest\x12D\x0A\x06parent\x18\x01 \x01(\x09B4\xE0A\x02\xFAA.\x12,commerceproducer.googleapis.com/PrivateOffer\x12R\x0A\x16target_billing_account\x18\x02 \x01(\x09B2\xE0A\x02\xFAA,\x0A*cloudbilling.googleapis.com/BillingAccount\x12R\x0A\x13base_standard_offer\x18\x03 \x01(\x09B5\xE0A\x02\xFAA/\x0A-commerceproducer.googleapis.com/StandardOffer\"\xB2\x03\x0A\x1EResolveAmendmentTargetResponse\x12S\x0A\x16required_private_offer\x18\x01 \x01(\x09B1\xFAA.\x0A,commerceproducer.googleapis.com/PrivateOfferH\x00\x12U\x0A\x17required_standard_offer\x18\x02 \x01(\x09B2\xFAA/\x0A-commerceproducer.googleapis.com/StandardOfferH\x00\x12n\x0A\x0Foptional_offers\x18\x03 \x01(\x0B2S.google.cloud.commerceproducer.v1beta.ResolveAmendmentTargetResponse.OptionalOffersH\x00\x1A[\x0A\x0EOptionalOffers\x12I\x0A\x0Eprivate_offers\x18\x01 \x03(\x09B1\xFAA.\x0A,commerceproducer.googleapis.com/PrivateOfferB\x17\x0A\x15amendment_requirement\"\xB1\x01\x0A\x19CreatePrivateOfferRequest\x12D\x0A\x06parent\x18\x01 \x01(\x09B4\xE0A\x02\xFAA.\x12,commerceproducer.googleapis.com/PrivateOffer\x12N\x0A\x0Dprivate_offer\x18\x03 \x01(\x0B22.google.cloud.commerceproducer.v1beta.PrivateOfferB\x03\xE0A\x02\"\xA1\x01\x0A\x19UpdatePrivateOfferRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12N\x0A\x0Dprivate_offer\x18\x02 \x01(\x0B22.google.cloud.commerceproducer.v1beta.PrivateOfferB\x03\xE0A\x02\"|\x0A\x1APublishPrivateOfferRequest\x12B\x0A\x04name\x18\x01 \x01(\x09B4\xE0A\x02\xFAA.\x0A,commerceproducer.googleapis.com/PrivateOffer\x12\x1A\x0A\x0Dvalidate_only\x18\x02 \x01(\x08B\x03\xE0A\x01\"\x7F\x0A\x19CancelPrivateOfferRequest\x12B\x0A\x04name\x18\x01 \x01(\x09B4\xE0A\x02\xFAA.\x0A,commerceproducer.googleapis.com/PrivateOffer\x12\x1E\x0A\x11cancellation_note\x18\x02 \x01(\x09B\x03\xE0A\x01\"s\x0A\x19DeletePrivateOfferRequest\x12B\x0A\x04name\x18\x01 \x01(\x09B4\xE0A\x02\xFAA.\x0A,commerceproducer.googleapis.com/PrivateOffer\x12\x12\x0A\x05force\x18\x02 \x01(\x08B\x03\xE0A\x01\"\xA1\x01\x0A ListPrivateOfferDocumentsRequest\x12L\x0A\x06parent\x18\x01 \x01(\x09B<\xE0A\x02\xFAA6\x124commerceproducer.googleapis.com/PrivateOfferDocument\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"\x99\x01\x0A!ListPrivateOfferDocumentsResponse\x12[\x0A\x17private_offer_documents\x18\x01 \x03(\x0B2:.google.cloud.commerceproducer.v1beta.PrivateOfferDocument\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"l\x0A\x1EGetPrivateOfferDocumentRequest\x12J\x0A\x04name\x18\x01 \x01(\x09B<\xE0A\x02\xFAA6\x0A4commerceproducer.googleapis.com/PrivateOfferDocument\"\xD2\x01\x0A!CreatePrivateOfferDocumentRequest\x12L\x0A\x06parent\x18\x01 \x01(\x09B<\xE0A\x02\xFAA6\x124commerceproducer.googleapis.com/PrivateOfferDocument\x12_\x0A\x16private_offer_document\x18\x03 \x01(\x0B2:.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentB\x03\xE0A\x02\"\xBA\x01\x0A!UpdatePrivateOfferDocumentRequest\x12_\x0A\x16private_offer_document\x18\x01 \x01(\x0B2:.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\"o\x0A!DeletePrivateOfferDocumentRequest\x12J\x0A\x04name\x18\x01 \x01(\x09B<\xE0A\x02\xFAA6\x0A4commerceproducer.googleapis.com/PrivateOfferDocument\"\x87\x01\x0A\x13ListServicesRequest\x12?\x0A\x06parent\x18\x01 \x01(\x09B/\xE0A\x02\xFAA)\x12'commerceproducer.googleapis.com/Service\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"p\x0A\x14ListServicesResponse\x12?\x0A\x08services\x18\x01 \x03(\x0B2-.google.cloud.commerceproducer.v1beta.Service\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\x98\x01\x0A\x11GetServiceRequest\x12=\x0A\x04name\x18\x01 \x01(\x09B/\xE0A\x02\xFAA)\x0A'commerceproducer.googleapis.com/Service\x12D\x0A\x04view\x18\x02 \x01(\x0E21.google.cloud.commerceproducer.v1beta.ServiceViewB\x03\xE0A\x01\"\xBF\x01\x0A\x19ListStandardOffersRequest\x12E\x0A\x06parent\x18\x01 \x01(\x09B5\xE0A\x02\xFAA/\x12-commerceproducer.googleapis.com/StandardOffer\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x83\x01\x0A\x1AListStandardOffersResponse\x12L\x0A\x0Fstandard_offers\x18\x01 \x03(\x0B23.google.cloud.commerceproducer.v1beta.StandardOffer\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xAA\x01\x0A\x17GetStandardOfferRequest\x12C\x0A\x04name\x18\x01 \x01(\x09B5\xE0A\x02\xFAA/\x0A-commerceproducer.googleapis.com/StandardOffer\x12J\x0A\x04view\x18\x02 \x01(\x0E27.google.cloud.commerceproducer.v1beta.StandardOfferViewB\x03\xE0A\x01\"\x7F\x0A\x0FListSkusRequest\x12;\x0A\x06parent\x18\x01 \x01(\x09B+\xE0A\x02\xFAA%\x12#commerceproducer.googleapis.com/Sku\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"d\x0A\x10ListSkusResponse\x127\x0A\x04skus\x18\x01 \x03(\x0B2).google.cloud.commerceproducer.v1beta.Sku\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"J\x0A\x0DGetSkuRequest\x129\x0A\x04name\x18\x01 \x01(\x09B+\xE0A\x02\xFAA%\x0A#commerceproducer.googleapis.com/Sku\"T\x0A\x12GetSkuGroupRequest\x12>\x0A\x04name\x18\x01 \x01(\x09B0\xE0A\x02\xFAA*\x0A(commerceproducer.googleapis.com/SkuGroup\"\x89\x01\x0A\x14ListSkuGroupsRequest\x12@\x0A\x06parent\x18\x01 \x01(\x09B0\xE0A\x02\xFAA*\x12(commerceproducer.googleapis.com/SkuGroup\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"t\x0A\x15ListSkuGroupsResponse\x12B\x0A\x0Asku_groups\x18\x01 \x03(\x0B2..google.cloud.commerceproducer.v1beta.SkuGroup\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09*q\x0A\x10PrivateOfferView\x12\"\x0A\x1EPRIVATE_OFFER_VIEW_UNSPECIFIED\x10\x00\x12\x1C\x0A\x18PRIVATE_OFFER_VIEW_BASIC\x10\x01\x12\x1B\x0A\x17PRIVATE_OFFER_VIEW_FULL\x10\x02*u\x0A\x11StandardOfferView\x12#\x0A\x1FSTANDARD_OFFER_VIEW_UNSPECIFIED\x10\x00\x12\x1D\x0A\x19STANDARD_OFFER_VIEW_BASIC\x10\x01\x12\x1C\x0A\x18STANDARD_OFFER_VIEW_FULL\x10\x02*Z\x0A\x0BServiceView\x12\x1C\x0A\x18SERVICE_VIEW_UNSPECIFIED\x10\x00\x12\x16\x0A\x12SERVICE_VIEW_BASIC\x10\x01\x12\x15\x0A\x11SERVICE_VIEW_FULL\x10\x022\xF5%\x0A\x13CommerceTransaction\x12\xC8\x01\x0A\x0CListServices\x129.google.cloud.commerceproducer.v1beta.ListServicesRequest\x1A:.google.cloud.commerceproducer.v1beta.ListServicesResponse\"A\xDAA\x06parent\x82\xD3\xE4\x93\x022\x120/v1beta/{parent=projects/*/locations/*}/services\x12\xB5\x01\x0A\x0AGetService\x127.google.cloud.commerceproducer.v1beta.GetServiceRequest\x1A-.google.cloud.commerceproducer.v1beta.Service\"?\xDAA\x04name\x82\xD3\xE4\x93\x022\x120/v1beta/{name=projects/*/locations/*/services/*}\x12\xDC\x01\x0A\x11ListPrivateOffers\x12>.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest\x1A?.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse\"F\xDAA\x06parent\x82\xD3\xE4\x93\x027\x125/v1beta/{parent=projects/*/locations/*}/privateOffers\x12\xC9\x01\x0A\x0FGetPrivateOffer\x12<.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest\x1A2.google.cloud.commerceproducer.v1beta.PrivateOffer\"D\xDAA\x04name\x82\xD3\xE4\x93\x027\x125/v1beta/{name=projects/*/locations/*/privateOffers/*}\x12\xAE\x02\x0A\x16ResolveAmendmentTarget\x12C.google.cloud.commerceproducer.v1beta.ResolveAmendmentTargetRequest\x1AD.google.cloud.commerceproducer.v1beta.ResolveAmendmentTargetResponse\"\x88\x01\xDAA1parent,target_billing_account,base_standard_offer\x82\xD3\xE4\x93\x02N\x12L/v1beta/{parent=projects/*/locations/*}/privateOffers:resolveAmendmentTarget\x12\xD7\x01\x0A\x12CreatePrivateOffer\x12?.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest\x1A2.google.cloud.commerceproducer.v1beta.PrivateOffer\"L\x82\xD3\xE4\x93\x02F\"5/v1beta/{parent=projects/*/locations/*}/privateOffers:\x0Dprivate_offer\x12\x81\x02\x0A\x12UpdatePrivateOffer\x12?.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest\x1A2.google.cloud.commerceproducer.v1beta.PrivateOffer\"v\xDAA\x19private_offer,update_mask\x82\xD3\xE4\x93\x02T2C/v1beta/{private_offer.name=projects/*/locations/*/privateOffers/*}:\x0Dprivate_offer\x12\xDC\x01\x0A\x13PublishPrivateOffer\x12@.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest\x1A2.google.cloud.commerceproducer.v1beta.PrivateOffer\"O\xDAA\x04name\x82\xD3\xE4\x93\x02B\"=/v1beta/{name=projects/*/locations/*/privateOffers/*}:publish:\x01*\x12\xD9\x01\x0A\x12CancelPrivateOffer\x12?.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest\x1A2.google.cloud.commerceproducer.v1beta.PrivateOffer\"N\xDAA\x04name\x82\xD3\xE4\x93\x02A\"internalAddGeneratedFile( + "\x0A\x9F8\x0A8google/cloud/commerceproducer/v1beta/private_offer.proto\x12\$google.cloud.commerceproducer.v1beta\x1A\x19google/api/resource.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x1Agoogle/type/datetime.proto\x1A\x19google/type/decimal.proto\x1A\x17google/type/money.proto\"\xF4.\x0A\x0CPrivateOffer\x12j\x0A\x14single_product_offer\x18\x0C \x01(\x0B2E.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOfferB\x03\xE0A\x01H\x00\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12L\x0A\x05state\x18\x03 \x01(\x0E28.google.cloud.commerceproducer.v1beta.PrivateOffer.StateB\x03\xE0A\x03\x12\x81\x01\x0A!publish_requirement_google_review\x18\x04 \x01(\x0B2Q.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReviewB\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x125\x0A\x0Cpublish_time\x18\x08 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Baccept_time\x18\x09 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bcancel_time\x18\x0A \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x121\x0A\x08end_time\x18\x16 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x1E\x0A\x11cancellation_note\x18\x0B \x01(\x09B\x03\xE0A\x03\x12a\x0A\x10reseller_contact\x18\x14 \x01(\x0B2B.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContactB\x03\xE0A\x03\x12\x1A\x0A\x0Dinternal_note\x18\x10 \x01(\x09B\x03\xE0A\x01\x12^\x0A\x0Foffer_deal_type\x18\x15 \x01(\x0E2@.google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealTypeB\x03\xE0A\x01\x12\x12\x0A\x05title\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dcustomer_note\x18\x11 \x01(\x09B\x03\xE0A\x01\x12_\x0A\x0Fpartner_contact\x18\x0E \x01(\x0B2A.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContactB\x03\xE0A\x01\x12R\x0A\x08customer\x18\x0D \x01(\x0B2;.google.cloud.commerceproducer.v1beta.PrivateOffer.CustomerB\x03\xE0A\x01\x128\x0A\x14accept_deadline_time\x18\x05 \x01(\x0B2\x15.google.type.DateTimeB\x03\xE0A\x01\x12J\x0A\x04term\x18\x0F \x01(\x0B27.google.cloud.commerceproducer.v1beta.PrivateOffer.TermB\x03\xE0A\x01\x1A^\x0A\x1EPublishRequirementGoogleReview\x12<\x0A\x13review_approve_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x1A;\x0A\x0FResellerContact\x12\x14\x0A\x07contact\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x12\x0A\x05email\x18\x02 \x01(\x09B\x03\xE0A\x03\x1A:\x0A\x0EPartnerContact\x12\x14\x0A\x07contact\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x12\x0A\x05email\x18\x02 \x01(\x09B\x03\xE0A\x01\x1A\xBB\x01\x0A\x08Customer\x12\x19\x0A\x0Centity_title\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x14\x0A\x07contact\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x12\x0A\x05email\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x07address\x18\x04 \x01(\x09B\x05\x18\x01\xE0A\x03\x12R\x0A\x16target_billing_account\x18\x05 \x01(\x09B2\xE0A\x01\xFAA,\x0A*cloudbilling.googleapis.com/BillingAccount\x1A\xBB\x05\x0A\x04Term\x12\x1E\x0A\x0Fduration_months\x18\x04 \x01(\x05B\x03\xE0A\x01H\x00\x128\x0A\x12scheduled_end_time\x18\x05 \x01(\x0B2\x15.google.type.DateTimeB\x03\xE0A\x01H\x00\x12 \x0A\x11max_renewal_count\x18\x06 \x01(\x05B\x03\xE0A\x01H\x01\x12\"\x0A\x11unlimited_renewal\x18\x07 \x01(\x08B\x05\x18\x01\xE0A\x03H\x01\x12^\x0A\x0Cstart_policy\x18\x01 \x01(\x0E2C.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicyB\x03\xE0A\x01\x128\x0A\x14scheduled_start_time\x18\x02 \x01(\x0B2\x15.google.type.DateTimeB\x03\xE0A\x01\x12Z\x0A\x0Aend_policy\x18\x03 \x01(\x0E2A.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicyB\x03\xE0A\x01\x12;\x0A\x17effective_term_end_time\x18\x08 \x01(\x0B2\x15.google.type.DateTimeB\x03\xE0A\x03\"T\x0A\x0BStartPolicy\x12\x1C\x0A\x18START_POLICY_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09IMMEDIATE\x10\x01\x12\x18\x0A\x14SCHEDULED_START_TIME\x10\x02\"l\x0A\x09EndPolicy\x12\x1A\x0A\x16END_POLICY_UNSPECIFIED\x10\x00\x12\x12\x0A\x0EAFTER_DURATION\x10\x01\x12\x16\x0A\x12SCHEDULED_END_TIME\x10\x02\x12\x17\x0A\x13MATCH_AMENDED_OFFER\x10\x03B\x11\x0A\x0Fend_policy_dataB\x09\x0A\x07renewal\x1A\xFD\x18\x0A\x12SingleProductOffer\x12U\x0A\x15amended_private_offer\x18\x03 \x01(\x09B4\xE0A\x01\xFAA.\x0A,commerceproducer.googleapis.com/PrivateOfferH\x00\x12W\x0A\x16amended_standard_offer\x18\x04 \x01(\x09B5\xE0A\x01\xFAA/\x0A-commerceproducer.googleapis.com/StandardOfferH\x00\x12\x83\x01\x0A\x17standard_interval_price\x18\x05 \x01(\x0B2[.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPriceB\x03\xE0A\x01H\x01\x12\x7F\x0A\x15custom_interval_price\x18\x06 \x01(\x0B2Y.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPriceB\x03\xE0A\x01H\x01\x12R\x0A\x13base_standard_offer\x18\x01 \x01(\x09B5\xE0A\x01\xFAA/\x0A-commerceproducer.googleapis.com/StandardOffer\x12\x1A\x0A\x0Dservice_level\x18\x02 \x01(\x09B\x03\xE0A\x03\x12+\x0A\x1Ereseller_private_offer_plan_id\x18\x0A \x01(\x09B\x03\xE0A\x03\x12d\x0A\x08features\x18\x08 \x03(\x0B2M.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.FeatureB\x03\xE0A\x01\x12~\x0A\x1Eeffective_installment_timeline\x18\x07 \x03(\x0B2Q.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.InstallmentB\x03\xE0A\x03\x12p\x0A\x0Econtract_value\x18\x0B \x01(\x0B2S.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValueB\x03\xE0A\x03\x12n\x0A\x0Drevenue_share\x18\x0C \x01(\x0B2R.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShareB\x03\xE0A\x03\x1A8\x0A\x07Feature\x12\x19\x0A\x0Cdisplay_name\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x12\x0A\x05value\x18\x02 \x01(\x09B\x03\xE0A\x01\x1A\x88\x08\x0A\x0APriceModel\x12q\x0A\x08flat_fee\x18\x02 \x01(\x0B2X.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFeeB\x03\xE0A\x01H\x00\x12v\x0A\x0Acommitment\x18\x03 \x01(\x0B2[.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.CommitmentB\x03\xE0A\x01H\x00\x12j\x0A\x05usage\x18\x01 \x01(\x0B2V.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.UsageB\x03\xE0A\x01\x1A\xB8\x01\x0A\x0BSkuDiscount\x12:\x0A\x03sku\x18\x01 \x01(\x09B+\xE0A\x01\xFAA%\x0A#commerceproducer.googleapis.com/SkuH\x00\x12 \x0A\x11cloud_billing_sku\x18\x03 \x01(\x09B\x03\xE0A\x01H\x00\x125\x0A\x10discount_percent\x18\x02 \x01(\x0B2\x14.google.type.DecimalB\x03\xE0A\x01H\x01B\x08\x0A\x06targetB\x0A\x0A\x08discount\x1A\xBE\x01\x0A\x05Usage\x12;\x0A\x18default_discount_percent\x18\x01 \x01(\x0B2\x14.google.type.DecimalB\x03\xE0A\x01\x12x\x0A\x0Dsku_discounts\x18\x02 \x03(\x0B2\\.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscountB\x03\xE0A\x01\x1A=\x0A\x07FlatFee\x122\x0A\x11flat_fee_override\x18\x01 \x01(\x0B2\x12.google.type.MoneyB\x03\xE0A\x01\x1A\xD7\x01\x0A\x0ACommitment\x122\x0A\x11commitment_amount\x18\x01 \x01(\x0B2\x12.google.type.MoneyB\x03\xE0A\x01\x123\x0A\x10discount_percent\x18\x02 \x01(\x0B2\x14.google.type.DecimalB\x03\xE0A\x01\x122\x0A\x11additional_credit\x18\x03 \x01(\x0B2\x12.google.type.MoneyB\x03\xE0A\x01\x12,\x0A\x1Fdiscard_previous_credit_balance\x18\x04 \x01(\x08B\x03\xE0A\x01B\x0E\x0A\x0Csubscription\x1A\xC8\x03\x0A\x15StandardIntervalPrice\x12\x8C\x01\x0A\x11standard_interval\x18\x01 \x01(\x0E2l.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice.StandardIntervalB\x03\xE0A\x01\x12j\x0A\x0Bprice_model\x18\x02 \x01(\x0B2P.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModelB\x03\xE0A\x01\"\xB3\x01\x0A\x10StandardInterval\x12!\x0A\x1DSTANDARD_INTERVAL_UNSPECIFIED\x10\x00\x12\x17\x0A\x0FMONTHLY_POSTPAY\x10\x01\x1A\x02\x08\x01\x12\x14\x0A\x10MONTHLY_PRORATED\x10\x02\x12\x18\x0A\x14MONTHLY_NOT_PRORATED\x10\x03\x12\x1A\x0A\x16QUARTERLY_NOT_PRORATED\x10\x04\x12\x17\x0A\x13YEARLY_NOT_PRORATED\x10\x05\x1A\xA9\x01\x0A\x0BInstallment\x12.\x0A\x0Astart_time\x18\x01 \x01(\x0B2\x15.google.type.DateTimeB\x03\xE0A\x01\x12j\x0A\x0Bprice_model\x18\x02 \x01(\x0B2P.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModelB\x03\xE0A\x01\x1A\x83\x01\x0A\x13CustomIntervalPrice\x12l\x0A\x0Cinstallments\x18\x01 \x03(\x0B2Q.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.InstallmentB\x03\xE0A\x01\x1AF\x0A\x0DContractValue\x125\x0A\x14total_contract_value\x18\x01 \x01(\x0B2\x12.google.type.MoneyB\x03\xE0A\x03\x1A\xA6\x01\x0A\x0CRevenueShare\x12J\x0A'current_term_vendor_net_revenue_percent\x18\x01 \x01(\x0B2\x14.google.type.DecimalB\x03\xE0A\x03\x12J\x0A'renewal_term_vendor_net_revenue_percent\x18\x02 \x01(\x0B2\x14.google.type.DecimalB\x03\xE0A\x03B\x0F\x0A\x0Damended_offerB\x07\x0A\x05price\"}\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05DRAFT\x10\x01\x12\x0E\x0A\x0APUBLISHING\x10\x02\x12\x0D\x0A\x09PUBLISHED\x10\x03\x12\x0C\x0A\x08ACCEPTED\x10\x04\x12\x0D\x0A\x09CANCELLED\x10\x05\x12\x0B\x0A\x07EXPIRED\x10\x06\x12\x09\x0A\x05ENDED\x10\x07\"o\x0A\x0DOfferDealType\x12\x1F\x0A\x1BOFFER_DEAL_TYPE_UNSPECIFIED\x10\x00\x12\x11\x0A\x0DCHANNEL_SHIFT\x10\x01\x12\x0D\x0A\x09MIGRATION\x10\x02\x12\x12\x0A\x0ENATIVE_RENEWAL\x10\x03\x12\x07\x0A\x03NEW\x10\x04:\x96\x01\xEAA\x92\x01\x0A,commerceproducer.googleapis.com/PrivateOffer\x12Eprojects/{project}/locations/{location}/privateOffers/{private_offer}*\x0DprivateOffers2\x0CprivateOfferB\x09\x0A\x07content\"\xC8\x05\x0A\x14PrivateOfferDocument\x12\x1D\x0A\x0Einline_content\x18\x06 \x01(\x0CB\x03\xE0A\x01H\x00\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x124\x0A\x0Bcreate_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12c\x0A\x0Ddocument_type\x18\x04 \x01(\x0E2G.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentTypeB\x03\xE0A\x02\x12\x16\x0A\x09mime_type\x18\x05 \x01(\x09B\x03\xE0A\x01\"\xC3\x01\x0A\x0CDocumentType\x12\x1D\x0A\x19DOCUMENT_TYPE_UNSPECIFIED\x10\x00\x12%\x0A!CUSTOM_END_USER_LICENSE_AGREEMENT\x10\x01\x12\x15\x0A\x11STATEMENT_OF_WORK\x10\x02\x12*\x0A&STANDARD_END_USER_LICENSE_AGREEMENT_V1\x10\x03\x12*\x0A&STANDARD_END_USER_LICENSE_AGREEMENT_V2\x10\x04:\xC3\x01\xEAA\xBF\x01\x0A4commerceproducer.googleapis.com/PrivateOfferDocument\x12Zprojects/{project}/locations/{location}/privateOffers/{private_offer}/documents/{document}*\x15privateOfferDocuments2\x14privateOfferDocumentB\x09\x0A\x07contentB\xE6\x01\x0A(com.google.cloud.commerceproducer.v1betaB\x11PrivateOfferProtoP\x01ZTcloud.google.com/go/commerceproducer/apiv1beta/commerceproducerpb;commerceproducerpb\xAA\x02\$Google.Cloud.CommerceProducer.V1Beta\xEA\x02'Google::Cloud::CommerceProducer::V1betab\x06proto3" + , true); + + static::$is_initialized = true; + } +} + diff --git a/Commerceproducer/metadata/V1Beta/Service.php b/Commerceproducer/metadata/V1Beta/Service.php new file mode 100644 index 00000000000..39dc930cb00 --- /dev/null +++ b/Commerceproducer/metadata/V1Beta/Service.php @@ -0,0 +1,26 @@ +internalAddGeneratedFile( + "\x0A\x91\x04\x0A2google/cloud/commerceproducer/v1beta/service.proto\x12\$google.cloud.commerceproducer.v1beta\x1A\x19google/api/resource.proto\"\xAD\x01\x0A\x07Service\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x12\x0A\x05title\x18\x02 \x01(\x09B\x03\xE0A\x03:{\xEAAx\x0A'commerceproducer.googleapis.com/Service\x12:projects/{project}/locations/{location}/services/{service}*\x08services2\x07serviceB\xE1\x01\x0A(com.google.cloud.commerceproducer.v1betaB\x0CServiceProtoP\x01ZTcloud.google.com/go/commerceproducer/apiv1beta/commerceproducerpb;commerceproducerpb\xAA\x02\$Google.Cloud.CommerceProducer.V1Beta\xEA\x02'Google::Cloud::CommerceProducer::V1betab\x06proto3" + , true); + + static::$is_initialized = true; + } +} + diff --git a/Commerceproducer/metadata/V1Beta/Sku.php b/Commerceproducer/metadata/V1Beta/Sku.php new file mode 100644 index 00000000000..25a94a9ea55 --- /dev/null +++ b/Commerceproducer/metadata/V1Beta/Sku.php @@ -0,0 +1,30 @@ +internalAddGeneratedFile( + "\x0A\xC48\x0A.google/cloud/commerceproducer/v1beta/sku.proto\x12\$google.cloud.commerceproducer.v1beta\x1A\x19google/api/resource.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x19google/type/decimal.proto\x1A\x17google/type/money.proto\"\xF34\x0A\x03Sku\x12\x14\x0A\x04name\x18\x01 \x01(\x09B\x06\xE0A\x08\xE0A\x03\x12\x18\x0A\x0Bdescription\x18\x02 \x01(\x09B\x03\xE0A\x03\x12S\x0A\x12sku_price_timeline\x18\x03 \x03(\x0B22.google.cloud.commerceproducer.v1beta.Sku.SkuPriceB\x03\xE0A\x03\x1A\xEA2\x0A\x08SkuPrice\x12\\\x0A\x08inactive\x18\x02 \x01(\x0B2C.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPriceB\x03\xE0A\x03H\x00\x12\x80\x01\x0A managed_service_metric_usage_fee\x18\x03 \x01(\x0B2O.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFeeB\x03\xE0A\x03H\x00\x12u\x0A\x15gce_license_usage_fee\x18\x04 \x01(\x0B2O.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFeeB\x03\xE0A\x03H\x00\x12p\x0A\x11gke_pod_usage_fee\x18\x05 \x01(\x0B2N.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFeeB\x03\xE0A\x03H\x00\x12\x85\x01\x0A#ai_platform_managed_model_usage_fee\x18\x06 \x01(\x0B2Q.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFeeB\x03\xE0A\x03H\x00\x12\x8C\x01\x0A&ai_platform_provisioned_throughput_fee\x18\x07 \x01(\x0B2U.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFeeB\x03\xE0A\x03H\x00\x12\x87\x01\x0A\$ai_platform_deployed_model_usage_fee\x18\x08 \x01(\x0B2R.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFeeB\x03\xE0A\x03H\x00\x12l\x0A\x15flat_subscription_fee\x18\x09 \x01(\x0B2F.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFeeB\x03\xE0A\x03H\x00\x127\x0A\x0Eeffective_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x1A\x12\x0A\x10InactiveSkuPrice\x1A\xAD\x01\x0A\x1CManagedServiceMetricUsageFee\x12[\x0A\x0Ctiered_price\x18\x02 \x01(\x0B2>.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPriceB\x03\xE0A\x03H\x00\x12\x1D\x0A\x10canonical_metric\x18\x01 \x01(\x09B\x03\xE0A\x03B\x11\x0A\x0Fprice_structure\x1A\xD9\x06\x0A\x1CComputeEngineLicenseUsageFee\x12,\x0A\x0Eprice_per_unit\x18\x06 \x01(\x0B2\x12.google.type.MoneyH\x00\x12\x19\x0A\x0Clicense_code\x18\x01 \x01(\x09B\x03\xE0A\x03\x12~\x0A\x10machine_resource\x18\x02 \x01(\x0E2_.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceB\x03\xE0A\x03\x12\x89\x01\x0A\x16machine_resource_range\x18\x03 \x01(\x0B2d.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRangeB\x03\xE0A\x03\x12\x80\x01\x0A\x11usage_calculation\x18\x04 \x01(\x0E2`.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.UsageCalculationB\x03\xE0A\x03\x12\x11\x0A\x04unit\x18\x05 \x01(\x09B\x03\xE0A\x03\x1A[\x0A\x14MachineResourceRange\x12\x18\x0A\x0Bstart_value\x18\x01 \x01(\x03B\x03\xE0A\x03\x12\x1B\x0A\x09end_value\x18\x02 \x01(\x03B\x03\xE0A\x03H\x00\x88\x01\x01B\x0C\x0A\x0A_end_value\"d\x0A\x0FMachineResource\x12 \x0A\x1CMACHINE_RESOURCE_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0AVCPU_COUNT\x10\x01\x12\x10\x0A\x0CMEMORY_BYTES\x10\x02\x12\x0D\x0A\x09GPU_COUNT\x10\x03\"x\x0A\x10UsageCalculation\x12!\x0A\x1DUSAGE_CALCULATION_UNSPECIFIED\x10\x00\x12\x14\x0A\x10INSTANCE_RUNTIME\x10\x01\x12+\x0A'LINEAR_RESOURCE_SCALED_INSTANCE_RUNTIME\x10\x02B\x11\x0A\x0Fprice_structure\x1A\xA2\x06\x0A\x1BKubernetesEnginePodUsageFee\x12,\x0A\x0Eprice_per_unit\x18\x06 \x01(\x0B2\x12.google.type.MoneyH\x00\x12u\x0A\x0Cpod_resource\x18\x02 \x01(\x0E2Z.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceB\x03\xE0A\x03\x12\x80\x01\x0A\x12pod_resource_range\x18\x03 \x01(\x0B2_.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRangeB\x03\xE0A\x03\x12\x7F\x0A\x11usage_calculation\x18\x04 \x01(\x0E2_.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.UsageCalculationB\x03\xE0A\x03\x12\x11\x0A\x04unit\x18\x05 \x01(\x09B\x03\xE0A\x03\x1AW\x0A\x10PodResourceRange\x12\x18\x0A\x0Bstart_value\x18\x01 \x01(\x03B\x03\xE0A\x03\x12\x1B\x0A\x09end_value\x18\x02 \x01(\x03B\x03\xE0A\x03H\x00\x88\x01\x01B\x0C\x0A\x0A_end_value\"k\x0A\x0BPodResource\x12\x1C\x0A\x18POD_RESOURCE_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0AVCPU_COUNT\x10\x01\x12\x10\x0A\x0CMEMORY_BYTES\x10\x02\x12\x0D\x0A\x09GPU_COUNT\x10\x03\x12\x0D\x0A\x09TPU_COUNT\x10\x04\"n\x0A\x10UsageCalculation\x12!\x0A\x1DUSAGE_CALCULATION_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BPOD_RUNTIME\x10\x01\x12&\x0A\"LINEAR_RESOURCE_SCALED_POD_RUNTIME\x10\x02B\x11\x0A\x0Fprice_structure\x1A\xFB\x11\x0A\x1EAiPlatformManagedModelUsageFee\x12[\x0A\x0Ctiered_price\x18\x07 \x01(\x0B2>.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPriceB\x03\xE0A\x03H\x00\x12\x8E\x01\x0A\x0Cusage_metric\x18\x01 \x01(\x0B2s.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetricB\x03\xE0A\x03\x12p\x0A\x08location\x18\x03 \x01(\x0B2Y.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocationB\x03\xE0A\x03\x12~\x0A\x0Fprediction_mode\x18\x04 \x01(\x0E2`.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.PredictionModeB\x03\xE0A\x03\x12\xA3\x01\x0A#combined_request_input_tokens_range\x18\x05 \x01(\x0B2q.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRangeB\x03\xE0A\x03\x12\x9B\x01\x0A\x1Eprovisioned_throughput_overage\x18\x06 \x01(\x0B2n.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverageB\x03\xE0A\x03\x1A\xF7\x08\x0A!AiPlatformManagedModelUsageMetric\x12\xAA\x01\x0A\x13input_tokens_metric\x18\x01 \x01(\x0B2\x85\x01.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetricB\x03\xE0A\x03H\x00\x12\xBE\x01\x0A\x1Ecache_read_input_tokens_metric\x18\x02 \x01(\x0B2\x8E\x01.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetricB\x03\xE0A\x03H\x00\x12\xC0\x01\x0A\x1Fcache_write_input_tokens_metric\x18\x03 \x01(\x0B2\x8F\x01.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetricB\x03\xE0A\x03H\x00\x12\xAC\x01\x0A\x14output_tokens_metric\x18\x04 \x01(\x0B2\x86\x01.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetricB\x03\xE0A\x03H\x00\x12\xB7\x01\x0A\x1Aweb_search_requests_metric\x18\x05 \x01(\x0B2\x8B\x01.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetricB\x03\xE0A\x03H\x00\x1A\x13\x0A\x11InputTokensMetric\x1A\x1C\x0A\x1ACacheReadInputTokensMetric\x1AJ\x0A\x1BCacheWriteInputTokensMetric\x12+\x0A\x03ttl\x18\x01 \x01(\x0B2\x19.google.protobuf.DurationB\x03\xE0A\x03\x1A\x14\x0A\x12OutputTokensMetric\x1A\x19\x0A\x17WebSearchRequestsMetricB\x08\x0A\x06metric\x1Af\x0A\x1FCombinedRequestInputTokensRange\x12\x18\x0A\x0Bstart_value\x18\x01 \x01(\x03B\x03\xE0A\x03\x12\x1B\x0A\x09end_value\x18\x02 \x01(\x03B\x03\xE0A\x03H\x00\x88\x01\x01B\x0C\x0A\x0A_end_value\x1A`\x0A\x1CProvisionedThroughputOverage\x12@\x0A\x07service\x18\x01 \x01(\x09B/\xE0A\x03\xFAA)\x12'commerceproducer.googleapis.com/Service\"^\x0A\x0EPredictionMode\x12\x1F\x0A\x1BPREDICTION_MODE_UNSPECIFIED\x10\x00\x12\x15\x0A\x11ONLINE_PREDICTION\x10\x01\x12\x14\x0A\x10BATCH_PREDICTION\x10\x02B\x11\x0A\x0Fprice_structure\x1A\x9B\x02\x0A\"AiPlatformProvisionedThroughputFee\x12#\x0A\x14term_duration_months\x18\x02 \x01(\x05B\x03\xE0A\x03H\x00\x120\x0A\x12gsu_price_per_unit\x18\x04 \x01(\x0B2\x12.google.type.MoneyH\x01\x12p\x0A\x08location\x18\x01 \x01(\x0B2Y.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocationB\x03\xE0A\x03\x12\x11\x0A\x04unit\x18\x03 \x01(\x09B\x03\xE0A\x03B\x06\x0A\x04termB\x11\x0A\x0Fprice_structure\x1A\x9C\x03\x0A\x1FAiPlatformDeployedModelUsageFee\x12\x1F\x0A\x10accelerator_type\x18\x02 \x01(\x09B\x03\xE0A\x03H\x00\x121\x0A\x0Eprice_per_unit\x18\x05 \x01(\x0B2\x12.google.type.MoneyB\x03\xE0A\x03H\x01\x12\x11\x0A\x04unit\x18\x03 \x01(\x09B\x03\xE0A\x03\x12\x83\x01\x0A\x11usage_calculation\x18\x04 \x01(\x0E2c.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee.UsageCalculationB\x03\xE0A\x03\"d\x0A\x10UsageCalculation\x12!\x0A\x1DUSAGE_CALCULATION_UNSPECIFIED\x10\x00\x12-\x0A)LINEAR_RESOURCE_SCALED_DEPLOYMENT_RUNTIME\x10\x02B\x13\x0A\x11hardware_resourceB\x11\x0A\x0Fprice_structure\x1An\x0A\x13FlatSubscriptionFee\x121\x0A\x0Eprice_per_unit\x18\x03 \x01(\x0B2\x12.google.type.MoneyB\x03\xE0A\x03H\x00\x12\x11\x0A\x04unit\x18\x02 \x01(\x09B\x03\xE0A\x03B\x11\x0A\x0Fprice_structure\x1A\xBE\x02\x0A\x0BTieredPrice\x12\x11\x0A\x04unit\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x1D\x0A\x10unit_description\x18\x02 \x01(\x09B\x03\xE0A\x03\x123\x0A\x10price_unit_count\x18\x03 \x01(\x0B2\x14.google.type.DecimalB\x03\xE0A\x03\x12b\x0A\x0Bprice_tiers\x18\x04 \x03(\x0B2H.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTierB\x03\xE0A\x03\x1Ad\x0A\x09PriceTier\x12/\x0A\x0Cstart_amount\x18\x01 \x01(\x0B2\x14.google.type.DecimalB\x03\xE0A\x03\x12&\x0A\x05price\x18\x02 \x01(\x0B2\x12.google.type.MoneyB\x03\xE0A\x03\x1A\x8E\x01\x0A&AiPlatformManagedModelEndpointLocation\x12\x18\x0A\x09region_id\x18\x01 \x01(\x09B\x03\xE0A\x03H\x00\x12\x1E\x0A\x0Fglobal_endpoint\x18\x02 \x01(\x08B\x03\xE0A\x03H\x00\x12\x1E\x0A\x0Fmulti_region_id\x18\x03 \x01(\x09B\x03\xE0A\x03H\x00B\x0A\x0A\x08locationB\x0A\x0A\x08sku_type:z\xEAAw\x0A#commerceproducer.googleapis.com/Sku\x12Eprojects/{project}/locations/{location}/services/{service}/skus/{sku}*\x04skus2\x03skuB\xDD\x01\x0A(com.google.cloud.commerceproducer.v1betaB\x08SkuProtoP\x01ZTcloud.google.com/go/commerceproducer/apiv1beta/commerceproducerpb;commerceproducerpb\xAA\x02\$Google.Cloud.CommerceProducer.V1Beta\xEA\x02'Google::Cloud::CommerceProducer::V1betab\x06proto3" + , true); + + static::$is_initialized = true; + } +} + diff --git a/Commerceproducer/metadata/V1Beta/SkuGroup.php b/Commerceproducer/metadata/V1Beta/SkuGroup.php new file mode 100644 index 00000000000..4f109a0e957 --- /dev/null +++ b/Commerceproducer/metadata/V1Beta/SkuGroup.php @@ -0,0 +1,26 @@ +internalAddGeneratedFile( + "\x0A\xE7\x04\x0A4google/cloud/commerceproducer/v1beta/sku_group.proto\x12\$google.cloud.commerceproducer.v1beta\x1A\x19google/api/resource.proto\"\x80\x02\x0A\x08SkuGroup\x12\x14\x0A\x04name\x18\x01 \x01(\x09B\x06\xE0A\x03\xE0A\x08\x129\x0A\x04skus\x18\x02 \x03(\x09B+\xE0A\x03\xFAA%\x0A#commerceproducer.googleapis.com/Sku\x12\x1F\x0A\x12cloud_billing_skus\x18\x03 \x03(\x09B\x03\xE0A\x03:\x81\x01\xEAA~\x0A(commerceproducer.googleapis.com/SkuGroup\x12=projects/{project}/locations/{location}/skuGroups/{sku_group}*\x09skuGroups2\x08skuGroupB\xE2\x01\x0A(com.google.cloud.commerceproducer.v1betaB\x0DSkuGroupProtoP\x01ZTcloud.google.com/go/commerceproducer/apiv1beta/commerceproducerpb;commerceproducerpb\xAA\x02\$Google.Cloud.CommerceProducer.V1Beta\xEA\x02'Google::Cloud::CommerceProducer::V1betab\x06proto3" + , true); + + static::$is_initialized = true; + } +} + diff --git a/Commerceproducer/metadata/V1Beta/StandardOffer.php b/Commerceproducer/metadata/V1Beta/StandardOffer.php new file mode 100644 index 00000000000..6c4f9df1810 --- /dev/null +++ b/Commerceproducer/metadata/V1Beta/StandardOffer.php @@ -0,0 +1,27 @@ +internalAddGeneratedFile( + "\x0A\xB7\x0D\x0A9google/cloud/commerceproducer/v1beta/standard_offer.proto\x12\$google.cloud.commerceproducer.v1beta\x1A\x19google/api/resource.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\xA5\x0A\x0A\x0DStandardOffer\x12#\x0A\x14term_duration_months\x18\x07 \x01(\x05B\x03\xE0A\x03H\x00\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x124\x0A\x0Bcreate_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x127\x0A\x0Eeffective_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bexpire_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x1A\x0A\x0Dservice_level\x18\x06 \x01(\x09B\x03\xE0A\x03\x12 \x0A\x13service_level_title\x18\x09 \x01(\x09B\x03\xE0A\x03\x12X\x0A\x0Bprice_model\x18\x08 \x01(\x0B2>.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModelB\x03\xE0A\x03\x1A\xAF\x05\x0A\x0APriceModel\x12k\x0A\x08flat_fee\x18\x02 \x01(\x0B2R.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscriptionB\x03\xE0A\x03H\x00\x12X\x0A\x05usage\x18\x01 \x01(\x0B2D.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.UsageB\x03\xE0A\x03\x1AD\x0A\x07SkuList\x129\x0A\x04skus\x18\x01 \x03(\x09B+\xE0A\x03\xFAA%\x0A#commerceproducer.googleapis.com/Sku\x1AT\x0A\x0CSkuGroupList\x12D\x0A\x0Asku_groups\x18\x01 \x03(\x09B0\xE0A\x03\xFAA*\x0A(commerceproducer.googleapis.com/SkuGroup\x1A\xDC\x01\x0A\x05Usage\x12_\x0A\x08sku_list\x18\x01 \x01(\x0B2F.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuListB\x03\xE0A\x03H\x00\x12j\x0A\x0Esku_group_list\x18\x02 \x01(\x0B2K.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupListB\x03\xE0A\x03H\x00B\x06\x0A\x04skus\x1AO\x0A\x13FlatFeeSubscription\x128\x0A\x03sku\x18\x01 \x01(\x09B+\xE0A\x03\xFAA%\x0A#commerceproducer.googleapis.com/SkuB\x0E\x0A\x0Csubscription:\xAE\x01\xEAA\xAA\x01\x0A-commerceproducer.googleapis.com/StandardOffer\x12Zprojects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}*\x0EstandardOffers2\x0DstandardOfferB\x06\x0A\x04termB\xE7\x01\x0A(com.google.cloud.commerceproducer.v1betaB\x12StandardOfferProtoP\x01ZTcloud.google.com/go/commerceproducer/apiv1beta/commerceproducerpb;commerceproducerpb\xAA\x02\$Google.Cloud.CommerceProducer.V1Beta\xEA\x02'Google::Cloud::CommerceProducer::V1betab\x06proto3" + , true); + + static::$is_initialized = true; + } +} + diff --git a/Commerceproducer/owlbot.py b/Commerceproducer/owlbot.py new file mode 100644 index 00000000000..fd458979b0d --- /dev/null +++ b/Commerceproducer/owlbot.py @@ -0,0 +1,47 @@ +# Copyright 2024 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 +# +# http://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. + +"""This script is used to synthesize generated parts of this library.""" + +import logging +from pathlib import Path +import subprocess + +import synthtool as s +from synthtool.languages import php +from synthtool import _tracked_paths + +logging.basicConfig(level=logging.DEBUG) + +src = Path(f"../{php.STAGING_DIR}/Commerceproducer").resolve() +dest = Path().resolve() + +# Added so that we can pass copy_excludes in the owlbot_main() call +_tracked_paths.add(src) + +php.owlbot_main(src=src, dest=dest) + +# format generated clients +subprocess.run([ + 'npm', + 'exec', + '--yes', + '--package=@prettier/plugin-php@^0.19', + '--', + 'prettier', + '**/Client/*', + '--write', + '--parser=php', + '--single-quote', + '--print-width=120']) diff --git a/Commerceproducer/phpunit.xml.dist b/Commerceproducer/phpunit.xml.dist new file mode 100644 index 00000000000..41802e1bed8 --- /dev/null +++ b/Commerceproducer/phpunit.xml.dist @@ -0,0 +1,16 @@ + + + + + src + + + src/V[!a-zA-Z]* + + + + + tests/Unit + + + diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/cancel_private_offer.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/cancel_private_offer.php new file mode 100644 index 00000000000..0fed7ee506d --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/cancel_private_offer.php @@ -0,0 +1,75 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var PrivateOffer $response */ + $response = $commerceTransactionClient->cancelPrivateOffer($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = CommerceTransactionClient::privateOfferName( + '[PROJECT]', + '[LOCATION]', + '[PRIVATE_OFFER]' + ); + + cancel_private_offer_sample($formattedName); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_CancelPrivateOffer_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/create_private_offer.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/create_private_offer.php new file mode 100644 index 00000000000..1f7116bc8c8 --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/create_private_offer.php @@ -0,0 +1,73 @@ +setParent($formattedParent) + ->setPrivateOffer($privateOffer); + + // Call the API and handle any network failures. + try { + /** @var PrivateOffer $response */ + $response = $commerceTransactionClient->createPrivateOffer($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedParent = CommerceTransactionClient::locationName('[PROJECT]', '[LOCATION]'); + + create_private_offer_sample($formattedParent); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_CreatePrivateOffer_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/create_private_offer_document.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/create_private_offer_document.php new file mode 100644 index 00000000000..fe98aae3fc9 --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/create_private_offer_document.php @@ -0,0 +1,85 @@ +setDocumentType($privateOfferDocumentDocumentType); + $request = (new CreatePrivateOfferDocumentRequest()) + ->setParent($formattedParent) + ->setPrivateOfferDocument($privateOfferDocument); + + // Call the API and handle any network failures. + try { + /** @var PrivateOfferDocument $response */ + $response = $commerceTransactionClient->createPrivateOfferDocument($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedParent = CommerceTransactionClient::privateOfferName( + '[PROJECT]', + '[LOCATION]', + '[PRIVATE_OFFER]' + ); + $privateOfferDocumentDocumentType = DocumentType::DOCUMENT_TYPE_UNSPECIFIED; + + create_private_offer_document_sample($formattedParent, $privateOfferDocumentDocumentType); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_CreatePrivateOfferDocument_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/delete_private_offer.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/delete_private_offer.php new file mode 100644 index 00000000000..ea13f6d4e28 --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/delete_private_offer.php @@ -0,0 +1,73 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + $commerceTransactionClient->deletePrivateOffer($request); + printf('Call completed successfully.' . PHP_EOL); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = CommerceTransactionClient::privateOfferName( + '[PROJECT]', + '[LOCATION]', + '[PRIVATE_OFFER]' + ); + + delete_private_offer_sample($formattedName); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_DeletePrivateOffer_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/delete_private_offer_document.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/delete_private_offer_document.php new file mode 100644 index 00000000000..520821a3b80 --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/delete_private_offer_document.php @@ -0,0 +1,74 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + $commerceTransactionClient->deletePrivateOfferDocument($request); + printf('Call completed successfully.' . PHP_EOL); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = CommerceTransactionClient::privateOfferDocumentName( + '[PROJECT]', + '[LOCATION]', + '[PRIVATE_OFFER]', + '[DOCUMENT]' + ); + + delete_private_offer_document_sample($formattedName); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_DeletePrivateOfferDocument_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_location.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_location.php new file mode 100644 index 00000000000..732489ecb13 --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_location.php @@ -0,0 +1,57 @@ +getLocation($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetLocation_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_private_offer.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_private_offer.php new file mode 100644 index 00000000000..c9217aa9c6d --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_private_offer.php @@ -0,0 +1,75 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var PrivateOffer $response */ + $response = $commerceTransactionClient->getPrivateOffer($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = CommerceTransactionClient::privateOfferName( + '[PROJECT]', + '[LOCATION]', + '[PRIVATE_OFFER]' + ); + + get_private_offer_sample($formattedName); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetPrivateOffer_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_private_offer_document.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_private_offer_document.php new file mode 100644 index 00000000000..9f055812388 --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_private_offer_document.php @@ -0,0 +1,76 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var PrivateOfferDocument $response */ + $response = $commerceTransactionClient->getPrivateOfferDocument($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = CommerceTransactionClient::privateOfferDocumentName( + '[PROJECT]', + '[LOCATION]', + '[PRIVATE_OFFER]', + '[DOCUMENT]' + ); + + get_private_offer_document_sample($formattedName); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetPrivateOfferDocument_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_service.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_service.php new file mode 100644 index 00000000000..f9b86f02556 --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_service.php @@ -0,0 +1,71 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var Service $response */ + $response = $commerceTransactionClient->getService($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = CommerceTransactionClient::serviceName('[PROJECT]', '[LOCATION]', '[SERVICE]'); + + get_service_sample($formattedName); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetService_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_sku.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_sku.php new file mode 100644 index 00000000000..bd0dca172fb --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_sku.php @@ -0,0 +1,76 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var Sku $response */ + $response = $commerceTransactionClient->getSku($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = CommerceTransactionClient::skuName( + '[PROJECT]', + '[LOCATION]', + '[SERVICE]', + '[SKU]' + ); + + get_sku_sample($formattedName); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetSku_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_sku_group.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_sku_group.php new file mode 100644 index 00000000000..ee1ac3412e8 --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_sku_group.php @@ -0,0 +1,71 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var SkuGroup $response */ + $response = $commerceTransactionClient->getSkuGroup($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = CommerceTransactionClient::skuGroupName('[PROJECT]', '[LOCATION]', '[SKU_GROUP]'); + + get_sku_group_sample($formattedName); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetSkuGroup_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_standard_offer.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_standard_offer.php new file mode 100644 index 00000000000..1d831a120c5 --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/get_standard_offer.php @@ -0,0 +1,76 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var StandardOffer $response */ + $response = $commerceTransactionClient->getStandardOffer($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = CommerceTransactionClient::standardOfferName( + '[PROJECT]', + '[LOCATION]', + '[SERVICE]', + '[STANDARD_OFFER]' + ); + + get_standard_offer_sample($formattedName); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetStandardOffer_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_locations.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_locations.php new file mode 100644 index 00000000000..e205206c8bb --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_locations.php @@ -0,0 +1,77 @@ +listLocations($request); + + /** @var Location $element */ + foreach ($response as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListLocations_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_private_offer_documents.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_private_offer_documents.php new file mode 100644 index 00000000000..7e351e0e994 --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_private_offer_documents.php @@ -0,0 +1,80 @@ +setParent($formattedParent); + + // Call the API and handle any network failures. + try { + /** @var PagedListResponse $response */ + $response = $commerceTransactionClient->listPrivateOfferDocuments($request); + + /** @var PrivateOfferDocument $element */ + foreach ($response as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedParent = CommerceTransactionClient::privateOfferName( + '[PROJECT]', + '[LOCATION]', + '[PRIVATE_OFFER]' + ); + + list_private_offer_documents_sample($formattedParent); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOfferDocuments_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_private_offers.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_private_offers.php new file mode 100644 index 00000000000..49ab839efa2 --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_private_offers.php @@ -0,0 +1,76 @@ +setParent($formattedParent); + + // Call the API and handle any network failures. + try { + /** @var PagedListResponse $response */ + $response = $commerceTransactionClient->listPrivateOffers($request); + + /** @var PrivateOffer $element */ + foreach ($response as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedParent = CommerceTransactionClient::locationName('[PROJECT]', '[LOCATION]'); + + list_private_offers_sample($formattedParent); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOffers_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_services.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_services.php new file mode 100644 index 00000000000..b53f119fe51 --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_services.php @@ -0,0 +1,76 @@ +setParent($formattedParent); + + // Call the API and handle any network failures. + try { + /** @var PagedListResponse $response */ + $response = $commerceTransactionClient->listServices($request); + + /** @var Service $element */ + foreach ($response as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedParent = CommerceTransactionClient::locationName('[PROJECT]', '[LOCATION]'); + + list_services_sample($formattedParent); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListServices_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_sku_groups.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_sku_groups.php new file mode 100644 index 00000000000..7c9c07da3cf --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_sku_groups.php @@ -0,0 +1,76 @@ +setParent($formattedParent); + + // Call the API and handle any network failures. + try { + /** @var PagedListResponse $response */ + $response = $commerceTransactionClient->listSkuGroups($request); + + /** @var SkuGroup $element */ + foreach ($response as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedParent = CommerceTransactionClient::locationName('[PROJECT]', '[LOCATION]'); + + list_sku_groups_sample($formattedParent); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListSkuGroups_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_skus.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_skus.php new file mode 100644 index 00000000000..33362e7d3e8 --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_skus.php @@ -0,0 +1,76 @@ +setParent($formattedParent); + + // Call the API and handle any network failures. + try { + /** @var PagedListResponse $response */ + $response = $commerceTransactionClient->listSkus($request); + + /** @var Sku $element */ + foreach ($response as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedParent = CommerceTransactionClient::serviceName('[PROJECT]', '[LOCATION]', '[SERVICE]'); + + list_skus_sample($formattedParent); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListSkus_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_standard_offers.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_standard_offers.php new file mode 100644 index 00000000000..f328a148a6c --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/list_standard_offers.php @@ -0,0 +1,76 @@ +setParent($formattedParent); + + // Call the API and handle any network failures. + try { + /** @var PagedListResponse $response */ + $response = $commerceTransactionClient->listStandardOffers($request); + + /** @var StandardOffer $element */ + foreach ($response as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedParent = CommerceTransactionClient::serviceName('[PROJECT]', '[LOCATION]', '[SERVICE]'); + + list_standard_offers_sample($formattedParent); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListStandardOffers_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/publish_private_offer.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/publish_private_offer.php new file mode 100644 index 00000000000..b718b15afcc --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/publish_private_offer.php @@ -0,0 +1,75 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var PrivateOffer $response */ + $response = $commerceTransactionClient->publishPrivateOffer($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = CommerceTransactionClient::privateOfferName( + '[PROJECT]', + '[LOCATION]', + '[PRIVATE_OFFER]' + ); + + publish_private_offer_sample($formattedName); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_PublishPrivateOffer_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/resolve_amendment_target.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/resolve_amendment_target.php new file mode 100644 index 00000000000..80680e8ecfe --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/resolve_amendment_target.php @@ -0,0 +1,97 @@ +setParent($formattedParent) + ->setTargetBillingAccount($formattedTargetBillingAccount) + ->setBaseStandardOffer($formattedBaseStandardOffer); + + // Call the API and handle any network failures. + try { + /** @var ResolveAmendmentTargetResponse $response */ + $response = $commerceTransactionClient->resolveAmendmentTarget($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedParent = CommerceTransactionClient::locationName('[PROJECT]', '[LOCATION]'); + $formattedTargetBillingAccount = CommerceTransactionClient::billingAccountName('[BILLING_ACCOUNT]'); + $formattedBaseStandardOffer = CommerceTransactionClient::standardOfferName( + '[PROJECT]', + '[LOCATION]', + '[SERVICE]', + '[STANDARD_OFFER]' + ); + + resolve_amendment_target_sample( + $formattedParent, + $formattedTargetBillingAccount, + $formattedBaseStandardOffer + ); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ResolveAmendmentTarget_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/update_private_offer.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/update_private_offer.php new file mode 100644 index 00000000000..bf3aacae8b5 --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/update_private_offer.php @@ -0,0 +1,59 @@ +setPrivateOffer($privateOffer); + + // Call the API and handle any network failures. + try { + /** @var PrivateOffer $response */ + $response = $commerceTransactionClient->updatePrivateOffer($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_UpdatePrivateOffer_sync] diff --git a/Commerceproducer/samples/V1beta/CommerceTransactionClient/update_private_offer_document.php b/Commerceproducer/samples/V1beta/CommerceTransactionClient/update_private_offer_document.php new file mode 100644 index 00000000000..0c9c57ed77a --- /dev/null +++ b/Commerceproducer/samples/V1beta/CommerceTransactionClient/update_private_offer_document.php @@ -0,0 +1,75 @@ +setDocumentType($privateOfferDocumentDocumentType); + $request = (new UpdatePrivateOfferDocumentRequest()) + ->setPrivateOfferDocument($privateOfferDocument); + + // Call the API and handle any network failures. + try { + /** @var PrivateOfferDocument $response */ + $response = $commerceTransactionClient->updatePrivateOfferDocument($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $privateOfferDocumentDocumentType = DocumentType::DOCUMENT_TYPE_UNSPECIFIED; + + update_private_offer_document_sample($privateOfferDocumentDocumentType); +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_UpdatePrivateOfferDocument_sync] diff --git a/Commerceproducer/src/V1beta/CancelPrivateOfferRequest.php b/Commerceproducer/src/V1beta/CancelPrivateOfferRequest.php new file mode 100644 index 00000000000..67c2d5c8dde --- /dev/null +++ b/Commerceproducer/src/V1beta/CancelPrivateOfferRequest.php @@ -0,0 +1,119 @@ +google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest + */ +class CancelPrivateOfferRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + /** + * Optional. Internal note relating to the cancellation. + * Stored on the cancelled offer. Not visible to customers. + * + * Generated from protobuf field string cancellation_note = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $cancellation_note = ''; + + /** + * @param string $name Required. Name of the resource + * Please see {@see CommerceTransactionClient::privateOfferName()} for help formatting this field. + * + * @return \Google\Cloud\Commerceproducer\V1beta\CancelPrivateOfferRequest + * + * @experimental + */ + public static function build(string $name): self + { + return (new self()) + ->setName($name); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. Name of the resource + * @type string $cancellation_note + * Optional. Internal note relating to the cancellation. + * Stored on the cancelled offer. Not visible to customers. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Optional. Internal note relating to the cancellation. + * Stored on the cancelled offer. Not visible to customers. + * + * Generated from protobuf field string cancellation_note = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getCancellationNote() + { + return $this->cancellation_note; + } + + /** + * Optional. Internal note relating to the cancellation. + * Stored on the cancelled offer. Not visible to customers. + * + * Generated from protobuf field string cancellation_note = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setCancellationNote($var) + { + GPBUtil::checkString($var, True); + $this->cancellation_note = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/Client/CommerceTransactionClient.php b/Commerceproducer/src/V1beta/Client/CommerceTransactionClient.php new file mode 100644 index 00000000000..fd3e99521fd --- /dev/null +++ b/Commerceproducer/src/V1beta/Client/CommerceTransactionClient.php @@ -0,0 +1,1133 @@ + cancelPrivateOfferAsync(CancelPrivateOfferRequest $request, array $optionalArgs = []) + * @method PromiseInterface createPrivateOfferAsync(CreatePrivateOfferRequest $request, array $optionalArgs = []) + * @method PromiseInterface createPrivateOfferDocumentAsync(CreatePrivateOfferDocumentRequest $request, array $optionalArgs = []) + * @method PromiseInterface deletePrivateOfferAsync(DeletePrivateOfferRequest $request, array $optionalArgs = []) + * @method PromiseInterface deletePrivateOfferDocumentAsync(DeletePrivateOfferDocumentRequest $request, array $optionalArgs = []) + * @method PromiseInterface getPrivateOfferAsync(GetPrivateOfferRequest $request, array $optionalArgs = []) + * @method PromiseInterface getPrivateOfferDocumentAsync(GetPrivateOfferDocumentRequest $request, array $optionalArgs = []) + * @method PromiseInterface getServiceAsync(GetServiceRequest $request, array $optionalArgs = []) + * @method PromiseInterface getSkuAsync(GetSkuRequest $request, array $optionalArgs = []) + * @method PromiseInterface getSkuGroupAsync(GetSkuGroupRequest $request, array $optionalArgs = []) + * @method PromiseInterface getStandardOfferAsync(GetStandardOfferRequest $request, array $optionalArgs = []) + * @method PromiseInterface listPrivateOfferDocumentsAsync(ListPrivateOfferDocumentsRequest $request, array $optionalArgs = []) + * @method PromiseInterface listPrivateOffersAsync(ListPrivateOffersRequest $request, array $optionalArgs = []) + * @method PromiseInterface listServicesAsync(ListServicesRequest $request, array $optionalArgs = []) + * @method PromiseInterface listSkuGroupsAsync(ListSkuGroupsRequest $request, array $optionalArgs = []) + * @method PromiseInterface listSkusAsync(ListSkusRequest $request, array $optionalArgs = []) + * @method PromiseInterface listStandardOffersAsync(ListStandardOffersRequest $request, array $optionalArgs = []) + * @method PromiseInterface publishPrivateOfferAsync(PublishPrivateOfferRequest $request, array $optionalArgs = []) + * @method PromiseInterface resolveAmendmentTargetAsync(ResolveAmendmentTargetRequest $request, array $optionalArgs = []) + * @method PromiseInterface updatePrivateOfferAsync(UpdatePrivateOfferRequest $request, array $optionalArgs = []) + * @method PromiseInterface updatePrivateOfferDocumentAsync(UpdatePrivateOfferDocumentRequest $request, array $optionalArgs = []) + * @method PromiseInterface getLocationAsync(GetLocationRequest $request, array $optionalArgs = []) + * @method PromiseInterface listLocationsAsync(ListLocationsRequest $request, array $optionalArgs = []) + */ +final class CommerceTransactionClient +{ + use GapicClientTrait; + use ResourceHelperTrait; + + /** The name of the service. */ + private const SERVICE_NAME = 'google.cloud.commerceproducer.v1beta.CommerceTransaction'; + + /** + * The default address of the service. + * + * @deprecated SERVICE_ADDRESS_TEMPLATE should be used instead. + */ + private const SERVICE_ADDRESS = 'commerceproducer.googleapis.com'; + + /** The address template of the service. */ + private const SERVICE_ADDRESS_TEMPLATE = 'commerceproducer.UNIVERSE_DOMAIN'; + + /** The default port of the service. */ + private const DEFAULT_SERVICE_PORT = 443; + + /** The name of the code generator, to be included in the agent header. */ + private const CODEGEN_NAME = 'gapic'; + + /** The default scopes required by the service. */ + public static $serviceScopes = ['https://www.googleapis.com/auth/cloud-platform']; + + private static function getClientDefaults() + { + return [ + 'serviceName' => self::SERVICE_NAME, + 'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT, + 'clientConfig' => __DIR__ . '/../resources/commerce_transaction_client_config.json', + 'descriptorsConfigPath' => __DIR__ . '/../resources/commerce_transaction_descriptor_config.php', + 'gcpApiConfigPath' => __DIR__ . '/../resources/commerce_transaction_grpc_config.json', + 'credentialsConfig' => [ + 'defaultScopes' => self::$serviceScopes, + ], + 'transportConfig' => [ + 'rest' => [ + 'restClientConfigPath' => __DIR__ . '/../resources/commerce_transaction_rest_client_config.php', + ], + ], + ]; + } + + /** + * Formats a string containing the fully-qualified path to represent a + * billing_account resource. + * + * @param string $billingAccount + * + * @return string The formatted billing_account resource. + * + * @experimental + */ + public static function billingAccountName(string $billingAccount): string + { + return self::getPathTemplate('billingAccount')->render([ + 'billing_account' => $billingAccount, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a location + * resource. + * + * @param string $project + * @param string $location + * + * @return string The formatted location resource. + * + * @experimental + */ + public static function locationName(string $project, string $location): string + { + return self::getPathTemplate('location')->render([ + 'project' => $project, + 'location' => $location, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * private_offer resource. + * + * @param string $project + * @param string $location + * @param string $privateOffer + * + * @return string The formatted private_offer resource. + * + * @experimental + */ + public static function privateOfferName(string $project, string $location, string $privateOffer): string + { + return self::getPathTemplate('privateOffer')->render([ + 'project' => $project, + 'location' => $location, + 'private_offer' => $privateOffer, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * private_offer_document resource. + * + * @param string $project + * @param string $location + * @param string $privateOffer + * @param string $document + * + * @return string The formatted private_offer_document resource. + * + * @experimental + */ + public static function privateOfferDocumentName( + string $project, + string $location, + string $privateOffer, + string $document + ): string { + return self::getPathTemplate('privateOfferDocument')->render([ + 'project' => $project, + 'location' => $location, + 'private_offer' => $privateOffer, + 'document' => $document, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a service + * resource. + * + * @param string $project + * @param string $location + * @param string $service + * + * @return string The formatted service resource. + * + * @experimental + */ + public static function serviceName(string $project, string $location, string $service): string + { + return self::getPathTemplate('service')->render([ + 'project' => $project, + 'location' => $location, + 'service' => $service, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a sku + * resource. + * + * @param string $project + * @param string $location + * @param string $service + * @param string $sku + * + * @return string The formatted sku resource. + * + * @experimental + */ + public static function skuName(string $project, string $location, string $service, string $sku): string + { + return self::getPathTemplate('sku')->render([ + 'project' => $project, + 'location' => $location, + 'service' => $service, + 'sku' => $sku, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a sku_group + * resource. + * + * @param string $project + * @param string $location + * @param string $skuGroup + * + * @return string The formatted sku_group resource. + * + * @experimental + */ + public static function skuGroupName(string $project, string $location, string $skuGroup): string + { + return self::getPathTemplate('skuGroup')->render([ + 'project' => $project, + 'location' => $location, + 'sku_group' => $skuGroup, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * standard_offer resource. + * + * @param string $project + * @param string $location + * @param string $service + * @param string $standardOffer + * + * @return string The formatted standard_offer resource. + * + * @experimental + */ + public static function standardOfferName( + string $project, + string $location, + string $service, + string $standardOffer + ): string { + return self::getPathTemplate('standardOffer')->render([ + 'project' => $project, + 'location' => $location, + 'service' => $service, + 'standard_offer' => $standardOffer, + ]); + } + + /** + * Parses a formatted name string and returns an associative array of the components in the name. + * The following name formats are supported: + * Template: Pattern + * - billingAccount: billingAccounts/{billing_account} + * - location: projects/{project}/locations/{location} + * - privateOffer: projects/{project}/locations/{location}/privateOffers/{private_offer} + * - privateOfferDocument: projects/{project}/locations/{location}/privateOffers/{private_offer}/documents/{document} + * - service: projects/{project}/locations/{location}/services/{service} + * - sku: projects/{project}/locations/{location}/services/{service}/skus/{sku} + * - skuGroup: projects/{project}/locations/{location}/skuGroups/{sku_group} + * - standardOffer: projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer} + * + * The optional $template argument can be supplied to specify a particular pattern, + * and must match one of the templates listed above. If no $template argument is + * provided, or if the $template argument does not match one of the templates + * listed, then parseName will check each of the supported templates, and return + * the first match. + * + * @param string $formattedName The formatted name string + * @param ?string $template Optional name of template to match + * + * @return array An associative array from name component IDs to component values. + * + * @throws ValidationException If $formattedName could not be matched. + * + * @experimental + */ + public static function parseName(string $formattedName, ?string $template = null): array + { + return self::parseFormattedName($formattedName, $template); + } + + /** + * Constructor. + * + * @param array|ClientOptions $options { + * Optional. Options for configuring the service API wrapper. + * + * @type string $apiEndpoint + * The address of the API remote host. May optionally include the port, formatted + * as ":". Default 'commerceproducer.googleapis.com:443'. + * @type FetchAuthTokenInterface|CredentialsWrapper $credentials + * This option should only be used with a pre-constructed + * {@see FetchAuthTokenInterface} or {@see CredentialsWrapper} object. Note that + * when one of these objects are provided, any settings in $credentialsConfig will + * be ignored. + * **Important**: If you are providing a path to a credentials file, or a decoded + * credentials file as a PHP array, this usage is now DEPRECATED. Providing an + * unvalidated credential configuration to Google APIs can compromise the security + * of your systems and data. It is recommended to create the credentials explicitly + * ``` + * use Google\Auth\Credentials\ServiceAccountCredentials; + * use Google\Cloud\Commerceproducer\V1beta\CommerceTransactionClient; + * $creds = new ServiceAccountCredentials($scopes, $json); + * $options = new CommerceTransactionClient(['credentials' => $creds]); + * ``` + * {@see + * https://cloud.google.com/docs/authentication/external/externally-sourced-credentials} + * @type array $credentialsConfig + * Options used to configure credentials, including auth token caching, for the + * client. For a full list of supporting configuration options, see + * {@see \Google\ApiCore\CredentialsWrapper::build()} . + * @type bool $disableRetries + * Determines whether or not retries defined by the client configuration should be + * disabled. Defaults to `false`. + * @type string|array $clientConfig + * Client method configuration, including retry settings. This option can be either + * a path to a JSON file, or a PHP array containing the decoded JSON data. By + * default this settings points to the default client config file, which is + * provided in the resources folder. + * @type string|TransportInterface $transport + * The transport used for executing network requests. May be either the string + * `rest` or `grpc`. Defaults to `grpc` if gRPC support is detected on the system. + * *Advanced usage*: Additionally, it is possible to pass in an already + * instantiated {@see \Google\ApiCore\Transport\TransportInterface} object. Note + * that when this object is provided, any settings in $transportConfig, and any + * $apiEndpoint setting, will be ignored. + * @type array $transportConfig + * Configuration options that will be used to construct the transport. Options for + * each supported transport type should be passed in a key for that transport. For + * example: + * $transportConfig = [ + * 'grpc' => [...], + * 'rest' => [...], + * ]; + * See the {@see \Google\ApiCore\Transport\GrpcTransport::build()} and + * {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the + * supported options. + * @type callable $clientCertSource + * A callable which returns the client cert as a string. This can be used to + * provide a certificate and private key to the transport layer for mTLS. + * @type false|LoggerInterface $logger + * A PSR-3 compliant logger. If set to false, logging is disabled, ignoring the + * 'GOOGLE_SDK_PHP_LOGGING' environment flag + * @type string $universeDomain + * The service domain for the client. Defaults to 'googleapis.com'. + * } + * + * @throws ValidationException + * + * @experimental + */ + public function __construct(array|ClientOptions $options = []) + { + $clientOptions = $this->buildClientOptions($options); + $this->setClientOptions($clientOptions); + } + + /** Handles execution of the async variants for each documented method. */ + public function __call($method, $args) + { + if (substr($method, -5) !== 'Async') { + trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR); + } + + array_unshift($args, substr($method, 0, -5)); + return call_user_func_array([$this, 'startAsyncCall'], $args); + } + + /** + * Cancels the target PrivateOffer. + * + * The async variant is {@see CommerceTransactionClient::cancelPrivateOfferAsync()} + * . + * + * @example samples/V1beta/CommerceTransactionClient/cancel_private_offer.php + * + * @param CancelPrivateOfferRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PrivateOffer + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function cancelPrivateOffer(CancelPrivateOfferRequest $request, array $callOptions = []): PrivateOffer + { + return $this->startApiCall('CancelPrivateOffer', $request, $callOptions)->wait(); + } + + /** + * Creates a new PrivateOffer in a given project and location. + * + * The async variant is {@see CommerceTransactionClient::createPrivateOfferAsync()} + * . + * + * @example samples/V1beta/CommerceTransactionClient/create_private_offer.php + * + * @param CreatePrivateOfferRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PrivateOffer + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function createPrivateOffer(CreatePrivateOfferRequest $request, array $callOptions = []): PrivateOffer + { + return $this->startApiCall('CreatePrivateOffer', $request, $callOptions)->wait(); + } + + /** + * Creates a new PrivateOfferDocument in a given project and location. + * + * The async variant is + * {@see CommerceTransactionClient::createPrivateOfferDocumentAsync()} . + * + * @example samples/V1beta/CommerceTransactionClient/create_private_offer_document.php + * + * @param CreatePrivateOfferDocumentRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PrivateOfferDocument + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function createPrivateOfferDocument( + CreatePrivateOfferDocumentRequest $request, + array $callOptions = [] + ): PrivateOfferDocument { + return $this->startApiCall('CreatePrivateOfferDocument', $request, $callOptions)->wait(); + } + + /** + * Deletes the target PrivateOffer. + * + * The async variant is {@see CommerceTransactionClient::deletePrivateOfferAsync()} + * . + * + * @example samples/V1beta/CommerceTransactionClient/delete_private_offer.php + * + * @param DeletePrivateOfferRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function deletePrivateOffer(DeletePrivateOfferRequest $request, array $callOptions = []): void + { + $this->startApiCall('DeletePrivateOffer', $request, $callOptions)->wait(); + } + + /** + * Deletes the target PrivateOfferDocument. + * + * The async variant is + * {@see CommerceTransactionClient::deletePrivateOfferDocumentAsync()} . + * + * @example samples/V1beta/CommerceTransactionClient/delete_private_offer_document.php + * + * @param DeletePrivateOfferDocumentRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function deletePrivateOfferDocument( + DeletePrivateOfferDocumentRequest $request, + array $callOptions = [] + ): void { + $this->startApiCall('DeletePrivateOfferDocument', $request, $callOptions)->wait(); + } + + /** + * Gets details of a single PrivateOffer. + * + * The async variant is {@see CommerceTransactionClient::getPrivateOfferAsync()} . + * + * @example samples/V1beta/CommerceTransactionClient/get_private_offer.php + * + * @param GetPrivateOfferRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PrivateOffer + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function getPrivateOffer(GetPrivateOfferRequest $request, array $callOptions = []): PrivateOffer + { + return $this->startApiCall('GetPrivateOffer', $request, $callOptions)->wait(); + } + + /** + * Gets details of a single PrivateOfferDocument. + * + * The async variant is + * {@see CommerceTransactionClient::getPrivateOfferDocumentAsync()} . + * + * @example samples/V1beta/CommerceTransactionClient/get_private_offer_document.php + * + * @param GetPrivateOfferDocumentRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PrivateOfferDocument + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function getPrivateOfferDocument( + GetPrivateOfferDocumentRequest $request, + array $callOptions = [] + ): PrivateOfferDocument { + return $this->startApiCall('GetPrivateOfferDocument', $request, $callOptions)->wait(); + } + + /** + * Gets details of a single Service. + * + * The async variant is {@see CommerceTransactionClient::getServiceAsync()} . + * + * @example samples/V1beta/CommerceTransactionClient/get_service.php + * + * @param GetServiceRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return Service + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function getService(GetServiceRequest $request, array $callOptions = []): Service + { + return $this->startApiCall('GetService', $request, $callOptions)->wait(); + } + + /** + * Gets details of a single Sku. + * + * The async variant is {@see CommerceTransactionClient::getSkuAsync()} . + * + * @example samples/V1beta/CommerceTransactionClient/get_sku.php + * + * @param GetSkuRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return Sku + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function getSku(GetSkuRequest $request, array $callOptions = []): Sku + { + return $this->startApiCall('GetSku', $request, $callOptions)->wait(); + } + + /** + * Gets details of a single SkuGroup. + * + * The async variant is {@see CommerceTransactionClient::getSkuGroupAsync()} . + * + * @example samples/V1beta/CommerceTransactionClient/get_sku_group.php + * + * @param GetSkuGroupRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return SkuGroup + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function getSkuGroup(GetSkuGroupRequest $request, array $callOptions = []): SkuGroup + { + return $this->startApiCall('GetSkuGroup', $request, $callOptions)->wait(); + } + + /** + * Gets details of a single StandardOffer. + * + * The async variant is {@see CommerceTransactionClient::getStandardOfferAsync()} . + * + * @example samples/V1beta/CommerceTransactionClient/get_standard_offer.php + * + * @param GetStandardOfferRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return StandardOffer + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function getStandardOffer(GetStandardOfferRequest $request, array $callOptions = []): StandardOffer + { + return $this->startApiCall('GetStandardOffer', $request, $callOptions)->wait(); + } + + /** + * Lists PrivateOfferDocuments for the given parent. + * + * The async variant is + * {@see CommerceTransactionClient::listPrivateOfferDocumentsAsync()} . + * + * @example samples/V1beta/CommerceTransactionClient/list_private_offer_documents.php + * + * @param ListPrivateOfferDocumentsRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PagedListResponse + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function listPrivateOfferDocuments( + ListPrivateOfferDocumentsRequest $request, + array $callOptions = [] + ): PagedListResponse { + return $this->startApiCall('ListPrivateOfferDocuments', $request, $callOptions); + } + + /** + * Lists PrivateOffers for the given parent. + * + * The async variant is {@see CommerceTransactionClient::listPrivateOffersAsync()} + * . + * + * @example samples/V1beta/CommerceTransactionClient/list_private_offers.php + * + * @param ListPrivateOffersRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PagedListResponse + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function listPrivateOffers(ListPrivateOffersRequest $request, array $callOptions = []): PagedListResponse + { + return $this->startApiCall('ListPrivateOffers', $request, $callOptions); + } + + /** + * Lists Services in a given project and location. + * + * The async variant is {@see CommerceTransactionClient::listServicesAsync()} . + * + * @example samples/V1beta/CommerceTransactionClient/list_services.php + * + * @param ListServicesRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PagedListResponse + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function listServices(ListServicesRequest $request, array $callOptions = []): PagedListResponse + { + return $this->startApiCall('ListServices', $request, $callOptions); + } + + /** + * Lists SkuGroups for the given parent. + * + * The async variant is {@see CommerceTransactionClient::listSkuGroupsAsync()} . + * + * @example samples/V1beta/CommerceTransactionClient/list_sku_groups.php + * + * @param ListSkuGroupsRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PagedListResponse + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function listSkuGroups(ListSkuGroupsRequest $request, array $callOptions = []): PagedListResponse + { + return $this->startApiCall('ListSkuGroups', $request, $callOptions); + } + + /** + * Lists Skus for the given parent. + * + * The async variant is {@see CommerceTransactionClient::listSkusAsync()} . + * + * @example samples/V1beta/CommerceTransactionClient/list_skus.php + * + * @param ListSkusRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PagedListResponse + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function listSkus(ListSkusRequest $request, array $callOptions = []): PagedListResponse + { + return $this->startApiCall('ListSkus', $request, $callOptions); + } + + /** + * Lists StandardOffers for the given parent. + * + * The async variant is {@see CommerceTransactionClient::listStandardOffersAsync()} + * . + * + * @example samples/V1beta/CommerceTransactionClient/list_standard_offers.php + * + * @param ListStandardOffersRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PagedListResponse + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function listStandardOffers(ListStandardOffersRequest $request, array $callOptions = []): PagedListResponse + { + return $this->startApiCall('ListStandardOffers', $request, $callOptions); + } + + /** + * Publishes the target PrivateOffer. + * + * The async variant is + * {@see CommerceTransactionClient::publishPrivateOfferAsync()} . + * + * @example samples/V1beta/CommerceTransactionClient/publish_private_offer.php + * + * @param PublishPrivateOfferRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PrivateOffer + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function publishPrivateOffer(PublishPrivateOfferRequest $request, array $callOptions = []): PrivateOffer + { + return $this->startApiCall('PublishPrivateOffer', $request, $callOptions)->wait(); + } + + /** + * Resolves the existing offer that must be amended when creating a new + * PrivateOffer. Use this method to determine the correct amendment target + * before creating or publishing an offer. + * + * The async variant is + * {@see CommerceTransactionClient::resolveAmendmentTargetAsync()} . + * + * @example samples/V1beta/CommerceTransactionClient/resolve_amendment_target.php + * + * @param ResolveAmendmentTargetRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return ResolveAmendmentTargetResponse + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function resolveAmendmentTarget( + ResolveAmendmentTargetRequest $request, + array $callOptions = [] + ): ResolveAmendmentTargetResponse { + return $this->startApiCall('ResolveAmendmentTarget', $request, $callOptions)->wait(); + } + + /** + * Updates the target PrivateOffer. + * + * The async variant is {@see CommerceTransactionClient::updatePrivateOfferAsync()} + * . + * + * @example samples/V1beta/CommerceTransactionClient/update_private_offer.php + * + * @param UpdatePrivateOfferRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PrivateOffer + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function updatePrivateOffer(UpdatePrivateOfferRequest $request, array $callOptions = []): PrivateOffer + { + return $this->startApiCall('UpdatePrivateOffer', $request, $callOptions)->wait(); + } + + /** + * Updates the target PrivateOfferDocument. + * + * The async variant is + * {@see CommerceTransactionClient::updatePrivateOfferDocumentAsync()} . + * + * @example samples/V1beta/CommerceTransactionClient/update_private_offer_document.php + * + * @param UpdatePrivateOfferDocumentRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PrivateOfferDocument + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function updatePrivateOfferDocument( + UpdatePrivateOfferDocumentRequest $request, + array $callOptions = [] + ): PrivateOfferDocument { + return $this->startApiCall('UpdatePrivateOfferDocument', $request, $callOptions)->wait(); + } + + /** + * Gets information about a location. + * + * The async variant is {@see CommerceTransactionClient::getLocationAsync()} . + * + * @example samples/V1beta/CommerceTransactionClient/get_location.php + * + * @param GetLocationRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return Location + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function getLocation(GetLocationRequest $request, array $callOptions = []): Location + { + return $this->startApiCall('GetLocation', $request, $callOptions)->wait(); + } + + /** + * Lists information about the supported locations for this service. + * + * This method lists locations based on the resource scope provided in + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the + * public locations available to all projects. * **Project-specific + * locations**: If `name` follows the format + * `projects/{project}`, the method lists locations visible to that + * specific project. This includes public, private, or other + * project-specific locations enabled for the project. + * + * For gRPC and client library implementations, the resource name is + * passed as the `name` field. For direct service calls, the resource + * name is + * incorporated into the request path based on the specific service + * implementation and version. + * + * The async variant is {@see CommerceTransactionClient::listLocationsAsync()} . + * + * @example samples/V1beta/CommerceTransactionClient/list_locations.php + * + * @param ListLocationsRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PagedListResponse + * + * @throws ApiException Thrown if the API call fails. + * + * @experimental + */ + public function listLocations(ListLocationsRequest $request, array $callOptions = []): PagedListResponse + { + return $this->startApiCall('ListLocations', $request, $callOptions); + } +} diff --git a/Commerceproducer/src/V1beta/CreatePrivateOfferDocumentRequest.php b/Commerceproducer/src/V1beta/CreatePrivateOfferDocumentRequest.php new file mode 100644 index 00000000000..61515a610ea --- /dev/null +++ b/Commerceproducer/src/V1beta/CreatePrivateOfferDocumentRequest.php @@ -0,0 +1,111 @@ +google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + */ +class CreatePrivateOfferDocumentRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Value for parent. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $parent = ''; + /** + * Required. The resource being created. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 3 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $private_offer_document = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. Value for parent. + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOfferDocument $private_offer_document + * Required. The resource being created. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. Value for parent. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getParent() + { + return $this->parent; + } + + /** + * Required. Value for parent. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setParent($var) + { + GPBUtil::checkString($var, True); + $this->parent = $var; + + return $this; + } + + /** + * Required. The resource being created. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\Commerceproducer\V1beta\PrivateOfferDocument|null + */ + public function getPrivateOfferDocument() + { + return $this->private_offer_document; + } + + public function hasPrivateOfferDocument() + { + return isset($this->private_offer_document); + } + + public function clearPrivateOfferDocument() + { + unset($this->private_offer_document); + } + + /** + * Required. The resource being created. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 3 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOfferDocument $var + * @return $this + */ + public function setPrivateOfferDocument($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOfferDocument::class); + $this->private_offer_document = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/CreatePrivateOfferRequest.php b/Commerceproducer/src/V1beta/CreatePrivateOfferRequest.php new file mode 100644 index 00000000000..c0d434b559d --- /dev/null +++ b/Commerceproducer/src/V1beta/CreatePrivateOfferRequest.php @@ -0,0 +1,111 @@ +google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest + */ +class CreatePrivateOfferRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Value for parent. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $parent = ''; + /** + * Required. The resource being created + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 3 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $private_offer = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. Value for parent. + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer $private_offer + * Required. The resource being created + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. Value for parent. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getParent() + { + return $this->parent; + } + + /** + * Required. Value for parent. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setParent($var) + { + GPBUtil::checkString($var, True); + $this->parent = $var; + + return $this; + } + + /** + * Required. The resource being created + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\Commerceproducer\V1beta\PrivateOffer|null + */ + public function getPrivateOffer() + { + return $this->private_offer; + } + + public function hasPrivateOffer() + { + return isset($this->private_offer); + } + + public function clearPrivateOffer() + { + unset($this->private_offer); + } + + /** + * Required. The resource being created + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 3 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer $var + * @return $this + */ + public function setPrivateOffer($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer::class); + $this->private_offer = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/DeletePrivateOfferDocumentRequest.php b/Commerceproducer/src/V1beta/DeletePrivateOfferDocumentRequest.php new file mode 100644 index 00000000000..95fe5dbc1d9 --- /dev/null +++ b/Commerceproducer/src/V1beta/DeletePrivateOfferDocumentRequest.php @@ -0,0 +1,81 @@ +google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + */ +class DeletePrivateOfferDocumentRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Name of the resource. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + + /** + * @param string $name Required. Name of the resource. Please see + * {@see CommerceTransactionClient::privateOfferDocumentName()} for help formatting this field. + * + * @return \Google\Cloud\Commerceproducer\V1beta\DeletePrivateOfferDocumentRequest + * + * @experimental + */ + public static function build(string $name): self + { + return (new self()) + ->setName($name); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. Name of the resource. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. Name of the resource. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. Name of the resource. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/DeletePrivateOfferRequest.php b/Commerceproducer/src/V1beta/DeletePrivateOfferRequest.php new file mode 100644 index 00000000000..9ce56e2721f --- /dev/null +++ b/Commerceproducer/src/V1beta/DeletePrivateOfferRequest.php @@ -0,0 +1,119 @@ +google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest + */ +class DeletePrivateOfferRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + /** + * Optional. Indicates whether to cascade the delete to child resources. + * If false, the request fails if child resources exist. + * + * Generated from protobuf field bool force = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $force = false; + + /** + * @param string $name Required. Name of the resource + * Please see {@see CommerceTransactionClient::privateOfferName()} for help formatting this field. + * + * @return \Google\Cloud\Commerceproducer\V1beta\DeletePrivateOfferRequest + * + * @experimental + */ + public static function build(string $name): self + { + return (new self()) + ->setName($name); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. Name of the resource + * @type bool $force + * Optional. Indicates whether to cascade the delete to child resources. + * If false, the request fails if child resources exist. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Optional. Indicates whether to cascade the delete to child resources. + * If false, the request fails if child resources exist. + * + * Generated from protobuf field bool force = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getForce() + { + return $this->force; + } + + /** + * Optional. Indicates whether to cascade the delete to child resources. + * If false, the request fails if child resources exist. + * + * Generated from protobuf field bool force = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setForce($var) + { + GPBUtil::checkBool($var); + $this->force = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/GetPrivateOfferDocumentRequest.php b/Commerceproducer/src/V1beta/GetPrivateOfferDocumentRequest.php new file mode 100644 index 00000000000..c1fb86f8355 --- /dev/null +++ b/Commerceproducer/src/V1beta/GetPrivateOfferDocumentRequest.php @@ -0,0 +1,81 @@ +google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest + */ +class GetPrivateOfferDocumentRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Name of the resource. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + + /** + * @param string $name Required. Name of the resource. Please see + * {@see CommerceTransactionClient::privateOfferDocumentName()} for help formatting this field. + * + * @return \Google\Cloud\Commerceproducer\V1beta\GetPrivateOfferDocumentRequest + * + * @experimental + */ + public static function build(string $name): self + { + return (new self()) + ->setName($name); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. Name of the resource. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. Name of the resource. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. Name of the resource. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/GetPrivateOfferRequest.php b/Commerceproducer/src/V1beta/GetPrivateOfferRequest.php new file mode 100644 index 00000000000..eb6b94ef3db --- /dev/null +++ b/Commerceproducer/src/V1beta/GetPrivateOfferRequest.php @@ -0,0 +1,119 @@ +google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest + */ +class GetPrivateOfferRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + /** + * Optional. The view of the PrivateOffer to return. + * If unspecified, the default view is BASIC. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $view = 0; + + /** + * @param string $name Required. Name of the resource + * Please see {@see CommerceTransactionClient::privateOfferName()} for help formatting this field. + * + * @return \Google\Cloud\Commerceproducer\V1beta\GetPrivateOfferRequest + * + * @experimental + */ + public static function build(string $name): self + { + return (new self()) + ->setName($name); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. Name of the resource + * @type int $view + * Optional. The view of the PrivateOffer to return. + * If unspecified, the default view is BASIC. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Optional. The view of the PrivateOffer to return. + * If unspecified, the default view is BASIC. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getView() + { + return $this->view; + } + + /** + * Optional. The view of the PrivateOffer to return. + * If unspecified, the default view is BASIC. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setView($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOfferView::class); + $this->view = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/GetServiceRequest.php b/Commerceproducer/src/V1beta/GetServiceRequest.php new file mode 100644 index 00000000000..714dc97d871 --- /dev/null +++ b/Commerceproducer/src/V1beta/GetServiceRequest.php @@ -0,0 +1,119 @@ +google.cloud.commerceproducer.v1beta.GetServiceRequest + */ +class GetServiceRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + /** + * Optional. The view of the Service to return. + * If unspecified, the default view is BASIC. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.ServiceView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $view = 0; + + /** + * @param string $name Required. Name of the resource + * Please see {@see CommerceTransactionClient::serviceName()} for help formatting this field. + * + * @return \Google\Cloud\Commerceproducer\V1beta\GetServiceRequest + * + * @experimental + */ + public static function build(string $name): self + { + return (new self()) + ->setName($name); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. Name of the resource + * @type int $view + * Optional. The view of the Service to return. + * If unspecified, the default view is BASIC. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Optional. The view of the Service to return. + * If unspecified, the default view is BASIC. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.ServiceView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getView() + { + return $this->view; + } + + /** + * Optional. The view of the Service to return. + * If unspecified, the default view is BASIC. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.ServiceView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setView($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Commerceproducer\V1beta\ServiceView::class); + $this->view = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/GetSkuGroupRequest.php b/Commerceproducer/src/V1beta/GetSkuGroupRequest.php new file mode 100644 index 00000000000..1ab1e5232d0 --- /dev/null +++ b/Commerceproducer/src/V1beta/GetSkuGroupRequest.php @@ -0,0 +1,81 @@ +google.cloud.commerceproducer.v1beta.GetSkuGroupRequest + */ +class GetSkuGroupRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + + /** + * @param string $name Required. Name of the resource + * Please see {@see CommerceTransactionClient::skuGroupName()} for help formatting this field. + * + * @return \Google\Cloud\Commerceproducer\V1beta\GetSkuGroupRequest + * + * @experimental + */ + public static function build(string $name): self + { + return (new self()) + ->setName($name); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. Name of the resource + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/GetSkuRequest.php b/Commerceproducer/src/V1beta/GetSkuRequest.php new file mode 100644 index 00000000000..3ae2822ff5f --- /dev/null +++ b/Commerceproducer/src/V1beta/GetSkuRequest.php @@ -0,0 +1,81 @@ +google.cloud.commerceproducer.v1beta.GetSkuRequest + */ +class GetSkuRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + + /** + * @param string $name Required. Name of the resource + * Please see {@see CommerceTransactionClient::skuName()} for help formatting this field. + * + * @return \Google\Cloud\Commerceproducer\V1beta\GetSkuRequest + * + * @experimental + */ + public static function build(string $name): self + { + return (new self()) + ->setName($name); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. Name of the resource + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/GetStandardOfferRequest.php b/Commerceproducer/src/V1beta/GetStandardOfferRequest.php new file mode 100644 index 00000000000..cf8eef6a069 --- /dev/null +++ b/Commerceproducer/src/V1beta/GetStandardOfferRequest.php @@ -0,0 +1,119 @@ +google.cloud.commerceproducer.v1beta.GetStandardOfferRequest + */ +class GetStandardOfferRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + /** + * Optional. The view of the StandardOffer to return. + * If unspecified, the default view is BASIC. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.StandardOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $view = 0; + + /** + * @param string $name Required. Name of the resource + * Please see {@see CommerceTransactionClient::standardOfferName()} for help formatting this field. + * + * @return \Google\Cloud\Commerceproducer\V1beta\GetStandardOfferRequest + * + * @experimental + */ + public static function build(string $name): self + { + return (new self()) + ->setName($name); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. Name of the resource + * @type int $view + * Optional. The view of the StandardOffer to return. + * If unspecified, the default view is BASIC. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Optional. The view of the StandardOffer to return. + * If unspecified, the default view is BASIC. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.StandardOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getView() + { + return $this->view; + } + + /** + * Optional. The view of the StandardOffer to return. + * If unspecified, the default view is BASIC. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.StandardOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setView($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Commerceproducer\V1beta\StandardOfferView::class); + $this->view = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/ListPrivateOfferDocumentsRequest.php b/Commerceproducer/src/V1beta/ListPrivateOfferDocumentsRequest.php new file mode 100644 index 00000000000..8a850c0cf7b --- /dev/null +++ b/Commerceproducer/src/V1beta/ListPrivateOfferDocumentsRequest.php @@ -0,0 +1,169 @@ +google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest + */ +class ListPrivateOfferDocumentsRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Parent value for ListPrivateOfferDocumentsRequest. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $parent = ''; + /** + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_size = 0; + /** + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_token = ''; + + /** + * @param string $parent Required. Parent value for ListPrivateOfferDocumentsRequest. Please see + * {@see CommerceTransactionClient::privateOfferName()} for help formatting this field. + * + * @return \Google\Cloud\Commerceproducer\V1beta\ListPrivateOfferDocumentsRequest + * + * @experimental + */ + public static function build(string $parent): self + { + return (new self()) + ->setParent($parent); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. Parent value for ListPrivateOfferDocumentsRequest. + * @type int $page_size + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * @type string $page_token + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. Parent value for ListPrivateOfferDocumentsRequest. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getParent() + { + return $this->parent; + } + + /** + * Required. Parent value for ListPrivateOfferDocumentsRequest. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setParent($var) + { + GPBUtil::checkString($var, True); + $this->parent = $var; + + return $this; + } + + /** + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/ListPrivateOfferDocumentsResponse.php b/Commerceproducer/src/V1beta/ListPrivateOfferDocumentsResponse.php new file mode 100644 index 00000000000..3ccfde6ad88 --- /dev/null +++ b/Commerceproducer/src/V1beta/ListPrivateOfferDocumentsResponse.php @@ -0,0 +1,105 @@ +google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + */ +class ListPrivateOfferDocumentsResponse extends \Google\Protobuf\Internal\Message +{ + /** + * The list of PrivateOfferDocuments. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + */ + private $private_offer_documents; + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + */ + protected $next_page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOfferDocument[] $private_offer_documents + * The list of PrivateOfferDocuments. + * @type string $next_page_token + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * The list of PrivateOfferDocuments. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * @return RepeatedField<\Google\Cloud\Commerceproducer\V1beta\PrivateOfferDocument> + */ + public function getPrivateOfferDocuments() + { + return $this->private_offer_documents; + } + + /** + * The list of PrivateOfferDocuments. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOfferDocument[] $var + * @return $this + */ + public function setPrivateOfferDocuments($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Commerceproducer\V1beta\PrivateOfferDocument::class); + $this->private_offer_documents = $arr; + + return $this; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @param string $var + * @return $this + */ + public function setNextPageToken($var) + { + GPBUtil::checkString($var, True); + $this->next_page_token = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/ListPrivateOffersRequest.php b/Commerceproducer/src/V1beta/ListPrivateOffersRequest.php new file mode 100644 index 00000000000..ae0cc5c7193 --- /dev/null +++ b/Commerceproducer/src/V1beta/ListPrivateOffersRequest.php @@ -0,0 +1,265 @@ +google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest + */ +class ListPrivateOffersRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Parent value for ListPrivateOffersRequest + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $parent = ''; + /** + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_size = 0; + /** + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_token = ''; + /** + * Optional. Filter expression that matches a subset of resources to show. + * See https://google.aip.dev/160 for more details. + * Only supports filtering by: + * * `update_time`. Example: `update_time > "2012-04-21T11:30:00-04:00"`. + * + * Generated from protobuf field string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $filter = ''; + /** + * Optional. Ordering expression for sorting the results. + * See https://google.aip.dev/132#ordering for more details. + * If no value is present the default ordering is unspecified. + * Only supports ordering by: + * * `update_time` + * + * Generated from protobuf field string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $order_by = ''; + + /** + * @param string $parent Required. Parent value for ListPrivateOffersRequest + * Please see {@see CommerceTransactionClient::locationName()} for help formatting this field. + * + * @return \Google\Cloud\Commerceproducer\V1beta\ListPrivateOffersRequest + * + * @experimental + */ + public static function build(string $parent): self + { + return (new self()) + ->setParent($parent); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. Parent value for ListPrivateOffersRequest + * @type int $page_size + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * @type string $page_token + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * @type string $filter + * Optional. Filter expression that matches a subset of resources to show. + * See https://google.aip.dev/160 for more details. + * Only supports filtering by: + * * `update_time`. Example: `update_time > "2012-04-21T11:30:00-04:00"`. + * @type string $order_by + * Optional. Ordering expression for sorting the results. + * See https://google.aip.dev/132#ordering for more details. + * If no value is present the default ordering is unspecified. + * Only supports ordering by: + * * `update_time` + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. Parent value for ListPrivateOffersRequest + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getParent() + { + return $this->parent; + } + + /** + * Required. Parent value for ListPrivateOffersRequest + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setParent($var) + { + GPBUtil::checkString($var, True); + $this->parent = $var; + + return $this; + } + + /** + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + + /** + * Optional. Filter expression that matches a subset of resources to show. + * See https://google.aip.dev/160 for more details. + * Only supports filtering by: + * * `update_time`. Example: `update_time > "2012-04-21T11:30:00-04:00"`. + * + * Generated from protobuf field string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getFilter() + { + return $this->filter; + } + + /** + * Optional. Filter expression that matches a subset of resources to show. + * See https://google.aip.dev/160 for more details. + * Only supports filtering by: + * * `update_time`. Example: `update_time > "2012-04-21T11:30:00-04:00"`. + * + * Generated from protobuf field string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setFilter($var) + { + GPBUtil::checkString($var, True); + $this->filter = $var; + + return $this; + } + + /** + * Optional. Ordering expression for sorting the results. + * See https://google.aip.dev/132#ordering for more details. + * If no value is present the default ordering is unspecified. + * Only supports ordering by: + * * `update_time` + * + * Generated from protobuf field string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getOrderBy() + { + return $this->order_by; + } + + /** + * Optional. Ordering expression for sorting the results. + * See https://google.aip.dev/132#ordering for more details. + * If no value is present the default ordering is unspecified. + * Only supports ordering by: + * * `update_time` + * + * Generated from protobuf field string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setOrderBy($var) + { + GPBUtil::checkString($var, True); + $this->order_by = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/ListPrivateOffersResponse.php b/Commerceproducer/src/V1beta/ListPrivateOffersResponse.php new file mode 100644 index 00000000000..8a06379b2a9 --- /dev/null +++ b/Commerceproducer/src/V1beta/ListPrivateOffersResponse.php @@ -0,0 +1,105 @@ +google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse + */ +class ListPrivateOffersResponse extends \Google\Protobuf\Internal\Message +{ + /** + * The list of PrivateOffer + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + private $private_offers; + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + */ + protected $next_page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer[] $private_offers + * The list of PrivateOffer + * @type string $next_page_token + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * The list of PrivateOffer + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + * @return RepeatedField<\Google\Cloud\Commerceproducer\V1beta\PrivateOffer> + */ + public function getPrivateOffers() + { + return $this->private_offers; + } + + /** + * The list of PrivateOffer + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer[] $var + * @return $this + */ + public function setPrivateOffers($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer::class); + $this->private_offers = $arr; + + return $this; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @param string $var + * @return $this + */ + public function setNextPageToken($var) + { + GPBUtil::checkString($var, True); + $this->next_page_token = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/ListServicesRequest.php b/Commerceproducer/src/V1beta/ListServicesRequest.php new file mode 100644 index 00000000000..e666446d34f --- /dev/null +++ b/Commerceproducer/src/V1beta/ListServicesRequest.php @@ -0,0 +1,157 @@ +google.cloud.commerceproducer.v1beta.ListServicesRequest + */ +class ListServicesRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Parent value for ListServicesRequest + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $parent = ''; + /** + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_size = 0; + /** + * Optional. A token identifying a page of results the server should return. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_token = ''; + + /** + * @param string $parent Required. Parent value for ListServicesRequest + * Please see {@see CommerceTransactionClient::locationName()} for help formatting this field. + * + * @return \Google\Cloud\Commerceproducer\V1beta\ListServicesRequest + * + * @experimental + */ + public static function build(string $parent): self + { + return (new self()) + ->setParent($parent); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. Parent value for ListServicesRequest + * @type int $page_size + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * @type string $page_token + * Optional. A token identifying a page of results the server should return. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. Parent value for ListServicesRequest + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getParent() + { + return $this->parent; + } + + /** + * Required. Parent value for ListServicesRequest + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setParent($var) + { + GPBUtil::checkString($var, True); + $this->parent = $var; + + return $this; + } + + /** + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * Optional. A token identifying a page of results the server should return. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * Optional. A token identifying a page of results the server should return. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/ListServicesResponse.php b/Commerceproducer/src/V1beta/ListServicesResponse.php new file mode 100644 index 00000000000..d331d0e11f9 --- /dev/null +++ b/Commerceproducer/src/V1beta/ListServicesResponse.php @@ -0,0 +1,105 @@ +google.cloud.commerceproducer.v1beta.ListServicesResponse + */ +class ListServicesResponse extends \Google\Protobuf\Internal\Message +{ + /** + * The list of Service + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + private $services; + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + */ + protected $next_page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Commerceproducer\V1beta\Service[] $services + * The list of Service + * @type string $next_page_token + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * The list of Service + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + * @return RepeatedField<\Google\Cloud\Commerceproducer\V1beta\Service> + */ + public function getServices() + { + return $this->services; + } + + /** + * The list of Service + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + * @param \Google\Cloud\Commerceproducer\V1beta\Service[] $var + * @return $this + */ + public function setServices($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Commerceproducer\V1beta\Service::class); + $this->services = $arr; + + return $this; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @param string $var + * @return $this + */ + public function setNextPageToken($var) + { + GPBUtil::checkString($var, True); + $this->next_page_token = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/ListSkuGroupsRequest.php b/Commerceproducer/src/V1beta/ListSkuGroupsRequest.php new file mode 100644 index 00000000000..5c1acc5645a --- /dev/null +++ b/Commerceproducer/src/V1beta/ListSkuGroupsRequest.php @@ -0,0 +1,169 @@ +google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest + */ +class ListSkuGroupsRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Parent value for ListSkuGroupsRequest + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $parent = ''; + /** + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_size = 0; + /** + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_token = ''; + + /** + * @param string $parent Required. Parent value for ListSkuGroupsRequest + * Please see {@see CommerceTransactionClient::locationName()} for help formatting this field. + * + * @return \Google\Cloud\Commerceproducer\V1beta\ListSkuGroupsRequest + * + * @experimental + */ + public static function build(string $parent): self + { + return (new self()) + ->setParent($parent); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. Parent value for ListSkuGroupsRequest + * @type int $page_size + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * @type string $page_token + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. Parent value for ListSkuGroupsRequest + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getParent() + { + return $this->parent; + } + + /** + * Required. Parent value for ListSkuGroupsRequest + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setParent($var) + { + GPBUtil::checkString($var, True); + $this->parent = $var; + + return $this; + } + + /** + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/ListSkuGroupsResponse.php b/Commerceproducer/src/V1beta/ListSkuGroupsResponse.php new file mode 100644 index 00000000000..14f78c1af3e --- /dev/null +++ b/Commerceproducer/src/V1beta/ListSkuGroupsResponse.php @@ -0,0 +1,105 @@ +google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse + */ +class ListSkuGroupsResponse extends \Google\Protobuf\Internal\Message +{ + /** + * The list of SkuGroup + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + private $sku_groups; + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + */ + protected $next_page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Commerceproducer\V1beta\SkuGroup[] $sku_groups + * The list of SkuGroup + * @type string $next_page_token + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * The list of SkuGroup + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + * @return RepeatedField<\Google\Cloud\Commerceproducer\V1beta\SkuGroup> + */ + public function getSkuGroups() + { + return $this->sku_groups; + } + + /** + * The list of SkuGroup + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + * @param \Google\Cloud\Commerceproducer\V1beta\SkuGroup[] $var + * @return $this + */ + public function setSkuGroups($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Commerceproducer\V1beta\SkuGroup::class); + $this->sku_groups = $arr; + + return $this; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @param string $var + * @return $this + */ + public function setNextPageToken($var) + { + GPBUtil::checkString($var, True); + $this->next_page_token = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/ListSkusRequest.php b/Commerceproducer/src/V1beta/ListSkusRequest.php new file mode 100644 index 00000000000..0d4a53143c3 --- /dev/null +++ b/Commerceproducer/src/V1beta/ListSkusRequest.php @@ -0,0 +1,169 @@ +google.cloud.commerceproducer.v1beta.ListSkusRequest + */ +class ListSkusRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Parent value for ListSkusRequest + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $parent = ''; + /** + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_size = 0; + /** + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_token = ''; + + /** + * @param string $parent Required. Parent value for ListSkusRequest + * Please see {@see CommerceTransactionClient::serviceName()} for help formatting this field. + * + * @return \Google\Cloud\Commerceproducer\V1beta\ListSkusRequest + * + * @experimental + */ + public static function build(string $parent): self + { + return (new self()) + ->setParent($parent); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. Parent value for ListSkusRequest + * @type int $page_size + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * @type string $page_token + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. Parent value for ListSkusRequest + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getParent() + { + return $this->parent; + } + + /** + * Required. Parent value for ListSkusRequest + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setParent($var) + { + GPBUtil::checkString($var, True); + $this->parent = $var; + + return $this; + } + + /** + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/ListSkusResponse.php b/Commerceproducer/src/V1beta/ListSkusResponse.php new file mode 100644 index 00000000000..97d0f690e52 --- /dev/null +++ b/Commerceproducer/src/V1beta/ListSkusResponse.php @@ -0,0 +1,105 @@ +google.cloud.commerceproducer.v1beta.ListSkusResponse + */ +class ListSkusResponse extends \Google\Protobuf\Internal\Message +{ + /** + * The list of Sku + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + private $skus; + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + */ + protected $next_page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Commerceproducer\V1beta\Sku[] $skus + * The list of Sku + * @type string $next_page_token + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * The list of Sku + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + * @return RepeatedField<\Google\Cloud\Commerceproducer\V1beta\Sku> + */ + public function getSkus() + { + return $this->skus; + } + + /** + * The list of Sku + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku[] $var + * @return $this + */ + public function setSkus($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Commerceproducer\V1beta\Sku::class); + $this->skus = $arr; + + return $this; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @param string $var + * @return $this + */ + public function setNextPageToken($var) + { + GPBUtil::checkString($var, True); + $this->next_page_token = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/ListStandardOffersRequest.php b/Commerceproducer/src/V1beta/ListStandardOffersRequest.php new file mode 100644 index 00000000000..da2a7185a25 --- /dev/null +++ b/Commerceproducer/src/V1beta/ListStandardOffersRequest.php @@ -0,0 +1,277 @@ +google.cloud.commerceproducer.v1beta.ListStandardOffersRequest + */ +class ListStandardOffersRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Parent value for ListStandardOffersRequest + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $parent = ''; + /** + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_size = 0; + /** + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_token = ''; + /** + * Optional. Filter expression that matches a subset of resources to show. + * See https://google.aip.dev/160 for more details. + * Supports filtering by: + * * `effective_time`. + * Example: `effective_time > "2012-04-21T11:30:00-04:00"`. + * * `expire_time`. Example: `expire_time < "2026-05-06T00:00:00Z"`. + * + * Generated from protobuf field string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $filter = ''; + /** + * Optional. Ordering expression for sorting the results. + * See https://google.aip.dev/132#ordering for more details. + * If no value is present the default ordering is unspecified. + * Supports ordering by: + * * `effective_time` + * * `expire_time` + * + * Generated from protobuf field string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $order_by = ''; + + /** + * @param string $parent Required. Parent value for ListStandardOffersRequest + * Please see {@see CommerceTransactionClient::serviceName()} for help formatting this field. + * + * @return \Google\Cloud\Commerceproducer\V1beta\ListStandardOffersRequest + * + * @experimental + */ + public static function build(string $parent): self + { + return (new self()) + ->setParent($parent); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. Parent value for ListStandardOffersRequest + * @type int $page_size + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * @type string $page_token + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * @type string $filter + * Optional. Filter expression that matches a subset of resources to show. + * See https://google.aip.dev/160 for more details. + * Supports filtering by: + * * `effective_time`. + * Example: `effective_time > "2012-04-21T11:30:00-04:00"`. + * * `expire_time`. Example: `expire_time < "2026-05-06T00:00:00Z"`. + * @type string $order_by + * Optional. Ordering expression for sorting the results. + * See https://google.aip.dev/132#ordering for more details. + * If no value is present the default ordering is unspecified. + * Supports ordering by: + * * `effective_time` + * * `expire_time` + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. Parent value for ListStandardOffersRequest + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getParent() + { + return $this->parent; + } + + /** + * Required. Parent value for ListStandardOffersRequest + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setParent($var) + { + GPBUtil::checkString($var, True); + $this->parent = $var; + + return $this; + } + + /** + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * Optional. Maximum results to return. The service may return fewer than this + * value. The maximum value is 500; values above 500 will be coerced to 500. + * If unspecified, the server will default to the maximum. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * Optional. A page token, received from a previous list response message. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters of the list request must match the + * request that returned the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + + /** + * Optional. Filter expression that matches a subset of resources to show. + * See https://google.aip.dev/160 for more details. + * Supports filtering by: + * * `effective_time`. + * Example: `effective_time > "2012-04-21T11:30:00-04:00"`. + * * `expire_time`. Example: `expire_time < "2026-05-06T00:00:00Z"`. + * + * Generated from protobuf field string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getFilter() + { + return $this->filter; + } + + /** + * Optional. Filter expression that matches a subset of resources to show. + * See https://google.aip.dev/160 for more details. + * Supports filtering by: + * * `effective_time`. + * Example: `effective_time > "2012-04-21T11:30:00-04:00"`. + * * `expire_time`. Example: `expire_time < "2026-05-06T00:00:00Z"`. + * + * Generated from protobuf field string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setFilter($var) + { + GPBUtil::checkString($var, True); + $this->filter = $var; + + return $this; + } + + /** + * Optional. Ordering expression for sorting the results. + * See https://google.aip.dev/132#ordering for more details. + * If no value is present the default ordering is unspecified. + * Supports ordering by: + * * `effective_time` + * * `expire_time` + * + * Generated from protobuf field string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getOrderBy() + { + return $this->order_by; + } + + /** + * Optional. Ordering expression for sorting the results. + * See https://google.aip.dev/132#ordering for more details. + * If no value is present the default ordering is unspecified. + * Supports ordering by: + * * `effective_time` + * * `expire_time` + * + * Generated from protobuf field string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setOrderBy($var) + { + GPBUtil::checkString($var, True); + $this->order_by = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/ListStandardOffersResponse.php b/Commerceproducer/src/V1beta/ListStandardOffersResponse.php new file mode 100644 index 00000000000..8d5e5d8a4e5 --- /dev/null +++ b/Commerceproducer/src/V1beta/ListStandardOffersResponse.php @@ -0,0 +1,105 @@ +google.cloud.commerceproducer.v1beta.ListStandardOffersResponse + */ +class ListStandardOffersResponse extends \Google\Protobuf\Internal\Message +{ + /** + * The list of StandardOffer + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + */ + private $standard_offers; + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + */ + protected $next_page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Commerceproducer\V1beta\StandardOffer[] $standard_offers + * The list of StandardOffer + * @type string $next_page_token + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * The list of StandardOffer + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * @return RepeatedField<\Google\Cloud\Commerceproducer\V1beta\StandardOffer> + */ + public function getStandardOffers() + { + return $this->standard_offers; + } + + /** + * The list of StandardOffer + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * @param \Google\Cloud\Commerceproducer\V1beta\StandardOffer[] $var + * @return $this + */ + public function setStandardOffers($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Commerceproducer\V1beta\StandardOffer::class); + $this->standard_offers = $arr; + + return $this; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @param string $var + * @return $this + */ + public function setNextPageToken($var) + { + GPBUtil::checkString($var, True); + $this->next_page_token = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer.php b/Commerceproducer/src/V1beta/PrivateOffer.php new file mode 100644 index 00000000000..885a2de9d3e --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer.php @@ -0,0 +1,1048 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer + */ +class PrivateOffer extends \Google\Protobuf\Internal\Message +{ + /** + * Identifier. Name of the resource. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + */ + protected $name = ''; + /** + * Output only. The state of the private offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $state = 0; + /** + * Output only. Information about the Google review process. + * Present only when the offer is determined to require review by Google. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview publish_requirement_google_review = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $publish_requirement_google_review = null; + /** + * Output only. The creation time. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $create_time = null; + /** + * Output only. The last update time. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $update_time = null; + /** + * Output only. The time the offer transitioned to PUBLISHED state. + * + * Generated from protobuf field .google.protobuf.Timestamp publish_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $publish_time = null; + /** + * Output only. The time the offer transitioned to ACCEPTED state. + * + * Generated from protobuf field .google.protobuf.Timestamp accept_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $accept_time = null; + /** + * Output only. The time the offer transited to CANCELLED state. + * + * Generated from protobuf field .google.protobuf.Timestamp cancel_time = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $cancel_time = null; + /** + * Output only. The time when the offer ended. This can only be set for offers + * with `ENDED` state. + * + * Generated from protobuf field .google.protobuf.Timestamp end_time = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $end_time = null; + /** + * Output only. Internal note supplied when the offer was cancelled. + * Present only for cancelled offers and only if a note was supplied. + * + * Generated from protobuf field string cancellation_note = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $cancellation_note = ''; + /** + * Output only. Information about the reseller contact. + * Present only for offers created by a reseller. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact reseller_contact = 20 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $reseller_contact = null; + /** + * Optional. Unstructured text content that is not visible to the customer. + * Intended to be used by partners for storing notes about the private offer. + * Maximum length: 1500 characters. + * + * Generated from protobuf field string internal_note = 16 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $internal_note = ''; + /** + * Optional. The type of the deal transacted with the offer. + * The deal type is not visible to customers. + * Must be present to publish the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType offer_deal_type = 21 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $offer_deal_type = 0; + /** + * Optional. A title that describes the offer and helps your customers + * identify it. This title will be visible to the customer. Maximum length: + * 256 characters. Must be present to publish the offer. + * + * Generated from protobuf field string title = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $title = ''; + /** + * Optional. Unstructured text content that is visible to the customer. + * Maximum length: 120 characters. + * + * Generated from protobuf field string customer_note = 17 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $customer_note = ''; + /** + * Optional. Information about the partner contact. + * Must be provided when publishing the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partner_contact = 14 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $partner_contact = null; + /** + * Optional. Information identifying the intended recipient of the offer. + * Must be provided when publishing the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer = 13 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $customer = null; + /** + * Optional. Deadline for acceptance of published offers. + * A published offer not accepted by this time will expire. + * Only day boundaries in the America/Los_Angeles time zone are supported. + * Must be present to publish the offer. + * When publishing an offer the deadline must be set to a time in the future + * not more than 3 months from the time of publishing. For example, if the + * offer is published on 03/05 at 1PM, then the deadline must be at or before + * 06/05 12AM America/Los_Angeles time. + * The deadline must also be: + * * Before or equal to the scheduled start time of this offer (if + * `term.scheduled_start_time` is set and the term's start policy is + * `SCHEDULED_START_TIME`). + * * Before or equal to the scheduled end time of this offer, if + * `term.scheduled_end_time` is set and the term's end policy is + * `SCHEDULED_END_TIME`. + * * Before or equal to the upcoming installment start times on this offer. + * * Before or equal to the amended offer's end time, if the offer amends + * another private or standard offer. + * * Before or equal to the start time of the next pending installment of the + * amended offer, if amending a private offer with custom installments. For + * example, if the amended offer has installments on 01/01, 02/01, 03/01, + * 04/01, and today is 02/15, then this offer's `accept_deadline_time` + * must be at or before 03/01. + * In addition, if the offer amends another private offer, but there is + * already an accepted upcoming amendment against that private offer, then + * this deadline must be before or equal to the start time of the accepted + * upcoming offer. + * For example, today is 02/15, and this offer (offer C) amends private offer + * A, and private offer B has already been accepted which also amends private + * offer A. Private offer B has a start time of 03/01. Then this deadline + * must be at or before 03/01. Otherwise, on 03/01, private offer B would + * take effect, superseding offer A. This would mean offer C is no longer + * amending the currently active offer (Offer A), which is required for + * valid amendments. + * Once the offer is published, this field is still updatable to extend the + * deadline of the offer. However, the extension is still limited to be + * at most 3 months from the time of publishing. + * + * Generated from protobuf field .google.type.DateTime accept_deadline_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $accept_deadline_time = null; + /** + * Optional. Configuration for the offer term. + * Must be set when publishing the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.Term term = 15 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $term = null; + protected $content; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer $single_product_offer + * Optional. Configurations for the offer that is associated with a single + * product. + * @type string $name + * Identifier. Name of the resource. + * @type int $state + * Output only. The state of the private offer. + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\PublishRequirementGoogleReview $publish_requirement_google_review + * Output only. Information about the Google review process. + * Present only when the offer is determined to require review by Google. + * @type \Google\Protobuf\Timestamp $create_time + * Output only. The creation time. + * @type \Google\Protobuf\Timestamp $update_time + * Output only. The last update time. + * @type \Google\Protobuf\Timestamp $publish_time + * Output only. The time the offer transitioned to PUBLISHED state. + * @type \Google\Protobuf\Timestamp $accept_time + * Output only. The time the offer transitioned to ACCEPTED state. + * @type \Google\Protobuf\Timestamp $cancel_time + * Output only. The time the offer transited to CANCELLED state. + * @type \Google\Protobuf\Timestamp $end_time + * Output only. The time when the offer ended. This can only be set for offers + * with `ENDED` state. + * @type string $cancellation_note + * Output only. Internal note supplied when the offer was cancelled. + * Present only for cancelled offers and only if a note was supplied. + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\ResellerContact $reseller_contact + * Output only. Information about the reseller contact. + * Present only for offers created by a reseller. + * @type string $internal_note + * Optional. Unstructured text content that is not visible to the customer. + * Intended to be used by partners for storing notes about the private offer. + * Maximum length: 1500 characters. + * @type int $offer_deal_type + * Optional. The type of the deal transacted with the offer. + * The deal type is not visible to customers. + * Must be present to publish the offer. + * @type string $title + * Optional. A title that describes the offer and helps your customers + * identify it. This title will be visible to the customer. Maximum length: + * 256 characters. Must be present to publish the offer. + * @type string $customer_note + * Optional. Unstructured text content that is visible to the customer. + * Maximum length: 120 characters. + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\PartnerContact $partner_contact + * Optional. Information about the partner contact. + * Must be provided when publishing the offer. + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\Customer $customer + * Optional. Information identifying the intended recipient of the offer. + * Must be provided when publishing the offer. + * @type \Google\Type\DateTime $accept_deadline_time + * Optional. Deadline for acceptance of published offers. + * A published offer not accepted by this time will expire. + * Only day boundaries in the America/Los_Angeles time zone are supported. + * Must be present to publish the offer. + * When publishing an offer the deadline must be set to a time in the future + * not more than 3 months from the time of publishing. For example, if the + * offer is published on 03/05 at 1PM, then the deadline must be at or before + * 06/05 12AM America/Los_Angeles time. + * The deadline must also be: + * * Before or equal to the scheduled start time of this offer (if + * `term.scheduled_start_time` is set and the term's start policy is + * `SCHEDULED_START_TIME`). + * * Before or equal to the scheduled end time of this offer, if + * `term.scheduled_end_time` is set and the term's end policy is + * `SCHEDULED_END_TIME`. + * * Before or equal to the upcoming installment start times on this offer. + * * Before or equal to the amended offer's end time, if the offer amends + * another private or standard offer. + * * Before or equal to the start time of the next pending installment of the + * amended offer, if amending a private offer with custom installments. For + * example, if the amended offer has installments on 01/01, 02/01, 03/01, + * 04/01, and today is 02/15, then this offer's `accept_deadline_time` + * must be at or before 03/01. + * In addition, if the offer amends another private offer, but there is + * already an accepted upcoming amendment against that private offer, then + * this deadline must be before or equal to the start time of the accepted + * upcoming offer. + * For example, today is 02/15, and this offer (offer C) amends private offer + * A, and private offer B has already been accepted which also amends private + * offer A. Private offer B has a start time of 03/01. Then this deadline + * must be at or before 03/01. Otherwise, on 03/01, private offer B would + * take effect, superseding offer A. This would mean offer C is no longer + * amending the currently active offer (Offer A), which is required for + * valid amendments. + * Once the offer is published, this field is still updatable to extend the + * deadline of the offer. However, the extension is still limited to be + * at most 3 months from the time of publishing. + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\Term $term + * Optional. Configuration for the offer term. + * Must be set when publishing the offer. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\PrivateOffer::initOnce(); + parent::__construct($data); + } + + /** + * Optional. Configurations for the offer that is associated with a single + * product. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer single_product_offer = 12 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer|null + */ + public function getSingleProductOffer() + { + return $this->readOneof(12); + } + + public function hasSingleProductOffer() + { + return $this->hasOneof(12); + } + + /** + * Optional. Configurations for the offer that is associated with a single + * product. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer single_product_offer = 12 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer $var + * @return $this + */ + public function setSingleProductOffer($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer::class); + $this->writeOneof(12, $var); + + return $this; + } + + /** + * Identifier. Name of the resource. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Identifier. Name of the resource. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Output only. The state of the private offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getState() + { + return $this->state; + } + + /** + * Output only. The state of the private offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setState($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\State::class); + $this->state = $var; + + return $this; + } + + /** + * Output only. Information about the Google review process. + * Present only when the offer is determined to require review by Google. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview publish_requirement_google_review = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\PublishRequirementGoogleReview|null + */ + public function getPublishRequirementGoogleReview() + { + return $this->publish_requirement_google_review; + } + + public function hasPublishRequirementGoogleReview() + { + return isset($this->publish_requirement_google_review); + } + + public function clearPublishRequirementGoogleReview() + { + unset($this->publish_requirement_google_review); + } + + /** + * Output only. Information about the Google review process. + * Present only when the offer is determined to require review by Google. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview publish_requirement_google_review = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\PublishRequirementGoogleReview $var + * @return $this + */ + public function setPublishRequirementGoogleReview($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\PublishRequirementGoogleReview::class); + $this->publish_requirement_google_review = $var; + + return $this; + } + + /** + * Output only. The creation time. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getCreateTime() + { + return $this->create_time; + } + + public function hasCreateTime() + { + return isset($this->create_time); + } + + public function clearCreateTime() + { + unset($this->create_time); + } + + /** + * Output only. The creation time. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setCreateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->create_time = $var; + + return $this; + } + + /** + * Output only. The last update time. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getUpdateTime() + { + return $this->update_time; + } + + public function hasUpdateTime() + { + return isset($this->update_time); + } + + public function clearUpdateTime() + { + unset($this->update_time); + } + + /** + * Output only. The last update time. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setUpdateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->update_time = $var; + + return $this; + } + + /** + * Output only. The time the offer transitioned to PUBLISHED state. + * + * Generated from protobuf field .google.protobuf.Timestamp publish_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getPublishTime() + { + return $this->publish_time; + } + + public function hasPublishTime() + { + return isset($this->publish_time); + } + + public function clearPublishTime() + { + unset($this->publish_time); + } + + /** + * Output only. The time the offer transitioned to PUBLISHED state. + * + * Generated from protobuf field .google.protobuf.Timestamp publish_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setPublishTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->publish_time = $var; + + return $this; + } + + /** + * Output only. The time the offer transitioned to ACCEPTED state. + * + * Generated from protobuf field .google.protobuf.Timestamp accept_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getAcceptTime() + { + return $this->accept_time; + } + + public function hasAcceptTime() + { + return isset($this->accept_time); + } + + public function clearAcceptTime() + { + unset($this->accept_time); + } + + /** + * Output only. The time the offer transitioned to ACCEPTED state. + * + * Generated from protobuf field .google.protobuf.Timestamp accept_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setAcceptTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->accept_time = $var; + + return $this; + } + + /** + * Output only. The time the offer transited to CANCELLED state. + * + * Generated from protobuf field .google.protobuf.Timestamp cancel_time = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getCancelTime() + { + return $this->cancel_time; + } + + public function hasCancelTime() + { + return isset($this->cancel_time); + } + + public function clearCancelTime() + { + unset($this->cancel_time); + } + + /** + * Output only. The time the offer transited to CANCELLED state. + * + * Generated from protobuf field .google.protobuf.Timestamp cancel_time = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setCancelTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->cancel_time = $var; + + return $this; + } + + /** + * Output only. The time when the offer ended. This can only be set for offers + * with `ENDED` state. + * + * Generated from protobuf field .google.protobuf.Timestamp end_time = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getEndTime() + { + return $this->end_time; + } + + public function hasEndTime() + { + return isset($this->end_time); + } + + public function clearEndTime() + { + unset($this->end_time); + } + + /** + * Output only. The time when the offer ended. This can only be set for offers + * with `ENDED` state. + * + * Generated from protobuf field .google.protobuf.Timestamp end_time = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setEndTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->end_time = $var; + + return $this; + } + + /** + * Output only. Internal note supplied when the offer was cancelled. + * Present only for cancelled offers and only if a note was supplied. + * + * Generated from protobuf field string cancellation_note = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getCancellationNote() + { + return $this->cancellation_note; + } + + /** + * Output only. Internal note supplied when the offer was cancelled. + * Present only for cancelled offers and only if a note was supplied. + * + * Generated from protobuf field string cancellation_note = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setCancellationNote($var) + { + GPBUtil::checkString($var, True); + $this->cancellation_note = $var; + + return $this; + } + + /** + * Output only. Information about the reseller contact. + * Present only for offers created by a reseller. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact reseller_contact = 20 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\ResellerContact|null + */ + public function getResellerContact() + { + return $this->reseller_contact; + } + + public function hasResellerContact() + { + return isset($this->reseller_contact); + } + + public function clearResellerContact() + { + unset($this->reseller_contact); + } + + /** + * Output only. Information about the reseller contact. + * Present only for offers created by a reseller. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact reseller_contact = 20 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\ResellerContact $var + * @return $this + */ + public function setResellerContact($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\ResellerContact::class); + $this->reseller_contact = $var; + + return $this; + } + + /** + * Optional. Unstructured text content that is not visible to the customer. + * Intended to be used by partners for storing notes about the private offer. + * Maximum length: 1500 characters. + * + * Generated from protobuf field string internal_note = 16 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getInternalNote() + { + return $this->internal_note; + } + + /** + * Optional. Unstructured text content that is not visible to the customer. + * Intended to be used by partners for storing notes about the private offer. + * Maximum length: 1500 characters. + * + * Generated from protobuf field string internal_note = 16 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setInternalNote($var) + { + GPBUtil::checkString($var, True); + $this->internal_note = $var; + + return $this; + } + + /** + * Optional. The type of the deal transacted with the offer. + * The deal type is not visible to customers. + * Must be present to publish the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType offer_deal_type = 21 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getOfferDealType() + { + return $this->offer_deal_type; + } + + /** + * Optional. The type of the deal transacted with the offer. + * The deal type is not visible to customers. + * Must be present to publish the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType offer_deal_type = 21 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setOfferDealType($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\OfferDealType::class); + $this->offer_deal_type = $var; + + return $this; + } + + /** + * Optional. A title that describes the offer and helps your customers + * identify it. This title will be visible to the customer. Maximum length: + * 256 characters. Must be present to publish the offer. + * + * Generated from protobuf field string title = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getTitle() + { + return $this->title; + } + + /** + * Optional. A title that describes the offer and helps your customers + * identify it. This title will be visible to the customer. Maximum length: + * 256 characters. Must be present to publish the offer. + * + * Generated from protobuf field string title = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setTitle($var) + { + GPBUtil::checkString($var, True); + $this->title = $var; + + return $this; + } + + /** + * Optional. Unstructured text content that is visible to the customer. + * Maximum length: 120 characters. + * + * Generated from protobuf field string customer_note = 17 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getCustomerNote() + { + return $this->customer_note; + } + + /** + * Optional. Unstructured text content that is visible to the customer. + * Maximum length: 120 characters. + * + * Generated from protobuf field string customer_note = 17 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setCustomerNote($var) + { + GPBUtil::checkString($var, True); + $this->customer_note = $var; + + return $this; + } + + /** + * Optional. Information about the partner contact. + * Must be provided when publishing the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partner_contact = 14 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\PartnerContact|null + */ + public function getPartnerContact() + { + return $this->partner_contact; + } + + public function hasPartnerContact() + { + return isset($this->partner_contact); + } + + public function clearPartnerContact() + { + unset($this->partner_contact); + } + + /** + * Optional. Information about the partner contact. + * Must be provided when publishing the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partner_contact = 14 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\PartnerContact $var + * @return $this + */ + public function setPartnerContact($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\PartnerContact::class); + $this->partner_contact = $var; + + return $this; + } + + /** + * Optional. Information identifying the intended recipient of the offer. + * Must be provided when publishing the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer = 13 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\Customer|null + */ + public function getCustomer() + { + return $this->customer; + } + + public function hasCustomer() + { + return isset($this->customer); + } + + public function clearCustomer() + { + unset($this->customer); + } + + /** + * Optional. Information identifying the intended recipient of the offer. + * Must be provided when publishing the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer = 13 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\Customer $var + * @return $this + */ + public function setCustomer($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\Customer::class); + $this->customer = $var; + + return $this; + } + + /** + * Optional. Deadline for acceptance of published offers. + * A published offer not accepted by this time will expire. + * Only day boundaries in the America/Los_Angeles time zone are supported. + * Must be present to publish the offer. + * When publishing an offer the deadline must be set to a time in the future + * not more than 3 months from the time of publishing. For example, if the + * offer is published on 03/05 at 1PM, then the deadline must be at or before + * 06/05 12AM America/Los_Angeles time. + * The deadline must also be: + * * Before or equal to the scheduled start time of this offer (if + * `term.scheduled_start_time` is set and the term's start policy is + * `SCHEDULED_START_TIME`). + * * Before or equal to the scheduled end time of this offer, if + * `term.scheduled_end_time` is set and the term's end policy is + * `SCHEDULED_END_TIME`. + * * Before or equal to the upcoming installment start times on this offer. + * * Before or equal to the amended offer's end time, if the offer amends + * another private or standard offer. + * * Before or equal to the start time of the next pending installment of the + * amended offer, if amending a private offer with custom installments. For + * example, if the amended offer has installments on 01/01, 02/01, 03/01, + * 04/01, and today is 02/15, then this offer's `accept_deadline_time` + * must be at or before 03/01. + * In addition, if the offer amends another private offer, but there is + * already an accepted upcoming amendment against that private offer, then + * this deadline must be before or equal to the start time of the accepted + * upcoming offer. + * For example, today is 02/15, and this offer (offer C) amends private offer + * A, and private offer B has already been accepted which also amends private + * offer A. Private offer B has a start time of 03/01. Then this deadline + * must be at or before 03/01. Otherwise, on 03/01, private offer B would + * take effect, superseding offer A. This would mean offer C is no longer + * amending the currently active offer (Offer A), which is required for + * valid amendments. + * Once the offer is published, this field is still updatable to extend the + * deadline of the offer. However, the extension is still limited to be + * at most 3 months from the time of publishing. + * + * Generated from protobuf field .google.type.DateTime accept_deadline_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Type\DateTime|null + */ + public function getAcceptDeadlineTime() + { + return $this->accept_deadline_time; + } + + public function hasAcceptDeadlineTime() + { + return isset($this->accept_deadline_time); + } + + public function clearAcceptDeadlineTime() + { + unset($this->accept_deadline_time); + } + + /** + * Optional. Deadline for acceptance of published offers. + * A published offer not accepted by this time will expire. + * Only day boundaries in the America/Los_Angeles time zone are supported. + * Must be present to publish the offer. + * When publishing an offer the deadline must be set to a time in the future + * not more than 3 months from the time of publishing. For example, if the + * offer is published on 03/05 at 1PM, then the deadline must be at or before + * 06/05 12AM America/Los_Angeles time. + * The deadline must also be: + * * Before or equal to the scheduled start time of this offer (if + * `term.scheduled_start_time` is set and the term's start policy is + * `SCHEDULED_START_TIME`). + * * Before or equal to the scheduled end time of this offer, if + * `term.scheduled_end_time` is set and the term's end policy is + * `SCHEDULED_END_TIME`. + * * Before or equal to the upcoming installment start times on this offer. + * * Before or equal to the amended offer's end time, if the offer amends + * another private or standard offer. + * * Before or equal to the start time of the next pending installment of the + * amended offer, if amending a private offer with custom installments. For + * example, if the amended offer has installments on 01/01, 02/01, 03/01, + * 04/01, and today is 02/15, then this offer's `accept_deadline_time` + * must be at or before 03/01. + * In addition, if the offer amends another private offer, but there is + * already an accepted upcoming amendment against that private offer, then + * this deadline must be before or equal to the start time of the accepted + * upcoming offer. + * For example, today is 02/15, and this offer (offer C) amends private offer + * A, and private offer B has already been accepted which also amends private + * offer A. Private offer B has a start time of 03/01. Then this deadline + * must be at or before 03/01. Otherwise, on 03/01, private offer B would + * take effect, superseding offer A. This would mean offer C is no longer + * amending the currently active offer (Offer A), which is required for + * valid amendments. + * Once the offer is published, this field is still updatable to extend the + * deadline of the offer. However, the extension is still limited to be + * at most 3 months from the time of publishing. + * + * Generated from protobuf field .google.type.DateTime accept_deadline_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Type\DateTime $var + * @return $this + */ + public function setAcceptDeadlineTime($var) + { + GPBUtil::checkMessage($var, \Google\Type\DateTime::class); + $this->accept_deadline_time = $var; + + return $this; + } + + /** + * Optional. Configuration for the offer term. + * Must be set when publishing the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.Term term = 15 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\Term|null + */ + public function getTerm() + { + return $this->term; + } + + public function hasTerm() + { + return isset($this->term); + } + + public function clearTerm() + { + unset($this->term); + } + + /** + * Optional. Configuration for the offer term. + * Must be set when publishing the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.Term term = 15 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\Term $var + * @return $this + */ + public function setTerm($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\Term::class); + $this->term = $var; + + return $this; + } + + /** + * @return string + */ + public function getContent() + { + return $this->whichOneof("content"); + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/Customer.php b/Commerceproducer/src/V1beta/PrivateOffer/Customer.php new file mode 100644 index 00000000000..52d44345169 --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/Customer.php @@ -0,0 +1,286 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.Customer + */ +class Customer extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. A string identifying the customer's entity (for example, the + * customer's organization or company name). Must be provided when + * publishing the offer. Maximum length: 256 characters. + * + * Generated from protobuf field string entity_title = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $entity_title = ''; + /** + * Optional. A string identifying the customer contact. + * Must be provided when publishing the offer. + * Maximum length: 256 characters. + * + * Generated from protobuf field string contact = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $contact = ''; + /** + * Optional. Email of customer contact. + * If provided, it must be a well-formed email address. + * + * Generated from protobuf field string email = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $email = ''; + /** + * Output only. Legal address of the customer organization. + * This field can no longer be set, but it is preserved to return the + * data from existing offers where address is set. + * + * Generated from protobuf field string address = 4 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * @deprecated + */ + protected $address = ''; + /** + * Optional. The customer's billing account targeted by the offer. + * The private offer once published can be accepted by a billing + * administrator of the target billing account. If the customer accepts the + * offer and later moves the resulting order to a new billing account, this + * field will continue to reflect the original billing account to which the + * private offer was extended. Must be provided when publishing the offer. + * To publish this private offer: + * * The billing account must exist. + * * The billing account must not be in a free trial. + * * The billing account must comply with Marketplace Reselling Policies. + * * Reseller parent billing accounts are prohibited. Reseller subaccounts + * are prohibited unless the service is enabled for reselling. + * Format: billingAccounts/012345-567890-ABCDEF + * + * Generated from protobuf field string target_billing_account = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { + */ + protected $target_billing_account = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $entity_title + * Optional. A string identifying the customer's entity (for example, the + * customer's organization or company name). Must be provided when + * publishing the offer. Maximum length: 256 characters. + * @type string $contact + * Optional. A string identifying the customer contact. + * Must be provided when publishing the offer. + * Maximum length: 256 characters. + * @type string $email + * Optional. Email of customer contact. + * If provided, it must be a well-formed email address. + * @type string $address + * Output only. Legal address of the customer organization. + * This field can no longer be set, but it is preserved to return the + * data from existing offers where address is set. + * @type string $target_billing_account + * Optional. The customer's billing account targeted by the offer. + * The private offer once published can be accepted by a billing + * administrator of the target billing account. If the customer accepts the + * offer and later moves the resulting order to a new billing account, this + * field will continue to reflect the original billing account to which the + * private offer was extended. Must be provided when publishing the offer. + * To publish this private offer: + * * The billing account must exist. + * * The billing account must not be in a free trial. + * * The billing account must comply with Marketplace Reselling Policies. + * * Reseller parent billing accounts are prohibited. Reseller subaccounts + * are prohibited unless the service is enabled for reselling. + * Format: billingAccounts/012345-567890-ABCDEF + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\PrivateOffer::initOnce(); + parent::__construct($data); + } + + /** + * Optional. A string identifying the customer's entity (for example, the + * customer's organization or company name). Must be provided when + * publishing the offer. Maximum length: 256 characters. + * + * Generated from protobuf field string entity_title = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getEntityTitle() + { + return $this->entity_title; + } + + /** + * Optional. A string identifying the customer's entity (for example, the + * customer's organization or company name). Must be provided when + * publishing the offer. Maximum length: 256 characters. + * + * Generated from protobuf field string entity_title = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setEntityTitle($var) + { + GPBUtil::checkString($var, True); + $this->entity_title = $var; + + return $this; + } + + /** + * Optional. A string identifying the customer contact. + * Must be provided when publishing the offer. + * Maximum length: 256 characters. + * + * Generated from protobuf field string contact = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getContact() + { + return $this->contact; + } + + /** + * Optional. A string identifying the customer contact. + * Must be provided when publishing the offer. + * Maximum length: 256 characters. + * + * Generated from protobuf field string contact = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setContact($var) + { + GPBUtil::checkString($var, True); + $this->contact = $var; + + return $this; + } + + /** + * Optional. Email of customer contact. + * If provided, it must be a well-formed email address. + * + * Generated from protobuf field string email = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getEmail() + { + return $this->email; + } + + /** + * Optional. Email of customer contact. + * If provided, it must be a well-formed email address. + * + * Generated from protobuf field string email = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setEmail($var) + { + GPBUtil::checkString($var, True); + $this->email = $var; + + return $this; + } + + /** + * Output only. Legal address of the customer organization. + * This field can no longer be set, but it is preserved to return the + * data from existing offers where address is set. + * + * Generated from protobuf field string address = 4 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + * @deprecated + */ + public function getAddress() + { + if ($this->address !== '') { + @trigger_error('address is deprecated.', E_USER_DEPRECATED); + } + return $this->address; + } + + /** + * Output only. Legal address of the customer organization. + * This field can no longer be set, but it is preserved to return the + * data from existing offers where address is set. + * + * Generated from protobuf field string address = 4 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + * @deprecated + */ + public function setAddress($var) + { + @trigger_error('address is deprecated.', E_USER_DEPRECATED); + GPBUtil::checkString($var, True); + $this->address = $var; + + return $this; + } + + /** + * Optional. The customer's billing account targeted by the offer. + * The private offer once published can be accepted by a billing + * administrator of the target billing account. If the customer accepts the + * offer and later moves the resulting order to a new billing account, this + * field will continue to reflect the original billing account to which the + * private offer was extended. Must be provided when publishing the offer. + * To publish this private offer: + * * The billing account must exist. + * * The billing account must not be in a free trial. + * * The billing account must comply with Marketplace Reselling Policies. + * * Reseller parent billing accounts are prohibited. Reseller subaccounts + * are prohibited unless the service is enabled for reselling. + * Format: billingAccounts/012345-567890-ABCDEF + * + * Generated from protobuf field string target_billing_account = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { + * @return string + */ + public function getTargetBillingAccount() + { + return $this->target_billing_account; + } + + /** + * Optional. The customer's billing account targeted by the offer. + * The private offer once published can be accepted by a billing + * administrator of the target billing account. If the customer accepts the + * offer and later moves the resulting order to a new billing account, this + * field will continue to reflect the original billing account to which the + * private offer was extended. Must be provided when publishing the offer. + * To publish this private offer: + * * The billing account must exist. + * * The billing account must not be in a free trial. + * * The billing account must comply with Marketplace Reselling Policies. + * * Reseller parent billing accounts are prohibited. Reseller subaccounts + * are prohibited unless the service is enabled for reselling. + * Format: billingAccounts/012345-567890-ABCDEF + * + * Generated from protobuf field string target_billing_account = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setTargetBillingAccount($var) + { + GPBUtil::checkString($var, True); + $this->target_billing_account = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/OfferDealType.php b/Commerceproducer/src/V1beta/PrivateOffer/OfferDealType.php new file mode 100644 index 00000000000..f66797ee1b1 --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/OfferDealType.php @@ -0,0 +1,89 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType + */ +class OfferDealType +{ + /** + * Default value. This value is unused. + * + * Generated from protobuf enum OFFER_DEAL_TYPE_UNSPECIFIED = 0; + */ + const OFFER_DEAL_TYPE_UNSPECIFIED = 0; + /** + * The offer corresponds to a preexisting commercial arrangement for a + * workload on Google Cloud that is being transferred to the Cloud + * Marketplace. + * + * Generated from protobuf enum CHANNEL_SHIFT = 1; + */ + const CHANNEL_SHIFT = 1; + /** + * The offer corresponds to a preexisting commercial arrangement for a + * workload previously not on Google Cloud that is being transferred to + * Google Cloud. + * + * Generated from protobuf enum MIGRATION = 2; + */ + const MIGRATION = 2; + /** + * The offer corresponds to a renewal of a deal initially transacted on + * the Google Cloud Marketplace. + * + * Generated from protobuf enum NATIVE_RENEWAL = 3; + */ + const NATIVE_RENEWAL = 3; + /** + * The offer corresponds to a new deal transacted on the Google Cloud + * Marketplace. + * This value is not allowed if the offer amends another private offer + * where the term has not ended, and the amended private offer has a deal + * type of `MIGRATION`, `CHANNEL_SHIFT` or `NATIVE_RENEWAL`. + * + * Generated from protobuf enum NEW = 4; + */ + const PBNEW = 4; + + private static $valueToName = [ + self::OFFER_DEAL_TYPE_UNSPECIFIED => 'OFFER_DEAL_TYPE_UNSPECIFIED', + self::CHANNEL_SHIFT => 'CHANNEL_SHIFT', + self::MIGRATION => 'MIGRATION', + self::NATIVE_RENEWAL => 'NATIVE_RENEWAL', + self::PBNEW => 'NEW', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + $pbconst = __CLASS__. '::PB' . strtoupper($name); + if (!defined($pbconst)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($pbconst); + } + return constant($const); + } +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/PartnerContact.php b/Commerceproducer/src/V1beta/PrivateOffer/PartnerContact.php new file mode 100644 index 00000000000..4d04fd5032c --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/PartnerContact.php @@ -0,0 +1,129 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact + */ +class PartnerContact extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. Display text identifying the partner sales contact. + * Displayed to the customer. + * Must be provided when publishing the offer. + * Maximum length: 256 characters. + * + * Generated from protobuf field string contact = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $contact = ''; + /** + * Optional. The email address of the partner sales contact. + * Displayed to the customer. + * The format of the provided email address is validated when publishing the + * offer, but no verification is performed that the email address actually + * exists, accepts email, or is otherwise functional. + * + * Generated from protobuf field string email = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $email = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $contact + * Optional. Display text identifying the partner sales contact. + * Displayed to the customer. + * Must be provided when publishing the offer. + * Maximum length: 256 characters. + * @type string $email + * Optional. The email address of the partner sales contact. + * Displayed to the customer. + * The format of the provided email address is validated when publishing the + * offer, but no verification is performed that the email address actually + * exists, accepts email, or is otherwise functional. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\PrivateOffer::initOnce(); + parent::__construct($data); + } + + /** + * Optional. Display text identifying the partner sales contact. + * Displayed to the customer. + * Must be provided when publishing the offer. + * Maximum length: 256 characters. + * + * Generated from protobuf field string contact = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getContact() + { + return $this->contact; + } + + /** + * Optional. Display text identifying the partner sales contact. + * Displayed to the customer. + * Must be provided when publishing the offer. + * Maximum length: 256 characters. + * + * Generated from protobuf field string contact = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setContact($var) + { + GPBUtil::checkString($var, True); + $this->contact = $var; + + return $this; + } + + /** + * Optional. The email address of the partner sales contact. + * Displayed to the customer. + * The format of the provided email address is validated when publishing the + * offer, but no verification is performed that the email address actually + * exists, accepts email, or is otherwise functional. + * + * Generated from protobuf field string email = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getEmail() + { + return $this->email; + } + + /** + * Optional. The email address of the partner sales contact. + * Displayed to the customer. + * The format of the provided email address is validated when publishing the + * offer, but no verification is performed that the email address actually + * exists, accepts email, or is otherwise functional. + * + * Generated from protobuf field string email = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setEmail($var) + { + GPBUtil::checkString($var, True); + $this->email = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/PublishRequirementGoogleReview.php b/Commerceproducer/src/V1beta/PrivateOffer/PublishRequirementGoogleReview.php new file mode 100644 index 00000000000..09d1f6c46a3 --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/PublishRequirementGoogleReview.php @@ -0,0 +1,77 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + */ +class PublishRequirementGoogleReview extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The approval time of the Google review process. + * + * Generated from protobuf field .google.protobuf.Timestamp review_approve_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $review_approve_time = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Protobuf\Timestamp $review_approve_time + * Output only. The approval time of the Google review process. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\PrivateOffer::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The approval time of the Google review process. + * + * Generated from protobuf field .google.protobuf.Timestamp review_approve_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getReviewApproveTime() + { + return $this->review_approve_time; + } + + public function hasReviewApproveTime() + { + return isset($this->review_approve_time); + } + + public function clearReviewApproveTime() + { + unset($this->review_approve_time); + } + + /** + * Output only. The approval time of the Google review process. + * + * Generated from protobuf field .google.protobuf.Timestamp review_approve_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setReviewApproveTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->review_approve_time = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/ResellerContact.php b/Commerceproducer/src/V1beta/PrivateOffer/ResellerContact.php new file mode 100644 index 00000000000..5af8b771287 --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/ResellerContact.php @@ -0,0 +1,101 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact + */ +class ResellerContact extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The name of the reseller contact for this offer. + * + * Generated from protobuf field string contact = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $contact = ''; + /** + * Output only. The email of the reseller contact for this offer. + * + * Generated from protobuf field string email = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $email = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $contact + * Output only. The name of the reseller contact for this offer. + * @type string $email + * Output only. The email of the reseller contact for this offer. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\PrivateOffer::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The name of the reseller contact for this offer. + * + * Generated from protobuf field string contact = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getContact() + { + return $this->contact; + } + + /** + * Output only. The name of the reseller contact for this offer. + * + * Generated from protobuf field string contact = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setContact($var) + { + GPBUtil::checkString($var, True); + $this->contact = $var; + + return $this; + } + + /** + * Output only. The email of the reseller contact for this offer. + * + * Generated from protobuf field string email = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getEmail() + { + return $this->email; + } + + /** + * Output only. The email of the reseller contact for this offer. + * + * Generated from protobuf field string email = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setEmail($var) + { + GPBUtil::checkString($var, True); + $this->email = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer.php b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer.php new file mode 100644 index 00000000000..c16cc29df89 --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer.php @@ -0,0 +1,700 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + */ +class SingleProductOffer extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. The StandardOffer this PrivateOffer is based on. + * Must be in the same project as the private offer, and must be effective + * at the time of publishing. Must be present to publish the offer. + * Format: + * projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer} + * + * Generated from protobuf field string base_standard_offer = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { + */ + protected $base_standard_offer = ''; + /** + * Output only. The service level (also known as the 'plan') of the base + * standard offer. The value is populated at publish time from the base + * standard offer. + * + * Generated from protobuf field string service_level = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $service_level = ''; + /** + * Output only. Present for offers created by a reseller from a reseller + * private offer plan (RPOP). When set, contains the ID of the originating + * RPOP. Not included for `PRIVATE_OFFER_VIEW_BASIC`. + * + * Generated from protobuf field string reseller_private_offer_plan_id = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $reseller_private_offer_plan_id = ''; + /** + * Optional. The custom product features to display for this offer. + * Feature `display_name` values must be unique to publish the offer. + * The set of features specified here should generally include all features + * included in the base service level, with optionally customized values, + * but is not required to match exactly and may include additional features. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $features; + /** + * Output only. The effective installment timeline of the offer. + * Not included for `PRIVATE_OFFER_VIEW_BASIC`. + * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is + * available to generate the timeline, and if the offer has + * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED', + * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $effective_installment_timeline; + /** + * Output only. Contract value of the offer. + * Not included for `PRIVATE_OFFER_VIEW_BASIC`. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue contract_value = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $contract_value = null; + /** + * Output only. Revenue share information for this Private Offer. + * Not included for `PRIVATE_OFFER_VIEW_BASIC`. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare revenue_share = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $revenue_share = null; + protected $amended_offer; + protected $price; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $amended_private_offer + * Optional. An existing private offer that will be superseded by this + * offer. Unless the private offer is for a product type that supports + * [multiple active + * orders](https://cloud.google.com/marketplace/docs/partners/offers/multiple-offers), + * an amendment private offer must be transacted if and only if the + * destination customer billing account already contains an active order + * for the same product. The offer to be superseded must be the offer + * associated with an active order. + * Amendments generally fall into one of two scenarios: + * 1. **Active Order / Ended Offer**: The term of the amended offer has + * ended but it is still associated with an active order. The new + * offer must amend the ended private offer. + * 2. **Active Order / Active Offer**: The term of the amended offer is + * still active and the associated order is active. Similar to above, + * the new offer must amend the currently active offer (unless + * "multiple active orders" are supported). + * If this is set, then the `base_standard_offer` parent service must + * match the parent service of the `base_standard_offer` in the + * `amended_private_offer`. + * **Active Term Restrictions**: + * If the term of the amended private offer has *NOT* ended, then the + * following compatibility rules apply: + * * **Price Model Compatibility**: + * * Flat Fee (with or without usage) offers can amend Flat Fee + * offers. + * * Usage-only or CUD offers can amend usage-only offers. + * * Commitment-based offers must amend offers of the same price + * model subtype (e.g., "additional usage at list price" vs "all + * usage discounted"). + * * **Billing Frequency Compatibility**: Determined by + * `standard_interval` or `custom_interval_price`. + * * If the amended offer has a custom billing frequency, the new + * offer must also have a custom frequency. + * * If the amended offer has a standard frequency (Monthly, + * Quarterly, or Yearly), the new offer must maintain the same + * frequency or transition to a custom frequency. + * * Switching between different standard frequencies (e.g., Monthly + * to Quarterly) is not supported. + * * For Monthly frequency, switching between `MONTHLY_PRORATED` + * and `MONTHLY_NOT_PRORATED` is supported, unless the offer's + * `term.end_policy` is `MATCH_AMENDED_OFFER`. + * * For usage-only offers, there are no billing frequency + * restrictions. + * Other criteria for offer amendment are detailed elsewhere. + * @type string $amended_standard_offer + * Optional. An existing standard offer that will be superseded by this + * offer. An amendment private offer must be transacted if the destination + * customer billing account already contains an active order for the same + * product, and otherwise cannot be transacted. The offer to be superseded + * must be the offer associated with the active order. + * If this is set, then the `base_standard_offer` must contain the same + * parent service as the parent service of the `amended_standard_offer`. + * The price model of this offer must be compatible with the price model + * of the `amended_standard_offer`: + * * Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat + * Fee with usage standard offers. + * * Usage-only offers, or CUD offers can amend usage-only standard + * offers. + * Other criteria for offer amendment are detailed elsewhere. + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\StandardIntervalPrice $standard_interval_price + * Optional. Price configurations for offers with standard intervals. + * A price must be set when publishing the offer. + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\CustomIntervalPrice $custom_interval_price + * Optional. Price configurations for offers with custom intervals. + * Custom interval corresponds to "custom billing frequency", + * see + * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule. + * A price must be set when publishing the offer. + * @type string $base_standard_offer + * Optional. The StandardOffer this PrivateOffer is based on. + * Must be in the same project as the private offer, and must be effective + * at the time of publishing. Must be present to publish the offer. + * Format: + * projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer} + * @type string $service_level + * Output only. The service level (also known as the 'plan') of the base + * standard offer. The value is populated at publish time from the base + * standard offer. + * @type string $reseller_private_offer_plan_id + * Output only. Present for offers created by a reseller from a reseller + * private offer plan (RPOP). When set, contains the ID of the originating + * RPOP. Not included for `PRIVATE_OFFER_VIEW_BASIC`. + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\Feature[] $features + * Optional. The custom product features to display for this offer. + * Feature `display_name` values must be unique to publish the offer. + * The set of features specified here should generally include all features + * included in the base service level, with optionally customized values, + * but is not required to match exactly and may include additional features. + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\Installment[] $effective_installment_timeline + * Output only. The effective installment timeline of the offer. + * Not included for `PRIVATE_OFFER_VIEW_BASIC`. + * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is + * available to generate the timeline, and if the offer has + * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED', + * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'. + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\ContractValue $contract_value + * Output only. Contract value of the offer. + * Not included for `PRIVATE_OFFER_VIEW_BASIC`. + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\RevenueShare $revenue_share + * Output only. Revenue share information for this Private Offer. + * Not included for `PRIVATE_OFFER_VIEW_BASIC`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\PrivateOffer::initOnce(); + parent::__construct($data); + } + + /** + * Optional. An existing private offer that will be superseded by this + * offer. Unless the private offer is for a product type that supports + * [multiple active + * orders](https://cloud.google.com/marketplace/docs/partners/offers/multiple-offers), + * an amendment private offer must be transacted if and only if the + * destination customer billing account already contains an active order + * for the same product. The offer to be superseded must be the offer + * associated with an active order. + * Amendments generally fall into one of two scenarios: + * 1. **Active Order / Ended Offer**: The term of the amended offer has + * ended but it is still associated with an active order. The new + * offer must amend the ended private offer. + * 2. **Active Order / Active Offer**: The term of the amended offer is + * still active and the associated order is active. Similar to above, + * the new offer must amend the currently active offer (unless + * "multiple active orders" are supported). + * If this is set, then the `base_standard_offer` parent service must + * match the parent service of the `base_standard_offer` in the + * `amended_private_offer`. + * **Active Term Restrictions**: + * If the term of the amended private offer has *NOT* ended, then the + * following compatibility rules apply: + * * **Price Model Compatibility**: + * * Flat Fee (with or without usage) offers can amend Flat Fee + * offers. + * * Usage-only or CUD offers can amend usage-only offers. + * * Commitment-based offers must amend offers of the same price + * model subtype (e.g., "additional usage at list price" vs "all + * usage discounted"). + * * **Billing Frequency Compatibility**: Determined by + * `standard_interval` or `custom_interval_price`. + * * If the amended offer has a custom billing frequency, the new + * offer must also have a custom frequency. + * * If the amended offer has a standard frequency (Monthly, + * Quarterly, or Yearly), the new offer must maintain the same + * frequency or transition to a custom frequency. + * * Switching between different standard frequencies (e.g., Monthly + * to Quarterly) is not supported. + * * For Monthly frequency, switching between `MONTHLY_PRORATED` + * and `MONTHLY_NOT_PRORATED` is supported, unless the offer's + * `term.end_policy` is `MATCH_AMENDED_OFFER`. + * * For usage-only offers, there are no billing frequency + * restrictions. + * Other criteria for offer amendment are detailed elsewhere. + * + * Generated from protobuf field string amended_private_offer = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { + * @return string + */ + public function getAmendedPrivateOffer() + { + return $this->readOneof(3); + } + + public function hasAmendedPrivateOffer() + { + return $this->hasOneof(3); + } + + /** + * Optional. An existing private offer that will be superseded by this + * offer. Unless the private offer is for a product type that supports + * [multiple active + * orders](https://cloud.google.com/marketplace/docs/partners/offers/multiple-offers), + * an amendment private offer must be transacted if and only if the + * destination customer billing account already contains an active order + * for the same product. The offer to be superseded must be the offer + * associated with an active order. + * Amendments generally fall into one of two scenarios: + * 1. **Active Order / Ended Offer**: The term of the amended offer has + * ended but it is still associated with an active order. The new + * offer must amend the ended private offer. + * 2. **Active Order / Active Offer**: The term of the amended offer is + * still active and the associated order is active. Similar to above, + * the new offer must amend the currently active offer (unless + * "multiple active orders" are supported). + * If this is set, then the `base_standard_offer` parent service must + * match the parent service of the `base_standard_offer` in the + * `amended_private_offer`. + * **Active Term Restrictions**: + * If the term of the amended private offer has *NOT* ended, then the + * following compatibility rules apply: + * * **Price Model Compatibility**: + * * Flat Fee (with or without usage) offers can amend Flat Fee + * offers. + * * Usage-only or CUD offers can amend usage-only offers. + * * Commitment-based offers must amend offers of the same price + * model subtype (e.g., "additional usage at list price" vs "all + * usage discounted"). + * * **Billing Frequency Compatibility**: Determined by + * `standard_interval` or `custom_interval_price`. + * * If the amended offer has a custom billing frequency, the new + * offer must also have a custom frequency. + * * If the amended offer has a standard frequency (Monthly, + * Quarterly, or Yearly), the new offer must maintain the same + * frequency or transition to a custom frequency. + * * Switching between different standard frequencies (e.g., Monthly + * to Quarterly) is not supported. + * * For Monthly frequency, switching between `MONTHLY_PRORATED` + * and `MONTHLY_NOT_PRORATED` is supported, unless the offer's + * `term.end_policy` is `MATCH_AMENDED_OFFER`. + * * For usage-only offers, there are no billing frequency + * restrictions. + * Other criteria for offer amendment are detailed elsewhere. + * + * Generated from protobuf field string amended_private_offer = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setAmendedPrivateOffer($var) + { + GPBUtil::checkString($var, True); + $this->writeOneof(3, $var); + + return $this; + } + + /** + * Optional. An existing standard offer that will be superseded by this + * offer. An amendment private offer must be transacted if the destination + * customer billing account already contains an active order for the same + * product, and otherwise cannot be transacted. The offer to be superseded + * must be the offer associated with the active order. + * If this is set, then the `base_standard_offer` must contain the same + * parent service as the parent service of the `amended_standard_offer`. + * The price model of this offer must be compatible with the price model + * of the `amended_standard_offer`: + * * Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat + * Fee with usage standard offers. + * * Usage-only offers, or CUD offers can amend usage-only standard + * offers. + * Other criteria for offer amendment are detailed elsewhere. + * + * Generated from protobuf field string amended_standard_offer = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { + * @return string + */ + public function getAmendedStandardOffer() + { + return $this->readOneof(4); + } + + public function hasAmendedStandardOffer() + { + return $this->hasOneof(4); + } + + /** + * Optional. An existing standard offer that will be superseded by this + * offer. An amendment private offer must be transacted if the destination + * customer billing account already contains an active order for the same + * product, and otherwise cannot be transacted. The offer to be superseded + * must be the offer associated with the active order. + * If this is set, then the `base_standard_offer` must contain the same + * parent service as the parent service of the `amended_standard_offer`. + * The price model of this offer must be compatible with the price model + * of the `amended_standard_offer`: + * * Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat + * Fee with usage standard offers. + * * Usage-only offers, or CUD offers can amend usage-only standard + * offers. + * Other criteria for offer amendment are detailed elsewhere. + * + * Generated from protobuf field string amended_standard_offer = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setAmendedStandardOffer($var) + { + GPBUtil::checkString($var, True); + $this->writeOneof(4, $var); + + return $this; + } + + /** + * Optional. Price configurations for offers with standard intervals. + * A price must be set when publishing the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice standard_interval_price = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\StandardIntervalPrice|null + */ + public function getStandardIntervalPrice() + { + return $this->readOneof(5); + } + + public function hasStandardIntervalPrice() + { + return $this->hasOneof(5); + } + + /** + * Optional. Price configurations for offers with standard intervals. + * A price must be set when publishing the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice standard_interval_price = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\StandardIntervalPrice $var + * @return $this + */ + public function setStandardIntervalPrice($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\StandardIntervalPrice::class); + $this->writeOneof(5, $var); + + return $this; + } + + /** + * Optional. Price configurations for offers with custom intervals. + * Custom interval corresponds to "custom billing frequency", + * see + * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule. + * A price must be set when publishing the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice custom_interval_price = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\CustomIntervalPrice|null + */ + public function getCustomIntervalPrice() + { + return $this->readOneof(6); + } + + public function hasCustomIntervalPrice() + { + return $this->hasOneof(6); + } + + /** + * Optional. Price configurations for offers with custom intervals. + * Custom interval corresponds to "custom billing frequency", + * see + * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule. + * A price must be set when publishing the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice custom_interval_price = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\CustomIntervalPrice $var + * @return $this + */ + public function setCustomIntervalPrice($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\CustomIntervalPrice::class); + $this->writeOneof(6, $var); + + return $this; + } + + /** + * Optional. The StandardOffer this PrivateOffer is based on. + * Must be in the same project as the private offer, and must be effective + * at the time of publishing. Must be present to publish the offer. + * Format: + * projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer} + * + * Generated from protobuf field string base_standard_offer = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { + * @return string + */ + public function getBaseStandardOffer() + { + return $this->base_standard_offer; + } + + /** + * Optional. The StandardOffer this PrivateOffer is based on. + * Must be in the same project as the private offer, and must be effective + * at the time of publishing. Must be present to publish the offer. + * Format: + * projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer} + * + * Generated from protobuf field string base_standard_offer = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setBaseStandardOffer($var) + { + GPBUtil::checkString($var, True); + $this->base_standard_offer = $var; + + return $this; + } + + /** + * Output only. The service level (also known as the 'plan') of the base + * standard offer. The value is populated at publish time from the base + * standard offer. + * + * Generated from protobuf field string service_level = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getServiceLevel() + { + return $this->service_level; + } + + /** + * Output only. The service level (also known as the 'plan') of the base + * standard offer. The value is populated at publish time from the base + * standard offer. + * + * Generated from protobuf field string service_level = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setServiceLevel($var) + { + GPBUtil::checkString($var, True); + $this->service_level = $var; + + return $this; + } + + /** + * Output only. Present for offers created by a reseller from a reseller + * private offer plan (RPOP). When set, contains the ID of the originating + * RPOP. Not included for `PRIVATE_OFFER_VIEW_BASIC`. + * + * Generated from protobuf field string reseller_private_offer_plan_id = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getResellerPrivateOfferPlanId() + { + return $this->reseller_private_offer_plan_id; + } + + /** + * Output only. Present for offers created by a reseller from a reseller + * private offer plan (RPOP). When set, contains the ID of the originating + * RPOP. Not included for `PRIVATE_OFFER_VIEW_BASIC`. + * + * Generated from protobuf field string reseller_private_offer_plan_id = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setResellerPrivateOfferPlanId($var) + { + GPBUtil::checkString($var, True); + $this->reseller_private_offer_plan_id = $var; + + return $this; + } + + /** + * Optional. The custom product features to display for this offer. + * Feature `display_name` values must be unique to publish the offer. + * The set of features specified here should generally include all features + * included in the base service level, with optionally customized values, + * but is not required to match exactly and may include additional features. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * @return RepeatedField<\Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\Feature> + */ + public function getFeatures() + { + return $this->features; + } + + /** + * Optional. The custom product features to display for this offer. + * Feature `display_name` values must be unique to publish the offer. + * The set of features specified here should generally include all features + * included in the base service level, with optionally customized values, + * but is not required to match exactly and may include additional features. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\Feature[] $var + * @return $this + */ + public function setFeatures($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\Feature::class); + $this->features = $arr; + + return $this; + } + + /** + * Output only. The effective installment timeline of the offer. + * Not included for `PRIVATE_OFFER_VIEW_BASIC`. + * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is + * available to generate the timeline, and if the offer has + * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED', + * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return RepeatedField<\Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\Installment> + */ + public function getEffectiveInstallmentTimeline() + { + return $this->effective_installment_timeline; + } + + /** + * Output only. The effective installment timeline of the offer. + * Not included for `PRIVATE_OFFER_VIEW_BASIC`. + * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is + * available to generate the timeline, and if the offer has + * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED', + * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\Installment[] $var + * @return $this + */ + public function setEffectiveInstallmentTimeline($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\Installment::class); + $this->effective_installment_timeline = $arr; + + return $this; + } + + /** + * Output only. Contract value of the offer. + * Not included for `PRIVATE_OFFER_VIEW_BASIC`. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue contract_value = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\ContractValue|null + */ + public function getContractValue() + { + return $this->contract_value; + } + + public function hasContractValue() + { + return isset($this->contract_value); + } + + public function clearContractValue() + { + unset($this->contract_value); + } + + /** + * Output only. Contract value of the offer. + * Not included for `PRIVATE_OFFER_VIEW_BASIC`. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue contract_value = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\ContractValue $var + * @return $this + */ + public function setContractValue($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\ContractValue::class); + $this->contract_value = $var; + + return $this; + } + + /** + * Output only. Revenue share information for this Private Offer. + * Not included for `PRIVATE_OFFER_VIEW_BASIC`. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare revenue_share = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\RevenueShare|null + */ + public function getRevenueShare() + { + return $this->revenue_share; + } + + public function hasRevenueShare() + { + return isset($this->revenue_share); + } + + public function clearRevenueShare() + { + unset($this->revenue_share); + } + + /** + * Output only. Revenue share information for this Private Offer. + * Not included for `PRIVATE_OFFER_VIEW_BASIC`. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare revenue_share = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\RevenueShare $var + * @return $this + */ + public function setRevenueShare($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\RevenueShare::class); + $this->revenue_share = $var; + + return $this; + } + + /** + * @return string + */ + public function getAmendedOffer() + { + return $this->whichOneof("amended_offer"); + } + + /** + * @return string + */ + public function getPrice() + { + return $this->whichOneof("price"); + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/ContractValue.php b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/ContractValue.php new file mode 100644 index 00000000000..0909de1a41c --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/ContractValue.php @@ -0,0 +1,97 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + */ +class ContractValue extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The total contract value of the offer. + * This will be set for all non-draft private offers, as long as + * 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers, + * this will be populated only when the end user's billing account is + * set and when the pricing and term configuration is sufficiently + * complete to allow for a calculation. + * + * Generated from protobuf field .google.type.Money total_contract_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $total_contract_value = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Type\Money $total_contract_value + * Output only. The total contract value of the offer. + * This will be set for all non-draft private offers, as long as + * 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers, + * this will be populated only when the end user's billing account is + * set and when the pricing and term configuration is sufficiently + * complete to allow for a calculation. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\PrivateOffer::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The total contract value of the offer. + * This will be set for all non-draft private offers, as long as + * 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers, + * this will be populated only when the end user's billing account is + * set and when the pricing and term configuration is sufficiently + * complete to allow for a calculation. + * + * Generated from protobuf field .google.type.Money total_contract_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Type\Money|null + */ + public function getTotalContractValue() + { + return $this->total_contract_value; + } + + public function hasTotalContractValue() + { + return isset($this->total_contract_value); + } + + public function clearTotalContractValue() + { + unset($this->total_contract_value); + } + + /** + * Output only. The total contract value of the offer. + * This will be set for all non-draft private offers, as long as + * 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers, + * this will be populated only when the end user's billing account is + * set and when the pricing and term configuration is sufficiently + * complete to allow for a calculation. + * + * Generated from protobuf field .google.type.Money total_contract_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Type\Money $var + * @return $this + */ + public function setTotalContractValue($var) + { + GPBUtil::checkMessage($var, \Google\Type\Money::class); + $this->total_contract_value = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/CustomIntervalPrice.php b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/CustomIntervalPrice.php new file mode 100644 index 00000000000..adbeaad524b --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/CustomIntervalPrice.php @@ -0,0 +1,83 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice + */ +class CustomIntervalPrice extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. The installments that make up the installment timeline. + * All installments must have the same form of price model (e.g. + * all commitment, or all flat fee). A subscription must be present + * under the price model for every installment. + * Must contain at least one installment to publish the offer. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $installments; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\Installment[] $installments + * Optional. The installments that make up the installment timeline. + * All installments must have the same form of price model (e.g. + * all commitment, or all flat fee). A subscription must be present + * under the price model for every installment. + * Must contain at least one installment to publish the offer. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\PrivateOffer::initOnce(); + parent::__construct($data); + } + + /** + * Optional. The installments that make up the installment timeline. + * All installments must have the same form of price model (e.g. + * all commitment, or all flat fee). A subscription must be present + * under the price model for every installment. + * Must contain at least one installment to publish the offer. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return RepeatedField<\Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\Installment> + */ + public function getInstallments() + { + return $this->installments; + } + + /** + * Optional. The installments that make up the installment timeline. + * All installments must have the same form of price model (e.g. + * all commitment, or all flat fee). A subscription must be present + * under the price model for every installment. + * Must contain at least one installment to publish the offer. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\Installment[] $var + * @return $this + */ + public function setInstallments($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\Installment::class); + $this->installments = $arr; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/Feature.php b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/Feature.php new file mode 100644 index 00000000000..4cab304d3ac --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/Feature.php @@ -0,0 +1,150 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + */ +class Feature extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. Human readable display text characterizing the feature. + * Should be sufficiently detailed to identify the feature, allowing + * features to be correlated across separate offers and service levels. + * Must be non-empty to publish the offer. + * The maximum allowed length is 128 characters. + * Allows characters from the following Unicode Property Classes: + * Letters, Numbers, Punctuation, Symbols, and Separators + * + * Generated from protobuf field string display_name = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $display_name = ''; + /** + * Optional. Human readable display text reflecting the value of the + * feature. Used for variable features not captured by the display_name + * alone. The maximum allowed length is 3000 characters. Allows characters + * from the following Unicode Property Classes: Letters, Numbers, + * Punctuation, Symbols, and Separators + * + * Generated from protobuf field string value = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $value = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $display_name + * Optional. Human readable display text characterizing the feature. + * Should be sufficiently detailed to identify the feature, allowing + * features to be correlated across separate offers and service levels. + * Must be non-empty to publish the offer. + * The maximum allowed length is 128 characters. + * Allows characters from the following Unicode Property Classes: + * Letters, Numbers, Punctuation, Symbols, and Separators + * @type string $value + * Optional. Human readable display text reflecting the value of the + * feature. Used for variable features not captured by the display_name + * alone. The maximum allowed length is 3000 characters. Allows characters + * from the following Unicode Property Classes: Letters, Numbers, + * Punctuation, Symbols, and Separators + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\PrivateOffer::initOnce(); + parent::__construct($data); + } + + /** + * Optional. Human readable display text characterizing the feature. + * Should be sufficiently detailed to identify the feature, allowing + * features to be correlated across separate offers and service levels. + * Must be non-empty to publish the offer. + * The maximum allowed length is 128 characters. + * Allows characters from the following Unicode Property Classes: + * Letters, Numbers, Punctuation, Symbols, and Separators + * + * Generated from protobuf field string display_name = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getDisplayName() + { + return $this->display_name; + } + + /** + * Optional. Human readable display text characterizing the feature. + * Should be sufficiently detailed to identify the feature, allowing + * features to be correlated across separate offers and service levels. + * Must be non-empty to publish the offer. + * The maximum allowed length is 128 characters. + * Allows characters from the following Unicode Property Classes: + * Letters, Numbers, Punctuation, Symbols, and Separators + * + * Generated from protobuf field string display_name = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setDisplayName($var) + { + GPBUtil::checkString($var, True); + $this->display_name = $var; + + return $this; + } + + /** + * Optional. Human readable display text reflecting the value of the + * feature. Used for variable features not captured by the display_name + * alone. The maximum allowed length is 3000 characters. Allows characters + * from the following Unicode Property Classes: Letters, Numbers, + * Punctuation, Symbols, and Separators + * + * Generated from protobuf field string value = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getValue() + { + return $this->value; + } + + /** + * Optional. Human readable display text reflecting the value of the + * feature. Used for variable features not captured by the display_name + * alone. The maximum allowed length is 3000 characters. Allows characters + * from the following Unicode Property Classes: Letters, Numbers, + * Punctuation, Symbols, and Separators + * + * Generated from protobuf field string value = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setValue($var) + { + GPBUtil::checkString($var, True); + $this->value = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/Installment.php b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/Installment.php new file mode 100644 index 00000000000..890d4c15e1e --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/Installment.php @@ -0,0 +1,193 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + */ +class Installment extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. The start time of the installment. + * Each installment must have a unique start time with one exception: + * When the `term.start_policy` of the offer's term is `IMMEDIATE`, + * the `start_time` of the first installment must be unset. + * The actual start time is not recorded in the offer and instead is + * determined by the time the resulting order became active. + * When the `term.start_policy` of the offer's term is + * `SCHEDULED_START_TIME`, then the first installment's `start_time` must + * match `term.scheduled_start_time`. + * If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`, + * then installment `start_time` must be before `term.scheduled_end_time`. + * If it's `AFTER_DURATION`, then installment `start_time` must be before + * the time calculated by adding the `term.duration_months` to + * the start time of the offer. + * The `start_time` of the installments cannot be before the + * `accept_deadline_time` of the offer. + * Installment start times must be in strictly increasing chronological + * order. + * + * Generated from protobuf field .google.type.DateTime start_time = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $start_time = null; + /** + * Optional. The price model of the installment. + * All installments must have the same form of price model. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $price_model = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Type\DateTime $start_time + * Optional. The start time of the installment. + * Each installment must have a unique start time with one exception: + * When the `term.start_policy` of the offer's term is `IMMEDIATE`, + * the `start_time` of the first installment must be unset. + * The actual start time is not recorded in the offer and instead is + * determined by the time the resulting order became active. + * When the `term.start_policy` of the offer's term is + * `SCHEDULED_START_TIME`, then the first installment's `start_time` must + * match `term.scheduled_start_time`. + * If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`, + * then installment `start_time` must be before `term.scheduled_end_time`. + * If it's `AFTER_DURATION`, then installment `start_time` must be before + * the time calculated by adding the `term.duration_months` to + * the start time of the offer. + * The `start_time` of the installments cannot be before the + * `accept_deadline_time` of the offer. + * Installment start times must be in strictly increasing chronological + * order. + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel $price_model + * Optional. The price model of the installment. + * All installments must have the same form of price model. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\PrivateOffer::initOnce(); + parent::__construct($data); + } + + /** + * Optional. The start time of the installment. + * Each installment must have a unique start time with one exception: + * When the `term.start_policy` of the offer's term is `IMMEDIATE`, + * the `start_time` of the first installment must be unset. + * The actual start time is not recorded in the offer and instead is + * determined by the time the resulting order became active. + * When the `term.start_policy` of the offer's term is + * `SCHEDULED_START_TIME`, then the first installment's `start_time` must + * match `term.scheduled_start_time`. + * If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`, + * then installment `start_time` must be before `term.scheduled_end_time`. + * If it's `AFTER_DURATION`, then installment `start_time` must be before + * the time calculated by adding the `term.duration_months` to + * the start time of the offer. + * The `start_time` of the installments cannot be before the + * `accept_deadline_time` of the offer. + * Installment start times must be in strictly increasing chronological + * order. + * + * Generated from protobuf field .google.type.DateTime start_time = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Type\DateTime|null + */ + public function getStartTime() + { + return $this->start_time; + } + + public function hasStartTime() + { + return isset($this->start_time); + } + + public function clearStartTime() + { + unset($this->start_time); + } + + /** + * Optional. The start time of the installment. + * Each installment must have a unique start time with one exception: + * When the `term.start_policy` of the offer's term is `IMMEDIATE`, + * the `start_time` of the first installment must be unset. + * The actual start time is not recorded in the offer and instead is + * determined by the time the resulting order became active. + * When the `term.start_policy` of the offer's term is + * `SCHEDULED_START_TIME`, then the first installment's `start_time` must + * match `term.scheduled_start_time`. + * If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`, + * then installment `start_time` must be before `term.scheduled_end_time`. + * If it's `AFTER_DURATION`, then installment `start_time` must be before + * the time calculated by adding the `term.duration_months` to + * the start time of the offer. + * The `start_time` of the installments cannot be before the + * `accept_deadline_time` of the offer. + * Installment start times must be in strictly increasing chronological + * order. + * + * Generated from protobuf field .google.type.DateTime start_time = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Type\DateTime $var + * @return $this + */ + public function setStartTime($var) + { + GPBUtil::checkMessage($var, \Google\Type\DateTime::class); + $this->start_time = $var; + + return $this; + } + + /** + * Optional. The price model of the installment. + * All installments must have the same form of price model. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel|null + */ + public function getPriceModel() + { + return $this->price_model; + } + + public function hasPriceModel() + { + return isset($this->price_model); + } + + public function clearPriceModel() + { + unset($this->price_model); + } + + /** + * Optional. The price model of the installment. + * All installments must have the same form of price model. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel $var + * @return $this + */ + public function setPriceModel($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel::class); + $this->price_model = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/PriceModel.php b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/PriceModel.php new file mode 100644 index 00000000000..b3c595d81ba --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/PriceModel.php @@ -0,0 +1,199 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + */ +class PriceModel extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. The price configurations for the usage part. + * If this field is set, the `Commitment.discount_percent` must be unset. + * A private offer can apply a discount to all usage or to a usage + * commitment, but not both. + * Must be unset when the base standard offer's price model includes no + * usage SKUs. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $usage = null; + protected $subscription; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel\FlatFee $flat_fee + * Optional. The price configurations for the flat fee subscription. + * Must be unset when the base standard offer's price model does not + * include subscription SKUs. + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel\Commitment $commitment + * Optional. The price configurations for the commitment based + * subscription. Must be unset when the base standard offer's price + * model includes subscription SKUs. + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel\Usage $usage + * Optional. The price configurations for the usage part. + * If this field is set, the `Commitment.discount_percent` must be unset. + * A private offer can apply a discount to all usage or to a usage + * commitment, but not both. + * Must be unset when the base standard offer's price model includes no + * usage SKUs. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\PrivateOffer::initOnce(); + parent::__construct($data); + } + + /** + * Optional. The price configurations for the flat fee subscription. + * Must be unset when the base standard offer's price model does not + * include subscription SKUs. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee flat_fee = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel\FlatFee|null + */ + public function getFlatFee() + { + return $this->readOneof(2); + } + + public function hasFlatFee() + { + return $this->hasOneof(2); + } + + /** + * Optional. The price configurations for the flat fee subscription. + * Must be unset when the base standard offer's price model does not + * include subscription SKUs. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee flat_fee = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel\FlatFee $var + * @return $this + */ + public function setFlatFee($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel\FlatFee::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * Optional. The price configurations for the commitment based + * subscription. Must be unset when the base standard offer's price + * model includes subscription SKUs. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment commitment = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel\Commitment|null + */ + public function getCommitment() + { + return $this->readOneof(3); + } + + public function hasCommitment() + { + return $this->hasOneof(3); + } + + /** + * Optional. The price configurations for the commitment based + * subscription. Must be unset when the base standard offer's price + * model includes subscription SKUs. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment commitment = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel\Commitment $var + * @return $this + */ + public function setCommitment($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel\Commitment::class); + $this->writeOneof(3, $var); + + return $this; + } + + /** + * Optional. The price configurations for the usage part. + * If this field is set, the `Commitment.discount_percent` must be unset. + * A private offer can apply a discount to all usage or to a usage + * commitment, but not both. + * Must be unset when the base standard offer's price model includes no + * usage SKUs. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel\Usage|null + */ + public function getUsage() + { + return $this->usage; + } + + public function hasUsage() + { + return isset($this->usage); + } + + public function clearUsage() + { + unset($this->usage); + } + + /** + * Optional. The price configurations for the usage part. + * If this field is set, the `Commitment.discount_percent` must be unset. + * A private offer can apply a discount to all usage or to a usage + * commitment, but not both. + * Must be unset when the base standard offer's price model includes no + * usage SKUs. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel\Usage $var + * @return $this + */ + public function setUsage($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel\Usage::class); + $this->usage = $var; + + return $this; + } + + /** + * @return string + */ + public function getSubscription() + { + return $this->whichOneof("subscription"); + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/PriceModel/Commitment.php b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/PriceModel/Commitment.php new file mode 100644 index 00000000000..61d282a89c2 --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/PriceModel/Commitment.php @@ -0,0 +1,331 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment + */ +class Commitment extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. The commitment balance that the customer will receive. + * Value cannot be negative. + * The currency must be "USD" and precision is limited to cents. + * Must be present to publish the offer, if the parent message is set. + * The maximum allowed value is 1,000,000,000 USD. + * If the current offer amends a private offer where the term has not + * ended, and if the field + * `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount` + * is set on both the current offer and the amended private offer, then + * the commitment amount must be equal or higher on the current offer, + * compared to the amended private offer. + * + * Generated from protobuf field .google.type.Money commitment_amount = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $commitment_amount = null; + /** + * Optional. The discount percent on `commitment_amount`. + * For example, `10` means a discount of 10%. If the original + * `commitment_amount` is $100 then the discounted amount will be $90. + * The customer is charged $90 and receives $100 in credits. + * All reported usage will be charged at the standard price. + * If this field is set, the `price_model.usage` must be unset. A + * private offer can apply a discount to all usage or to a usage + * commitment, but not both. + * Must be between 0 and 100 inclusive, with precision up to 2 decimal + * places. If this field is set, then the allowed pattern for 'value' + * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`. + * Examples of valid values: "0", "100.0", "12.34", "40.0". + * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "". + * Must be present to publish the offer. + * + * Generated from protobuf field .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $discount_percent = null; + /** + * Optional. Additional credit granted to the customer. + * Additional credits are only supported for custom interval offers. + * Equivalent behavior can be achieved for standard interval offers by + * varying the `commitment_amount` and `discount_percent`. + * Value cannot be negative. + * The currency must be "USD" and precision is limited to cents. + * The maximum allowed value is 1,000,000 USD. + * + * Generated from protobuf field .google.type.Money additional_credit = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $additional_credit = null; + /** + * Optional. Whether to discard the previous credit balance when the + * associated installment starts. If not set, the previous credit + * balance will be rolled over to the current installment. + * If there are no previous installments, then the value of this field + * will not matter - since it has no effect when no credits exist. + * + * Generated from protobuf field bool discard_previous_credit_balance = 4 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $discard_previous_credit_balance = false; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Type\Money $commitment_amount + * Optional. The commitment balance that the customer will receive. + * Value cannot be negative. + * The currency must be "USD" and precision is limited to cents. + * Must be present to publish the offer, if the parent message is set. + * The maximum allowed value is 1,000,000,000 USD. + * If the current offer amends a private offer where the term has not + * ended, and if the field + * `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount` + * is set on both the current offer and the amended private offer, then + * the commitment amount must be equal or higher on the current offer, + * compared to the amended private offer. + * @type \Google\Type\Decimal $discount_percent + * Optional. The discount percent on `commitment_amount`. + * For example, `10` means a discount of 10%. If the original + * `commitment_amount` is $100 then the discounted amount will be $90. + * The customer is charged $90 and receives $100 in credits. + * All reported usage will be charged at the standard price. + * If this field is set, the `price_model.usage` must be unset. A + * private offer can apply a discount to all usage or to a usage + * commitment, but not both. + * Must be between 0 and 100 inclusive, with precision up to 2 decimal + * places. If this field is set, then the allowed pattern for 'value' + * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`. + * Examples of valid values: "0", "100.0", "12.34", "40.0". + * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "". + * Must be present to publish the offer. + * @type \Google\Type\Money $additional_credit + * Optional. Additional credit granted to the customer. + * Additional credits are only supported for custom interval offers. + * Equivalent behavior can be achieved for standard interval offers by + * varying the `commitment_amount` and `discount_percent`. + * Value cannot be negative. + * The currency must be "USD" and precision is limited to cents. + * The maximum allowed value is 1,000,000 USD. + * @type bool $discard_previous_credit_balance + * Optional. Whether to discard the previous credit balance when the + * associated installment starts. If not set, the previous credit + * balance will be rolled over to the current installment. + * If there are no previous installments, then the value of this field + * will not matter - since it has no effect when no credits exist. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\PrivateOffer::initOnce(); + parent::__construct($data); + } + + /** + * Optional. The commitment balance that the customer will receive. + * Value cannot be negative. + * The currency must be "USD" and precision is limited to cents. + * Must be present to publish the offer, if the parent message is set. + * The maximum allowed value is 1,000,000,000 USD. + * If the current offer amends a private offer where the term has not + * ended, and if the field + * `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount` + * is set on both the current offer and the amended private offer, then + * the commitment amount must be equal or higher on the current offer, + * compared to the amended private offer. + * + * Generated from protobuf field .google.type.Money commitment_amount = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Type\Money|null + */ + public function getCommitmentAmount() + { + return $this->commitment_amount; + } + + public function hasCommitmentAmount() + { + return isset($this->commitment_amount); + } + + public function clearCommitmentAmount() + { + unset($this->commitment_amount); + } + + /** + * Optional. The commitment balance that the customer will receive. + * Value cannot be negative. + * The currency must be "USD" and precision is limited to cents. + * Must be present to publish the offer, if the parent message is set. + * The maximum allowed value is 1,000,000,000 USD. + * If the current offer amends a private offer where the term has not + * ended, and if the field + * `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount` + * is set on both the current offer and the amended private offer, then + * the commitment amount must be equal or higher on the current offer, + * compared to the amended private offer. + * + * Generated from protobuf field .google.type.Money commitment_amount = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Type\Money $var + * @return $this + */ + public function setCommitmentAmount($var) + { + GPBUtil::checkMessage($var, \Google\Type\Money::class); + $this->commitment_amount = $var; + + return $this; + } + + /** + * Optional. The discount percent on `commitment_amount`. + * For example, `10` means a discount of 10%. If the original + * `commitment_amount` is $100 then the discounted amount will be $90. + * The customer is charged $90 and receives $100 in credits. + * All reported usage will be charged at the standard price. + * If this field is set, the `price_model.usage` must be unset. A + * private offer can apply a discount to all usage or to a usage + * commitment, but not both. + * Must be between 0 and 100 inclusive, with precision up to 2 decimal + * places. If this field is set, then the allowed pattern for 'value' + * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`. + * Examples of valid values: "0", "100.0", "12.34", "40.0". + * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "". + * Must be present to publish the offer. + * + * Generated from protobuf field .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Type\Decimal|null + */ + public function getDiscountPercent() + { + return $this->discount_percent; + } + + public function hasDiscountPercent() + { + return isset($this->discount_percent); + } + + public function clearDiscountPercent() + { + unset($this->discount_percent); + } + + /** + * Optional. The discount percent on `commitment_amount`. + * For example, `10` means a discount of 10%. If the original + * `commitment_amount` is $100 then the discounted amount will be $90. + * The customer is charged $90 and receives $100 in credits. + * All reported usage will be charged at the standard price. + * If this field is set, the `price_model.usage` must be unset. A + * private offer can apply a discount to all usage or to a usage + * commitment, but not both. + * Must be between 0 and 100 inclusive, with precision up to 2 decimal + * places. If this field is set, then the allowed pattern for 'value' + * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`. + * Examples of valid values: "0", "100.0", "12.34", "40.0". + * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "". + * Must be present to publish the offer. + * + * Generated from protobuf field .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Type\Decimal $var + * @return $this + */ + public function setDiscountPercent($var) + { + GPBUtil::checkMessage($var, \Google\Type\Decimal::class); + $this->discount_percent = $var; + + return $this; + } + + /** + * Optional. Additional credit granted to the customer. + * Additional credits are only supported for custom interval offers. + * Equivalent behavior can be achieved for standard interval offers by + * varying the `commitment_amount` and `discount_percent`. + * Value cannot be negative. + * The currency must be "USD" and precision is limited to cents. + * The maximum allowed value is 1,000,000 USD. + * + * Generated from protobuf field .google.type.Money additional_credit = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Type\Money|null + */ + public function getAdditionalCredit() + { + return $this->additional_credit; + } + + public function hasAdditionalCredit() + { + return isset($this->additional_credit); + } + + public function clearAdditionalCredit() + { + unset($this->additional_credit); + } + + /** + * Optional. Additional credit granted to the customer. + * Additional credits are only supported for custom interval offers. + * Equivalent behavior can be achieved for standard interval offers by + * varying the `commitment_amount` and `discount_percent`. + * Value cannot be negative. + * The currency must be "USD" and precision is limited to cents. + * The maximum allowed value is 1,000,000 USD. + * + * Generated from protobuf field .google.type.Money additional_credit = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Type\Money $var + * @return $this + */ + public function setAdditionalCredit($var) + { + GPBUtil::checkMessage($var, \Google\Type\Money::class); + $this->additional_credit = $var; + + return $this; + } + + /** + * Optional. Whether to discard the previous credit balance when the + * associated installment starts. If not set, the previous credit + * balance will be rolled over to the current installment. + * If there are no previous installments, then the value of this field + * will not matter - since it has no effect when no credits exist. + * + * Generated from protobuf field bool discard_previous_credit_balance = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getDiscardPreviousCreditBalance() + { + return $this->discard_previous_credit_balance; + } + + /** + * Optional. Whether to discard the previous credit balance when the + * associated installment starts. If not set, the previous credit + * balance will be rolled over to the current installment. + * If there are no previous installments, then the value of this field + * will not matter - since it has no effect when no credits exist. + * + * Generated from protobuf field bool discard_previous_credit_balance = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setDiscardPreviousCreditBalance($var) + { + GPBUtil::checkBool($var); + $this->discard_previous_credit_balance = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/PriceModel/FlatFee.php b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/PriceModel/FlatFee.php new file mode 100644 index 00000000000..9da9b582d80 --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/PriceModel/FlatFee.php @@ -0,0 +1,93 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee + */ +class FlatFee extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. Flat fee overriding the default flat fee in the base + * standard offer. Value cannot be negative. The currency must be "USD" + * and precision is limited to cents. Must be present to publish the + * offer, if the parent message is set. The maximum allowed value is + * 1,000,000,000 USD. + * + * Generated from protobuf field .google.type.Money flat_fee_override = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $flat_fee_override = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Type\Money $flat_fee_override + * Optional. Flat fee overriding the default flat fee in the base + * standard offer. Value cannot be negative. The currency must be "USD" + * and precision is limited to cents. Must be present to publish the + * offer, if the parent message is set. The maximum allowed value is + * 1,000,000,000 USD. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\PrivateOffer::initOnce(); + parent::__construct($data); + } + + /** + * Optional. Flat fee overriding the default flat fee in the base + * standard offer. Value cannot be negative. The currency must be "USD" + * and precision is limited to cents. Must be present to publish the + * offer, if the parent message is set. The maximum allowed value is + * 1,000,000,000 USD. + * + * Generated from protobuf field .google.type.Money flat_fee_override = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Type\Money|null + */ + public function getFlatFeeOverride() + { + return $this->flat_fee_override; + } + + public function hasFlatFeeOverride() + { + return isset($this->flat_fee_override); + } + + public function clearFlatFeeOverride() + { + unset($this->flat_fee_override); + } + + /** + * Optional. Flat fee overriding the default flat fee in the base + * standard offer. Value cannot be negative. The currency must be "USD" + * and precision is limited to cents. Must be present to publish the + * offer, if the parent message is set. The maximum allowed value is + * 1,000,000,000 USD. + * + * Generated from protobuf field .google.type.Money flat_fee_override = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Type\Money $var + * @return $this + */ + public function setFlatFeeOverride($var) + { + GPBUtil::checkMessage($var, \Google\Type\Money::class); + $this->flat_fee_override = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/PriceModel/SkuDiscount.php b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/PriceModel/SkuDiscount.php new file mode 100644 index 00000000000..54c76db8cd3 --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/PriceModel/SkuDiscount.php @@ -0,0 +1,219 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount + */ +class SkuDiscount extends \Google\Protobuf\Internal\Message +{ + protected $target; + protected $discount; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $sku + * Optional. The name of a partner SKU from this API. + * Must refer to a SKU in the price model of the base standard offer. + * Inclusion in the base price model can occur either directly or + * indirectly via inclusion in an included SkuGroup. + * Currently, standard offer price models include only partner SKUs + * in the same project as the standard offer. This may change. + * Format: + * projects/{project}/locations/{location}/services/{service}/skus/{sku} + * @type string $cloud_billing_sku + * Optional. The name of a Google SKU from the Cloud Billing API. + * Used for partner products sold by Google, such as Premium Operating + * System Images sold for use in Compute Engine. This is not common. + * SKUs of this type are not present on this API and can instead be + * found on the Cloud Billing API or at https://cloud.google.com/skus. + * Must refer to a SKU in the price model of the base standard offer. + * Google SKUs are always referenced in standard offers via SkuGroups. + * Format: services/{service}/skus/{sku} + * @type \Google\Type\Decimal $discount_percent + * Optional. The discount percent for the SKU. + * For example, `10` means a discount of 10%. If the original SKU + * price is $100/hour then the discounted price will be $90/hour. + * Must be between 0 and 100 inclusive, with precision up to 2 decimal + * places. If this field is set, then the allowed pattern for 'value' + * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`. + * Examples of valid values: "0", "100.0", "12.34", "40.0". + * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", + * and "". + * Must be present to publish the offer. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\PrivateOffer::initOnce(); + parent::__construct($data); + } + + /** + * Optional. The name of a partner SKU from this API. + * Must refer to a SKU in the price model of the base standard offer. + * Inclusion in the base price model can occur either directly or + * indirectly via inclusion in an included SkuGroup. + * Currently, standard offer price models include only partner SKUs + * in the same project as the standard offer. This may change. + * Format: + * projects/{project}/locations/{location}/services/{service}/skus/{sku} + * + * Generated from protobuf field string sku = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { + * @return string + */ + public function getSku() + { + return $this->readOneof(1); + } + + public function hasSku() + { + return $this->hasOneof(1); + } + + /** + * Optional. The name of a partner SKU from this API. + * Must refer to a SKU in the price model of the base standard offer. + * Inclusion in the base price model can occur either directly or + * indirectly via inclusion in an included SkuGroup. + * Currently, standard offer price models include only partner SKUs + * in the same project as the standard offer. This may change. + * Format: + * projects/{project}/locations/{location}/services/{service}/skus/{sku} + * + * Generated from protobuf field string sku = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setSku($var) + { + GPBUtil::checkString($var, True); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Optional. The name of a Google SKU from the Cloud Billing API. + * Used for partner products sold by Google, such as Premium Operating + * System Images sold for use in Compute Engine. This is not common. + * SKUs of this type are not present on this API and can instead be + * found on the Cloud Billing API or at https://cloud.google.com/skus. + * Must refer to a SKU in the price model of the base standard offer. + * Google SKUs are always referenced in standard offers via SkuGroups. + * Format: services/{service}/skus/{sku} + * + * Generated from protobuf field string cloud_billing_sku = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getCloudBillingSku() + { + return $this->readOneof(3); + } + + public function hasCloudBillingSku() + { + return $this->hasOneof(3); + } + + /** + * Optional. The name of a Google SKU from the Cloud Billing API. + * Used for partner products sold by Google, such as Premium Operating + * System Images sold for use in Compute Engine. This is not common. + * SKUs of this type are not present on this API and can instead be + * found on the Cloud Billing API or at https://cloud.google.com/skus. + * Must refer to a SKU in the price model of the base standard offer. + * Google SKUs are always referenced in standard offers via SkuGroups. + * Format: services/{service}/skus/{sku} + * + * Generated from protobuf field string cloud_billing_sku = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setCloudBillingSku($var) + { + GPBUtil::checkString($var, True); + $this->writeOneof(3, $var); + + return $this; + } + + /** + * Optional. The discount percent for the SKU. + * For example, `10` means a discount of 10%. If the original SKU + * price is $100/hour then the discounted price will be $90/hour. + * Must be between 0 and 100 inclusive, with precision up to 2 decimal + * places. If this field is set, then the allowed pattern for 'value' + * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`. + * Examples of valid values: "0", "100.0", "12.34", "40.0". + * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", + * and "". + * Must be present to publish the offer. + * + * Generated from protobuf field .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Type\Decimal|null + */ + public function getDiscountPercent() + { + return $this->readOneof(2); + } + + public function hasDiscountPercent() + { + return $this->hasOneof(2); + } + + /** + * Optional. The discount percent for the SKU. + * For example, `10` means a discount of 10%. If the original SKU + * price is $100/hour then the discounted price will be $90/hour. + * Must be between 0 and 100 inclusive, with precision up to 2 decimal + * places. If this field is set, then the allowed pattern for 'value' + * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`. + * Examples of valid values: "0", "100.0", "12.34", "40.0". + * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", + * and "". + * Must be present to publish the offer. + * + * Generated from protobuf field .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Type\Decimal $var + * @return $this + */ + public function setDiscountPercent($var) + { + GPBUtil::checkMessage($var, \Google\Type\Decimal::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * @return string + */ + public function getTarget() + { + return $this->whichOneof("target"); + } + + /** + * @return string + */ + public function getDiscount() + { + return $this->whichOneof("discount"); + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/PriceModel/Usage.php b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/PriceModel/Usage.php new file mode 100644 index 00000000000..8f4dea2dec0 --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/PriceModel/Usage.php @@ -0,0 +1,139 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage + */ +class Usage extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. The default discount percent for usage SKUs. + * An unset default discount percent is equivalent to 0 (no discount). + * Must be between 0 and 100 inclusive, with precision up to 2 decimal + * places. If this field is set, then the allowed pattern for 'value' + * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`. + * Examples of valid values: "0", "100.0", "12.34", "40.0". + * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "". + * + * Generated from protobuf field .google.type.Decimal default_discount_percent = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $default_discount_percent = null; + /** + * Optional. The discounts for the specific SKUs that override the + * `default_discount_percent`. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $sku_discounts; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Type\Decimal $default_discount_percent + * Optional. The default discount percent for usage SKUs. + * An unset default discount percent is equivalent to 0 (no discount). + * Must be between 0 and 100 inclusive, with precision up to 2 decimal + * places. If this field is set, then the allowed pattern for 'value' + * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`. + * Examples of valid values: "0", "100.0", "12.34", "40.0". + * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "". + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel\SkuDiscount[] $sku_discounts + * Optional. The discounts for the specific SKUs that override the + * `default_discount_percent`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\PrivateOffer::initOnce(); + parent::__construct($data); + } + + /** + * Optional. The default discount percent for usage SKUs. + * An unset default discount percent is equivalent to 0 (no discount). + * Must be between 0 and 100 inclusive, with precision up to 2 decimal + * places. If this field is set, then the allowed pattern for 'value' + * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`. + * Examples of valid values: "0", "100.0", "12.34", "40.0". + * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "". + * + * Generated from protobuf field .google.type.Decimal default_discount_percent = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Type\Decimal|null + */ + public function getDefaultDiscountPercent() + { + return $this->default_discount_percent; + } + + public function hasDefaultDiscountPercent() + { + return isset($this->default_discount_percent); + } + + public function clearDefaultDiscountPercent() + { + unset($this->default_discount_percent); + } + + /** + * Optional. The default discount percent for usage SKUs. + * An unset default discount percent is equivalent to 0 (no discount). + * Must be between 0 and 100 inclusive, with precision up to 2 decimal + * places. If this field is set, then the allowed pattern for 'value' + * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`. + * Examples of valid values: "0", "100.0", "12.34", "40.0". + * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "". + * + * Generated from protobuf field .google.type.Decimal default_discount_percent = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Type\Decimal $var + * @return $this + */ + public function setDefaultDiscountPercent($var) + { + GPBUtil::checkMessage($var, \Google\Type\Decimal::class); + $this->default_discount_percent = $var; + + return $this; + } + + /** + * Optional. The discounts for the specific SKUs that override the + * `default_discount_percent`. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return RepeatedField<\Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel\SkuDiscount> + */ + public function getSkuDiscounts() + { + return $this->sku_discounts; + } + + /** + * Optional. The discounts for the specific SKUs that override the + * `default_discount_percent`. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel\SkuDiscount[] $var + * @return $this + */ + public function setSkuDiscounts($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel\SkuDiscount::class); + $this->sku_discounts = $arr; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/RevenueShare.php b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/RevenueShare.php new file mode 100644 index 00000000000..5643dffdcc2 --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/RevenueShare.php @@ -0,0 +1,168 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + */ +class RevenueShare extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The revenue share currently in effect. + * The range of the value is between 0 and 100. For example, 80 + * means the Vendor's current term revenue share is 80%. The vendor + * will keep 80% of the revenue. + * . + * + * Generated from protobuf field .google.type.Decimal current_term_vendor_net_revenue_percent = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $current_term_vendor_net_revenue_percent = null; + /** + * Output only. The expected revenue share for the renewal term. + * Not included if the offer does not have renewal terms. + * The range of the value is between 0 and 100. For example, 80 + * means the Vendor's current term revenue share is 80%. The vendor + * will keep 80% of the revenue after renewal. + * . + * + * Generated from protobuf field .google.type.Decimal renewal_term_vendor_net_revenue_percent = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $renewal_term_vendor_net_revenue_percent = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Type\Decimal $current_term_vendor_net_revenue_percent + * Output only. The revenue share currently in effect. + * The range of the value is between 0 and 100. For example, 80 + * means the Vendor's current term revenue share is 80%. The vendor + * will keep 80% of the revenue. + * . + * @type \Google\Type\Decimal $renewal_term_vendor_net_revenue_percent + * Output only. The expected revenue share for the renewal term. + * Not included if the offer does not have renewal terms. + * The range of the value is between 0 and 100. For example, 80 + * means the Vendor's current term revenue share is 80%. The vendor + * will keep 80% of the revenue after renewal. + * . + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\PrivateOffer::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The revenue share currently in effect. + * The range of the value is between 0 and 100. For example, 80 + * means the Vendor's current term revenue share is 80%. The vendor + * will keep 80% of the revenue. + * . + * + * Generated from protobuf field .google.type.Decimal current_term_vendor_net_revenue_percent = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Type\Decimal|null + */ + public function getCurrentTermVendorNetRevenuePercent() + { + return $this->current_term_vendor_net_revenue_percent; + } + + public function hasCurrentTermVendorNetRevenuePercent() + { + return isset($this->current_term_vendor_net_revenue_percent); + } + + public function clearCurrentTermVendorNetRevenuePercent() + { + unset($this->current_term_vendor_net_revenue_percent); + } + + /** + * Output only. The revenue share currently in effect. + * The range of the value is between 0 and 100. For example, 80 + * means the Vendor's current term revenue share is 80%. The vendor + * will keep 80% of the revenue. + * . + * + * Generated from protobuf field .google.type.Decimal current_term_vendor_net_revenue_percent = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Type\Decimal $var + * @return $this + */ + public function setCurrentTermVendorNetRevenuePercent($var) + { + GPBUtil::checkMessage($var, \Google\Type\Decimal::class); + $this->current_term_vendor_net_revenue_percent = $var; + + return $this; + } + + /** + * Output only. The expected revenue share for the renewal term. + * Not included if the offer does not have renewal terms. + * The range of the value is between 0 and 100. For example, 80 + * means the Vendor's current term revenue share is 80%. The vendor + * will keep 80% of the revenue after renewal. + * . + * + * Generated from protobuf field .google.type.Decimal renewal_term_vendor_net_revenue_percent = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Type\Decimal|null + */ + public function getRenewalTermVendorNetRevenuePercent() + { + return $this->renewal_term_vendor_net_revenue_percent; + } + + public function hasRenewalTermVendorNetRevenuePercent() + { + return isset($this->renewal_term_vendor_net_revenue_percent); + } + + public function clearRenewalTermVendorNetRevenuePercent() + { + unset($this->renewal_term_vendor_net_revenue_percent); + } + + /** + * Output only. The expected revenue share for the renewal term. + * Not included if the offer does not have renewal terms. + * The range of the value is between 0 and 100. For example, 80 + * means the Vendor's current term revenue share is 80%. The vendor + * will keep 80% of the revenue after renewal. + * . + * + * Generated from protobuf field .google.type.Decimal renewal_term_vendor_net_revenue_percent = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Type\Decimal $var + * @return $this + */ + public function setRenewalTermVendorNetRevenuePercent($var) + { + GPBUtil::checkMessage($var, \Google\Type\Decimal::class); + $this->renewal_term_vendor_net_revenue_percent = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/StandardIntervalPrice.php b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/StandardIntervalPrice.php new file mode 100644 index 00000000000..246e3456d5b --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/StandardIntervalPrice.php @@ -0,0 +1,119 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice + */ +class StandardIntervalPrice extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. The standard interval of the offer. + * Must be present to publish unless the price model is usage-only. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice.StandardInterval standard_interval = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $standard_interval = 0; + /** + * Optional. The price model of the offer. + * Must be present to publish the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $price_model = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $standard_interval + * Optional. The standard interval of the offer. + * Must be present to publish unless the price model is usage-only. + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel $price_model + * Optional. The price model of the offer. + * Must be present to publish the offer. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\PrivateOffer::initOnce(); + parent::__construct($data); + } + + /** + * Optional. The standard interval of the offer. + * Must be present to publish unless the price model is usage-only. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice.StandardInterval standard_interval = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getStandardInterval() + { + return $this->standard_interval; + } + + /** + * Optional. The standard interval of the offer. + * Must be present to publish unless the price model is usage-only. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice.StandardInterval standard_interval = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setStandardInterval($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\StandardIntervalPrice\StandardInterval::class); + $this->standard_interval = $var; + + return $this; + } + + /** + * Optional. The price model of the offer. + * Must be present to publish the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel|null + */ + public function getPriceModel() + { + return $this->price_model; + } + + public function hasPriceModel() + { + return isset($this->price_model); + } + + public function clearPriceModel() + { + unset($this->price_model); + } + + /** + * Optional. The price model of the offer. + * Must be present to publish the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel $var + * @return $this + */ + public function setPriceModel($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\SingleProductOffer\PriceModel::class); + $this->price_model = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/StandardIntervalPrice/StandardInterval.php b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/StandardIntervalPrice/StandardInterval.php new file mode 100644 index 00000000000..20e1ff61824 --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/SingleProductOffer/StandardIntervalPrice/StandardInterval.php @@ -0,0 +1,137 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice.StandardInterval + */ +class StandardInterval +{ + /** + * The private offer does not have an interval. + * If this is set, then the offer is "usage-only". + * Field `term.duration_months` must be positive. + * + * Generated from protobuf enum STANDARD_INTERVAL_UNSPECIFIED = 0; + */ + const STANDARD_INTERVAL_UNSPECIFIED = 0; + /** + * The schedule of the monthly postpay offers. + * This type of offer has "Monthly" billing frequency (see + * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule). + * No longer supported as of May 2024. Cannot be used to publish + * new offers. + * + * Generated from protobuf enum MONTHLY_POSTPAY = 1 [deprecated = true]; + */ + const MONTHLY_POSTPAY = 1; + /** + * Monthly installments with proration. + * This type of offer has "Monthly" billing frequency (see + * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule). + * For example, if the offer starts on 04/15, and the offer duration is + * 3 months, the following installments will be created: + * # 1: from 04/15 to 05/01, at the prorated price for April. + * # 2: from 05/01 to 06/01, at the full monthly price for May. + * # 3: from 06/01 to 07/01, at the full monthly price for June. + * # 4: from 07/01 to 07/15, at the prorated price for July. + * All dates represent the start of that day in the America/Los_Angeles + * time zone. + * If this is set: + * * The `PriceModel.subscription` oneof must be set. + * * Field `term.duration_months` must be positive. + * + * Generated from protobuf enum MONTHLY_PRORATED = 2; + */ + const MONTHLY_PRORATED = 2; + /** + * Monthly installments without proration. + * This type of offer has "Monthly" billing frequency (see + * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule). + * For example, if the offer starts on 04/15, and the offer duration is + * 3 months, the following installments will be created: + * # 1: from 04/15 to 05/15, at the full monthly price. + * # 2: from 05/15 to 06/15, at the full monthly price. + * # 3: from 06/15 to 07/15, at the full monthly price. + * All dates represent the start of that day in the America/Los_Angeles + * time zone. + * If this is set: + * * The `PriceModel.subscription` oneof must be set. + * * Field `term.duration_months` must be positive. + * + * Generated from protobuf enum MONTHLY_NOT_PRORATED = 3; + */ + const MONTHLY_NOT_PRORATED = 3; + /** + * Quarterly installments which are not prorated. + * This type of offer has "Quarterly" billing frequency (see + * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule). + * For example, if the offer starts on 01/15, and the offer duration is + * 3 quarters, the following installments will be created: + * # 1: from 01/15 to 04/15, at the full quarterly price. + * # 2: from 04/15 to 07/15, at the full quarterly price. + * # 3: from 07/15 to 10/15, at the full quarterly price. + * All dates represent the start of that day in the America/Los_Angeles + * time zone. + * If this is set: + * * The `PriceModel.subscription` oneof must be set. + * * Field `term.duration_months` must be positive. + * + * Generated from protobuf enum QUARTERLY_NOT_PRORATED = 4; + */ + const QUARTERLY_NOT_PRORATED = 4; + /** + * Yearly installments which are not prorated. + * This type of offer has "Yearly" billing frequency (see + * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule). + * For example, if the offer starts on 01/15/2025, and the offer + * duration is 3 years, the following installments will be created: + * # 1: from 01/15/2025 to 01/15/2026, at the full yearly price. + * # 2: from 01/15/2026 to 01/15/2027, at the full yearly price. + * # 3: from 01/15/2027 to 01/15/2028, at the full yearly price. + * All dates represent the start of that day in the America/Los_Angeles + * time zone. + * If this is set: + * * The `PriceModel.subscription` oneof must be set. + * * Field `term.duration_months` must be positive. + * + * Generated from protobuf enum YEARLY_NOT_PRORATED = 5; + */ + const YEARLY_NOT_PRORATED = 5; + + private static $valueToName = [ + self::STANDARD_INTERVAL_UNSPECIFIED => 'STANDARD_INTERVAL_UNSPECIFIED', + self::MONTHLY_POSTPAY => 'MONTHLY_POSTPAY', + self::MONTHLY_PRORATED => 'MONTHLY_PRORATED', + self::MONTHLY_NOT_PRORATED => 'MONTHLY_NOT_PRORATED', + self::QUARTERLY_NOT_PRORATED => 'QUARTERLY_NOT_PRORATED', + self::YEARLY_NOT_PRORATED => 'YEARLY_NOT_PRORATED', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/State.php b/Commerceproducer/src/V1beta/PrivateOffer/State.php new file mode 100644 index 00000000000..a3c341b5b44 --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/State.php @@ -0,0 +1,102 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.State + */ +class State +{ + /** + * Default value. This value is unused. + * + * Generated from protobuf enum STATE_UNSPECIFIED = 0; + */ + const STATE_UNSPECIFIED = 0; + /** + * The default state after creation when the offer can be edited. + * In all other states, the contents of the offer cannot be edited. + * + * Generated from protobuf enum DRAFT = 1; + */ + const DRAFT = 1; + /** + * The offer is publishing. + * Publishing will complete when all publishing requirements are satisfied. + * + * Generated from protobuf enum PUBLISHING = 2; + */ + const PUBLISHING = 2; + /** + * The offer has been published and is available to the customer to accept. + * + * Generated from protobuf enum PUBLISHED = 3; + */ + const PUBLISHED = 3; + /** + * The offer has been accepted by the customer. + * + * Generated from protobuf enum ACCEPTED = 4; + */ + const ACCEPTED = 4; + /** + * The offer was cancelled by the provider before it was transacted. + * Cancelled offers can no longer be accepted by the customer. + * + * Generated from protobuf enum CANCELLED = 5; + */ + const CANCELLED = 5; + /** + * The offer expired without being accepted by the customer. + * Expired offers can no longer be accepted by the customer. + * + * Generated from protobuf enum EXPIRED = 6; + */ + const EXPIRED = 6; + /** + * The offer has ended. + * Ended offers were accepted and active in the past, but have now reached + * the end of their term or have been terminated. + * + * Generated from protobuf enum ENDED = 7; + */ + const ENDED = 7; + + private static $valueToName = [ + self::STATE_UNSPECIFIED => 'STATE_UNSPECIFIED', + self::DRAFT => 'DRAFT', + self::PUBLISHING => 'PUBLISHING', + self::PUBLISHED => 'PUBLISHED', + self::ACCEPTED => 'ACCEPTED', + self::CANCELLED => 'CANCELLED', + self::EXPIRED => 'EXPIRED', + self::ENDED => 'ENDED', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/Term.php b/Commerceproducer/src/V1beta/PrivateOffer/Term.php new file mode 100644 index 00000000000..c119a1c5a4c --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/Term.php @@ -0,0 +1,578 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.Term + */ +class Term extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. Defines when the resulting order should start. + * Must be set when publishing the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy start_policy = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $start_policy = 0; + /** + * Optional. The scheduled start time of the offer. Cannot exceed one year + * from the time of publish. + * If the start policy is `SCHEDULED_START_TIME`, a future time at a day + * boundary in the America/Los_Angeles time zone must be provided when + * publishing the offer. + * If the offer amends another private or standard offer, then the + * scheduled start time must be: + * * Before or equal to the amended offer's end time if the offer's + * end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be + * strictly before the amended offer's end time. + * * Before or equal to the start time of the next pending installment of + * the amended offer, if amending a private offer with custom + * installments. For example, if the amended offer has installments on + * 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's + * `scheduled_start_time` must be at or before 03/01. + * + * Generated from protobuf field .google.type.DateTime scheduled_start_time = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $scheduled_start_time = null; + /** + * Optional. Defines when an offer should end. + * Must be set when publishing the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy end_policy = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $end_policy = 0; + /** + * Output only. The expected end time of the current offer term. + * At the end of each offer term, an offer associated with an active + * order will either renew or end. When an offer renews, a new term begins + * and this value changes to reflect the end time of the new term. + * When an offer ends this value is no longer set and instead `end_time` is + * set. + * When the term of an offer ends and the offer does not renew, the + * associated order also ends if the base standard offer has a + * subscription price model. Otherwise, the associated order does not end + * and remains active. + * Not included for PRIVATE_OFFER_VIEW_BASIC. + * Included for PRIVATE_OFFER_VIEW_FULL when the offer has not ended and + * either the offer has started or the value can be derived from other + * fields. + * For offers that have not started, this field is set when one of the + * following conditions is true. + * * The offer sets `term.scheduled_end_time`. + * * The offer sets `term.scheduled_start_time` and `term.duration_months`, + * the offer's `term.end_policy` is not `MATCH_AMENDED_OFFER`, and the + * offer does not have standard_interval set to `MONTHLY_POSTPAY`. + * + * Generated from protobuf field .google.type.DateTime effective_term_end_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $effective_term_end_time = null; + protected $end_policy_data; + protected $renewal; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $duration_months + * Optional. Duration in months of the offer term. + * The offer will end on the same day of the month after this duration. If + * that date is not available, the offer will end on the last day of the + * month. For example, if the offer starts on 01/31/2024 and the duration + * is 13 months, the offer will end on 02/28/2025. + * Must be set to publish the offer if the end policy is `AFTER_DURATION` + * or `MATCH_AMENDED_OFFER`, and must be a positive value. + * The maximum possible offer duration, including all renewal terms, + * cannot exceed 7 years. For example, if `duration_months` is 9 and + * `term.max_renewal_count` is 9, then the maximum possible offer duration + * is 90 months and exceeds the 7 year limit. + * @type \Google\Type\DateTime $scheduled_end_time + * Optional. Specified end time of the offer. + * Must be set to publish the offer if the end policy is + * `SCHEDULED_END_TIME`. + * When set, the time must be in the future and at a day boundary in the + * America/Los_Angeles time zone, and must be after + * `term.scheduled_start_time` if applicable. + * @type int $max_renewal_count + * Optional. The max number of renewals allowed, after the initial term + * ends. This field is only relevant to standard interval offers with + * interval of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED', + * 'QUARTERLY_NOT_PRORATED' or 'YEARLY_NOT_PRORATED'. Other types of + * offers cannot be renewed. + * For example, if the initial term is 1 year and the max renewals is 3, + * the customer can renew the offer for up to 3 additional years after the + * initial term ends. Customers control whether they renew the offer. + * Allowing a customer to renew an offer does not constitute a guarantee + * to the customer that the offered product will still be available to be + * renewed at the renewal date. + * An offer with a max renewal count of 0 cannot be renewed. + * Must be non-negative. + * @type bool $unlimited_renewal + * Output only. Deprecated: This field can only be true on existing offers + * with standard interval of 'MONTHLY_POSTPAY'. As of May 2024, we no + * longer allow unlimited renewals. + * @type int $start_policy + * Optional. Defines when the resulting order should start. + * Must be set when publishing the offer. + * @type \Google\Type\DateTime $scheduled_start_time + * Optional. The scheduled start time of the offer. Cannot exceed one year + * from the time of publish. + * If the start policy is `SCHEDULED_START_TIME`, a future time at a day + * boundary in the America/Los_Angeles time zone must be provided when + * publishing the offer. + * If the offer amends another private or standard offer, then the + * scheduled start time must be: + * * Before or equal to the amended offer's end time if the offer's + * end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be + * strictly before the amended offer's end time. + * * Before or equal to the start time of the next pending installment of + * the amended offer, if amending a private offer with custom + * installments. For example, if the amended offer has installments on + * 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's + * `scheduled_start_time` must be at or before 03/01. + * @type int $end_policy + * Optional. Defines when an offer should end. + * Must be set when publishing the offer. + * @type \Google\Type\DateTime $effective_term_end_time + * Output only. The expected end time of the current offer term. + * At the end of each offer term, an offer associated with an active + * order will either renew or end. When an offer renews, a new term begins + * and this value changes to reflect the end time of the new term. + * When an offer ends this value is no longer set and instead `end_time` is + * set. + * When the term of an offer ends and the offer does not renew, the + * associated order also ends if the base standard offer has a + * subscription price model. Otherwise, the associated order does not end + * and remains active. + * Not included for PRIVATE_OFFER_VIEW_BASIC. + * Included for PRIVATE_OFFER_VIEW_FULL when the offer has not ended and + * either the offer has started or the value can be derived from other + * fields. + * For offers that have not started, this field is set when one of the + * following conditions is true. + * * The offer sets `term.scheduled_end_time`. + * * The offer sets `term.scheduled_start_time` and `term.duration_months`, + * the offer's `term.end_policy` is not `MATCH_AMENDED_OFFER`, and the + * offer does not have standard_interval set to `MONTHLY_POSTPAY`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\PrivateOffer::initOnce(); + parent::__construct($data); + } + + /** + * Optional. Duration in months of the offer term. + * The offer will end on the same day of the month after this duration. If + * that date is not available, the offer will end on the last day of the + * month. For example, if the offer starts on 01/31/2024 and the duration + * is 13 months, the offer will end on 02/28/2025. + * Must be set to publish the offer if the end policy is `AFTER_DURATION` + * or `MATCH_AMENDED_OFFER`, and must be a positive value. + * The maximum possible offer duration, including all renewal terms, + * cannot exceed 7 years. For example, if `duration_months` is 9 and + * `term.max_renewal_count` is 9, then the maximum possible offer duration + * is 90 months and exceeds the 7 year limit. + * + * Generated from protobuf field int32 duration_months = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getDurationMonths() + { + return $this->readOneof(4); + } + + public function hasDurationMonths() + { + return $this->hasOneof(4); + } + + /** + * Optional. Duration in months of the offer term. + * The offer will end on the same day of the month after this duration. If + * that date is not available, the offer will end on the last day of the + * month. For example, if the offer starts on 01/31/2024 and the duration + * is 13 months, the offer will end on 02/28/2025. + * Must be set to publish the offer if the end policy is `AFTER_DURATION` + * or `MATCH_AMENDED_OFFER`, and must be a positive value. + * The maximum possible offer duration, including all renewal terms, + * cannot exceed 7 years. For example, if `duration_months` is 9 and + * `term.max_renewal_count` is 9, then the maximum possible offer duration + * is 90 months and exceeds the 7 year limit. + * + * Generated from protobuf field int32 duration_months = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setDurationMonths($var) + { + GPBUtil::checkInt32($var); + $this->writeOneof(4, $var); + + return $this; + } + + /** + * Optional. Specified end time of the offer. + * Must be set to publish the offer if the end policy is + * `SCHEDULED_END_TIME`. + * When set, the time must be in the future and at a day boundary in the + * America/Los_Angeles time zone, and must be after + * `term.scheduled_start_time` if applicable. + * + * Generated from protobuf field .google.type.DateTime scheduled_end_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Type\DateTime|null + */ + public function getScheduledEndTime() + { + return $this->readOneof(5); + } + + public function hasScheduledEndTime() + { + return $this->hasOneof(5); + } + + /** + * Optional. Specified end time of the offer. + * Must be set to publish the offer if the end policy is + * `SCHEDULED_END_TIME`. + * When set, the time must be in the future and at a day boundary in the + * America/Los_Angeles time zone, and must be after + * `term.scheduled_start_time` if applicable. + * + * Generated from protobuf field .google.type.DateTime scheduled_end_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Type\DateTime $var + * @return $this + */ + public function setScheduledEndTime($var) + { + GPBUtil::checkMessage($var, \Google\Type\DateTime::class); + $this->writeOneof(5, $var); + + return $this; + } + + /** + * Optional. The max number of renewals allowed, after the initial term + * ends. This field is only relevant to standard interval offers with + * interval of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED', + * 'QUARTERLY_NOT_PRORATED' or 'YEARLY_NOT_PRORATED'. Other types of + * offers cannot be renewed. + * For example, if the initial term is 1 year and the max renewals is 3, + * the customer can renew the offer for up to 3 additional years after the + * initial term ends. Customers control whether they renew the offer. + * Allowing a customer to renew an offer does not constitute a guarantee + * to the customer that the offered product will still be available to be + * renewed at the renewal date. + * An offer with a max renewal count of 0 cannot be renewed. + * Must be non-negative. + * + * Generated from protobuf field int32 max_renewal_count = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getMaxRenewalCount() + { + return $this->readOneof(6); + } + + public function hasMaxRenewalCount() + { + return $this->hasOneof(6); + } + + /** + * Optional. The max number of renewals allowed, after the initial term + * ends. This field is only relevant to standard interval offers with + * interval of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED', + * 'QUARTERLY_NOT_PRORATED' or 'YEARLY_NOT_PRORATED'. Other types of + * offers cannot be renewed. + * For example, if the initial term is 1 year and the max renewals is 3, + * the customer can renew the offer for up to 3 additional years after the + * initial term ends. Customers control whether they renew the offer. + * Allowing a customer to renew an offer does not constitute a guarantee + * to the customer that the offered product will still be available to be + * renewed at the renewal date. + * An offer with a max renewal count of 0 cannot be renewed. + * Must be non-negative. + * + * Generated from protobuf field int32 max_renewal_count = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setMaxRenewalCount($var) + { + GPBUtil::checkInt32($var); + $this->writeOneof(6, $var); + + return $this; + } + + /** + * Output only. Deprecated: This field can only be true on existing offers + * with standard interval of 'MONTHLY_POSTPAY'. As of May 2024, we no + * longer allow unlimited renewals. + * + * Generated from protobuf field bool unlimited_renewal = 7 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * @return bool + * @deprecated + */ + public function getUnlimitedRenewal() + { + if ($this->hasOneof(7)) { + @trigger_error('unlimited_renewal is deprecated.', E_USER_DEPRECATED); + } + return $this->readOneof(7); + } + + public function hasUnlimitedRenewal() + { + if ($this->hasOneof(7)) { + @trigger_error('unlimited_renewal is deprecated.', E_USER_DEPRECATED); + } + return $this->hasOneof(7); + } + + /** + * Output only. Deprecated: This field can only be true on existing offers + * with standard interval of 'MONTHLY_POSTPAY'. As of May 2024, we no + * longer allow unlimited renewals. + * + * Generated from protobuf field bool unlimited_renewal = 7 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * @param bool $var + * @return $this + * @deprecated + */ + public function setUnlimitedRenewal($var) + { + @trigger_error('unlimited_renewal is deprecated.', E_USER_DEPRECATED); + GPBUtil::checkBool($var); + $this->writeOneof(7, $var); + + return $this; + } + + /** + * Optional. Defines when the resulting order should start. + * Must be set when publishing the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy start_policy = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getStartPolicy() + { + return $this->start_policy; + } + + /** + * Optional. Defines when the resulting order should start. + * Must be set when publishing the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy start_policy = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setStartPolicy($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\Term\StartPolicy::class); + $this->start_policy = $var; + + return $this; + } + + /** + * Optional. The scheduled start time of the offer. Cannot exceed one year + * from the time of publish. + * If the start policy is `SCHEDULED_START_TIME`, a future time at a day + * boundary in the America/Los_Angeles time zone must be provided when + * publishing the offer. + * If the offer amends another private or standard offer, then the + * scheduled start time must be: + * * Before or equal to the amended offer's end time if the offer's + * end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be + * strictly before the amended offer's end time. + * * Before or equal to the start time of the next pending installment of + * the amended offer, if amending a private offer with custom + * installments. For example, if the amended offer has installments on + * 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's + * `scheduled_start_time` must be at or before 03/01. + * + * Generated from protobuf field .google.type.DateTime scheduled_start_time = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Type\DateTime|null + */ + public function getScheduledStartTime() + { + return $this->scheduled_start_time; + } + + public function hasScheduledStartTime() + { + return isset($this->scheduled_start_time); + } + + public function clearScheduledStartTime() + { + unset($this->scheduled_start_time); + } + + /** + * Optional. The scheduled start time of the offer. Cannot exceed one year + * from the time of publish. + * If the start policy is `SCHEDULED_START_TIME`, a future time at a day + * boundary in the America/Los_Angeles time zone must be provided when + * publishing the offer. + * If the offer amends another private or standard offer, then the + * scheduled start time must be: + * * Before or equal to the amended offer's end time if the offer's + * end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be + * strictly before the amended offer's end time. + * * Before or equal to the start time of the next pending installment of + * the amended offer, if amending a private offer with custom + * installments. For example, if the amended offer has installments on + * 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's + * `scheduled_start_time` must be at or before 03/01. + * + * Generated from protobuf field .google.type.DateTime scheduled_start_time = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Type\DateTime $var + * @return $this + */ + public function setScheduledStartTime($var) + { + GPBUtil::checkMessage($var, \Google\Type\DateTime::class); + $this->scheduled_start_time = $var; + + return $this; + } + + /** + * Optional. Defines when an offer should end. + * Must be set when publishing the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy end_policy = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getEndPolicy() + { + return $this->end_policy; + } + + /** + * Optional. Defines when an offer should end. + * Must be set when publishing the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy end_policy = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setEndPolicy($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer\Term\EndPolicy::class); + $this->end_policy = $var; + + return $this; + } + + /** + * Output only. The expected end time of the current offer term. + * At the end of each offer term, an offer associated with an active + * order will either renew or end. When an offer renews, a new term begins + * and this value changes to reflect the end time of the new term. + * When an offer ends this value is no longer set and instead `end_time` is + * set. + * When the term of an offer ends and the offer does not renew, the + * associated order also ends if the base standard offer has a + * subscription price model. Otherwise, the associated order does not end + * and remains active. + * Not included for PRIVATE_OFFER_VIEW_BASIC. + * Included for PRIVATE_OFFER_VIEW_FULL when the offer has not ended and + * either the offer has started or the value can be derived from other + * fields. + * For offers that have not started, this field is set when one of the + * following conditions is true. + * * The offer sets `term.scheduled_end_time`. + * * The offer sets `term.scheduled_start_time` and `term.duration_months`, + * the offer's `term.end_policy` is not `MATCH_AMENDED_OFFER`, and the + * offer does not have standard_interval set to `MONTHLY_POSTPAY`. + * + * Generated from protobuf field .google.type.DateTime effective_term_end_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Type\DateTime|null + */ + public function getEffectiveTermEndTime() + { + return $this->effective_term_end_time; + } + + public function hasEffectiveTermEndTime() + { + return isset($this->effective_term_end_time); + } + + public function clearEffectiveTermEndTime() + { + unset($this->effective_term_end_time); + } + + /** + * Output only. The expected end time of the current offer term. + * At the end of each offer term, an offer associated with an active + * order will either renew or end. When an offer renews, a new term begins + * and this value changes to reflect the end time of the new term. + * When an offer ends this value is no longer set and instead `end_time` is + * set. + * When the term of an offer ends and the offer does not renew, the + * associated order also ends if the base standard offer has a + * subscription price model. Otherwise, the associated order does not end + * and remains active. + * Not included for PRIVATE_OFFER_VIEW_BASIC. + * Included for PRIVATE_OFFER_VIEW_FULL when the offer has not ended and + * either the offer has started or the value can be derived from other + * fields. + * For offers that have not started, this field is set when one of the + * following conditions is true. + * * The offer sets `term.scheduled_end_time`. + * * The offer sets `term.scheduled_start_time` and `term.duration_months`, + * the offer's `term.end_policy` is not `MATCH_AMENDED_OFFER`, and the + * offer does not have standard_interval set to `MONTHLY_POSTPAY`. + * + * Generated from protobuf field .google.type.DateTime effective_term_end_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Type\DateTime $var + * @return $this + */ + public function setEffectiveTermEndTime($var) + { + GPBUtil::checkMessage($var, \Google\Type\DateTime::class); + $this->effective_term_end_time = $var; + + return $this; + } + + /** + * @return string + */ + public function getEndPolicyData() + { + return $this->whichOneof("end_policy_data"); + } + + /** + * @return string + */ + public function getRenewal() + { + return $this->whichOneof("renewal"); + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/Term/EndPolicy.php b/Commerceproducer/src/V1beta/PrivateOffer/Term/EndPolicy.php new file mode 100644 index 00000000000..c7cd7b3957a --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/Term/EndPolicy.php @@ -0,0 +1,99 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy + */ +class EndPolicy +{ + /** + * Default value. This value is unused. + * + * Generated from protobuf enum END_POLICY_UNSPECIFIED = 0; + */ + const END_POLICY_UNSPECIFIED = 0; + /** + * Offer ends after the specified duration. + * If this is set, then `duration_months` must be positive. + * + * Generated from protobuf enum AFTER_DURATION = 1; + */ + const AFTER_DURATION = 1; + /** + * Offer ends at the schduled time. + * + * Generated from protobuf enum SCHEDULED_END_TIME = 2; + */ + const SCHEDULED_END_TIME = 2; + /** + * Offer coterms to the amended offer - the offer ends at the end of the + * amended offer's term + * For example, if the amended offer starts on 01/15/24, and has a + * duration of 6 months, then it ends on 07/15/24. If the current offer + * coterms to the previous offer, and the current offer starts on + * 05/06/24, then it will still end on 07/15/24. Assuming the current + * offer renews 3 times, then the terms on the current offer will be: + * 1. 05/06/24 - 07/15/24 (First term, ends on 07/15 to coterm with the + * amended offer) + * 2. 07/15/24 - 01/15/25 (First renewal term) + * 3. 01/15/25 - 07/15/25 (Second renewal term) + * 4. 07/15/25 - 01/15/26 (Third renewal term) + * As a contrast, if the current offer does not coterm with the amended + * offer (such as when `end_policy` is `AFTER_DURATION`), then the + * terms will be: + * 1. 05/06/24 - 11/06/24 (First term, ends on 11/06, no coterming) + * 2. 11/06/24 - 05/06/25 (First renewal term) + * 3. 05/06/25 - 11/06/25 (Second renewal term) + * 4. 11/06/25 - 05/06/26 (Third renewal term) + * If this is set, then the following conditions must be met: + * * `single_product_offer.amended_private_offer` must be set, and the + * amended private offer must not be ended. + * * The proration policy must not change (e.g., you cannot switch + * between `MONTHLY_PRORATED` and `MONTHLY_NOT_PRORATED`). + * * The current offer must not have custom intervals (where + * `custom_interval_price` is set). + * * `term.duration_months` must match the amended private offer's + * duration. + * * The amended private offer must not have a standard interval + * of `MONTHLY_POSTPAY`. + * This is currently not supported. + * + * Generated from protobuf enum MATCH_AMENDED_OFFER = 3; + */ + const MATCH_AMENDED_OFFER = 3; + + private static $valueToName = [ + self::END_POLICY_UNSPECIFIED => 'END_POLICY_UNSPECIFIED', + self::AFTER_DURATION => 'AFTER_DURATION', + self::SCHEDULED_END_TIME => 'SCHEDULED_END_TIME', + self::MATCH_AMENDED_OFFER => 'MATCH_AMENDED_OFFER', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Commerceproducer/src/V1beta/PrivateOffer/Term/StartPolicy.php b/Commerceproducer/src/V1beta/PrivateOffer/Term/StartPolicy.php new file mode 100644 index 00000000000..acb87a0a70b --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOffer/Term/StartPolicy.php @@ -0,0 +1,64 @@ +google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy + */ +class StartPolicy +{ + /** + * Default value. This value is unused. + * + * Generated from protobuf enum START_POLICY_UNSPECIFIED = 0; + */ + const START_POLICY_UNSPECIFIED = 0; + /** + * The resulting order starts immediately upon the customer's acceptance + * of the offer, if no partner approval is required, or else immediately + * after the partner approves the purchase if order approval is required. + * This enum value cannot be combined with `term.scheduled_start_time`. + * + * Generated from protobuf enum IMMEDIATE = 1; + */ + const IMMEDIATE = 1; + /** + * The resulting order starts at the scheduled start time. + * + * Generated from protobuf enum SCHEDULED_START_TIME = 2; + */ + const SCHEDULED_START_TIME = 2; + + private static $valueToName = [ + self::START_POLICY_UNSPECIFIED => 'START_POLICY_UNSPECIFIED', + self::IMMEDIATE => 'IMMEDIATE', + self::SCHEDULED_START_TIME => 'SCHEDULED_START_TIME', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Commerceproducer/src/V1beta/PrivateOfferDocument.php b/Commerceproducer/src/V1beta/PrivateOfferDocument.php new file mode 100644 index 00000000000..69d9da2a408 --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOfferDocument.php @@ -0,0 +1,294 @@ +google.cloud.commerceproducer.v1beta.PrivateOfferDocument + */ +class PrivateOfferDocument extends \Google\Protobuf\Internal\Message +{ + /** + * Identifier. Name of the resource. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + */ + protected $name = ''; + /** + * Output only. The creation time of the resource. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $create_time = null; + /** + * Output only. The last update time of the resource. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $update_time = null; + /** + * Required. The classification type of the document. + * Used to distinguish between different types of documents that may be + * attached to a private offer for different business purposes. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType document_type = 4 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $document_type = 0; + /** + * Optional. The MIME type of the document. + * Used to distinguish between different document formats. + * Supported formats (which may be expanded in the future) + * - 'application/pdf' + * + * Generated from protobuf field string mime_type = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $mime_type = ''; + protected $content; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $inline_content + * Optional. Byte content of an unstructured document. + * Max size: 4MB + * @type string $name + * Identifier. Name of the resource. + * @type \Google\Protobuf\Timestamp $create_time + * Output only. The creation time of the resource. + * @type \Google\Protobuf\Timestamp $update_time + * Output only. The last update time of the resource. + * @type int $document_type + * Required. The classification type of the document. + * Used to distinguish between different types of documents that may be + * attached to a private offer for different business purposes. + * @type string $mime_type + * Optional. The MIME type of the document. + * Used to distinguish between different document formats. + * Supported formats (which may be expanded in the future) + * - 'application/pdf' + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\PrivateOffer::initOnce(); + parent::__construct($data); + } + + /** + * Optional. Byte content of an unstructured document. + * Max size: 4MB + * + * Generated from protobuf field bytes inline_content = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getInlineContent() + { + return $this->readOneof(6); + } + + public function hasInlineContent() + { + return $this->hasOneof(6); + } + + /** + * Optional. Byte content of an unstructured document. + * Max size: 4MB + * + * Generated from protobuf field bytes inline_content = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setInlineContent($var) + { + GPBUtil::checkString($var, False); + $this->writeOneof(6, $var); + + return $this; + } + + /** + * Identifier. Name of the resource. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Identifier. Name of the resource. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Output only. The creation time of the resource. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getCreateTime() + { + return $this->create_time; + } + + public function hasCreateTime() + { + return isset($this->create_time); + } + + public function clearCreateTime() + { + unset($this->create_time); + } + + /** + * Output only. The creation time of the resource. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setCreateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->create_time = $var; + + return $this; + } + + /** + * Output only. The last update time of the resource. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getUpdateTime() + { + return $this->update_time; + } + + public function hasUpdateTime() + { + return isset($this->update_time); + } + + public function clearUpdateTime() + { + unset($this->update_time); + } + + /** + * Output only. The last update time of the resource. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setUpdateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->update_time = $var; + + return $this; + } + + /** + * Required. The classification type of the document. + * Used to distinguish between different types of documents that may be + * attached to a private offer for different business purposes. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType document_type = 4 [(.google.api.field_behavior) = REQUIRED]; + * @return int + */ + public function getDocumentType() + { + return $this->document_type; + } + + /** + * Required. The classification type of the document. + * Used to distinguish between different types of documents that may be + * attached to a private offer for different business purposes. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType document_type = 4 [(.google.api.field_behavior) = REQUIRED]; + * @param int $var + * @return $this + */ + public function setDocumentType($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOfferDocument\DocumentType::class); + $this->document_type = $var; + + return $this; + } + + /** + * Optional. The MIME type of the document. + * Used to distinguish between different document formats. + * Supported formats (which may be expanded in the future) + * - 'application/pdf' + * + * Generated from protobuf field string mime_type = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getMimeType() + { + return $this->mime_type; + } + + /** + * Optional. The MIME type of the document. + * Used to distinguish between different document formats. + * Supported formats (which may be expanded in the future) + * - 'application/pdf' + * + * Generated from protobuf field string mime_type = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setMimeType($var) + { + GPBUtil::checkString($var, True); + $this->mime_type = $var; + + return $this; + } + + /** + * @return string + */ + public function getContent() + { + return $this->whichOneof("content"); + } + +} + diff --git a/Commerceproducer/src/V1beta/PrivateOfferDocument/DocumentType.php b/Commerceproducer/src/V1beta/PrivateOfferDocument/DocumentType.php new file mode 100644 index 00000000000..c088612cae5 --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOfferDocument/DocumentType.php @@ -0,0 +1,96 @@ +google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType + */ +class DocumentType +{ + /** + * The default / unset value. Do not use. + * + * Generated from protobuf enum DOCUMENT_TYPE_UNSPECIFIED = 0; + */ + const DOCUMENT_TYPE_UNSPECIFIED = 0; + /** + * The document is a custom EULA used in place of the standard product EULA. + * A private offer may not have more than one custom EULA document. + * If this enum value is set, then mime_type and inline_content must + * be set. + * + * Generated from protobuf enum CUSTOM_END_USER_LICENSE_AGREEMENT = 1; + */ + const CUSTOM_END_USER_LICENSE_AGREEMENT = 1; + /** + * The document is the statement of work required by the [Cloud Marketplace + * Product Specific + * Terms](https://cloud.google.com/terms/marketplace-product-terms) for all + * Professional Services product private offers. + * This document type is not permitted for private offers of any other + * product type. + * A private offer may not have more than one statement of work document. + * The mime_type and inline_content fields must be set. + * + * Generated from protobuf enum STATEMENT_OF_WORK = 2; + */ + const STATEMENT_OF_WORK = 2; + /** + * The document is the Marketplace standard EULA, with the following link: + * https://cloud.google.com/terms/marketplace/eula-standard-v1-12102020. + * Existing offers may have this document type, but this is not permitted + * for new offers. + * + * Generated from protobuf enum STANDARD_END_USER_LICENSE_AGREEMENT_V1 = 3; + */ + const STANDARD_END_USER_LICENSE_AGREEMENT_V1 = 3; + /** + * The document is the Marketplace standard EULA, with the following link: + * https://cloud.google.com/terms/marketplace/eula-standard-v2-01272021 + * New offers using Standard EULAs should set this enum value. This is not + * permitted for Professional Services products. + * The mime_type and inline_content fields must not be set. + * + * Generated from protobuf enum STANDARD_END_USER_LICENSE_AGREEMENT_V2 = 4; + */ + const STANDARD_END_USER_LICENSE_AGREEMENT_V2 = 4; + + private static $valueToName = [ + self::DOCUMENT_TYPE_UNSPECIFIED => 'DOCUMENT_TYPE_UNSPECIFIED', + self::CUSTOM_END_USER_LICENSE_AGREEMENT => 'CUSTOM_END_USER_LICENSE_AGREEMENT', + self::STATEMENT_OF_WORK => 'STATEMENT_OF_WORK', + self::STANDARD_END_USER_LICENSE_AGREEMENT_V1 => 'STANDARD_END_USER_LICENSE_AGREEMENT_V1', + self::STANDARD_END_USER_LICENSE_AGREEMENT_V2 => 'STANDARD_END_USER_LICENSE_AGREEMENT_V2', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Commerceproducer/src/V1beta/PrivateOfferView.php b/Commerceproducer/src/V1beta/PrivateOfferView.php new file mode 100644 index 00000000000..d4f75f908ae --- /dev/null +++ b/Commerceproducer/src/V1beta/PrivateOfferView.php @@ -0,0 +1,64 @@ +google.cloud.commerceproducer.v1beta.PrivateOfferView + */ +class PrivateOfferView +{ + /** + * The default / unset value. + * The API will default to the BASIC view. + * + * Generated from protobuf enum PRIVATE_OFFER_VIEW_UNSPECIFIED = 0; + */ + const PRIVATE_OFFER_VIEW_UNSPECIFIED = 0; + /** + * Include basic metadata about the PrivateOffer, but not the full contents. + * This is the default value (for both List and Get requests). + * + * Generated from protobuf enum PRIVATE_OFFER_VIEW_BASIC = 1; + */ + const PRIVATE_OFFER_VIEW_BASIC = 1; + /** + * Include everything. + * + * Generated from protobuf enum PRIVATE_OFFER_VIEW_FULL = 2; + */ + const PRIVATE_OFFER_VIEW_FULL = 2; + + private static $valueToName = [ + self::PRIVATE_OFFER_VIEW_UNSPECIFIED => 'PRIVATE_OFFER_VIEW_UNSPECIFIED', + self::PRIVATE_OFFER_VIEW_BASIC => 'PRIVATE_OFFER_VIEW_BASIC', + self::PRIVATE_OFFER_VIEW_FULL => 'PRIVATE_OFFER_VIEW_FULL', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Commerceproducer/src/V1beta/PublishPrivateOfferRequest.php b/Commerceproducer/src/V1beta/PublishPrivateOfferRequest.php new file mode 100644 index 00000000000..a2c061c89bd --- /dev/null +++ b/Commerceproducer/src/V1beta/PublishPrivateOfferRequest.php @@ -0,0 +1,115 @@ +google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest + */ +class PublishPrivateOfferRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + /** + * Optional. If set to `true`, validates the request but does not execute it. + * + * Generated from protobuf field bool validate_only = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $validate_only = false; + + /** + * @param string $name Required. Name of the resource + * Please see {@see CommerceTransactionClient::privateOfferName()} for help formatting this field. + * + * @return \Google\Cloud\Commerceproducer\V1beta\PublishPrivateOfferRequest + * + * @experimental + */ + public static function build(string $name): self + { + return (new self()) + ->setName($name); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. Name of the resource + * @type bool $validate_only + * Optional. If set to `true`, validates the request but does not execute it. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. Name of the resource + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Optional. If set to `true`, validates the request but does not execute it. + * + * Generated from protobuf field bool validate_only = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getValidateOnly() + { + return $this->validate_only; + } + + /** + * Optional. If set to `true`, validates the request but does not execute it. + * + * Generated from protobuf field bool validate_only = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setValidateOnly($var) + { + GPBUtil::checkBool($var); + $this->validate_only = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/ResolveAmendmentTargetRequest.php b/Commerceproducer/src/V1beta/ResolveAmendmentTargetRequest.php new file mode 100644 index 00000000000..c89b29a6e19 --- /dev/null +++ b/Commerceproducer/src/V1beta/ResolveAmendmentTargetRequest.php @@ -0,0 +1,175 @@ +google.cloud.commerceproducer.v1beta.ResolveAmendmentTargetRequest + */ +class ResolveAmendmentTargetRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Parent value for ResolveAmendmentTargetRequest + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $parent = ''; + /** + * Required. The customer's billing account targeted by the offer. This is the + * billing account for which the new private offer will be created on. Format: + * billingAccounts/{billing_account}. + * + * Generated from protobuf field string target_billing_account = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $target_billing_account = ''; + /** + * Required. The base standard offer that the private offer will be based on. + * Format: + * projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}. + * + * Generated from protobuf field string base_standard_offer = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $base_standard_offer = ''; + + /** + * @param string $parent Required. Parent value for ResolveAmendmentTargetRequest + * Please see {@see CommerceTransactionClient::locationName()} for help formatting this field. + * @param string $targetBillingAccount Required. The customer's billing account targeted by the offer. This is the + * billing account for which the new private offer will be created on. Format: + * billingAccounts/{billing_account}. Please see + * {@see CommerceTransactionClient::billingAccountName()} for help formatting this field. + * @param string $baseStandardOffer Required. The base standard offer that the private offer will be based on. + * Format: + * projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}. Please see + * {@see CommerceTransactionClient::standardOfferName()} for help formatting this field. + * + * @return \Google\Cloud\Commerceproducer\V1beta\ResolveAmendmentTargetRequest + * + * @experimental + */ + public static function build(string $parent, string $targetBillingAccount, string $baseStandardOffer): self + { + return (new self()) + ->setParent($parent) + ->setTargetBillingAccount($targetBillingAccount) + ->setBaseStandardOffer($baseStandardOffer); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. Parent value for ResolveAmendmentTargetRequest + * @type string $target_billing_account + * Required. The customer's billing account targeted by the offer. This is the + * billing account for which the new private offer will be created on. Format: + * billingAccounts/{billing_account}. + * @type string $base_standard_offer + * Required. The base standard offer that the private offer will be based on. + * Format: + * projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. Parent value for ResolveAmendmentTargetRequest + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getParent() + { + return $this->parent; + } + + /** + * Required. Parent value for ResolveAmendmentTargetRequest + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setParent($var) + { + GPBUtil::checkString($var, True); + $this->parent = $var; + + return $this; + } + + /** + * Required. The customer's billing account targeted by the offer. This is the + * billing account for which the new private offer will be created on. Format: + * billingAccounts/{billing_account}. + * + * Generated from protobuf field string target_billing_account = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getTargetBillingAccount() + { + return $this->target_billing_account; + } + + /** + * Required. The customer's billing account targeted by the offer. This is the + * billing account for which the new private offer will be created on. Format: + * billingAccounts/{billing_account}. + * + * Generated from protobuf field string target_billing_account = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setTargetBillingAccount($var) + { + GPBUtil::checkString($var, True); + $this->target_billing_account = $var; + + return $this; + } + + /** + * Required. The base standard offer that the private offer will be based on. + * Format: + * projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}. + * + * Generated from protobuf field string base_standard_offer = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getBaseStandardOffer() + { + return $this->base_standard_offer; + } + + /** + * Required. The base standard offer that the private offer will be based on. + * Format: + * projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}. + * + * Generated from protobuf field string base_standard_offer = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setBaseStandardOffer($var) + { + GPBUtil::checkString($var, True); + $this->base_standard_offer = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/ResolveAmendmentTargetResponse.php b/Commerceproducer/src/V1beta/ResolveAmendmentTargetResponse.php new file mode 100644 index 00000000000..e207c2d88c4 --- /dev/null +++ b/Commerceproducer/src/V1beta/ResolveAmendmentTargetResponse.php @@ -0,0 +1,153 @@ +google.cloud.commerceproducer.v1beta.ResolveAmendmentTargetResponse + */ +class ResolveAmendmentTargetResponse extends \Google\Protobuf\Internal\Message +{ + protected $amendment_requirement; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $required_private_offer + * The resource name of an existing private offer that MUST be amended. + * If this is set, the new private offer the client creates must populate + * the `single_product_offer.amended_private_offer` field with this value. + * @type string $required_standard_offer + * The resource name of an existing standard offer that MUST be amended. + * If this is set, the new private offer the client creates must populate + * the `single_product_offer.amended_standard_offer` field with this value. + * @type \Google\Cloud\Commerceproducer\V1beta\ResolveAmendmentTargetResponse\OptionalOffers $optional_offers + * A list of existing offers that may optionally be amended. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * The resource name of an existing private offer that MUST be amended. + * If this is set, the new private offer the client creates must populate + * the `single_product_offer.amended_private_offer` field with this value. + * + * Generated from protobuf field string required_private_offer = 1 [(.google.api.resource_reference) = { + * @return string + */ + public function getRequiredPrivateOffer() + { + return $this->readOneof(1); + } + + public function hasRequiredPrivateOffer() + { + return $this->hasOneof(1); + } + + /** + * The resource name of an existing private offer that MUST be amended. + * If this is set, the new private offer the client creates must populate + * the `single_product_offer.amended_private_offer` field with this value. + * + * Generated from protobuf field string required_private_offer = 1 [(.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setRequiredPrivateOffer($var) + { + GPBUtil::checkString($var, True); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * The resource name of an existing standard offer that MUST be amended. + * If this is set, the new private offer the client creates must populate + * the `single_product_offer.amended_standard_offer` field with this value. + * + * Generated from protobuf field string required_standard_offer = 2 [(.google.api.resource_reference) = { + * @return string + */ + public function getRequiredStandardOffer() + { + return $this->readOneof(2); + } + + public function hasRequiredStandardOffer() + { + return $this->hasOneof(2); + } + + /** + * The resource name of an existing standard offer that MUST be amended. + * If this is set, the new private offer the client creates must populate + * the `single_product_offer.amended_standard_offer` field with this value. + * + * Generated from protobuf field string required_standard_offer = 2 [(.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setRequiredStandardOffer($var) + { + GPBUtil::checkString($var, True); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * A list of existing offers that may optionally be amended. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.ResolveAmendmentTargetResponse.OptionalOffers optional_offers = 3; + * @return \Google\Cloud\Commerceproducer\V1beta\ResolveAmendmentTargetResponse\OptionalOffers|null + */ + public function getOptionalOffers() + { + return $this->readOneof(3); + } + + public function hasOptionalOffers() + { + return $this->hasOneof(3); + } + + /** + * A list of existing offers that may optionally be amended. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.ResolveAmendmentTargetResponse.OptionalOffers optional_offers = 3; + * @param \Google\Cloud\Commerceproducer\V1beta\ResolveAmendmentTargetResponse\OptionalOffers $var + * @return $this + */ + public function setOptionalOffers($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\ResolveAmendmentTargetResponse\OptionalOffers::class); + $this->writeOneof(3, $var); + + return $this; + } + + /** + * @return string + */ + public function getAmendmentRequirement() + { + return $this->whichOneof("amendment_requirement"); + } + +} + diff --git a/Commerceproducer/src/V1beta/ResolveAmendmentTargetResponse/OptionalOffers.php b/Commerceproducer/src/V1beta/ResolveAmendmentTargetResponse/OptionalOffers.php new file mode 100644 index 00000000000..03b85224854 --- /dev/null +++ b/Commerceproducer/src/V1beta/ResolveAmendmentTargetResponse/OptionalOffers.php @@ -0,0 +1,83 @@ +google.cloud.commerceproducer.v1beta.ResolveAmendmentTargetResponse.OptionalOffers + */ +class OptionalOffers extends \Google\Protobuf\Internal\Message +{ + /** + * A list of existing private offers that are eligible to be amended. + * When creating a new private offer, the client may choose to populate the + * `single_product_offer.amended_private_offer` field with one of these + * resource names. Alternatively, the client may leave the field unset to + * create a brand new offer. + * + * Generated from protobuf field repeated string private_offers = 1 [(.google.api.resource_reference) = { + */ + private $private_offers; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string[] $private_offers + * A list of existing private offers that are eligible to be amended. + * When creating a new private offer, the client may choose to populate the + * `single_product_offer.amended_private_offer` field with one of these + * resource names. Alternatively, the client may leave the field unset to + * create a brand new offer. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * A list of existing private offers that are eligible to be amended. + * When creating a new private offer, the client may choose to populate the + * `single_product_offer.amended_private_offer` field with one of these + * resource names. Alternatively, the client may leave the field unset to + * create a brand new offer. + * + * Generated from protobuf field repeated string private_offers = 1 [(.google.api.resource_reference) = { + * @return RepeatedField + */ + public function getPrivateOffers() + { + return $this->private_offers; + } + + /** + * A list of existing private offers that are eligible to be amended. + * When creating a new private offer, the client may choose to populate the + * `single_product_offer.amended_private_offer` field with one of these + * resource names. Alternatively, the client may leave the field unset to + * create a brand new offer. + * + * Generated from protobuf field repeated string private_offers = 1 [(.google.api.resource_reference) = { + * @param string[] $var + * @return $this + */ + public function setPrivateOffers($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->private_offers = $arr; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/Service.php b/Commerceproducer/src/V1beta/Service.php new file mode 100644 index 00000000000..c6e135cbfde --- /dev/null +++ b/Commerceproducer/src/V1beta/Service.php @@ -0,0 +1,105 @@ +google.cloud.commerceproducer.v1beta.Service + */ +class Service extends \Google\Protobuf\Internal\Message +{ + /** + * Identifier. Name of resource. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + */ + protected $name = ''; + /** + * Output only. Title of the service. + * Not included for `SERVICE_VIEW_BASIC`. + * + * Generated from protobuf field string title = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $title = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Identifier. Name of resource. + * @type string $title + * Output only. Title of the service. + * Not included for `SERVICE_VIEW_BASIC`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Service::initOnce(); + parent::__construct($data); + } + + /** + * Identifier. Name of resource. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Identifier. Name of resource. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Output only. Title of the service. + * Not included for `SERVICE_VIEW_BASIC`. + * + * Generated from protobuf field string title = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getTitle() + { + return $this->title; + } + + /** + * Output only. Title of the service. + * Not included for `SERVICE_VIEW_BASIC`. + * + * Generated from protobuf field string title = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setTitle($var) + { + GPBUtil::checkString($var, True); + $this->title = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/ServiceView.php b/Commerceproducer/src/V1beta/ServiceView.php new file mode 100644 index 00000000000..906ec533be6 --- /dev/null +++ b/Commerceproducer/src/V1beta/ServiceView.php @@ -0,0 +1,64 @@ +google.cloud.commerceproducer.v1beta.ServiceView + */ +class ServiceView +{ + /** + * The default / unset value. + * The API will default to the BASIC view. + * + * Generated from protobuf enum SERVICE_VIEW_UNSPECIFIED = 0; + */ + const SERVICE_VIEW_UNSPECIFIED = 0; + /** + * Include basic metadata about the Service, but not the full contents. + * This is the default value (for both List and Get requests). + * + * Generated from protobuf enum SERVICE_VIEW_BASIC = 1; + */ + const SERVICE_VIEW_BASIC = 1; + /** + * Include everything. + * + * Generated from protobuf enum SERVICE_VIEW_FULL = 2; + */ + const SERVICE_VIEW_FULL = 2; + + private static $valueToName = [ + self::SERVICE_VIEW_UNSPECIFIED => 'SERVICE_VIEW_UNSPECIFIED', + self::SERVICE_VIEW_BASIC => 'SERVICE_VIEW_BASIC', + self::SERVICE_VIEW_FULL => 'SERVICE_VIEW_FULL', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Commerceproducer/src/V1beta/Sku.php b/Commerceproducer/src/V1beta/Sku.php new file mode 100644 index 00000000000..6293da859e3 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku.php @@ -0,0 +1,186 @@ +google.cloud.commerceproducer.v1beta.Sku + */ +class Sku extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. Identifier. Name of the SKU. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $name = ''; + /** + * Output only. Description of the SKU. + * + * Generated from protobuf field string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $description = ''; + /** + * Output only. Timeline of the SKU prices, in chronological order by + * `effective_time`. + * Each entry is active in the time range starting inclusively from the + * entry's `effective_time` and ending exclusively at the next entry's + * `effective_time`, if one exists, or else remaining active indefinitely if + * it is the final entry. The currently active entry is the entry with the + * latest `effective_time` that is in the past. Because of scheduled future + * price changes the currently active entry may not be the last entry in the + * timeline. A SKU does not necessarily have a currently active entry, as the + * SKU's first timeline entry may have an `effective_time` in the future. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $sku_price_timeline; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Output only. Identifier. Name of the SKU. + * @type string $description + * Output only. Description of the SKU. + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice[] $sku_price_timeline + * Output only. Timeline of the SKU prices, in chronological order by + * `effective_time`. + * Each entry is active in the time range starting inclusively from the + * entry's `effective_time` and ending exclusively at the next entry's + * `effective_time`, if one exists, or else remaining active indefinitely if + * it is the final entry. The currently active entry is the entry with the + * latest `effective_time` that is in the past. Because of scheduled future + * price changes the currently active entry may not be the last entry in the + * timeline. A SKU does not necessarily have a currently active entry, as the + * SKU's first timeline entry may have an `effective_time` in the future. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + + /** + * Output only. Identifier. Name of the SKU. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Output only. Identifier. Name of the SKU. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Output only. Description of the SKU. + * + * Generated from protobuf field string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getDescription() + { + return $this->description; + } + + /** + * Output only. Description of the SKU. + * + * Generated from protobuf field string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setDescription($var) + { + GPBUtil::checkString($var, True); + $this->description = $var; + + return $this; + } + + /** + * Output only. Timeline of the SKU prices, in chronological order by + * `effective_time`. + * Each entry is active in the time range starting inclusively from the + * entry's `effective_time` and ending exclusively at the next entry's + * `effective_time`, if one exists, or else remaining active indefinitely if + * it is the final entry. The currently active entry is the entry with the + * latest `effective_time` that is in the past. Because of scheduled future + * price changes the currently active entry may not be the last entry in the + * timeline. A SKU does not necessarily have a currently active entry, as the + * SKU's first timeline entry may have an `effective_time` in the future. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return RepeatedField<\Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice> + */ + public function getSkuPriceTimeline() + { + return $this->sku_price_timeline; + } + + /** + * Output only. Timeline of the SKU prices, in chronological order by + * `effective_time`. + * Each entry is active in the time range starting inclusively from the + * entry's `effective_time` and ending exclusively at the next entry's + * `effective_time`, if one exists, or else remaining active indefinitely if + * it is the final entry. The currently active entry is the entry with the + * latest `effective_time` that is in the past. Because of scheduled future + * price changes the currently active entry may not be the last entry in the + * timeline. A SKU does not necessarily have a currently active entry, as the + * SKU's first timeline entry may have an `effective_time` in the future. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice[] $var + * @return $this + */ + public function setSkuPriceTimeline($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice::class); + $this->sku_price_timeline = $arr; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice.php b/Commerceproducer/src/V1beta/Sku/SkuPrice.php new file mode 100644 index 00000000000..eb4659af751 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice.php @@ -0,0 +1,393 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice + */ +class SkuPrice extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The start of the time interval during which this price is + * effective. + * + * Generated from protobuf field .google.protobuf.Timestamp effective_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $effective_time = null; + protected $sku_type; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\InactiveSkuPrice $inactive + * Output only. The SKU has been disabled and has no price. + * SKUs, once created and allowed to go into effect, are never deleted. + * Disabled SKUs may accumulate over the lifetime of a product as the + * product's pricing evolves, and are retained for historical reference. + * A SKU in this state generally remains in this state indefinitely, but + * may be reactivated if needed. Clients must not depend on inactive SKUs + * remaining inactive. + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\ManagedServiceMetricUsageFee $managed_service_metric_usage_fee + * Output only. The SKU prices usage reported by the partner for a + * partner-defined custom billing metric. + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\ComputeEngineLicenseUsageFee $gce_license_usage_fee + * Output only. The SKU prices usage of a Compute Engine License via a + * license fee applied to running instances that use the license. + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\KubernetesEnginePodUsageFee $gke_pod_usage_fee + * Output only. The SKU prices usage of software deployed on Kubernetes + * Engine. + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee $ai_platform_managed_model_usage_fee + * Output only. The SKU prices usage of an AI Platform Managed Model + * (MaaS). + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformProvisionedThroughputFee $ai_platform_provisioned_throughput_fee + * Output only. The SKU prices reservation of AI Platform provisioned + * throughput. + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformDeployedModelUsageFee $ai_platform_deployed_model_usage_fee + * Output only. The SKU prices usage of an AI model deployed on AI + * Platform. + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\FlatSubscriptionFee $flat_subscription_fee + * Output only. The SKU applies a flat subscription fee. + * @type \Google\Protobuf\Timestamp $effective_time + * Output only. The start of the time interval during which this price is + * effective. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The SKU has been disabled and has no price. + * SKUs, once created and allowed to go into effect, are never deleted. + * Disabled SKUs may accumulate over the lifetime of a product as the + * product's pricing evolves, and are retained for historical reference. + * A SKU in this state generally remains in this state indefinitely, but + * may be reactivated if needed. Clients must not depend on inactive SKUs + * remaining inactive. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice inactive = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\InactiveSkuPrice|null + */ + public function getInactive() + { + return $this->readOneof(2); + } + + public function hasInactive() + { + return $this->hasOneof(2); + } + + /** + * Output only. The SKU has been disabled and has no price. + * SKUs, once created and allowed to go into effect, are never deleted. + * Disabled SKUs may accumulate over the lifetime of a product as the + * product's pricing evolves, and are retained for historical reference. + * A SKU in this state generally remains in this state indefinitely, but + * may be reactivated if needed. Clients must not depend on inactive SKUs + * remaining inactive. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice inactive = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\InactiveSkuPrice $var + * @return $this + */ + public function setInactive($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\InactiveSkuPrice::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * Output only. The SKU prices usage reported by the partner for a + * partner-defined custom billing metric. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee managed_service_metric_usage_fee = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\ManagedServiceMetricUsageFee|null + */ + public function getManagedServiceMetricUsageFee() + { + return $this->readOneof(3); + } + + public function hasManagedServiceMetricUsageFee() + { + return $this->hasOneof(3); + } + + /** + * Output only. The SKU prices usage reported by the partner for a + * partner-defined custom billing metric. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee managed_service_metric_usage_fee = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\ManagedServiceMetricUsageFee $var + * @return $this + */ + public function setManagedServiceMetricUsageFee($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\ManagedServiceMetricUsageFee::class); + $this->writeOneof(3, $var); + + return $this; + } + + /** + * Output only. The SKU prices usage of a Compute Engine License via a + * license fee applied to running instances that use the license. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee gce_license_usage_fee = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\ComputeEngineLicenseUsageFee|null + */ + public function getGceLicenseUsageFee() + { + return $this->readOneof(4); + } + + public function hasGceLicenseUsageFee() + { + return $this->hasOneof(4); + } + + /** + * Output only. The SKU prices usage of a Compute Engine License via a + * license fee applied to running instances that use the license. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee gce_license_usage_fee = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\ComputeEngineLicenseUsageFee $var + * @return $this + */ + public function setGceLicenseUsageFee($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\ComputeEngineLicenseUsageFee::class); + $this->writeOneof(4, $var); + + return $this; + } + + /** + * Output only. The SKU prices usage of software deployed on Kubernetes + * Engine. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee gke_pod_usage_fee = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\KubernetesEnginePodUsageFee|null + */ + public function getGkePodUsageFee() + { + return $this->readOneof(5); + } + + public function hasGkePodUsageFee() + { + return $this->hasOneof(5); + } + + /** + * Output only. The SKU prices usage of software deployed on Kubernetes + * Engine. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee gke_pod_usage_fee = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\KubernetesEnginePodUsageFee $var + * @return $this + */ + public function setGkePodUsageFee($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\KubernetesEnginePodUsageFee::class); + $this->writeOneof(5, $var); + + return $this; + } + + /** + * Output only. The SKU prices usage of an AI Platform Managed Model + * (MaaS). + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee ai_platform_managed_model_usage_fee = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee|null + */ + public function getAiPlatformManagedModelUsageFee() + { + return $this->readOneof(6); + } + + public function hasAiPlatformManagedModelUsageFee() + { + return $this->hasOneof(6); + } + + /** + * Output only. The SKU prices usage of an AI Platform Managed Model + * (MaaS). + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee ai_platform_managed_model_usage_fee = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee $var + * @return $this + */ + public function setAiPlatformManagedModelUsageFee($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee::class); + $this->writeOneof(6, $var); + + return $this; + } + + /** + * Output only. The SKU prices reservation of AI Platform provisioned + * throughput. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee ai_platform_provisioned_throughput_fee = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformProvisionedThroughputFee|null + */ + public function getAiPlatformProvisionedThroughputFee() + { + return $this->readOneof(7); + } + + public function hasAiPlatformProvisionedThroughputFee() + { + return $this->hasOneof(7); + } + + /** + * Output only. The SKU prices reservation of AI Platform provisioned + * throughput. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee ai_platform_provisioned_throughput_fee = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformProvisionedThroughputFee $var + * @return $this + */ + public function setAiPlatformProvisionedThroughputFee($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformProvisionedThroughputFee::class); + $this->writeOneof(7, $var); + + return $this; + } + + /** + * Output only. The SKU prices usage of an AI model deployed on AI + * Platform. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee ai_platform_deployed_model_usage_fee = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformDeployedModelUsageFee|null + */ + public function getAiPlatformDeployedModelUsageFee() + { + return $this->readOneof(8); + } + + public function hasAiPlatformDeployedModelUsageFee() + { + return $this->hasOneof(8); + } + + /** + * Output only. The SKU prices usage of an AI model deployed on AI + * Platform. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee ai_platform_deployed_model_usage_fee = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformDeployedModelUsageFee $var + * @return $this + */ + public function setAiPlatformDeployedModelUsageFee($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformDeployedModelUsageFee::class); + $this->writeOneof(8, $var); + + return $this; + } + + /** + * Output only. The SKU applies a flat subscription fee. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee flat_subscription_fee = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\FlatSubscriptionFee|null + */ + public function getFlatSubscriptionFee() + { + return $this->readOneof(9); + } + + public function hasFlatSubscriptionFee() + { + return $this->hasOneof(9); + } + + /** + * Output only. The SKU applies a flat subscription fee. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee flat_subscription_fee = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\FlatSubscriptionFee $var + * @return $this + */ + public function setFlatSubscriptionFee($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\FlatSubscriptionFee::class); + $this->writeOneof(9, $var); + + return $this; + } + + /** + * Output only. The start of the time interval during which this price is + * effective. + * + * Generated from protobuf field .google.protobuf.Timestamp effective_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getEffectiveTime() + { + return $this->effective_time; + } + + public function hasEffectiveTime() + { + return isset($this->effective_time); + } + + public function clearEffectiveTime() + { + unset($this->effective_time); + } + + /** + * Output only. The start of the time interval during which this price is + * effective. + * + * Generated from protobuf field .google.protobuf.Timestamp effective_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setEffectiveTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->effective_time = $var; + + return $this; + } + + /** + * @return string + */ + public function getSkuType() + { + return $this->whichOneof("sku_type"); + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformDeployedModelUsageFee.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformDeployedModelUsageFee.php new file mode 100644 index 00000000000..d8d7c9ef7e7 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformDeployedModelUsageFee.php @@ -0,0 +1,212 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + */ +class AiPlatformDeployedModelUsageFee extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The price unit of the SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * Currently the unit is always hours ('h'). This may change in future. + * + * Generated from protobuf field string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $unit = ''; + /** + * Output only. Determines how the customer's usage is calculated. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $usage_calculation = 0; + protected $hardware_resource; + protected $price_structure; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $accelerator_type + * Output only. The SKU applies to a specific accelerator type. + * Contains the name of the matching [AI Platform AcceleratorType]( + * https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#AcceleratorType). + * The corresponding linear scaling value is the dimensionless + * [`accelerator_count`](https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#FIELDS.accelerator_count). + * @type \Google\Type\Money $price_per_unit + * Output only. The price per unit of usage. + * The customer's usage charge is computed by measuring the customer's + * consumption denominated in price units and multiplying by this price. + * @type string $unit + * Output only. The price unit of the SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * Currently the unit is always hours ('h'). This may change in future. + * @type int $usage_calculation + * Output only. Determines how the customer's usage is calculated. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The SKU applies to a specific accelerator type. + * Contains the name of the matching [AI Platform AcceleratorType]( + * https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#AcceleratorType). + * The corresponding linear scaling value is the dimensionless + * [`accelerator_count`](https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#FIELDS.accelerator_count). + * + * Generated from protobuf field string accelerator_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getAcceleratorType() + { + return $this->readOneof(2); + } + + public function hasAcceleratorType() + { + return $this->hasOneof(2); + } + + /** + * Output only. The SKU applies to a specific accelerator type. + * Contains the name of the matching [AI Platform AcceleratorType]( + * https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#AcceleratorType). + * The corresponding linear scaling value is the dimensionless + * [`accelerator_count`](https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#FIELDS.accelerator_count). + * + * Generated from protobuf field string accelerator_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setAcceleratorType($var) + { + GPBUtil::checkString($var, True); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * Output only. The price per unit of usage. + * The customer's usage charge is computed by measuring the customer's + * consumption denominated in price units and multiplying by this price. + * + * Generated from protobuf field .google.type.Money price_per_unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Type\Money|null + */ + public function getPricePerUnit() + { + return $this->readOneof(5); + } + + public function hasPricePerUnit() + { + return $this->hasOneof(5); + } + + /** + * Output only. The price per unit of usage. + * The customer's usage charge is computed by measuring the customer's + * consumption denominated in price units and multiplying by this price. + * + * Generated from protobuf field .google.type.Money price_per_unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Type\Money $var + * @return $this + */ + public function setPricePerUnit($var) + { + GPBUtil::checkMessage($var, \Google\Type\Money::class); + $this->writeOneof(5, $var); + + return $this; + } + + /** + * Output only. The price unit of the SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * Currently the unit is always hours ('h'). This may change in future. + * + * Generated from protobuf field string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getUnit() + { + return $this->unit; + } + + /** + * Output only. The price unit of the SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * Currently the unit is always hours ('h'). This may change in future. + * + * Generated from protobuf field string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setUnit($var) + { + GPBUtil::checkString($var, True); + $this->unit = $var; + + return $this; + } + + /** + * Output only. Determines how the customer's usage is calculated. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getUsageCalculation() + { + return $this->usage_calculation; + } + + /** + * Output only. Determines how the customer's usage is calculated. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setUsageCalculation($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformDeployedModelUsageFee\UsageCalculation::class); + $this->usage_calculation = $var; + + return $this; + } + + /** + * @return string + */ + public function getHardwareResource() + { + return $this->whichOneof("hardware_resource"); + } + + /** + * @return string + */ + public function getPriceStructure() + { + return $this->whichOneof("price_structure"); + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformDeployedModelUsageFee/UsageCalculation.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformDeployedModelUsageFee/UsageCalculation.php new file mode 100644 index 00000000000..014d451cebd --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformDeployedModelUsageFee/UsageCalculation.php @@ -0,0 +1,60 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee.UsageCalculation + */ +class UsageCalculation +{ + /** + * Unused. + * + * Generated from protobuf enum USAGE_CALCULATION_UNSPECIFIED = 0; + */ + const USAGE_CALCULATION_UNSPECIFIED = 0; + /** + * Usage is calculated from deployment runtime and size. + * Usage is calculated by measuring the deployment runtime in hours and + * multiplying by the amount of the deployed model's hardware resource + * matching the SKU's hardware resource type. + * This results in a composite `unit` of hours ('h') multiplied by the + * unit that denominates the hardware resource, though note that + * multiplying by the dimensionless unit ("1") has no effect. + * + * Generated from protobuf enum LINEAR_RESOURCE_SCALED_DEPLOYMENT_RUNTIME = 2; + */ + const LINEAR_RESOURCE_SCALED_DEPLOYMENT_RUNTIME = 2; + + private static $valueToName = [ + self::USAGE_CALCULATION_UNSPECIFIED => 'USAGE_CALCULATION_UNSPECIFIED', + self::LINEAR_RESOURCE_SCALED_DEPLOYMENT_RUNTIME => 'LINEAR_RESOURCE_SCALED_DEPLOYMENT_RUNTIME', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelEndpointLocation.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelEndpointLocation.php new file mode 100644 index 00000000000..d7e640ec7e2 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelEndpointLocation.php @@ -0,0 +1,151 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation + */ +class AiPlatformManagedModelEndpointLocation extends \Google\Protobuf\Internal\Message +{ + protected $location; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $region_id + * Output only. The SKU applies to a region. + * @type bool $global_endpoint + * Output only. The SKU applies to a [global + * endpoint](https://docs.cloud.google.com/gemini-enterprise-agent-platform/resources/locations). + * **Note**: This is distinct from the conventional meaning of "global" + * as a SKU that applies to all locations. + * @type string $multi_region_id + * Output only. The SKU applies to a multi-region. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The SKU applies to a region. + * + * Generated from protobuf field string region_id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getRegionId() + { + return $this->readOneof(1); + } + + public function hasRegionId() + { + return $this->hasOneof(1); + } + + /** + * Output only. The SKU applies to a region. + * + * Generated from protobuf field string region_id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setRegionId($var) + { + GPBUtil::checkString($var, True); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Output only. The SKU applies to a [global + * endpoint](https://docs.cloud.google.com/gemini-enterprise-agent-platform/resources/locations). + * **Note**: This is distinct from the conventional meaning of "global" + * as a SKU that applies to all locations. + * + * Generated from protobuf field bool global_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return bool + */ + public function getGlobalEndpoint() + { + return $this->readOneof(2); + } + + public function hasGlobalEndpoint() + { + return $this->hasOneof(2); + } + + /** + * Output only. The SKU applies to a [global + * endpoint](https://docs.cloud.google.com/gemini-enterprise-agent-platform/resources/locations). + * **Note**: This is distinct from the conventional meaning of "global" + * as a SKU that applies to all locations. + * + * Generated from protobuf field bool global_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param bool $var + * @return $this + */ + public function setGlobalEndpoint($var) + { + GPBUtil::checkBool($var); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * Output only. The SKU applies to a multi-region. + * + * Generated from protobuf field string multi_region_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getMultiRegionId() + { + return $this->readOneof(3); + } + + public function hasMultiRegionId() + { + return $this->hasOneof(3); + } + + /** + * Output only. The SKU applies to a multi-region. + * + * Generated from protobuf field string multi_region_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setMultiRegionId($var) + { + GPBUtil::checkString($var, True); + $this->writeOneof(3, $var); + + return $this; + } + + /** + * @return string + */ + public function getLocation() + { + return $this->whichOneof("location"); + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee.php new file mode 100644 index 00000000000..d879761da56 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee.php @@ -0,0 +1,356 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + */ +class AiPlatformManagedModelUsageFee extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The usage metric that the SKU applies to. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric usage_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $usage_metric = null; + /** + * Output only. The model endpoint location where usage is priced by this + * SKU. If no location is specified, the SKU applies to usage in all + * locations. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $location = null; + /** + * Output only. The prediction mode of requests that the SKU applies to. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.PredictionMode prediction_mode = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $prediction_mode = 0; + /** + * Output only. The range of aggregated input token values covered by the + * SKU. Unset if the SKU is not scoped to a particular range. A request is + * in scope for this SKU if its aggregated input token value falls within + * the range. The collection of SKUs in effect at any given time scoped to + * a particular aggregated input token value range will cover all possible + * values without overlap. Such a collection of SKUs form a "tiered" price + * structure over the possible value, with each SKU acting as a "tier". + * NOTE: This is distinct from a SKU with [tiered + * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing). + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange combined_request_input_tokens_range = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $combined_request_input_tokens_range = null; + /** + * Output only. Set when the SKU is a historical provisioned throughput + * overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in + * excess of provisioned throughput quota is now metered as standard + * usage. This field is set only in historical SKU timeline entries for + * overage SKUs belonging to partners that offered provisioned throughput + * for AI Platform managed model products prior to the unification of + * standard usage and provisioned throughput overage metering. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage provisioned_throughput_overage = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $provisioned_throughput_overage = null; + protected $price_structure; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\TieredPrice $tiered_price + * Output only. [Tiered + * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing) + * of the SKU. + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric $usage_metric + * Output only. The usage metric that the SKU applies to. + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelEndpointLocation $location + * Output only. The model endpoint location where usage is priced by this + * SKU. If no location is specified, the SKU applies to usage in all + * locations. + * @type int $prediction_mode + * Output only. The prediction mode of requests that the SKU applies to. + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\CombinedRequestInputTokensRange $combined_request_input_tokens_range + * Output only. The range of aggregated input token values covered by the + * SKU. Unset if the SKU is not scoped to a particular range. A request is + * in scope for this SKU if its aggregated input token value falls within + * the range. The collection of SKUs in effect at any given time scoped to + * a particular aggregated input token value range will cover all possible + * values without overlap. Such a collection of SKUs form a "tiered" price + * structure over the possible value, with each SKU acting as a "tier". + * NOTE: This is distinct from a SKU with [tiered + * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing). + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\ProvisionedThroughputOverage $provisioned_throughput_overage + * Output only. Set when the SKU is a historical provisioned throughput + * overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in + * excess of provisioned throughput quota is now metered as standard + * usage. This field is set only in historical SKU timeline entries for + * overage SKUs belonging to partners that offered provisioned throughput + * for AI Platform managed model products prior to the unification of + * standard usage and provisioned throughput overage metering. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + + /** + * Output only. [Tiered + * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing) + * of the SKU. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\TieredPrice|null + */ + public function getTieredPrice() + { + return $this->readOneof(7); + } + + public function hasTieredPrice() + { + return $this->hasOneof(7); + } + + /** + * Output only. [Tiered + * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing) + * of the SKU. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\TieredPrice $var + * @return $this + */ + public function setTieredPrice($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\TieredPrice::class); + $this->writeOneof(7, $var); + + return $this; + } + + /** + * Output only. The usage metric that the SKU applies to. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric usage_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric|null + */ + public function getUsageMetric() + { + return $this->usage_metric; + } + + public function hasUsageMetric() + { + return isset($this->usage_metric); + } + + public function clearUsageMetric() + { + unset($this->usage_metric); + } + + /** + * Output only. The usage metric that the SKU applies to. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric usage_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric $var + * @return $this + */ + public function setUsageMetric($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric::class); + $this->usage_metric = $var; + + return $this; + } + + /** + * Output only. The model endpoint location where usage is priced by this + * SKU. If no location is specified, the SKU applies to usage in all + * locations. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelEndpointLocation|null + */ + public function getLocation() + { + return $this->location; + } + + public function hasLocation() + { + return isset($this->location); + } + + public function clearLocation() + { + unset($this->location); + } + + /** + * Output only. The model endpoint location where usage is priced by this + * SKU. If no location is specified, the SKU applies to usage in all + * locations. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelEndpointLocation $var + * @return $this + */ + public function setLocation($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelEndpointLocation::class); + $this->location = $var; + + return $this; + } + + /** + * Output only. The prediction mode of requests that the SKU applies to. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.PredictionMode prediction_mode = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getPredictionMode() + { + return $this->prediction_mode; + } + + /** + * Output only. The prediction mode of requests that the SKU applies to. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.PredictionMode prediction_mode = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setPredictionMode($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\PredictionMode::class); + $this->prediction_mode = $var; + + return $this; + } + + /** + * Output only. The range of aggregated input token values covered by the + * SKU. Unset if the SKU is not scoped to a particular range. A request is + * in scope for this SKU if its aggregated input token value falls within + * the range. The collection of SKUs in effect at any given time scoped to + * a particular aggregated input token value range will cover all possible + * values without overlap. Such a collection of SKUs form a "tiered" price + * structure over the possible value, with each SKU acting as a "tier". + * NOTE: This is distinct from a SKU with [tiered + * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing). + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange combined_request_input_tokens_range = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\CombinedRequestInputTokensRange|null + */ + public function getCombinedRequestInputTokensRange() + { + return $this->combined_request_input_tokens_range; + } + + public function hasCombinedRequestInputTokensRange() + { + return isset($this->combined_request_input_tokens_range); + } + + public function clearCombinedRequestInputTokensRange() + { + unset($this->combined_request_input_tokens_range); + } + + /** + * Output only. The range of aggregated input token values covered by the + * SKU. Unset if the SKU is not scoped to a particular range. A request is + * in scope for this SKU if its aggregated input token value falls within + * the range. The collection of SKUs in effect at any given time scoped to + * a particular aggregated input token value range will cover all possible + * values without overlap. Such a collection of SKUs form a "tiered" price + * structure over the possible value, with each SKU acting as a "tier". + * NOTE: This is distinct from a SKU with [tiered + * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing). + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange combined_request_input_tokens_range = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\CombinedRequestInputTokensRange $var + * @return $this + */ + public function setCombinedRequestInputTokensRange($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\CombinedRequestInputTokensRange::class); + $this->combined_request_input_tokens_range = $var; + + return $this; + } + + /** + * Output only. Set when the SKU is a historical provisioned throughput + * overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in + * excess of provisioned throughput quota is now metered as standard + * usage. This field is set only in historical SKU timeline entries for + * overage SKUs belonging to partners that offered provisioned throughput + * for AI Platform managed model products prior to the unification of + * standard usage and provisioned throughput overage metering. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage provisioned_throughput_overage = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\ProvisionedThroughputOverage|null + */ + public function getProvisionedThroughputOverage() + { + return $this->provisioned_throughput_overage; + } + + public function hasProvisionedThroughputOverage() + { + return isset($this->provisioned_throughput_overage); + } + + public function clearProvisionedThroughputOverage() + { + unset($this->provisioned_throughput_overage); + } + + /** + * Output only. Set when the SKU is a historical provisioned throughput + * overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in + * excess of provisioned throughput quota is now metered as standard + * usage. This field is set only in historical SKU timeline entries for + * overage SKUs belonging to partners that offered provisioned throughput + * for AI Platform managed model products prior to the unification of + * standard usage and provisioned throughput overage metering. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage provisioned_throughput_overage = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\ProvisionedThroughputOverage $var + * @return $this + */ + public function setProvisionedThroughputOverage($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\ProvisionedThroughputOverage::class); + $this->provisioned_throughput_overage = $var; + + return $this; + } + + /** + * @return string + */ + public function getPriceStructure() + { + return $this->whichOneof("price_structure"); + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/AiPlatformManagedModelUsageMetric.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/AiPlatformManagedModelUsageMetric.php new file mode 100644 index 00000000000..f7bc636c8fe --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/AiPlatformManagedModelUsageMetric.php @@ -0,0 +1,207 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + */ +class AiPlatformManagedModelUsageMetric extends \Google\Protobuf\Internal\Message +{ + protected $metric; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\InputTokensMetric $input_tokens_metric + * Output only. Input tokens read from the prediction endpoint input. + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\CacheReadInputTokensMetric $cache_read_input_tokens_metric + * Output only. Input tokens read from the cache. + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\CacheWriteInputTokensMetric $cache_write_input_tokens_metric + * Output only. Input tokens written to the cache. + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\OutputTokensMetric $output_tokens_metric + * Output only. Output tokens returned from the prediction endpoint. + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\WebSearchRequestsMetric $web_search_requests_metric + * Output only. Web search requests executed by the model. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + + /** + * Output only. Input tokens read from the prediction endpoint input. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric input_tokens_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\InputTokensMetric|null + */ + public function getInputTokensMetric() + { + return $this->readOneof(1); + } + + public function hasInputTokensMetric() + { + return $this->hasOneof(1); + } + + /** + * Output only. Input tokens read from the prediction endpoint input. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric input_tokens_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\InputTokensMetric $var + * @return $this + */ + public function setInputTokensMetric($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\InputTokensMetric::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Output only. Input tokens read from the cache. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric cache_read_input_tokens_metric = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\CacheReadInputTokensMetric|null + */ + public function getCacheReadInputTokensMetric() + { + return $this->readOneof(2); + } + + public function hasCacheReadInputTokensMetric() + { + return $this->hasOneof(2); + } + + /** + * Output only. Input tokens read from the cache. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric cache_read_input_tokens_metric = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\CacheReadInputTokensMetric $var + * @return $this + */ + public function setCacheReadInputTokensMetric($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\CacheReadInputTokensMetric::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * Output only. Input tokens written to the cache. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric cache_write_input_tokens_metric = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\CacheWriteInputTokensMetric|null + */ + public function getCacheWriteInputTokensMetric() + { + return $this->readOneof(3); + } + + public function hasCacheWriteInputTokensMetric() + { + return $this->hasOneof(3); + } + + /** + * Output only. Input tokens written to the cache. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric cache_write_input_tokens_metric = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\CacheWriteInputTokensMetric $var + * @return $this + */ + public function setCacheWriteInputTokensMetric($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\CacheWriteInputTokensMetric::class); + $this->writeOneof(3, $var); + + return $this; + } + + /** + * Output only. Output tokens returned from the prediction endpoint. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric output_tokens_metric = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\OutputTokensMetric|null + */ + public function getOutputTokensMetric() + { + return $this->readOneof(4); + } + + public function hasOutputTokensMetric() + { + return $this->hasOneof(4); + } + + /** + * Output only. Output tokens returned from the prediction endpoint. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric output_tokens_metric = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\OutputTokensMetric $var + * @return $this + */ + public function setOutputTokensMetric($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\OutputTokensMetric::class); + $this->writeOneof(4, $var); + + return $this; + } + + /** + * Output only. Web search requests executed by the model. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric web_search_requests_metric = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\WebSearchRequestsMetric|null + */ + public function getWebSearchRequestsMetric() + { + return $this->readOneof(5); + } + + public function hasWebSearchRequestsMetric() + { + return $this->hasOneof(5); + } + + /** + * Output only. Web search requests executed by the model. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric web_search_requests_metric = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\WebSearchRequestsMetric $var + * @return $this + */ + public function setWebSearchRequestsMetric($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelUsageFee\AiPlatformManagedModelUsageMetric\WebSearchRequestsMetric::class); + $this->writeOneof(5, $var); + + return $this; + } + + /** + * @return string + */ + public function getMetric() + { + return $this->whichOneof("metric"); + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/AiPlatformManagedModelUsageMetric/CacheReadInputTokensMetric.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/AiPlatformManagedModelUsageMetric/CacheReadInputTokensMetric.php new file mode 100644 index 00000000000..caabf1d13bc --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/AiPlatformManagedModelUsageMetric/CacheReadInputTokensMetric.php @@ -0,0 +1,34 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric + */ +class CacheReadInputTokensMetric extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/AiPlatformManagedModelUsageMetric/CacheWriteInputTokensMetric.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/AiPlatformManagedModelUsageMetric/CacheWriteInputTokensMetric.php new file mode 100644 index 00000000000..a58e3fba981 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/AiPlatformManagedModelUsageMetric/CacheWriteInputTokensMetric.php @@ -0,0 +1,78 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric + */ +class CacheWriteInputTokensMetric extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The duration the write is retained in the cache. + * + * Generated from protobuf field .google.protobuf.Duration ttl = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $ttl = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Protobuf\Duration $ttl + * Output only. The duration the write is retained in the cache. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The duration the write is retained in the cache. + * + * Generated from protobuf field .google.protobuf.Duration ttl = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Duration|null + */ + public function getTtl() + { + return $this->ttl; + } + + public function hasTtl() + { + return isset($this->ttl); + } + + public function clearTtl() + { + unset($this->ttl); + } + + /** + * Output only. The duration the write is retained in the cache. + * + * Generated from protobuf field .google.protobuf.Duration ttl = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setTtl($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->ttl = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/AiPlatformManagedModelUsageMetric/InputTokensMetric.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/AiPlatformManagedModelUsageMetric/InputTokensMetric.php new file mode 100644 index 00000000000..e15f9086674 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/AiPlatformManagedModelUsageMetric/InputTokensMetric.php @@ -0,0 +1,34 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric + */ +class InputTokensMetric extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/AiPlatformManagedModelUsageMetric/OutputTokensMetric.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/AiPlatformManagedModelUsageMetric/OutputTokensMetric.php new file mode 100644 index 00000000000..9cd5a1b06bd --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/AiPlatformManagedModelUsageMetric/OutputTokensMetric.php @@ -0,0 +1,34 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric + */ +class OutputTokensMetric extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/AiPlatformManagedModelUsageMetric/WebSearchRequestsMetric.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/AiPlatformManagedModelUsageMetric/WebSearchRequestsMetric.php new file mode 100644 index 00000000000..381deac43a1 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/AiPlatformManagedModelUsageMetric/WebSearchRequestsMetric.php @@ -0,0 +1,34 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric + */ +class WebSearchRequestsMetric extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/CombinedRequestInputTokensRange.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/CombinedRequestInputTokensRange.php new file mode 100644 index 00000000000..6c5e983055d --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/CombinedRequestInputTokensRange.php @@ -0,0 +1,120 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + */ +class CombinedRequestInputTokensRange extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The inclusive lower bound of the range. + * + * Generated from protobuf field int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $start_value = 0; + /** + * Output only. The exclusive upper bound of the range. + * If no end value is specified, the range is unbounded from above. + * + * Generated from protobuf field optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $end_value = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $start_value + * Output only. The inclusive lower bound of the range. + * @type int|string $end_value + * Output only. The exclusive upper bound of the range. + * If no end value is specified, the range is unbounded from above. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The inclusive lower bound of the range. + * + * Generated from protobuf field int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int|string + */ + public function getStartValue() + { + return $this->start_value; + } + + /** + * Output only. The inclusive lower bound of the range. + * + * Generated from protobuf field int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int|string $var + * @return $this + */ + public function setStartValue($var) + { + GPBUtil::checkInt64($var); + $this->start_value = $var; + + return $this; + } + + /** + * Output only. The exclusive upper bound of the range. + * If no end value is specified, the range is unbounded from above. + * + * Generated from protobuf field optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int|string + */ + public function getEndValue() + { + return isset($this->end_value) ? $this->end_value : 0; + } + + public function hasEndValue() + { + return isset($this->end_value); + } + + public function clearEndValue() + { + unset($this->end_value); + } + + /** + * Output only. The exclusive upper bound of the range. + * If no end value is specified, the range is unbounded from above. + * + * Generated from protobuf field optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int|string $var + * @return $this + */ + public function setEndValue($var) + { + GPBUtil::checkInt64($var); + $this->end_value = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/PredictionMode.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/PredictionMode.php new file mode 100644 index 00000000000..0776913acb6 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/PredictionMode.php @@ -0,0 +1,61 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.PredictionMode + */ +class PredictionMode +{ + /** + * The SKU does not distinguish between prediction modes. + * + * Generated from protobuf enum PREDICTION_MODE_UNSPECIFIED = 0; + */ + const PREDICTION_MODE_UNSPECIFIED = 0; + /** + * The SKU applies to online prediction. + * + * Generated from protobuf enum ONLINE_PREDICTION = 1; + */ + const ONLINE_PREDICTION = 1; + /** + * The SKU applies to batch prediction. + * + * Generated from protobuf enum BATCH_PREDICTION = 2; + */ + const BATCH_PREDICTION = 2; + + private static $valueToName = [ + self::PREDICTION_MODE_UNSPECIFIED => 'PREDICTION_MODE_UNSPECIFIED', + self::ONLINE_PREDICTION => 'ONLINE_PREDICTION', + self::BATCH_PREDICTION => 'BATCH_PREDICTION', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/ProvisionedThroughputOverage.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/ProvisionedThroughputOverage.php new file mode 100644 index 00000000000..5b24b62e684 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformManagedModelUsageFee/ProvisionedThroughputOverage.php @@ -0,0 +1,69 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + */ +class ProvisionedThroughputOverage extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The service whose usage the overage SKU applied to. + * + * Generated from protobuf field string service = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + */ + protected $service = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $service + * Output only. The service whose usage the overage SKU applied to. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The service whose usage the overage SKU applied to. + * + * Generated from protobuf field string service = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @return string + */ + public function getService() + { + return $this->service; + } + + /** + * Output only. The service whose usage the overage SKU applied to. + * + * Generated from protobuf field string service = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setService($var) + { + GPBUtil::checkString($var, True); + $this->service = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformProvisionedThroughputFee.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformProvisionedThroughputFee.php new file mode 100644 index 00000000000..90dab293336 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/AiPlatformProvisionedThroughputFee.php @@ -0,0 +1,287 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee + */ +class AiPlatformProvisionedThroughputFee extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The location where provisioned throughput is priced by + * this SKU. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $location = null; + /** + * Output only. The price unit of the SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * Since provisioned throughput reservations are billed by duration, this + * will always be a time unit. The price unit of a provisioned throughput + * SKU is not necessarily the same as the reservation term. + * This field is unrelated to the [Generative AI Scale Unit + * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput). + * Currently the unit is always months ('mo'). + * Additional time units may be supported in future. + * The customary unit month ('mo') requires special handling to account + * for the variable duration of months. A price may be denominated in + * units of months, but the duration the reservation is active is measured + * in metric time and customers are billed on that basis. The exact hourly + * or per-second price can be calculated by dividing the monthly price + * by the number of hours or seconds in the desired month. A reservation + * active for N months is rarely billed exactly N times the monthly price. + * This is intended and is not a billing error. + * + * Generated from protobuf field string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $unit = ''; + protected $term; + protected $price_structure; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $term_duration_months + * Output only. The duration of the provisioned throughput reservation + * in months. + * @type \Google\Type\Money $gsu_price_per_unit + * The price per [Generative AI Scale Unit + * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput) + * per `unit`. + * A provisioned throughput reservation reserves a certain number of + * GSUs, and the customer is billed for those GSUs on a continuous basis + * for the duration of the reservation. + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelEndpointLocation $location + * Output only. The location where provisioned throughput is priced by + * this SKU. + * @type string $unit + * Output only. The price unit of the SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * Since provisioned throughput reservations are billed by duration, this + * will always be a time unit. The price unit of a provisioned throughput + * SKU is not necessarily the same as the reservation term. + * This field is unrelated to the [Generative AI Scale Unit + * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput). + * Currently the unit is always months ('mo'). + * Additional time units may be supported in future. + * The customary unit month ('mo') requires special handling to account + * for the variable duration of months. A price may be denominated in + * units of months, but the duration the reservation is active is measured + * in metric time and customers are billed on that basis. The exact hourly + * or per-second price can be calculated by dividing the monthly price + * by the number of hours or seconds in the desired month. A reservation + * active for N months is rarely billed exactly N times the monthly price. + * This is intended and is not a billing error. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The duration of the provisioned throughput reservation + * in months. + * + * Generated from protobuf field int32 term_duration_months = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getTermDurationMonths() + { + return $this->readOneof(2); + } + + public function hasTermDurationMonths() + { + return $this->hasOneof(2); + } + + /** + * Output only. The duration of the provisioned throughput reservation + * in months. + * + * Generated from protobuf field int32 term_duration_months = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setTermDurationMonths($var) + { + GPBUtil::checkInt32($var); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * The price per [Generative AI Scale Unit + * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput) + * per `unit`. + * A provisioned throughput reservation reserves a certain number of + * GSUs, and the customer is billed for those GSUs on a continuous basis + * for the duration of the reservation. + * + * Generated from protobuf field .google.type.Money gsu_price_per_unit = 4; + * @return \Google\Type\Money|null + */ + public function getGsuPricePerUnit() + { + return $this->readOneof(4); + } + + public function hasGsuPricePerUnit() + { + return $this->hasOneof(4); + } + + /** + * The price per [Generative AI Scale Unit + * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput) + * per `unit`. + * A provisioned throughput reservation reserves a certain number of + * GSUs, and the customer is billed for those GSUs on a continuous basis + * for the duration of the reservation. + * + * Generated from protobuf field .google.type.Money gsu_price_per_unit = 4; + * @param \Google\Type\Money $var + * @return $this + */ + public function setGsuPricePerUnit($var) + { + GPBUtil::checkMessage($var, \Google\Type\Money::class); + $this->writeOneof(4, $var); + + return $this; + } + + /** + * Output only. The location where provisioned throughput is priced by + * this SKU. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelEndpointLocation|null + */ + public function getLocation() + { + return $this->location; + } + + public function hasLocation() + { + return isset($this->location); + } + + public function clearLocation() + { + unset($this->location); + } + + /** + * Output only. The location where provisioned throughput is priced by + * this SKU. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelEndpointLocation $var + * @return $this + */ + public function setLocation($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\AiPlatformManagedModelEndpointLocation::class); + $this->location = $var; + + return $this; + } + + /** + * Output only. The price unit of the SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * Since provisioned throughput reservations are billed by duration, this + * will always be a time unit. The price unit of a provisioned throughput + * SKU is not necessarily the same as the reservation term. + * This field is unrelated to the [Generative AI Scale Unit + * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput). + * Currently the unit is always months ('mo'). + * Additional time units may be supported in future. + * The customary unit month ('mo') requires special handling to account + * for the variable duration of months. A price may be denominated in + * units of months, but the duration the reservation is active is measured + * in metric time and customers are billed on that basis. The exact hourly + * or per-second price can be calculated by dividing the monthly price + * by the number of hours or seconds in the desired month. A reservation + * active for N months is rarely billed exactly N times the monthly price. + * This is intended and is not a billing error. + * + * Generated from protobuf field string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getUnit() + { + return $this->unit; + } + + /** + * Output only. The price unit of the SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * Since provisioned throughput reservations are billed by duration, this + * will always be a time unit. The price unit of a provisioned throughput + * SKU is not necessarily the same as the reservation term. + * This field is unrelated to the [Generative AI Scale Unit + * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput). + * Currently the unit is always months ('mo'). + * Additional time units may be supported in future. + * The customary unit month ('mo') requires special handling to account + * for the variable duration of months. A price may be denominated in + * units of months, but the duration the reservation is active is measured + * in metric time and customers are billed on that basis. The exact hourly + * or per-second price can be calculated by dividing the monthly price + * by the number of hours or seconds in the desired month. A reservation + * active for N months is rarely billed exactly N times the monthly price. + * This is intended and is not a billing error. + * + * Generated from protobuf field string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setUnit($var) + { + GPBUtil::checkString($var, True); + $this->unit = $var; + + return $this; + } + + /** + * @return string + */ + public function getTerm() + { + return $this->whichOneof("term"); + } + + /** + * @return string + */ + public function getPriceStructure() + { + return $this->whichOneof("price_structure"); + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/ComputeEngineLicenseUsageFee.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/ComputeEngineLicenseUsageFee.php new file mode 100644 index 00000000000..f7703460d17 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/ComputeEngineLicenseUsageFee.php @@ -0,0 +1,354 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + */ +class ComputeEngineLicenseUsageFee extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The license code of the target Compute Engine License. + * Note that this is the numeric license code itself in uint64 format used + * to reference licenses attached to images, not the resource name of the + * related [Compute Engine LicenseCode + * resource](https://cloud.google.com/compute/docs/reference/rest/v1/licenseCodes). + * Example: "1234567890123456789" + * + * Generated from protobuf field string license_code = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $license_code = ''; + /** + * Output only. The machine resource type that the SKU applies to, if any. + * SKUs with a non-default value are referred to as "resource-based" SKUs. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResource machine_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $machine_resource = 0; + /** + * Output only. The range of machine resource values that the SKU applies + * to. Unset when the SKU is not scoped to a particular machine resource + * type. The collection of SKUs in effect at any given time targeting the + * same license and machine resource type will cover all possible values + * for that machine resource type without overlap. Such a collection of + * SKUs form a "tiered" price structure over the possible values of the + * machine resource, with each SKU acting as a "tier". + * NOTE: This is distinct from a SKU with [tiered + * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing). + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange machine_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $machine_resource_range = null; + /** + * Output only. Determines how the customer's usage is calculated. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $usage_calculation = 0; + /** + * Output only. The price unit of the SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * For linear-priced memory SKUs, the price unit is 'GiBy.h'. + * For all other SKUs, the price unit is 'h'. This includes linear-priced + * vCPU and GPU SKUs because these resources have unitless dimensions and + * the application of these scaling factors does not change the price + * unit. + * + * Generated from protobuf field string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $unit = ''; + protected $price_structure; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Type\Money $price_per_unit + * The price per unit of usage. + * The customer's usage charge is computed by measuring the customer's + * consumption denominated in price units and multiplying by this price. + * @type string $license_code + * Output only. The license code of the target Compute Engine License. + * Note that this is the numeric license code itself in uint64 format used + * to reference licenses attached to images, not the resource name of the + * related [Compute Engine LicenseCode + * resource](https://cloud.google.com/compute/docs/reference/rest/v1/licenseCodes). + * Example: "1234567890123456789" + * @type int $machine_resource + * Output only. The machine resource type that the SKU applies to, if any. + * SKUs with a non-default value are referred to as "resource-based" SKUs. + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\ComputeEngineLicenseUsageFee\MachineResourceRange $machine_resource_range + * Output only. The range of machine resource values that the SKU applies + * to. Unset when the SKU is not scoped to a particular machine resource + * type. The collection of SKUs in effect at any given time targeting the + * same license and machine resource type will cover all possible values + * for that machine resource type without overlap. Such a collection of + * SKUs form a "tiered" price structure over the possible values of the + * machine resource, with each SKU acting as a "tier". + * NOTE: This is distinct from a SKU with [tiered + * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing). + * @type int $usage_calculation + * Output only. Determines how the customer's usage is calculated. + * @type string $unit + * Output only. The price unit of the SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * For linear-priced memory SKUs, the price unit is 'GiBy.h'. + * For all other SKUs, the price unit is 'h'. This includes linear-priced + * vCPU and GPU SKUs because these resources have unitless dimensions and + * the application of these scaling factors does not change the price + * unit. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + + /** + * The price per unit of usage. + * The customer's usage charge is computed by measuring the customer's + * consumption denominated in price units and multiplying by this price. + * + * Generated from protobuf field .google.type.Money price_per_unit = 6; + * @return \Google\Type\Money|null + */ + public function getPricePerUnit() + { + return $this->readOneof(6); + } + + public function hasPricePerUnit() + { + return $this->hasOneof(6); + } + + /** + * The price per unit of usage. + * The customer's usage charge is computed by measuring the customer's + * consumption denominated in price units and multiplying by this price. + * + * Generated from protobuf field .google.type.Money price_per_unit = 6; + * @param \Google\Type\Money $var + * @return $this + */ + public function setPricePerUnit($var) + { + GPBUtil::checkMessage($var, \Google\Type\Money::class); + $this->writeOneof(6, $var); + + return $this; + } + + /** + * Output only. The license code of the target Compute Engine License. + * Note that this is the numeric license code itself in uint64 format used + * to reference licenses attached to images, not the resource name of the + * related [Compute Engine LicenseCode + * resource](https://cloud.google.com/compute/docs/reference/rest/v1/licenseCodes). + * Example: "1234567890123456789" + * + * Generated from protobuf field string license_code = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getLicenseCode() + { + return $this->license_code; + } + + /** + * Output only. The license code of the target Compute Engine License. + * Note that this is the numeric license code itself in uint64 format used + * to reference licenses attached to images, not the resource name of the + * related [Compute Engine LicenseCode + * resource](https://cloud.google.com/compute/docs/reference/rest/v1/licenseCodes). + * Example: "1234567890123456789" + * + * Generated from protobuf field string license_code = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setLicenseCode($var) + { + GPBUtil::checkString($var, True); + $this->license_code = $var; + + return $this; + } + + /** + * Output only. The machine resource type that the SKU applies to, if any. + * SKUs with a non-default value are referred to as "resource-based" SKUs. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResource machine_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getMachineResource() + { + return $this->machine_resource; + } + + /** + * Output only. The machine resource type that the SKU applies to, if any. + * SKUs with a non-default value are referred to as "resource-based" SKUs. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResource machine_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setMachineResource($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\ComputeEngineLicenseUsageFee\MachineResource::class); + $this->machine_resource = $var; + + return $this; + } + + /** + * Output only. The range of machine resource values that the SKU applies + * to. Unset when the SKU is not scoped to a particular machine resource + * type. The collection of SKUs in effect at any given time targeting the + * same license and machine resource type will cover all possible values + * for that machine resource type without overlap. Such a collection of + * SKUs form a "tiered" price structure over the possible values of the + * machine resource, with each SKU acting as a "tier". + * NOTE: This is distinct from a SKU with [tiered + * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing). + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange machine_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\ComputeEngineLicenseUsageFee\MachineResourceRange|null + */ + public function getMachineResourceRange() + { + return $this->machine_resource_range; + } + + public function hasMachineResourceRange() + { + return isset($this->machine_resource_range); + } + + public function clearMachineResourceRange() + { + unset($this->machine_resource_range); + } + + /** + * Output only. The range of machine resource values that the SKU applies + * to. Unset when the SKU is not scoped to a particular machine resource + * type. The collection of SKUs in effect at any given time targeting the + * same license and machine resource type will cover all possible values + * for that machine resource type without overlap. Such a collection of + * SKUs form a "tiered" price structure over the possible values of the + * machine resource, with each SKU acting as a "tier". + * NOTE: This is distinct from a SKU with [tiered + * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing). + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange machine_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\ComputeEngineLicenseUsageFee\MachineResourceRange $var + * @return $this + */ + public function setMachineResourceRange($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\ComputeEngineLicenseUsageFee\MachineResourceRange::class); + $this->machine_resource_range = $var; + + return $this; + } + + /** + * Output only. Determines how the customer's usage is calculated. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getUsageCalculation() + { + return $this->usage_calculation; + } + + /** + * Output only. Determines how the customer's usage is calculated. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setUsageCalculation($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\ComputeEngineLicenseUsageFee\UsageCalculation::class); + $this->usage_calculation = $var; + + return $this; + } + + /** + * Output only. The price unit of the SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * For linear-priced memory SKUs, the price unit is 'GiBy.h'. + * For all other SKUs, the price unit is 'h'. This includes linear-priced + * vCPU and GPU SKUs because these resources have unitless dimensions and + * the application of these scaling factors does not change the price + * unit. + * + * Generated from protobuf field string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getUnit() + { + return $this->unit; + } + + /** + * Output only. The price unit of the SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * For linear-priced memory SKUs, the price unit is 'GiBy.h'. + * For all other SKUs, the price unit is 'h'. This includes linear-priced + * vCPU and GPU SKUs because these resources have unitless dimensions and + * the application of these scaling factors does not change the price + * unit. + * + * Generated from protobuf field string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setUnit($var) + { + GPBUtil::checkString($var, True); + $this->unit = $var; + + return $this; + } + + /** + * @return string + */ + public function getPriceStructure() + { + return $this->whichOneof("price_structure"); + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/ComputeEngineLicenseUsageFee/MachineResource.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/ComputeEngineLicenseUsageFee/MachineResource.php new file mode 100644 index 00000000000..bf6d2e74237 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/ComputeEngineLicenseUsageFee/MachineResource.php @@ -0,0 +1,70 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResource + */ +class MachineResource +{ + /** + * The SKU applies to all instances irrespective of machine shape. + * This is referred to as "instance-based pricing" because the price + * is the same for all instances. + * + * Generated from protobuf enum MACHINE_RESOURCE_UNSPECIFIED = 0; + */ + const MACHINE_RESOURCE_UNSPECIFIED = 0; + /** + * The SKU applies based on the instance's vCPU count. + * + * Generated from protobuf enum VCPU_COUNT = 1; + */ + const VCPU_COUNT = 1; + /** + * The SKU applies based on the instance's memory size in bytes. + * + * Generated from protobuf enum MEMORY_BYTES = 2; + */ + const MEMORY_BYTES = 2; + /** + * The SKU applies based on the instance's GPU count. + * + * Generated from protobuf enum GPU_COUNT = 3; + */ + const GPU_COUNT = 3; + + private static $valueToName = [ + self::MACHINE_RESOURCE_UNSPECIFIED => 'MACHINE_RESOURCE_UNSPECIFIED', + self::VCPU_COUNT => 'VCPU_COUNT', + self::MEMORY_BYTES => 'MEMORY_BYTES', + self::GPU_COUNT => 'GPU_COUNT', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/ComputeEngineLicenseUsageFee/MachineResourceRange.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/ComputeEngineLicenseUsageFee/MachineResourceRange.php new file mode 100644 index 00000000000..38290feb6a8 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/ComputeEngineLicenseUsageFee/MachineResourceRange.php @@ -0,0 +1,131 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange + */ +class MachineResourceRange extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The inclusive lower bound of the range. + * While the number zero may be the start of a range, it is not a + * possible machine resource value. An instance cannot exist with zero + * vCPU or memory, and an instance with no attached accelerators lacks a + * GPU dimension entirely rather than having a GPU count of zero. + * + * Generated from protobuf field int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $start_value = 0; + /** + * Output only. The exclusive upper bound of the range. + * If no end value is specified, the range is unbounded from above. + * + * Generated from protobuf field optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $end_value = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $start_value + * Output only. The inclusive lower bound of the range. + * While the number zero may be the start of a range, it is not a + * possible machine resource value. An instance cannot exist with zero + * vCPU or memory, and an instance with no attached accelerators lacks a + * GPU dimension entirely rather than having a GPU count of zero. + * @type int|string $end_value + * Output only. The exclusive upper bound of the range. + * If no end value is specified, the range is unbounded from above. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The inclusive lower bound of the range. + * While the number zero may be the start of a range, it is not a + * possible machine resource value. An instance cannot exist with zero + * vCPU or memory, and an instance with no attached accelerators lacks a + * GPU dimension entirely rather than having a GPU count of zero. + * + * Generated from protobuf field int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int|string + */ + public function getStartValue() + { + return $this->start_value; + } + + /** + * Output only. The inclusive lower bound of the range. + * While the number zero may be the start of a range, it is not a + * possible machine resource value. An instance cannot exist with zero + * vCPU or memory, and an instance with no attached accelerators lacks a + * GPU dimension entirely rather than having a GPU count of zero. + * + * Generated from protobuf field int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int|string $var + * @return $this + */ + public function setStartValue($var) + { + GPBUtil::checkInt64($var); + $this->start_value = $var; + + return $this; + } + + /** + * Output only. The exclusive upper bound of the range. + * If no end value is specified, the range is unbounded from above. + * + * Generated from protobuf field optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int|string + */ + public function getEndValue() + { + return isset($this->end_value) ? $this->end_value : 0; + } + + public function hasEndValue() + { + return isset($this->end_value); + } + + public function clearEndValue() + { + unset($this->end_value); + } + + /** + * Output only. The exclusive upper bound of the range. + * If no end value is specified, the range is unbounded from above. + * + * Generated from protobuf field optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int|string $var + * @return $this + */ + public function setEndValue($var) + { + GPBUtil::checkInt64($var); + $this->end_value = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/ComputeEngineLicenseUsageFee/UsageCalculation.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/ComputeEngineLicenseUsageFee/UsageCalculation.php new file mode 100644 index 00000000000..6d419d0846f --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/ComputeEngineLicenseUsageFee/UsageCalculation.php @@ -0,0 +1,81 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.UsageCalculation + */ +class UsageCalculation +{ + /** + * Unused. + * + * Generated from protobuf enum USAGE_CALCULATION_UNSPECIFIED = 0; + */ + const USAGE_CALCULATION_UNSPECIFIED = 0; + /** + * Usage is calculated from instance runtime. + * The customer's usage is metered according to the [Compute Engine VM + * instance pricing + * model](https://cloud.google.com/compute/vm-instance-pricing), + * measured on a per-instance basis in units of hours, with a minimum + * duration of one minute and an increment of one second. + * A SKU using this usage calculation is referred to as "flat" because + * the customer's usage charge is independent of the instance's machine + * resource shape apart from determining whether the SKU applies to the + * instance. + * + * Generated from protobuf enum INSTANCE_RUNTIME = 1; + */ + const INSTANCE_RUNTIME = 1; + /** + * Usage is calculated from instance runtime and size. + * This calculation mode is only applicable to resource-based SKUs. + * Usage is calculated by measuring the instance runtime in the same + * manner as for `INSTANCE_RUNTIME` and multiplying by the instance's + * machine resource value matching the SKU's machine resource type. + * This converts the price from per-instance-hour to + * per-instance-hour-per-machine-resource, which changes the price unit + * for memory SKUs to 'GiBy.h'. The price unit otherwise remains 'h' + * because the other machine resources are dimensionless. + * A SKU using this usage calculation is referred to as "linear" because + * the customer's usage charge is linearly proportional to the + * instance's machine resource value. + * + * Generated from protobuf enum LINEAR_RESOURCE_SCALED_INSTANCE_RUNTIME = 2; + */ + const LINEAR_RESOURCE_SCALED_INSTANCE_RUNTIME = 2; + + private static $valueToName = [ + self::USAGE_CALCULATION_UNSPECIFIED => 'USAGE_CALCULATION_UNSPECIFIED', + self::INSTANCE_RUNTIME => 'INSTANCE_RUNTIME', + self::LINEAR_RESOURCE_SCALED_INSTANCE_RUNTIME => 'LINEAR_RESOURCE_SCALED_INSTANCE_RUNTIME', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/FlatSubscriptionFee.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/FlatSubscriptionFee.php new file mode 100644 index 00000000000..9b226101494 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/FlatSubscriptionFee.php @@ -0,0 +1,169 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + */ +class FlatSubscriptionFee extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The unit of the subscription SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * Since subscriptions are billed by duration, this will always be a time + * unit. The price unit of a subscription SKU is not necessarily the same + * as the subscription period of the corresponding StandardOffers. + * Currently the unit is always months ('mo'). + * Additional time units may be supported in future. + * The unit month ('mo') is a customary time unit and requires special + * handling to account for the variable duration of months. A price may be + * denominated in units of months, but the duration the subscription is + * active is measured in metric time and customers are billed on that + * basis. The exact hourly or per-second price can be calculated by + * dividing the monthly price by the number of hours or seconds in the + * desired month. A subscription active for N months is rarely billed + * exactly N times the monthly price. This is intended and is not a + * billing error. + * + * Generated from protobuf field string unit = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $unit = ''; + protected $price_structure; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Type\Money $price_per_unit + * Output only. The price per time unit the subscription is active. + * @type string $unit + * Output only. The unit of the subscription SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * Since subscriptions are billed by duration, this will always be a time + * unit. The price unit of a subscription SKU is not necessarily the same + * as the subscription period of the corresponding StandardOffers. + * Currently the unit is always months ('mo'). + * Additional time units may be supported in future. + * The unit month ('mo') is a customary time unit and requires special + * handling to account for the variable duration of months. A price may be + * denominated in units of months, but the duration the subscription is + * active is measured in metric time and customers are billed on that + * basis. The exact hourly or per-second price can be calculated by + * dividing the monthly price by the number of hours or seconds in the + * desired month. A subscription active for N months is rarely billed + * exactly N times the monthly price. This is intended and is not a + * billing error. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The price per time unit the subscription is active. + * + * Generated from protobuf field .google.type.Money price_per_unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Type\Money|null + */ + public function getPricePerUnit() + { + return $this->readOneof(3); + } + + public function hasPricePerUnit() + { + return $this->hasOneof(3); + } + + /** + * Output only. The price per time unit the subscription is active. + * + * Generated from protobuf field .google.type.Money price_per_unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Type\Money $var + * @return $this + */ + public function setPricePerUnit($var) + { + GPBUtil::checkMessage($var, \Google\Type\Money::class); + $this->writeOneof(3, $var); + + return $this; + } + + /** + * Output only. The unit of the subscription SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * Since subscriptions are billed by duration, this will always be a time + * unit. The price unit of a subscription SKU is not necessarily the same + * as the subscription period of the corresponding StandardOffers. + * Currently the unit is always months ('mo'). + * Additional time units may be supported in future. + * The unit month ('mo') is a customary time unit and requires special + * handling to account for the variable duration of months. A price may be + * denominated in units of months, but the duration the subscription is + * active is measured in metric time and customers are billed on that + * basis. The exact hourly or per-second price can be calculated by + * dividing the monthly price by the number of hours or seconds in the + * desired month. A subscription active for N months is rarely billed + * exactly N times the monthly price. This is intended and is not a + * billing error. + * + * Generated from protobuf field string unit = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getUnit() + { + return $this->unit; + } + + /** + * Output only. The unit of the subscription SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * Since subscriptions are billed by duration, this will always be a time + * unit. The price unit of a subscription SKU is not necessarily the same + * as the subscription period of the corresponding StandardOffers. + * Currently the unit is always months ('mo'). + * Additional time units may be supported in future. + * The unit month ('mo') is a customary time unit and requires special + * handling to account for the variable duration of months. A price may be + * denominated in units of months, but the duration the subscription is + * active is measured in metric time and customers are billed on that + * basis. The exact hourly or per-second price can be calculated by + * dividing the monthly price by the number of hours or seconds in the + * desired month. A subscription active for N months is rarely billed + * exactly N times the monthly price. This is intended and is not a + * billing error. + * + * Generated from protobuf field string unit = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setUnit($var) + { + GPBUtil::checkString($var, True); + $this->unit = $var; + + return $this; + } + + /** + * @return string + */ + public function getPriceStructure() + { + return $this->whichOneof("price_structure"); + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/InactiveSkuPrice.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/InactiveSkuPrice.php new file mode 100644 index 00000000000..11dab1de0d3 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/InactiveSkuPrice.php @@ -0,0 +1,33 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + */ +class InactiveSkuPrice extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/KubernetesEnginePodUsageFee.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/KubernetesEnginePodUsageFee.php new file mode 100644 index 00000000000..14584dcfdfa --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/KubernetesEnginePodUsageFee.php @@ -0,0 +1,294 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + */ +class KubernetesEnginePodUsageFee extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The pod resource type that the SKU applies to. + * SKUs with a non-default value are referred to as "resource-based" SKUs. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResource pod_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $pod_resource = 0; + /** + * Output only. The range of pod resource values that the SKU applies to. + * The collection of SKUs in effect at any given time targeting the same + * service annotation and pod resource type will cover all possible values + * for that pod resource type without overlap. Such a collection of SKUs + * form a "tiered" price structure over the possible values of the pod + * resource, with each SKU acting as a "tier". + * NOTE: This is distinct from a SKU with [tiered + * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing). + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange pod_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $pod_resource_range = null; + /** + * Output only. Determines how the customer's usage is calculated. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $usage_calculation = 0; + /** + * Output only. The price unit of the SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * For linear-priced memory SKUs, the price unit is 'GiBy.h'. + * For all other SKUs, the price unit is 'h'. This includes linear-priced + * VCPU, GPU, and TPU SKUs because these resources have unitless + * dimensions and the application of these scaling factors does not change + * the price unit. + * + * Generated from protobuf field string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $unit = ''; + protected $price_structure; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Type\Money $price_per_unit + * The price per unit of usage. + * The customer's usage charge is computed by measuring the customer's + * consumption denominated in price units and multiplying by this price. + * @type int $pod_resource + * Output only. The pod resource type that the SKU applies to. + * SKUs with a non-default value are referred to as "resource-based" SKUs. + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\KubernetesEnginePodUsageFee\PodResourceRange $pod_resource_range + * Output only. The range of pod resource values that the SKU applies to. + * The collection of SKUs in effect at any given time targeting the same + * service annotation and pod resource type will cover all possible values + * for that pod resource type without overlap. Such a collection of SKUs + * form a "tiered" price structure over the possible values of the pod + * resource, with each SKU acting as a "tier". + * NOTE: This is distinct from a SKU with [tiered + * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing). + * @type int $usage_calculation + * Output only. Determines how the customer's usage is calculated. + * @type string $unit + * Output only. The price unit of the SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * For linear-priced memory SKUs, the price unit is 'GiBy.h'. + * For all other SKUs, the price unit is 'h'. This includes linear-priced + * VCPU, GPU, and TPU SKUs because these resources have unitless + * dimensions and the application of these scaling factors does not change + * the price unit. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + + /** + * The price per unit of usage. + * The customer's usage charge is computed by measuring the customer's + * consumption denominated in price units and multiplying by this price. + * + * Generated from protobuf field .google.type.Money price_per_unit = 6; + * @return \Google\Type\Money|null + */ + public function getPricePerUnit() + { + return $this->readOneof(6); + } + + public function hasPricePerUnit() + { + return $this->hasOneof(6); + } + + /** + * The price per unit of usage. + * The customer's usage charge is computed by measuring the customer's + * consumption denominated in price units and multiplying by this price. + * + * Generated from protobuf field .google.type.Money price_per_unit = 6; + * @param \Google\Type\Money $var + * @return $this + */ + public function setPricePerUnit($var) + { + GPBUtil::checkMessage($var, \Google\Type\Money::class); + $this->writeOneof(6, $var); + + return $this; + } + + /** + * Output only. The pod resource type that the SKU applies to. + * SKUs with a non-default value are referred to as "resource-based" SKUs. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResource pod_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getPodResource() + { + return $this->pod_resource; + } + + /** + * Output only. The pod resource type that the SKU applies to. + * SKUs with a non-default value are referred to as "resource-based" SKUs. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResource pod_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setPodResource($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\KubernetesEnginePodUsageFee\PodResource::class); + $this->pod_resource = $var; + + return $this; + } + + /** + * Output only. The range of pod resource values that the SKU applies to. + * The collection of SKUs in effect at any given time targeting the same + * service annotation and pod resource type will cover all possible values + * for that pod resource type without overlap. Such a collection of SKUs + * form a "tiered" price structure over the possible values of the pod + * resource, with each SKU acting as a "tier". + * NOTE: This is distinct from a SKU with [tiered + * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing). + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange pod_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\KubernetesEnginePodUsageFee\PodResourceRange|null + */ + public function getPodResourceRange() + { + return $this->pod_resource_range; + } + + public function hasPodResourceRange() + { + return isset($this->pod_resource_range); + } + + public function clearPodResourceRange() + { + unset($this->pod_resource_range); + } + + /** + * Output only. The range of pod resource values that the SKU applies to. + * The collection of SKUs in effect at any given time targeting the same + * service annotation and pod resource type will cover all possible values + * for that pod resource type without overlap. Such a collection of SKUs + * form a "tiered" price structure over the possible values of the pod + * resource, with each SKU acting as a "tier". + * NOTE: This is distinct from a SKU with [tiered + * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing). + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange pod_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\KubernetesEnginePodUsageFee\PodResourceRange $var + * @return $this + */ + public function setPodResourceRange($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\KubernetesEnginePodUsageFee\PodResourceRange::class); + $this->pod_resource_range = $var; + + return $this; + } + + /** + * Output only. Determines how the customer's usage is calculated. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getUsageCalculation() + { + return $this->usage_calculation; + } + + /** + * Output only. Determines how the customer's usage is calculated. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setUsageCalculation($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\KubernetesEnginePodUsageFee\UsageCalculation::class); + $this->usage_calculation = $var; + + return $this; + } + + /** + * Output only. The price unit of the SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * For linear-priced memory SKUs, the price unit is 'GiBy.h'. + * For all other SKUs, the price unit is 'h'. This includes linear-priced + * VCPU, GPU, and TPU SKUs because these resources have unitless + * dimensions and the application of these scaling factors does not change + * the price unit. + * + * Generated from protobuf field string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getUnit() + { + return $this->unit; + } + + /** + * Output only. The price unit of the SKU. + * See https://ucum.org/ucum.html for the format of the price unit. + * For linear-priced memory SKUs, the price unit is 'GiBy.h'. + * For all other SKUs, the price unit is 'h'. This includes linear-priced + * VCPU, GPU, and TPU SKUs because these resources have unitless + * dimensions and the application of these scaling factors does not change + * the price unit. + * + * Generated from protobuf field string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setUnit($var) + { + GPBUtil::checkString($var, True); + $this->unit = $var; + + return $this; + } + + /** + * @return string + */ + public function getPriceStructure() + { + return $this->whichOneof("price_structure"); + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/KubernetesEnginePodUsageFee/PodResource.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/KubernetesEnginePodUsageFee/PodResource.php new file mode 100644 index 00000000000..b01c8b16522 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/KubernetesEnginePodUsageFee/PodResource.php @@ -0,0 +1,81 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResource + */ +class PodResource +{ + /** + * Unused. + * + * Generated from protobuf enum POD_RESOURCE_UNSPECIFIED = 0; + */ + const POD_RESOURCE_UNSPECIFIED = 0; + /** + * The SKU applies based on the pod's [vCPU + * count](https://kubernetes.io/docs/tasks/configure-pod-container/assign-cpu-resource/). + * + * Generated from protobuf enum VCPU_COUNT = 1; + */ + const VCPU_COUNT = 1; + /** + * The SKU applies based on the pod's [memory + * size](https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/) + * in bytes. + * + * Generated from protobuf enum MEMORY_BYTES = 2; + */ + const MEMORY_BYTES = 2; + /** + * The SKU applies based on the pod's GPU count. + * + * Generated from protobuf enum GPU_COUNT = 3; + */ + const GPU_COUNT = 3; + /** + * The SKU applies based on the pod's [TPU + * count](https://cloud.google.com/kubernetes-engine/docs/concepts/tpus#how_tpus_work). + * + * Generated from protobuf enum TPU_COUNT = 4; + */ + const TPU_COUNT = 4; + + private static $valueToName = [ + self::POD_RESOURCE_UNSPECIFIED => 'POD_RESOURCE_UNSPECIFIED', + self::VCPU_COUNT => 'VCPU_COUNT', + self::MEMORY_BYTES => 'MEMORY_BYTES', + self::GPU_COUNT => 'GPU_COUNT', + self::TPU_COUNT => 'TPU_COUNT', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/KubernetesEnginePodUsageFee/PodResourceRange.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/KubernetesEnginePodUsageFee/PodResourceRange.php new file mode 100644 index 00000000000..a67a4e33f13 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/KubernetesEnginePodUsageFee/PodResourceRange.php @@ -0,0 +1,115 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange + */ +class PodResourceRange extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The inclusive lower bound of the range. + * + * Generated from protobuf field int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $start_value = 0; + /** + * Output only. The exclusive upper bound of the range. + * If no end value is specified, the range is unbounded from above. + * + * Generated from protobuf field optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $end_value = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $start_value + * Output only. The inclusive lower bound of the range. + * @type int|string $end_value + * Output only. The exclusive upper bound of the range. + * If no end value is specified, the range is unbounded from above. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The inclusive lower bound of the range. + * + * Generated from protobuf field int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int|string + */ + public function getStartValue() + { + return $this->start_value; + } + + /** + * Output only. The inclusive lower bound of the range. + * + * Generated from protobuf field int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int|string $var + * @return $this + */ + public function setStartValue($var) + { + GPBUtil::checkInt64($var); + $this->start_value = $var; + + return $this; + } + + /** + * Output only. The exclusive upper bound of the range. + * If no end value is specified, the range is unbounded from above. + * + * Generated from protobuf field optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int|string + */ + public function getEndValue() + { + return isset($this->end_value) ? $this->end_value : 0; + } + + public function hasEndValue() + { + return isset($this->end_value); + } + + public function clearEndValue() + { + unset($this->end_value); + } + + /** + * Output only. The exclusive upper bound of the range. + * If no end value is specified, the range is unbounded from above. + * + * Generated from protobuf field optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int|string $var + * @return $this + */ + public function setEndValue($var) + { + GPBUtil::checkInt64($var); + $this->end_value = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/KubernetesEnginePodUsageFee/UsageCalculation.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/KubernetesEnginePodUsageFee/UsageCalculation.php new file mode 100644 index 00000000000..4e0e860c408 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/KubernetesEnginePodUsageFee/UsageCalculation.php @@ -0,0 +1,80 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.UsageCalculation + */ +class UsageCalculation +{ + /** + * Unused. + * + * Generated from protobuf enum USAGE_CALCULATION_UNSPECIFIED = 0; + */ + const USAGE_CALCULATION_UNSPECIFIED = 0; + /** + * Usage is calculated from pod runtime. + * The customer's usage is metered in a manner similar to the [GKE + * Autopilot mode for pods without specific hardware + * requirements](https://cloud.google.com/kubernetes-engine/pricing), + * priced on a per-pod basis in units of hours and measured in + * one-second increments, with no minimum duration. + * A SKU using this usage calculation is referred to as "flat" because + * the customer's usage charge is independent of the pod shape apart + * from determining whether the SKU applies to the pod. + * + * Generated from protobuf enum POD_RUNTIME = 1; + */ + const POD_RUNTIME = 1; + /** + * Usage is calculated from pod runtime and size. + * This calculation mode is only applicable to resource-based SKUs. + * Usage is calculated by measuring the pod runtime in the same manner + * as for `POD_RUNTIME` and multiplying by the pod's resource value + * matching the SKU's pod resource type. + * This converts the price from per-pod-hour to + * per-pod-hour-per-resource, which changes the price unit for memory + * SKUs to 'GiBy.h'. The price unit otherwise remains 'h' because the + * other resources are dimensionless. + * A SKU using this usage calculation is referred to as "linear" because + * the customer's usage charge is linearly proportional to the + * pod's resource value. + * + * Generated from protobuf enum LINEAR_RESOURCE_SCALED_POD_RUNTIME = 2; + */ + const LINEAR_RESOURCE_SCALED_POD_RUNTIME = 2; + + private static $valueToName = [ + self::USAGE_CALCULATION_UNSPECIFIED => 'USAGE_CALCULATION_UNSPECIFIED', + self::POD_RUNTIME => 'POD_RUNTIME', + self::LINEAR_RESOURCE_SCALED_POD_RUNTIME => 'LINEAR_RESOURCE_SCALED_POD_RUNTIME', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/ManagedServiceMetricUsageFee.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/ManagedServiceMetricUsageFee.php new file mode 100644 index 00000000000..d985c415312 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/ManagedServiceMetricUsageFee.php @@ -0,0 +1,165 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + */ +class ManagedServiceMetricUsageFee extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The name of the metric, in canonical format. + * Note that in the canonical format the first character of the path + * component of the metric name is always uppercase, which may differ + * from the metric name in the service config. For example, a metric + * appearing in the service config as 'example.com/example_metric' will + * appear here in the SKU as 'example.com/Example_metric'. In the Service + * Management and Service Control APIs these two metric names are + * considered distinct, either or both may be defined, and usage must be + * reported using a name matching the name of a metric defined in the + * service config. But for billing purposes usage reported using either + * name will be aggregated under the canonical metric name. + * Example: "example.com/Example_metric" + * + * Generated from protobuf field string canonical_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $canonical_metric = ''; + protected $price_structure; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\TieredPrice $tiered_price + * Output only. [Tiered + * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing) + * of the SKU. + * @type string $canonical_metric + * Output only. The name of the metric, in canonical format. + * Note that in the canonical format the first character of the path + * component of the metric name is always uppercase, which may differ + * from the metric name in the service config. For example, a metric + * appearing in the service config as 'example.com/example_metric' will + * appear here in the SKU as 'example.com/Example_metric'. In the Service + * Management and Service Control APIs these two metric names are + * considered distinct, either or both may be defined, and usage must be + * reported using a name matching the name of a metric defined in the + * service config. But for billing purposes usage reported using either + * name will be aggregated under the canonical metric name. + * Example: "example.com/Example_metric" + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + + /** + * Output only. [Tiered + * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing) + * of the SKU. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\TieredPrice|null + */ + public function getTieredPrice() + { + return $this->readOneof(2); + } + + public function hasTieredPrice() + { + return $this->hasOneof(2); + } + + /** + * Output only. [Tiered + * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing) + * of the SKU. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\TieredPrice $var + * @return $this + */ + public function setTieredPrice($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\TieredPrice::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * Output only. The name of the metric, in canonical format. + * Note that in the canonical format the first character of the path + * component of the metric name is always uppercase, which may differ + * from the metric name in the service config. For example, a metric + * appearing in the service config as 'example.com/example_metric' will + * appear here in the SKU as 'example.com/Example_metric'. In the Service + * Management and Service Control APIs these two metric names are + * considered distinct, either or both may be defined, and usage must be + * reported using a name matching the name of a metric defined in the + * service config. But for billing purposes usage reported using either + * name will be aggregated under the canonical metric name. + * Example: "example.com/Example_metric" + * + * Generated from protobuf field string canonical_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getCanonicalMetric() + { + return $this->canonical_metric; + } + + /** + * Output only. The name of the metric, in canonical format. + * Note that in the canonical format the first character of the path + * component of the metric name is always uppercase, which may differ + * from the metric name in the service config. For example, a metric + * appearing in the service config as 'example.com/example_metric' will + * appear here in the SKU as 'example.com/Example_metric'. In the Service + * Management and Service Control APIs these two metric names are + * considered distinct, either or both may be defined, and usage must be + * reported using a name matching the name of a metric defined in the + * service config. But for billing purposes usage reported using either + * name will be aggregated under the canonical metric name. + * Example: "example.com/Example_metric" + * + * Generated from protobuf field string canonical_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setCanonicalMetric($var) + { + GPBUtil::checkString($var, True); + $this->canonical_metric = $var; + + return $this; + } + + /** + * @return string + */ + public function getPriceStructure() + { + return $this->whichOneof("price_structure"); + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/TieredPrice.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/TieredPrice.php new file mode 100644 index 00000000000..1ab798c89d1 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/TieredPrice.php @@ -0,0 +1,276 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + */ +class TieredPrice extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. Usage unit used for defining price tiers and for scaling + * with the price_unit_count to form the composite price unit. + * See https://ucum.org/ucum.html for the format of the price unit. + * A unitless dimension, such as a count, is represented as `1`. + * + * Generated from protobuf field string unit = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $unit = ''; + /** + * Output only. The display description of the unit, supplied at time of + * onboarding. This value is recommended to be set at least for + * dimensionless metrics, but may be empty if no description was provided + * at time of onboarding. + * + * Generated from protobuf field string unit_description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $unit_description = ''; + /** + * Output only. Scaling the `unit` by the `price_unit_count` forms the + * composite "price unit" which is priced by the price tiers. + * This scaling factor is in addition to any numerical prefix symbol on + * the `unit`, so the same composite "price unit" can be represented in + * several ways, differing only in their presentation to users. + * Examples: + * * $1 per 1 bytes : unit = By, price_unit_count = 1 + * * $1000 per 1 kilobytes : unit = kBy, price_unit_count = 1 + * * $5000 per 5 kilobytes : unit = kBy, price_unit_count = 5 + * + * Generated from protobuf field .google.type.Decimal price_unit_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $price_unit_count = null; + /** + * Output only. The list of price tiers for the SKU, ordered by the + * start_amount. + * The tiers are non-overlapping and are collectively bounded below by + * zero and unbounded above to cover the entire range of possible metric + * usage. Each tier is bounded below inclusively by its start_amount and + * bounded above exclusively by the start_amount of the next tier, or else + * unbounded above if there is no next tier. + * Usage of the metric is aggregated by customer billing account on a + * monthly basis and billed in a graduated manner according to the price + * tiers, with each marginal unit of usage priced accoring to the tier in + * which it falls. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $price_tiers; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $unit + * Output only. Usage unit used for defining price tiers and for scaling + * with the price_unit_count to form the composite price unit. + * See https://ucum.org/ucum.html for the format of the price unit. + * A unitless dimension, such as a count, is represented as `1`. + * @type string $unit_description + * Output only. The display description of the unit, supplied at time of + * onboarding. This value is recommended to be set at least for + * dimensionless metrics, but may be empty if no description was provided + * at time of onboarding. + * @type \Google\Type\Decimal $price_unit_count + * Output only. Scaling the `unit` by the `price_unit_count` forms the + * composite "price unit" which is priced by the price tiers. + * This scaling factor is in addition to any numerical prefix symbol on + * the `unit`, so the same composite "price unit" can be represented in + * several ways, differing only in their presentation to users. + * Examples: + * * $1 per 1 bytes : unit = By, price_unit_count = 1 + * * $1000 per 1 kilobytes : unit = kBy, price_unit_count = 1 + * * $5000 per 5 kilobytes : unit = kBy, price_unit_count = 5 + * @type \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\TieredPrice\PriceTier[] $price_tiers + * Output only. The list of price tiers for the SKU, ordered by the + * start_amount. + * The tiers are non-overlapping and are collectively bounded below by + * zero and unbounded above to cover the entire range of possible metric + * usage. Each tier is bounded below inclusively by its start_amount and + * bounded above exclusively by the start_amount of the next tier, or else + * unbounded above if there is no next tier. + * Usage of the metric is aggregated by customer billing account on a + * monthly basis and billed in a graduated manner according to the price + * tiers, with each marginal unit of usage priced accoring to the tier in + * which it falls. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + + /** + * Output only. Usage unit used for defining price tiers and for scaling + * with the price_unit_count to form the composite price unit. + * See https://ucum.org/ucum.html for the format of the price unit. + * A unitless dimension, such as a count, is represented as `1`. + * + * Generated from protobuf field string unit = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getUnit() + { + return $this->unit; + } + + /** + * Output only. Usage unit used for defining price tiers and for scaling + * with the price_unit_count to form the composite price unit. + * See https://ucum.org/ucum.html for the format of the price unit. + * A unitless dimension, such as a count, is represented as `1`. + * + * Generated from protobuf field string unit = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setUnit($var) + { + GPBUtil::checkString($var, True); + $this->unit = $var; + + return $this; + } + + /** + * Output only. The display description of the unit, supplied at time of + * onboarding. This value is recommended to be set at least for + * dimensionless metrics, but may be empty if no description was provided + * at time of onboarding. + * + * Generated from protobuf field string unit_description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getUnitDescription() + { + return $this->unit_description; + } + + /** + * Output only. The display description of the unit, supplied at time of + * onboarding. This value is recommended to be set at least for + * dimensionless metrics, but may be empty if no description was provided + * at time of onboarding. + * + * Generated from protobuf field string unit_description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setUnitDescription($var) + { + GPBUtil::checkString($var, True); + $this->unit_description = $var; + + return $this; + } + + /** + * Output only. Scaling the `unit` by the `price_unit_count` forms the + * composite "price unit" which is priced by the price tiers. + * This scaling factor is in addition to any numerical prefix symbol on + * the `unit`, so the same composite "price unit" can be represented in + * several ways, differing only in their presentation to users. + * Examples: + * * $1 per 1 bytes : unit = By, price_unit_count = 1 + * * $1000 per 1 kilobytes : unit = kBy, price_unit_count = 1 + * * $5000 per 5 kilobytes : unit = kBy, price_unit_count = 5 + * + * Generated from protobuf field .google.type.Decimal price_unit_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Type\Decimal|null + */ + public function getPriceUnitCount() + { + return $this->price_unit_count; + } + + public function hasPriceUnitCount() + { + return isset($this->price_unit_count); + } + + public function clearPriceUnitCount() + { + unset($this->price_unit_count); + } + + /** + * Output only. Scaling the `unit` by the `price_unit_count` forms the + * composite "price unit" which is priced by the price tiers. + * This scaling factor is in addition to any numerical prefix symbol on + * the `unit`, so the same composite "price unit" can be represented in + * several ways, differing only in their presentation to users. + * Examples: + * * $1 per 1 bytes : unit = By, price_unit_count = 1 + * * $1000 per 1 kilobytes : unit = kBy, price_unit_count = 1 + * * $5000 per 5 kilobytes : unit = kBy, price_unit_count = 5 + * + * Generated from protobuf field .google.type.Decimal price_unit_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Type\Decimal $var + * @return $this + */ + public function setPriceUnitCount($var) + { + GPBUtil::checkMessage($var, \Google\Type\Decimal::class); + $this->price_unit_count = $var; + + return $this; + } + + /** + * Output only. The list of price tiers for the SKU, ordered by the + * start_amount. + * The tiers are non-overlapping and are collectively bounded below by + * zero and unbounded above to cover the entire range of possible metric + * usage. Each tier is bounded below inclusively by its start_amount and + * bounded above exclusively by the start_amount of the next tier, or else + * unbounded above if there is no next tier. + * Usage of the metric is aggregated by customer billing account on a + * monthly basis and billed in a graduated manner according to the price + * tiers, with each marginal unit of usage priced accoring to the tier in + * which it falls. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return RepeatedField<\Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\TieredPrice\PriceTier> + */ + public function getPriceTiers() + { + return $this->price_tiers; + } + + /** + * Output only. The list of price tiers for the SKU, ordered by the + * start_amount. + * The tiers are non-overlapping and are collectively bounded below by + * zero and unbounded above to cover the entire range of possible metric + * usage. Each tier is bounded below inclusively by its start_amount and + * bounded above exclusively by the start_amount of the next tier, or else + * unbounded above if there is no next tier. + * Usage of the metric is aggregated by customer billing account on a + * monthly basis and billed in a graduated manner according to the price + * tiers, with each marginal unit of usage priced accoring to the tier in + * which it falls. + * + * Generated from protobuf field repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\TieredPrice\PriceTier[] $var + * @return $this + */ + public function setPriceTiers($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Commerceproducer\V1beta\Sku\SkuPrice\TieredPrice\PriceTier::class); + $this->price_tiers = $arr; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/Sku/SkuPrice/TieredPrice/PriceTier.php b/Commerceproducer/src/V1beta/Sku/SkuPrice/TieredPrice/PriceTier.php new file mode 100644 index 00000000000..31487b65ed6 --- /dev/null +++ b/Commerceproducer/src/V1beta/Sku/SkuPrice/TieredPrice/PriceTier.php @@ -0,0 +1,137 @@ +google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + */ +class PriceTier extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. Inclusive lower bound of the tier interval, denominated + * in `unit`. + * + * Generated from protobuf field .google.type.Decimal start_amount = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $start_amount = null; + /** + * Output only. The price per `price_unit_count` of `unit` in the tier. + * The price is applied fractionally if the customer's usage within the + * tier is not an integer multiple of `price_unit_count`. + * + * Generated from protobuf field .google.type.Money price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $price = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Type\Decimal $start_amount + * Output only. Inclusive lower bound of the tier interval, denominated + * in `unit`. + * @type \Google\Type\Money $price + * Output only. The price per `price_unit_count` of `unit` in the tier. + * The price is applied fractionally if the customer's usage within the + * tier is not an integer multiple of `price_unit_count`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\Sku::initOnce(); + parent::__construct($data); + } + + /** + * Output only. Inclusive lower bound of the tier interval, denominated + * in `unit`. + * + * Generated from protobuf field .google.type.Decimal start_amount = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Type\Decimal|null + */ + public function getStartAmount() + { + return $this->start_amount; + } + + public function hasStartAmount() + { + return isset($this->start_amount); + } + + public function clearStartAmount() + { + unset($this->start_amount); + } + + /** + * Output only. Inclusive lower bound of the tier interval, denominated + * in `unit`. + * + * Generated from protobuf field .google.type.Decimal start_amount = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Type\Decimal $var + * @return $this + */ + public function setStartAmount($var) + { + GPBUtil::checkMessage($var, \Google\Type\Decimal::class); + $this->start_amount = $var; + + return $this; + } + + /** + * Output only. The price per `price_unit_count` of `unit` in the tier. + * The price is applied fractionally if the customer's usage within the + * tier is not an integer multiple of `price_unit_count`. + * + * Generated from protobuf field .google.type.Money price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Type\Money|null + */ + public function getPrice() + { + return $this->price; + } + + public function hasPrice() + { + return isset($this->price); + } + + public function clearPrice() + { + unset($this->price); + } + + /** + * Output only. The price per `price_unit_count` of `unit` in the tier. + * The price is applied fractionally if the customer's usage within the + * tier is not an integer multiple of `price_unit_count`. + * + * Generated from protobuf field .google.type.Money price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Type\Money $var + * @return $this + */ + public function setPrice($var) + { + GPBUtil::checkMessage($var, \Google\Type\Money::class); + $this->price = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/SkuGroup.php b/Commerceproducer/src/V1beta/SkuGroup.php new file mode 100644 index 00000000000..57333ddfbfb --- /dev/null +++ b/Commerceproducer/src/V1beta/SkuGroup.php @@ -0,0 +1,163 @@ +google.cloud.commerceproducer.v1beta.SkuGroup + */ +class SkuGroup extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. Identifier. Name of the SkuGroup. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IDENTIFIER]; + */ + protected $name = ''; + /** + * Output only. Partner SKUs included in the SkuGroup. + * Format: + * `projects/{project}/locations/{location}/services/{service}/skus/{sku}` + * + * Generated from protobuf field repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + */ + private $skus; + /** + * Output only. Google SKUs included in the SkuGroup. + * Used for partner products sold by Google, such as Premium Operating System + * Images sold for use in Compute Engine. This is not common. + * SKUs of this type are not present on this API and can instead be found on + * the Cloud Billing API or at https://cloud.google.com/skus. + * Format: `services/{service}/skus/{sku}` + * + * Generated from protobuf field repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $cloud_billing_skus; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Output only. Identifier. Name of the SkuGroup. + * @type string[] $skus + * Output only. Partner SKUs included in the SkuGroup. + * Format: + * `projects/{project}/locations/{location}/services/{service}/skus/{sku}` + * @type string[] $cloud_billing_skus + * Output only. Google SKUs included in the SkuGroup. + * Used for partner products sold by Google, such as Premium Operating System + * Images sold for use in Compute Engine. This is not common. + * SKUs of this type are not present on this API and can instead be found on + * the Cloud Billing API or at https://cloud.google.com/skus. + * Format: `services/{service}/skus/{sku}` + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\SkuGroup::initOnce(); + parent::__construct($data); + } + + /** + * Output only. Identifier. Name of the SkuGroup. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IDENTIFIER]; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Output only. Identifier. Name of the SkuGroup. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IDENTIFIER]; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Output only. Partner SKUs included in the SkuGroup. + * Format: + * `projects/{project}/locations/{location}/services/{service}/skus/{sku}` + * + * Generated from protobuf field repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @return RepeatedField + */ + public function getSkus() + { + return $this->skus; + } + + /** + * Output only. Partner SKUs included in the SkuGroup. + * Format: + * `projects/{project}/locations/{location}/services/{service}/skus/{sku}` + * + * Generated from protobuf field repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @param string[] $var + * @return $this + */ + public function setSkus($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->skus = $arr; + + return $this; + } + + /** + * Output only. Google SKUs included in the SkuGroup. + * Used for partner products sold by Google, such as Premium Operating System + * Images sold for use in Compute Engine. This is not common. + * SKUs of this type are not present on this API and can instead be found on + * the Cloud Billing API or at https://cloud.google.com/skus. + * Format: `services/{service}/skus/{sku}` + * + * Generated from protobuf field repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return RepeatedField + */ + public function getCloudBillingSkus() + { + return $this->cloud_billing_skus; + } + + /** + * Output only. Google SKUs included in the SkuGroup. + * Used for partner products sold by Google, such as Premium Operating System + * Images sold for use in Compute Engine. This is not common. + * SKUs of this type are not present on this API and can instead be found on + * the Cloud Billing API or at https://cloud.google.com/skus. + * Format: `services/{service}/skus/{sku}` + * + * Generated from protobuf field repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string[] $var + * @return $this + */ + public function setCloudBillingSkus($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->cloud_billing_skus = $arr; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/StandardOffer.php b/Commerceproducer/src/V1beta/StandardOffer.php new file mode 100644 index 00000000000..0d2d0059300 --- /dev/null +++ b/Commerceproducer/src/V1beta/StandardOffer.php @@ -0,0 +1,455 @@ +google.cloud.commerceproducer.v1beta.StandardOffer + */ +class StandardOffer extends \Google\Protobuf\Internal\Message +{ + /** + * Identifier. Name of resource. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + */ + protected $name = ''; + /** + * Output only. Creation time of the offer. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $create_time = null; + /** + * Output only. Last update time of the offer. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $update_time = null; + /** + * Output only. Effective time of the offer. + * Prior to this time, the offer cannot be purchased or used as the base + * standard offer of a private offer. + * + * Generated from protobuf field .google.protobuf.Timestamp effective_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $effective_time = null; + /** + * Output only. Expire time of the offer. + * An offer is expired if its expire time is in the past. + * An expired standard offer cannot be purchased or used as the base standard + * offer of a private offer. + * + * Generated from protobuf field .google.protobuf.Timestamp expire_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $expire_time = null; + /** + * Output only. Identifier that distinguishes between different service levels + * of the same product that constitute distinct offerings to customers with + * different pricing. + * The service levels of a product are also referred to in some cases as the + * product's 'plans', and the `service_level` value is referred to in some + * cases as the "plan ID". + * Multiple non-expired standard offers can share the same service level when + * they are subscription offers for different term durations. + * + * Generated from protobuf field string service_level = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $service_level = ''; + /** + * Output only. Title of the service level. + * Not included for `STANDARD_OFFER_VIEW_BASIC`. + * + * Generated from protobuf field string service_level_title = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $service_level_title = ''; + /** + * Output only. Price model of the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel price_model = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $price_model = null; + protected $term; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $term_duration_months + * Output only. Term duration of the offer in months. + * Applicable only to offers with a subscription price model. + * Additional forms of offer term may be added in the future. + * @type string $name + * Identifier. Name of resource. + * @type \Google\Protobuf\Timestamp $create_time + * Output only. Creation time of the offer. + * @type \Google\Protobuf\Timestamp $update_time + * Output only. Last update time of the offer. + * @type \Google\Protobuf\Timestamp $effective_time + * Output only. Effective time of the offer. + * Prior to this time, the offer cannot be purchased or used as the base + * standard offer of a private offer. + * @type \Google\Protobuf\Timestamp $expire_time + * Output only. Expire time of the offer. + * An offer is expired if its expire time is in the past. + * An expired standard offer cannot be purchased or used as the base standard + * offer of a private offer. + * @type string $service_level + * Output only. Identifier that distinguishes between different service levels + * of the same product that constitute distinct offerings to customers with + * different pricing. + * The service levels of a product are also referred to in some cases as the + * product's 'plans', and the `service_level` value is referred to in some + * cases as the "plan ID". + * Multiple non-expired standard offers can share the same service level when + * they are subscription offers for different term durations. + * @type string $service_level_title + * Output only. Title of the service level. + * Not included for `STANDARD_OFFER_VIEW_BASIC`. + * @type \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel $price_model + * Output only. Price model of the offer. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\StandardOffer::initOnce(); + parent::__construct($data); + } + + /** + * Output only. Term duration of the offer in months. + * Applicable only to offers with a subscription price model. + * Additional forms of offer term may be added in the future. + * + * Generated from protobuf field int32 term_duration_months = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getTermDurationMonths() + { + return $this->readOneof(7); + } + + public function hasTermDurationMonths() + { + return $this->hasOneof(7); + } + + /** + * Output only. Term duration of the offer in months. + * Applicable only to offers with a subscription price model. + * Additional forms of offer term may be added in the future. + * + * Generated from protobuf field int32 term_duration_months = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setTermDurationMonths($var) + { + GPBUtil::checkInt32($var); + $this->writeOneof(7, $var); + + return $this; + } + + /** + * Identifier. Name of resource. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Identifier. Name of resource. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Output only. Creation time of the offer. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getCreateTime() + { + return $this->create_time; + } + + public function hasCreateTime() + { + return isset($this->create_time); + } + + public function clearCreateTime() + { + unset($this->create_time); + } + + /** + * Output only. Creation time of the offer. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setCreateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->create_time = $var; + + return $this; + } + + /** + * Output only. Last update time of the offer. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getUpdateTime() + { + return $this->update_time; + } + + public function hasUpdateTime() + { + return isset($this->update_time); + } + + public function clearUpdateTime() + { + unset($this->update_time); + } + + /** + * Output only. Last update time of the offer. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setUpdateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->update_time = $var; + + return $this; + } + + /** + * Output only. Effective time of the offer. + * Prior to this time, the offer cannot be purchased or used as the base + * standard offer of a private offer. + * + * Generated from protobuf field .google.protobuf.Timestamp effective_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getEffectiveTime() + { + return $this->effective_time; + } + + public function hasEffectiveTime() + { + return isset($this->effective_time); + } + + public function clearEffectiveTime() + { + unset($this->effective_time); + } + + /** + * Output only. Effective time of the offer. + * Prior to this time, the offer cannot be purchased or used as the base + * standard offer of a private offer. + * + * Generated from protobuf field .google.protobuf.Timestamp effective_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setEffectiveTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->effective_time = $var; + + return $this; + } + + /** + * Output only. Expire time of the offer. + * An offer is expired if its expire time is in the past. + * An expired standard offer cannot be purchased or used as the base standard + * offer of a private offer. + * + * Generated from protobuf field .google.protobuf.Timestamp expire_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getExpireTime() + { + return $this->expire_time; + } + + public function hasExpireTime() + { + return isset($this->expire_time); + } + + public function clearExpireTime() + { + unset($this->expire_time); + } + + /** + * Output only. Expire time of the offer. + * An offer is expired if its expire time is in the past. + * An expired standard offer cannot be purchased or used as the base standard + * offer of a private offer. + * + * Generated from protobuf field .google.protobuf.Timestamp expire_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setExpireTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->expire_time = $var; + + return $this; + } + + /** + * Output only. Identifier that distinguishes between different service levels + * of the same product that constitute distinct offerings to customers with + * different pricing. + * The service levels of a product are also referred to in some cases as the + * product's 'plans', and the `service_level` value is referred to in some + * cases as the "plan ID". + * Multiple non-expired standard offers can share the same service level when + * they are subscription offers for different term durations. + * + * Generated from protobuf field string service_level = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getServiceLevel() + { + return $this->service_level; + } + + /** + * Output only. Identifier that distinguishes between different service levels + * of the same product that constitute distinct offerings to customers with + * different pricing. + * The service levels of a product are also referred to in some cases as the + * product's 'plans', and the `service_level` value is referred to in some + * cases as the "plan ID". + * Multiple non-expired standard offers can share the same service level when + * they are subscription offers for different term durations. + * + * Generated from protobuf field string service_level = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setServiceLevel($var) + { + GPBUtil::checkString($var, True); + $this->service_level = $var; + + return $this; + } + + /** + * Output only. Title of the service level. + * Not included for `STANDARD_OFFER_VIEW_BASIC`. + * + * Generated from protobuf field string service_level_title = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getServiceLevelTitle() + { + return $this->service_level_title; + } + + /** + * Output only. Title of the service level. + * Not included for `STANDARD_OFFER_VIEW_BASIC`. + * + * Generated from protobuf field string service_level_title = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setServiceLevelTitle($var) + { + GPBUtil::checkString($var, True); + $this->service_level_title = $var; + + return $this; + } + + /** + * Output only. Price model of the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel price_model = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel|null + */ + public function getPriceModel() + { + return $this->price_model; + } + + public function hasPriceModel() + { + return isset($this->price_model); + } + + public function clearPriceModel() + { + unset($this->price_model); + } + + /** + * Output only. Price model of the offer. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel price_model = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel $var + * @return $this + */ + public function setPriceModel($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel::class); + $this->price_model = $var; + + return $this; + } + + /** + * @return string + */ + public function getTerm() + { + return $this->whichOneof("term"); + } + +} + diff --git a/Commerceproducer/src/V1beta/StandardOffer/PriceModel.php b/Commerceproducer/src/V1beta/StandardOffer/PriceModel.php new file mode 100644 index 00000000000..9c517a9be7b --- /dev/null +++ b/Commerceproducer/src/V1beta/StandardOffer/PriceModel.php @@ -0,0 +1,119 @@ +google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + */ +class PriceModel extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. Price configurations for the usage part. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $usage = null; + protected $subscription; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel\FlatFeeSubscription $flat_fee + * Output only. Price configurations for the flat fee subscription. + * @type \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel\Usage $usage + * Output only. Price configurations for the usage part. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\StandardOffer::initOnce(); + parent::__construct($data); + } + + /** + * Output only. Price configurations for the flat fee subscription. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription flat_fee = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel\FlatFeeSubscription|null + */ + public function getFlatFee() + { + return $this->readOneof(2); + } + + public function hasFlatFee() + { + return $this->hasOneof(2); + } + + /** + * Output only. Price configurations for the flat fee subscription. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription flat_fee = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel\FlatFeeSubscription $var + * @return $this + */ + public function setFlatFee($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel\FlatFeeSubscription::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * Output only. Price configurations for the usage part. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel\Usage|null + */ + public function getUsage() + { + return $this->usage; + } + + public function hasUsage() + { + return isset($this->usage); + } + + public function clearUsage() + { + unset($this->usage); + } + + /** + * Output only. Price configurations for the usage part. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel\Usage $var + * @return $this + */ + public function setUsage($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel\Usage::class); + $this->usage = $var; + + return $this; + } + + /** + * @return string + */ + public function getSubscription() + { + return $this->whichOneof("subscription"); + } + +} + diff --git a/Commerceproducer/src/V1beta/StandardOffer/PriceModel/FlatFeeSubscription.php b/Commerceproducer/src/V1beta/StandardOffer/PriceModel/FlatFeeSubscription.php new file mode 100644 index 00000000000..d1c6a8be51e --- /dev/null +++ b/Commerceproducer/src/V1beta/StandardOffer/PriceModel/FlatFeeSubscription.php @@ -0,0 +1,67 @@ +google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + */ +class FlatFeeSubscription extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. Flat fee subscription SKU for the offer. + * + * Generated from protobuf field string sku = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + */ + protected $sku = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $sku + * Output only. Flat fee subscription SKU for the offer. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\StandardOffer::initOnce(); + parent::__construct($data); + } + + /** + * Output only. Flat fee subscription SKU for the offer. + * + * Generated from protobuf field string sku = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @return string + */ + public function getSku() + { + return $this->sku; + } + + /** + * Output only. Flat fee subscription SKU for the offer. + * + * Generated from protobuf field string sku = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setSku($var) + { + GPBUtil::checkString($var, True); + $this->sku = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/StandardOffer/PriceModel/SkuGroupList.php b/Commerceproducer/src/V1beta/StandardOffer/PriceModel/SkuGroupList.php new file mode 100644 index 00000000000..7c6ae057e16 --- /dev/null +++ b/Commerceproducer/src/V1beta/StandardOffer/PriceModel/SkuGroupList.php @@ -0,0 +1,67 @@ +google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + */ +class SkuGroupList extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. List of SkuGroups by name. + * + * Generated from protobuf field repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + */ + private $sku_groups; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string[] $sku_groups + * Output only. List of SkuGroups by name. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\StandardOffer::initOnce(); + parent::__construct($data); + } + + /** + * Output only. List of SkuGroups by name. + * + * Generated from protobuf field repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @return RepeatedField + */ + public function getSkuGroups() + { + return $this->sku_groups; + } + + /** + * Output only. List of SkuGroups by name. + * + * Generated from protobuf field repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @param string[] $var + * @return $this + */ + public function setSkuGroups($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->sku_groups = $arr; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/StandardOffer/PriceModel/SkuList.php b/Commerceproducer/src/V1beta/StandardOffer/PriceModel/SkuList.php new file mode 100644 index 00000000000..d7201e096e5 --- /dev/null +++ b/Commerceproducer/src/V1beta/StandardOffer/PriceModel/SkuList.php @@ -0,0 +1,67 @@ +google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + */ +class SkuList extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. List of SKUs by name. + * + * Generated from protobuf field repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + */ + private $skus; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string[] $skus + * Output only. List of SKUs by name. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\StandardOffer::initOnce(); + parent::__construct($data); + } + + /** + * Output only. List of SKUs by name. + * + * Generated from protobuf field repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @return RepeatedField + */ + public function getSkus() + { + return $this->skus; + } + + /** + * Output only. List of SKUs by name. + * + * Generated from protobuf field repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { + * @param string[] $var + * @return $this + */ + public function setSkus($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->skus = $arr; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/StandardOffer/PriceModel/Usage.php b/Commerceproducer/src/V1beta/StandardOffer/PriceModel/Usage.php new file mode 100644 index 00000000000..11880bd75b3 --- /dev/null +++ b/Commerceproducer/src/V1beta/StandardOffer/PriceModel/Usage.php @@ -0,0 +1,111 @@ +google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + */ +class Usage extends \Google\Protobuf\Internal\Message +{ + protected $skus; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel\SkuList $sku_list + * Output only. The offer's usage fees are charged against these SKUs. + * @type \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel\SkuGroupList $sku_group_list + * Output only. The offer's usage fees are charged against the SKUs in + * these groups. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\StandardOffer::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The offer's usage fees are charged against these SKUs. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList sku_list = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel\SkuList|null + */ + public function getSkuList() + { + return $this->readOneof(1); + } + + public function hasSkuList() + { + return $this->hasOneof(1); + } + + /** + * Output only. The offer's usage fees are charged against these SKUs. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList sku_list = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel\SkuList $var + * @return $this + */ + public function setSkuList($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel\SkuList::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Output only. The offer's usage fees are charged against the SKUs in + * these groups. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList sku_group_list = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel\SkuGroupList|null + */ + public function getSkuGroupList() + { + return $this->readOneof(2); + } + + public function hasSkuGroupList() + { + return $this->hasOneof(2); + } + + /** + * Output only. The offer's usage fees are charged against the SKUs in + * these groups. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList sku_group_list = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel\SkuGroupList $var + * @return $this + */ + public function setSkuGroupList($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\StandardOffer\PriceModel\SkuGroupList::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * @return string + */ + public function getSkus() + { + return $this->whichOneof("skus"); + } + +} + diff --git a/Commerceproducer/src/V1beta/StandardOfferView.php b/Commerceproducer/src/V1beta/StandardOfferView.php new file mode 100644 index 00000000000..c93479bdc2e --- /dev/null +++ b/Commerceproducer/src/V1beta/StandardOfferView.php @@ -0,0 +1,64 @@ +google.cloud.commerceproducer.v1beta.StandardOfferView + */ +class StandardOfferView +{ + /** + * The default / unset value. + * The API will default to the BASIC view. + * + * Generated from protobuf enum STANDARD_OFFER_VIEW_UNSPECIFIED = 0; + */ + const STANDARD_OFFER_VIEW_UNSPECIFIED = 0; + /** + * Include basic metadata about the StandardOffer, but not the full contents. + * This is the default value (for both List and Get requests). + * + * Generated from protobuf enum STANDARD_OFFER_VIEW_BASIC = 1; + */ + const STANDARD_OFFER_VIEW_BASIC = 1; + /** + * Include everything. + * + * Generated from protobuf enum STANDARD_OFFER_VIEW_FULL = 2; + */ + const STANDARD_OFFER_VIEW_FULL = 2; + + private static $valueToName = [ + self::STANDARD_OFFER_VIEW_UNSPECIFIED => 'STANDARD_OFFER_VIEW_UNSPECIFIED', + self::STANDARD_OFFER_VIEW_BASIC => 'STANDARD_OFFER_VIEW_BASIC', + self::STANDARD_OFFER_VIEW_FULL => 'STANDARD_OFFER_VIEW_FULL', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Commerceproducer/src/V1beta/UpdatePrivateOfferDocumentRequest.php b/Commerceproducer/src/V1beta/UpdatePrivateOfferDocumentRequest.php new file mode 100644 index 00000000000..ecbd35de1d7 --- /dev/null +++ b/Commerceproducer/src/V1beta/UpdatePrivateOfferDocumentRequest.php @@ -0,0 +1,156 @@ +google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + */ +class UpdatePrivateOfferDocumentRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The resource being updated. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 1 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $private_offer_document = null; + /** + * Optional. The list of fields to update. + * The fields specified in the update_mask are relative to the resource, not + * the full request. A field will be overwritten if it is in the mask. + * The special value "*" means full replacement. + * If unspecified, all fields present in the request will be overwritten. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $update_mask = null; + + /** + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOfferDocument $privateOfferDocument Required. The resource being updated. + * @param \Google\Protobuf\FieldMask $updateMask Optional. The list of fields to update. + * The fields specified in the update_mask are relative to the resource, not + * the full request. A field will be overwritten if it is in the mask. + * The special value "*" means full replacement. + * If unspecified, all fields present in the request will be overwritten. + * + * @return \Google\Cloud\Commerceproducer\V1beta\UpdatePrivateOfferDocumentRequest + * + * @experimental + */ + public static function build(\Google\Cloud\Commerceproducer\V1beta\PrivateOfferDocument $privateOfferDocument, \Google\Protobuf\FieldMask $updateMask): self + { + return (new self()) + ->setPrivateOfferDocument($privateOfferDocument) + ->setUpdateMask($updateMask); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOfferDocument $private_offer_document + * Required. The resource being updated. + * @type \Google\Protobuf\FieldMask $update_mask + * Optional. The list of fields to update. + * The fields specified in the update_mask are relative to the resource, not + * the full request. A field will be overwritten if it is in the mask. + * The special value "*" means full replacement. + * If unspecified, all fields present in the request will be overwritten. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Required. The resource being updated. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\Commerceproducer\V1beta\PrivateOfferDocument|null + */ + public function getPrivateOfferDocument() + { + return $this->private_offer_document; + } + + public function hasPrivateOfferDocument() + { + return isset($this->private_offer_document); + } + + public function clearPrivateOfferDocument() + { + unset($this->private_offer_document); + } + + /** + * Required. The resource being updated. + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 1 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOfferDocument $var + * @return $this + */ + public function setPrivateOfferDocument($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOfferDocument::class); + $this->private_offer_document = $var; + + return $this; + } + + /** + * Optional. The list of fields to update. + * The fields specified in the update_mask are relative to the resource, not + * the full request. A field will be overwritten if it is in the mask. + * The special value "*" means full replacement. + * If unspecified, all fields present in the request will be overwritten. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Protobuf\FieldMask|null + */ + public function getUpdateMask() + { + return $this->update_mask; + } + + public function hasUpdateMask() + { + return isset($this->update_mask); + } + + public function clearUpdateMask() + { + unset($this->update_mask); + } + + /** + * Optional. The list of fields to update. + * The fields specified in the update_mask are relative to the resource, not + * the full request. A field will be overwritten if it is in the mask. + * The special value "*" means full replacement. + * If unspecified, all fields present in the request will be overwritten. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Protobuf\FieldMask $var + * @return $this + */ + public function setUpdateMask($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class); + $this->update_mask = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/UpdatePrivateOfferRequest.php b/Commerceproducer/src/V1beta/UpdatePrivateOfferRequest.php new file mode 100644 index 00000000000..a45180e62c1 --- /dev/null +++ b/Commerceproducer/src/V1beta/UpdatePrivateOfferRequest.php @@ -0,0 +1,156 @@ +google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest + */ +class UpdatePrivateOfferRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. The list of fields to update. + * The fields specified in the update_mask are relative to the resource, not + * the full request. A field will be overwritten if it is in the mask. + * The special value "*" means full replacement. + * If unspecified, all fields present in the request will be overwritten. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $update_mask = null; + /** + * Required. The resource being updated + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $private_offer = null; + + /** + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer $privateOffer Required. The resource being updated + * @param \Google\Protobuf\FieldMask $updateMask Optional. The list of fields to update. + * The fields specified in the update_mask are relative to the resource, not + * the full request. A field will be overwritten if it is in the mask. + * The special value "*" means full replacement. + * If unspecified, all fields present in the request will be overwritten. + * + * @return \Google\Cloud\Commerceproducer\V1beta\UpdatePrivateOfferRequest + * + * @experimental + */ + public static function build(\Google\Cloud\Commerceproducer\V1beta\PrivateOffer $privateOffer, \Google\Protobuf\FieldMask $updateMask): self + { + return (new self()) + ->setPrivateOffer($privateOffer) + ->setUpdateMask($updateMask); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Protobuf\FieldMask $update_mask + * Optional. The list of fields to update. + * The fields specified in the update_mask are relative to the resource, not + * the full request. A field will be overwritten if it is in the mask. + * The special value "*" means full replacement. + * If unspecified, all fields present in the request will be overwritten. + * @type \Google\Cloud\Commerceproducer\V1beta\PrivateOffer $private_offer + * Required. The resource being updated + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Commerceproducer\V1Beta\CommerceTransaction::initOnce(); + parent::__construct($data); + } + + /** + * Optional. The list of fields to update. + * The fields specified in the update_mask are relative to the resource, not + * the full request. A field will be overwritten if it is in the mask. + * The special value "*" means full replacement. + * If unspecified, all fields present in the request will be overwritten. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Protobuf\FieldMask|null + */ + public function getUpdateMask() + { + return $this->update_mask; + } + + public function hasUpdateMask() + { + return isset($this->update_mask); + } + + public function clearUpdateMask() + { + unset($this->update_mask); + } + + /** + * Optional. The list of fields to update. + * The fields specified in the update_mask are relative to the resource, not + * the full request. A field will be overwritten if it is in the mask. + * The special value "*" means full replacement. + * If unspecified, all fields present in the request will be overwritten. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Protobuf\FieldMask $var + * @return $this + */ + public function setUpdateMask($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class); + $this->update_mask = $var; + + return $this; + } + + /** + * Required. The resource being updated + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\Commerceproducer\V1beta\PrivateOffer|null + */ + public function getPrivateOffer() + { + return $this->private_offer; + } + + public function hasPrivateOffer() + { + return isset($this->private_offer); + } + + public function clearPrivateOffer() + { + unset($this->private_offer); + } + + /** + * Required. The resource being updated + * + * Generated from protobuf field .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\Commerceproducer\V1beta\PrivateOffer $var + * @return $this + */ + public function setPrivateOffer($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Commerceproducer\V1beta\PrivateOffer::class); + $this->private_offer = $var; + + return $this; + } + +} + diff --git a/Commerceproducer/src/V1beta/gapic_metadata.json b/Commerceproducer/src/V1beta/gapic_metadata.json new file mode 100644 index 00000000000..87a6b7db071 --- /dev/null +++ b/Commerceproducer/src/V1beta/gapic_metadata.json @@ -0,0 +1,133 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services\/RPCs to the corresponding library clients\/methods", + "language": "php", + "protoPackage": "google.cloud.commerceproducer.v1beta", + "libraryPackage": "Google\\Cloud\\Commerceproducer\\V1beta", + "services": { + "CommerceTransaction": { + "clients": { + "grpc": { + "libraryClient": "CommerceTransactionGapicClient", + "rpcs": { + "CancelPrivateOffer": { + "methods": [ + "cancelPrivateOffer" + ] + }, + "CreatePrivateOffer": { + "methods": [ + "createPrivateOffer" + ] + }, + "CreatePrivateOfferDocument": { + "methods": [ + "createPrivateOfferDocument" + ] + }, + "DeletePrivateOffer": { + "methods": [ + "deletePrivateOffer" + ] + }, + "DeletePrivateOfferDocument": { + "methods": [ + "deletePrivateOfferDocument" + ] + }, + "GetPrivateOffer": { + "methods": [ + "getPrivateOffer" + ] + }, + "GetPrivateOfferDocument": { + "methods": [ + "getPrivateOfferDocument" + ] + }, + "GetService": { + "methods": [ + "getService" + ] + }, + "GetSku": { + "methods": [ + "getSku" + ] + }, + "GetSkuGroup": { + "methods": [ + "getSkuGroup" + ] + }, + "GetStandardOffer": { + "methods": [ + "getStandardOffer" + ] + }, + "ListPrivateOfferDocuments": { + "methods": [ + "listPrivateOfferDocuments" + ] + }, + "ListPrivateOffers": { + "methods": [ + "listPrivateOffers" + ] + }, + "ListServices": { + "methods": [ + "listServices" + ] + }, + "ListSkuGroups": { + "methods": [ + "listSkuGroups" + ] + }, + "ListSkus": { + "methods": [ + "listSkus" + ] + }, + "ListStandardOffers": { + "methods": [ + "listStandardOffers" + ] + }, + "PublishPrivateOffer": { + "methods": [ + "publishPrivateOffer" + ] + }, + "ResolveAmendmentTarget": { + "methods": [ + "resolveAmendmentTarget" + ] + }, + "UpdatePrivateOffer": { + "methods": [ + "updatePrivateOffer" + ] + }, + "UpdatePrivateOfferDocument": { + "methods": [ + "updatePrivateOfferDocument" + ] + }, + "GetLocation": { + "methods": [ + "getLocation" + ] + }, + "ListLocations": { + "methods": [ + "listLocations" + ] + } + } + } + } + } + } +} \ No newline at end of file diff --git a/Commerceproducer/src/V1beta/resources/commerce_transaction_client_config.json b/Commerceproducer/src/V1beta/resources/commerce_transaction_client_config.json new file mode 100644 index 00000000000..b5b92cae0af --- /dev/null +++ b/Commerceproducer/src/V1beta/resources/commerce_transaction_client_config.json @@ -0,0 +1,159 @@ +{ + "interfaces": { + "google.cloud.commerceproducer.v1beta.CommerceTransaction": { + "retry_codes": { + "no_retry_codes": [], + "retry_policy_1_codes": [ + "UNAVAILABLE" + ], + "no_retry_1_codes": [] + }, + "retry_params": { + "no_retry_params": { + "initial_retry_delay_millis": 0, + "retry_delay_multiplier": 0.0, + "max_retry_delay_millis": 0, + "initial_rpc_timeout_millis": 0, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 0, + "total_timeout_millis": 0 + }, + "retry_policy_1_params": { + "initial_retry_delay_millis": 1000, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 10000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 60000 + }, + "no_retry_1_params": { + "initial_retry_delay_millis": 0, + "retry_delay_multiplier": 0.0, + "max_retry_delay_millis": 0, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 60000 + } + }, + "methods": { + "CancelPrivateOffer": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "CreatePrivateOffer": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "CreatePrivateOfferDocument": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "DeletePrivateOffer": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "DeletePrivateOfferDocument": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "GetPrivateOffer": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, + "GetPrivateOfferDocument": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, + "GetService": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, + "GetSku": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, + "GetSkuGroup": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, + "GetStandardOffer": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, + "ListPrivateOfferDocuments": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, + "ListPrivateOffers": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, + "ListServices": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, + "ListSkuGroups": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, + "ListSkus": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, + "ListStandardOffers": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, + "PublishPrivateOffer": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "ResolveAmendmentTarget": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "UpdatePrivateOffer": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "UpdatePrivateOfferDocument": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "GetLocation": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, + "ListLocations": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + } + } + } + } +} diff --git a/Commerceproducer/src/V1beta/resources/commerce_transaction_descriptor_config.php b/Commerceproducer/src/V1beta/resources/commerce_transaction_descriptor_config.php new file mode 100644 index 00000000000..bbdd992c469 --- /dev/null +++ b/Commerceproducer/src/V1beta/resources/commerce_transaction_descriptor_config.php @@ -0,0 +1,374 @@ + [ + 'google.cloud.commerceproducer.v1beta.CommerceTransaction' => [ + 'CancelPrivateOffer' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Commerceproducer\V1beta\PrivateOffer', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], + 'CreatePrivateOffer' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Commerceproducer\V1beta\PrivateOffer', + 'headerParams' => [ + [ + 'keyName' => 'parent', + 'fieldAccessors' => [ + 'getParent', + ], + ], + ], + ], + 'CreatePrivateOfferDocument' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Commerceproducer\V1beta\PrivateOfferDocument', + 'headerParams' => [ + [ + 'keyName' => 'parent', + 'fieldAccessors' => [ + 'getParent', + ], + ], + ], + ], + 'DeletePrivateOffer' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Protobuf\GPBEmpty', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], + 'DeletePrivateOfferDocument' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Protobuf\GPBEmpty', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], + 'GetPrivateOffer' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Commerceproducer\V1beta\PrivateOffer', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], + 'GetPrivateOfferDocument' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Commerceproducer\V1beta\PrivateOfferDocument', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], + 'GetService' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Commerceproducer\V1beta\Service', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], + 'GetSku' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Commerceproducer\V1beta\Sku', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], + 'GetSkuGroup' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Commerceproducer\V1beta\SkuGroup', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], + 'GetStandardOffer' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Commerceproducer\V1beta\StandardOffer', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], + 'ListPrivateOfferDocuments' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getPrivateOfferDocuments', + ], + 'callType' => \Google\ApiCore\Call::PAGINATED_CALL, + 'responseType' => 'Google\Cloud\Commerceproducer\V1beta\ListPrivateOfferDocumentsResponse', + 'headerParams' => [ + [ + 'keyName' => 'parent', + 'fieldAccessors' => [ + 'getParent', + ], + ], + ], + ], + 'ListPrivateOffers' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getPrivateOffers', + ], + 'callType' => \Google\ApiCore\Call::PAGINATED_CALL, + 'responseType' => 'Google\Cloud\Commerceproducer\V1beta\ListPrivateOffersResponse', + 'headerParams' => [ + [ + 'keyName' => 'parent', + 'fieldAccessors' => [ + 'getParent', + ], + ], + ], + ], + 'ListServices' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getServices', + ], + 'callType' => \Google\ApiCore\Call::PAGINATED_CALL, + 'responseType' => 'Google\Cloud\Commerceproducer\V1beta\ListServicesResponse', + 'headerParams' => [ + [ + 'keyName' => 'parent', + 'fieldAccessors' => [ + 'getParent', + ], + ], + ], + ], + 'ListSkuGroups' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getSkuGroups', + ], + 'callType' => \Google\ApiCore\Call::PAGINATED_CALL, + 'responseType' => 'Google\Cloud\Commerceproducer\V1beta\ListSkuGroupsResponse', + 'headerParams' => [ + [ + 'keyName' => 'parent', + 'fieldAccessors' => [ + 'getParent', + ], + ], + ], + ], + 'ListSkus' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getSkus', + ], + 'callType' => \Google\ApiCore\Call::PAGINATED_CALL, + 'responseType' => 'Google\Cloud\Commerceproducer\V1beta\ListSkusResponse', + 'headerParams' => [ + [ + 'keyName' => 'parent', + 'fieldAccessors' => [ + 'getParent', + ], + ], + ], + ], + 'ListStandardOffers' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getStandardOffers', + ], + 'callType' => \Google\ApiCore\Call::PAGINATED_CALL, + 'responseType' => 'Google\Cloud\Commerceproducer\V1beta\ListStandardOffersResponse', + 'headerParams' => [ + [ + 'keyName' => 'parent', + 'fieldAccessors' => [ + 'getParent', + ], + ], + ], + ], + 'PublishPrivateOffer' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Commerceproducer\V1beta\PrivateOffer', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], + 'ResolveAmendmentTarget' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Commerceproducer\V1beta\ResolveAmendmentTargetResponse', + 'headerParams' => [ + [ + 'keyName' => 'parent', + 'fieldAccessors' => [ + 'getParent', + ], + ], + ], + ], + 'UpdatePrivateOffer' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Commerceproducer\V1beta\PrivateOffer', + 'headerParams' => [ + [ + 'keyName' => 'private_offer.name', + 'fieldAccessors' => [ + 'getPrivateOffer', + 'getName', + ], + ], + ], + ], + 'UpdatePrivateOfferDocument' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Commerceproducer\V1beta\PrivateOfferDocument', + 'headerParams' => [ + [ + 'keyName' => 'private_offer_document.name', + 'fieldAccessors' => [ + 'getPrivateOfferDocument', + 'getName', + ], + ], + ], + ], + 'GetLocation' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Location\Location', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + 'interfaceOverride' => 'google.cloud.location.Locations', + ], + 'ListLocations' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getLocations', + ], + 'callType' => \Google\ApiCore\Call::PAGINATED_CALL, + 'responseType' => 'Google\Cloud\Location\ListLocationsResponse', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + 'interfaceOverride' => 'google.cloud.location.Locations', + ], + 'templateMap' => [ + 'billingAccount' => 'billingAccounts/{billing_account}', + 'location' => 'projects/{project}/locations/{location}', + 'privateOffer' => 'projects/{project}/locations/{location}/privateOffers/{private_offer}', + 'privateOfferDocument' => 'projects/{project}/locations/{location}/privateOffers/{private_offer}/documents/{document}', + 'service' => 'projects/{project}/locations/{location}/services/{service}', + 'sku' => 'projects/{project}/locations/{location}/services/{service}/skus/{sku}', + 'skuGroup' => 'projects/{project}/locations/{location}/skuGroups/{sku_group}', + 'standardOffer' => 'projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}', + ], + ], + ], +]; diff --git a/Commerceproducer/src/V1beta/resources/commerce_transaction_rest_client_config.php b/Commerceproducer/src/V1beta/resources/commerce_transaction_rest_client_config.php new file mode 100644 index 00000000000..02d3ae68fd6 --- /dev/null +++ b/Commerceproducer/src/V1beta/resources/commerce_transaction_rest_client_config.php @@ -0,0 +1,339 @@ + [ + 'google.cloud.commerceproducer.v1beta.CommerceTransaction' => [ + 'CancelPrivateOffer' => [ + 'method' => 'post', + 'uriTemplate' => '/v1beta/{name=projects/*/locations/*/privateOffers/*}:cancel', + 'body' => '*', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'CreatePrivateOffer' => [ + 'method' => 'post', + 'uriTemplate' => '/v1beta/{parent=projects/*/locations/*}/privateOffers', + 'body' => 'private_offer', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'CreatePrivateOfferDocument' => [ + 'method' => 'post', + 'uriTemplate' => '/v1beta/{parent=projects/*/locations/*/privateOffers/*}/documents', + 'body' => 'private_offer_document', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'DeletePrivateOffer' => [ + 'method' => 'delete', + 'uriTemplate' => '/v1beta/{name=projects/*/locations/*/privateOffers/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'DeletePrivateOfferDocument' => [ + 'method' => 'delete', + 'uriTemplate' => '/v1beta/{name=projects/*/locations/*/privateOffers/*/documents/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'GetPrivateOffer' => [ + 'method' => 'get', + 'uriTemplate' => '/v1beta/{name=projects/*/locations/*/privateOffers/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'GetPrivateOfferDocument' => [ + 'method' => 'get', + 'uriTemplate' => '/v1beta/{name=projects/*/locations/*/privateOffers/*/documents/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'GetService' => [ + 'method' => 'get', + 'uriTemplate' => '/v1beta/{name=projects/*/locations/*/services/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'GetSku' => [ + 'method' => 'get', + 'uriTemplate' => '/v1beta/{name=projects/*/locations/*/services/*/skus/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'GetSkuGroup' => [ + 'method' => 'get', + 'uriTemplate' => '/v1beta/{name=projects/*/locations/*/skuGroups/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'GetStandardOffer' => [ + 'method' => 'get', + 'uriTemplate' => '/v1beta/{name=projects/*/locations/*/services/*/standardOffers/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'ListPrivateOfferDocuments' => [ + 'method' => 'get', + 'uriTemplate' => '/v1beta/{parent=projects/*/locations/*/privateOffers/*}/documents', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'ListPrivateOffers' => [ + 'method' => 'get', + 'uriTemplate' => '/v1beta/{parent=projects/*/locations/*}/privateOffers', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'ListServices' => [ + 'method' => 'get', + 'uriTemplate' => '/v1beta/{parent=projects/*/locations/*}/services', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'ListSkuGroups' => [ + 'method' => 'get', + 'uriTemplate' => '/v1beta/{parent=projects/*/locations/*}/skuGroups', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'ListSkus' => [ + 'method' => 'get', + 'uriTemplate' => '/v1beta/{parent=projects/*/locations/*/services/*}/skus', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'ListStandardOffers' => [ + 'method' => 'get', + 'uriTemplate' => '/v1beta/{parent=projects/*/locations/*/services/*}/standardOffers', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'PublishPrivateOffer' => [ + 'method' => 'post', + 'uriTemplate' => '/v1beta/{name=projects/*/locations/*/privateOffers/*}:publish', + 'body' => '*', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'ResolveAmendmentTarget' => [ + 'method' => 'get', + 'uriTemplate' => '/v1beta/{parent=projects/*/locations/*}/privateOffers:resolveAmendmentTarget', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'UpdatePrivateOffer' => [ + 'method' => 'patch', + 'uriTemplate' => '/v1beta/{private_offer.name=projects/*/locations/*/privateOffers/*}', + 'body' => 'private_offer', + 'placeholders' => [ + 'private_offer.name' => [ + 'getters' => [ + 'getPrivateOffer', + 'getName', + ], + ], + ], + ], + 'UpdatePrivateOfferDocument' => [ + 'method' => 'patch', + 'uriTemplate' => '/v1beta/{private_offer_document.name=projects/*/locations/*/privateOffers/*/documents/*}', + 'body' => 'private_offer_document', + 'placeholders' => [ + 'private_offer_document.name' => [ + 'getters' => [ + 'getPrivateOfferDocument', + 'getName', + ], + ], + ], + ], + ], + 'google.cloud.location.Locations' => [ + 'GetLocation' => [ + 'method' => 'get', + 'uriTemplate' => '/v1beta/{name=projects/*/locations/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'ListLocations' => [ + 'method' => 'get', + 'uriTemplate' => '/v1beta/{name=projects/*}/locations', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + ], + 'google.longrunning.Operations' => [ + 'CancelOperation' => [ + 'method' => 'post', + 'uriTemplate' => '/v1beta/{name=projects/*/locations/*/operations/*}:cancel', + 'body' => '*', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'DeleteOperation' => [ + 'method' => 'delete', + 'uriTemplate' => '/v1beta/{name=projects/*/locations/*/operations/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'GetOperation' => [ + 'method' => 'get', + 'uriTemplate' => '/v1beta/{name=projects/*/locations/*/operations/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'ListOperations' => [ + 'method' => 'get', + 'uriTemplate' => '/v1beta/{name=projects/*/locations/*}/operations', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + ], + ], + 'numericEnums' => true, +]; diff --git a/Commerceproducer/tests/Unit/V1beta/Client/CommerceTransactionClientTest.php b/Commerceproducer/tests/Unit/V1beta/Client/CommerceTransactionClientTest.php new file mode 100644 index 00000000000..5955a40bdfc --- /dev/null +++ b/Commerceproducer/tests/Unit/V1beta/Client/CommerceTransactionClientTest.php @@ -0,0 +1,1832 @@ +getMockBuilder(CredentialsWrapper::class) + ->disableOriginalConstructor() + ->getMock(); + } + + /** @return CommerceTransactionClient */ + private function createClient(array $options = []) + { + $options += [ + 'credentials' => $this->createCredentials(), + ]; + return new CommerceTransactionClient($options); + } + + /** @test */ + public function cancelPrivateOfferTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $cancellationNote2 = 'cancellationNote2686711265'; + $internalNote = 'internalNote1826508852'; + $title = 'title110371416'; + $customerNote = 'customerNote-2143804493'; + $expectedResponse = new PrivateOffer(); + $expectedResponse->setName($name2); + $expectedResponse->setCancellationNote($cancellationNote2); + $expectedResponse->setInternalNote($internalNote); + $expectedResponse->setTitle($title); + $expectedResponse->setCustomerNote($customerNote); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->privateOfferName('[PROJECT]', '[LOCATION]', '[PRIVATE_OFFER]'); + $request = (new CancelPrivateOfferRequest())->setName($formattedName); + $response = $gapicClient->cancelPrivateOffer($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame( + '/google.cloud.commerceproducer.v1beta.CommerceTransaction/CancelPrivateOffer', + $actualFuncCall + ); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function cancelPrivateOfferExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->privateOfferName('[PROJECT]', '[LOCATION]', '[PRIVATE_OFFER]'); + $request = (new CancelPrivateOfferRequest())->setName($formattedName); + try { + $gapicClient->cancelPrivateOffer($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function createPrivateOfferTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name = 'name3373707'; + $cancellationNote = 'cancellationNote-750122578'; + $internalNote = 'internalNote1826508852'; + $title = 'title110371416'; + $customerNote = 'customerNote-2143804493'; + $expectedResponse = new PrivateOffer(); + $expectedResponse->setName($name); + $expectedResponse->setCancellationNote($cancellationNote); + $expectedResponse->setInternalNote($internalNote); + $expectedResponse->setTitle($title); + $expectedResponse->setCustomerNote($customerNote); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $privateOffer = new PrivateOffer(); + $request = (new CreatePrivateOfferRequest())->setParent($formattedParent)->setPrivateOffer($privateOffer); + $response = $gapicClient->createPrivateOffer($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame( + '/google.cloud.commerceproducer.v1beta.CommerceTransaction/CreatePrivateOffer', + $actualFuncCall + ); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $actualValue = $actualRequestObject->getPrivateOffer(); + $this->assertProtobufEquals($privateOffer, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function createPrivateOfferExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $privateOffer = new PrivateOffer(); + $request = (new CreatePrivateOfferRequest())->setParent($formattedParent)->setPrivateOffer($privateOffer); + try { + $gapicClient->createPrivateOffer($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function createPrivateOfferDocumentTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $inlineContent = '-45'; + $name = 'name3373707'; + $mimeType = 'mimeType-196041627'; + $expectedResponse = new PrivateOfferDocument(); + $expectedResponse->setInlineContent($inlineContent); + $expectedResponse->setName($name); + $expectedResponse->setMimeType($mimeType); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->privateOfferName('[PROJECT]', '[LOCATION]', '[PRIVATE_OFFER]'); + $privateOfferDocument = new PrivateOfferDocument(); + $privateOfferDocumentDocumentType = DocumentType::DOCUMENT_TYPE_UNSPECIFIED; + $privateOfferDocument->setDocumentType($privateOfferDocumentDocumentType); + $request = (new CreatePrivateOfferDocumentRequest()) + ->setParent($formattedParent) + ->setPrivateOfferDocument($privateOfferDocument); + $response = $gapicClient->createPrivateOfferDocument($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame( + '/google.cloud.commerceproducer.v1beta.CommerceTransaction/CreatePrivateOfferDocument', + $actualFuncCall + ); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $actualValue = $actualRequestObject->getPrivateOfferDocument(); + $this->assertProtobufEquals($privateOfferDocument, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function createPrivateOfferDocumentExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->privateOfferName('[PROJECT]', '[LOCATION]', '[PRIVATE_OFFER]'); + $privateOfferDocument = new PrivateOfferDocument(); + $privateOfferDocumentDocumentType = DocumentType::DOCUMENT_TYPE_UNSPECIFIED; + $privateOfferDocument->setDocumentType($privateOfferDocumentDocumentType); + $request = (new CreatePrivateOfferDocumentRequest()) + ->setParent($formattedParent) + ->setPrivateOfferDocument($privateOfferDocument); + try { + $gapicClient->createPrivateOfferDocument($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function deletePrivateOfferTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $expectedResponse = new GPBEmpty(); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->privateOfferName('[PROJECT]', '[LOCATION]', '[PRIVATE_OFFER]'); + $request = (new DeletePrivateOfferRequest())->setName($formattedName); + $gapicClient->deletePrivateOffer($request); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame( + '/google.cloud.commerceproducer.v1beta.CommerceTransaction/DeletePrivateOffer', + $actualFuncCall + ); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function deletePrivateOfferExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->privateOfferName('[PROJECT]', '[LOCATION]', '[PRIVATE_OFFER]'); + $request = (new DeletePrivateOfferRequest())->setName($formattedName); + try { + $gapicClient->deletePrivateOffer($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function deletePrivateOfferDocumentTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $expectedResponse = new GPBEmpty(); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->privateOfferDocumentName( + '[PROJECT]', + '[LOCATION]', + '[PRIVATE_OFFER]', + '[DOCUMENT]' + ); + $request = (new DeletePrivateOfferDocumentRequest())->setName($formattedName); + $gapicClient->deletePrivateOfferDocument($request); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame( + '/google.cloud.commerceproducer.v1beta.CommerceTransaction/DeletePrivateOfferDocument', + $actualFuncCall + ); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function deletePrivateOfferDocumentExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->privateOfferDocumentName( + '[PROJECT]', + '[LOCATION]', + '[PRIVATE_OFFER]', + '[DOCUMENT]' + ); + $request = (new DeletePrivateOfferDocumentRequest())->setName($formattedName); + try { + $gapicClient->deletePrivateOfferDocument($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getPrivateOfferTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $cancellationNote = 'cancellationNote-750122578'; + $internalNote = 'internalNote1826508852'; + $title = 'title110371416'; + $customerNote = 'customerNote-2143804493'; + $expectedResponse = new PrivateOffer(); + $expectedResponse->setName($name2); + $expectedResponse->setCancellationNote($cancellationNote); + $expectedResponse->setInternalNote($internalNote); + $expectedResponse->setTitle($title); + $expectedResponse->setCustomerNote($customerNote); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->privateOfferName('[PROJECT]', '[LOCATION]', '[PRIVATE_OFFER]'); + $request = (new GetPrivateOfferRequest())->setName($formattedName); + $response = $gapicClient->getPrivateOffer($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.commerceproducer.v1beta.CommerceTransaction/GetPrivateOffer', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getPrivateOfferExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->privateOfferName('[PROJECT]', '[LOCATION]', '[PRIVATE_OFFER]'); + $request = (new GetPrivateOfferRequest())->setName($formattedName); + try { + $gapicClient->getPrivateOffer($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getPrivateOfferDocumentTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $inlineContent = '-45'; + $name2 = 'name2-1052831874'; + $mimeType = 'mimeType-196041627'; + $expectedResponse = new PrivateOfferDocument(); + $expectedResponse->setInlineContent($inlineContent); + $expectedResponse->setName($name2); + $expectedResponse->setMimeType($mimeType); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->privateOfferDocumentName( + '[PROJECT]', + '[LOCATION]', + '[PRIVATE_OFFER]', + '[DOCUMENT]' + ); + $request = (new GetPrivateOfferDocumentRequest())->setName($formattedName); + $response = $gapicClient->getPrivateOfferDocument($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame( + '/google.cloud.commerceproducer.v1beta.CommerceTransaction/GetPrivateOfferDocument', + $actualFuncCall + ); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getPrivateOfferDocumentExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->privateOfferDocumentName( + '[PROJECT]', + '[LOCATION]', + '[PRIVATE_OFFER]', + '[DOCUMENT]' + ); + $request = (new GetPrivateOfferDocumentRequest())->setName($formattedName); + try { + $gapicClient->getPrivateOfferDocument($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getServiceTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $title = 'title110371416'; + $expectedResponse = new Service(); + $expectedResponse->setName($name2); + $expectedResponse->setTitle($title); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->serviceName('[PROJECT]', '[LOCATION]', '[SERVICE]'); + $request = (new GetServiceRequest())->setName($formattedName); + $response = $gapicClient->getService($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.commerceproducer.v1beta.CommerceTransaction/GetService', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getServiceExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->serviceName('[PROJECT]', '[LOCATION]', '[SERVICE]'); + $request = (new GetServiceRequest())->setName($formattedName); + try { + $gapicClient->getService($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getSkuTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $description = 'description-1724546052'; + $expectedResponse = new Sku(); + $expectedResponse->setName($name2); + $expectedResponse->setDescription($description); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->skuName('[PROJECT]', '[LOCATION]', '[SERVICE]', '[SKU]'); + $request = (new GetSkuRequest())->setName($formattedName); + $response = $gapicClient->getSku($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.commerceproducer.v1beta.CommerceTransaction/GetSku', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getSkuExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->skuName('[PROJECT]', '[LOCATION]', '[SERVICE]', '[SKU]'); + $request = (new GetSkuRequest())->setName($formattedName); + try { + $gapicClient->getSku($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getSkuGroupTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $expectedResponse = new SkuGroup(); + $expectedResponse->setName($name2); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->skuGroupName('[PROJECT]', '[LOCATION]', '[SKU_GROUP]'); + $request = (new GetSkuGroupRequest())->setName($formattedName); + $response = $gapicClient->getSkuGroup($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.commerceproducer.v1beta.CommerceTransaction/GetSkuGroup', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getSkuGroupExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->skuGroupName('[PROJECT]', '[LOCATION]', '[SKU_GROUP]'); + $request = (new GetSkuGroupRequest())->setName($formattedName); + try { + $gapicClient->getSkuGroup($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getStandardOfferTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $termDurationMonths = 480407851; + $name2 = 'name2-1052831874'; + $serviceLevel = 'serviceLevel-1730336390'; + $serviceLevelTitle = 'serviceLevelTitle2097359699'; + $expectedResponse = new StandardOffer(); + $expectedResponse->setTermDurationMonths($termDurationMonths); + $expectedResponse->setName($name2); + $expectedResponse->setServiceLevel($serviceLevel); + $expectedResponse->setServiceLevelTitle($serviceLevelTitle); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->standardOfferName('[PROJECT]', '[LOCATION]', '[SERVICE]', '[STANDARD_OFFER]'); + $request = (new GetStandardOfferRequest())->setName($formattedName); + $response = $gapicClient->getStandardOffer($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame( + '/google.cloud.commerceproducer.v1beta.CommerceTransaction/GetStandardOffer', + $actualFuncCall + ); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getStandardOfferExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->standardOfferName('[PROJECT]', '[LOCATION]', '[SERVICE]', '[STANDARD_OFFER]'); + $request = (new GetStandardOfferRequest())->setName($formattedName); + try { + $gapicClient->getStandardOffer($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listPrivateOfferDocumentsTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $privateOfferDocumentsElement = new PrivateOfferDocument(); + $privateOfferDocuments = [$privateOfferDocumentsElement]; + $expectedResponse = new ListPrivateOfferDocumentsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setPrivateOfferDocuments($privateOfferDocuments); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->privateOfferName('[PROJECT]', '[LOCATION]', '[PRIVATE_OFFER]'); + $request = (new ListPrivateOfferDocumentsRequest())->setParent($formattedParent); + $response = $gapicClient->listPrivateOfferDocuments($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getPrivateOfferDocuments()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame( + '/google.cloud.commerceproducer.v1beta.CommerceTransaction/ListPrivateOfferDocuments', + $actualFuncCall + ); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listPrivateOfferDocumentsExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->privateOfferName('[PROJECT]', '[LOCATION]', '[PRIVATE_OFFER]'); + $request = (new ListPrivateOfferDocumentsRequest())->setParent($formattedParent); + try { + $gapicClient->listPrivateOfferDocuments($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listPrivateOffersTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $privateOffersElement = new PrivateOffer(); + $privateOffers = [$privateOffersElement]; + $expectedResponse = new ListPrivateOffersResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setPrivateOffers($privateOffers); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $request = (new ListPrivateOffersRequest())->setParent($formattedParent); + $response = $gapicClient->listPrivateOffers($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getPrivateOffers()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame( + '/google.cloud.commerceproducer.v1beta.CommerceTransaction/ListPrivateOffers', + $actualFuncCall + ); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listPrivateOffersExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $request = (new ListPrivateOffersRequest())->setParent($formattedParent); + try { + $gapicClient->listPrivateOffers($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listServicesTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $servicesElement = new Service(); + $services = [$servicesElement]; + $expectedResponse = new ListServicesResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setServices($services); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $request = (new ListServicesRequest())->setParent($formattedParent); + $response = $gapicClient->listServices($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getServices()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.commerceproducer.v1beta.CommerceTransaction/ListServices', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listServicesExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $request = (new ListServicesRequest())->setParent($formattedParent); + try { + $gapicClient->listServices($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listSkuGroupsTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $skuGroupsElement = new SkuGroup(); + $skuGroups = [$skuGroupsElement]; + $expectedResponse = new ListSkuGroupsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setSkuGroups($skuGroups); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $request = (new ListSkuGroupsRequest())->setParent($formattedParent); + $response = $gapicClient->listSkuGroups($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getSkuGroups()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.commerceproducer.v1beta.CommerceTransaction/ListSkuGroups', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listSkuGroupsExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $request = (new ListSkuGroupsRequest())->setParent($formattedParent); + try { + $gapicClient->listSkuGroups($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listSkusTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $skusElement = new Sku(); + $skus = [$skusElement]; + $expectedResponse = new ListSkusResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setSkus($skus); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->serviceName('[PROJECT]', '[LOCATION]', '[SERVICE]'); + $request = (new ListSkusRequest())->setParent($formattedParent); + $response = $gapicClient->listSkus($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getSkus()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.commerceproducer.v1beta.CommerceTransaction/ListSkus', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listSkusExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->serviceName('[PROJECT]', '[LOCATION]', '[SERVICE]'); + $request = (new ListSkusRequest())->setParent($formattedParent); + try { + $gapicClient->listSkus($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listStandardOffersTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $standardOffersElement = new StandardOffer(); + $standardOffers = [$standardOffersElement]; + $expectedResponse = new ListStandardOffersResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setStandardOffers($standardOffers); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->serviceName('[PROJECT]', '[LOCATION]', '[SERVICE]'); + $request = (new ListStandardOffersRequest())->setParent($formattedParent); + $response = $gapicClient->listStandardOffers($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getStandardOffers()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame( + '/google.cloud.commerceproducer.v1beta.CommerceTransaction/ListStandardOffers', + $actualFuncCall + ); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listStandardOffersExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->serviceName('[PROJECT]', '[LOCATION]', '[SERVICE]'); + $request = (new ListStandardOffersRequest())->setParent($formattedParent); + try { + $gapicClient->listStandardOffers($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function publishPrivateOfferTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $cancellationNote = 'cancellationNote-750122578'; + $internalNote = 'internalNote1826508852'; + $title = 'title110371416'; + $customerNote = 'customerNote-2143804493'; + $expectedResponse = new PrivateOffer(); + $expectedResponse->setName($name2); + $expectedResponse->setCancellationNote($cancellationNote); + $expectedResponse->setInternalNote($internalNote); + $expectedResponse->setTitle($title); + $expectedResponse->setCustomerNote($customerNote); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->privateOfferName('[PROJECT]', '[LOCATION]', '[PRIVATE_OFFER]'); + $request = (new PublishPrivateOfferRequest())->setName($formattedName); + $response = $gapicClient->publishPrivateOffer($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame( + '/google.cloud.commerceproducer.v1beta.CommerceTransaction/PublishPrivateOffer', + $actualFuncCall + ); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function publishPrivateOfferExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->privateOfferName('[PROJECT]', '[LOCATION]', '[PRIVATE_OFFER]'); + $request = (new PublishPrivateOfferRequest())->setName($formattedName); + try { + $gapicClient->publishPrivateOffer($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function resolveAmendmentTargetTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $requiredPrivateOffer = 'requiredPrivateOffer-880218112'; + $expectedResponse = new ResolveAmendmentTargetResponse(); + $expectedResponse->setRequiredPrivateOffer($requiredPrivateOffer); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $formattedTargetBillingAccount = $gapicClient->billingAccountName('[BILLING_ACCOUNT]'); + $formattedBaseStandardOffer = $gapicClient->standardOfferName( + '[PROJECT]', + '[LOCATION]', + '[SERVICE]', + '[STANDARD_OFFER]' + ); + $request = (new ResolveAmendmentTargetRequest()) + ->setParent($formattedParent) + ->setTargetBillingAccount($formattedTargetBillingAccount) + ->setBaseStandardOffer($formattedBaseStandardOffer); + $response = $gapicClient->resolveAmendmentTarget($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame( + '/google.cloud.commerceproducer.v1beta.CommerceTransaction/ResolveAmendmentTarget', + $actualFuncCall + ); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $actualValue = $actualRequestObject->getTargetBillingAccount(); + $this->assertProtobufEquals($formattedTargetBillingAccount, $actualValue); + $actualValue = $actualRequestObject->getBaseStandardOffer(); + $this->assertProtobufEquals($formattedBaseStandardOffer, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function resolveAmendmentTargetExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $formattedTargetBillingAccount = $gapicClient->billingAccountName('[BILLING_ACCOUNT]'); + $formattedBaseStandardOffer = $gapicClient->standardOfferName( + '[PROJECT]', + '[LOCATION]', + '[SERVICE]', + '[STANDARD_OFFER]' + ); + $request = (new ResolveAmendmentTargetRequest()) + ->setParent($formattedParent) + ->setTargetBillingAccount($formattedTargetBillingAccount) + ->setBaseStandardOffer($formattedBaseStandardOffer); + try { + $gapicClient->resolveAmendmentTarget($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function updatePrivateOfferTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name = 'name3373707'; + $cancellationNote = 'cancellationNote-750122578'; + $internalNote = 'internalNote1826508852'; + $title = 'title110371416'; + $customerNote = 'customerNote-2143804493'; + $expectedResponse = new PrivateOffer(); + $expectedResponse->setName($name); + $expectedResponse->setCancellationNote($cancellationNote); + $expectedResponse->setInternalNote($internalNote); + $expectedResponse->setTitle($title); + $expectedResponse->setCustomerNote($customerNote); + $transport->addResponse($expectedResponse); + // Mock request + $privateOffer = new PrivateOffer(); + $request = (new UpdatePrivateOfferRequest())->setPrivateOffer($privateOffer); + $response = $gapicClient->updatePrivateOffer($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame( + '/google.cloud.commerceproducer.v1beta.CommerceTransaction/UpdatePrivateOffer', + $actualFuncCall + ); + $actualValue = $actualRequestObject->getPrivateOffer(); + $this->assertProtobufEquals($privateOffer, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function updatePrivateOfferExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $privateOffer = new PrivateOffer(); + $request = (new UpdatePrivateOfferRequest())->setPrivateOffer($privateOffer); + try { + $gapicClient->updatePrivateOffer($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function updatePrivateOfferDocumentTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $inlineContent = '-45'; + $name = 'name3373707'; + $mimeType = 'mimeType-196041627'; + $expectedResponse = new PrivateOfferDocument(); + $expectedResponse->setInlineContent($inlineContent); + $expectedResponse->setName($name); + $expectedResponse->setMimeType($mimeType); + $transport->addResponse($expectedResponse); + // Mock request + $privateOfferDocument = new PrivateOfferDocument(); + $privateOfferDocumentDocumentType = DocumentType::DOCUMENT_TYPE_UNSPECIFIED; + $privateOfferDocument->setDocumentType($privateOfferDocumentDocumentType); + $request = (new UpdatePrivateOfferDocumentRequest())->setPrivateOfferDocument($privateOfferDocument); + $response = $gapicClient->updatePrivateOfferDocument($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame( + '/google.cloud.commerceproducer.v1beta.CommerceTransaction/UpdatePrivateOfferDocument', + $actualFuncCall + ); + $actualValue = $actualRequestObject->getPrivateOfferDocument(); + $this->assertProtobufEquals($privateOfferDocument, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function updatePrivateOfferDocumentExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $privateOfferDocument = new PrivateOfferDocument(); + $privateOfferDocumentDocumentType = DocumentType::DOCUMENT_TYPE_UNSPECIFIED; + $privateOfferDocument->setDocumentType($privateOfferDocumentDocumentType); + $request = (new UpdatePrivateOfferDocumentRequest())->setPrivateOfferDocument($privateOfferDocument); + try { + $gapicClient->updatePrivateOfferDocument($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getLocationTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $locationId = 'locationId552319461'; + $displayName = 'displayName1615086568'; + $expectedResponse = new Location(); + $expectedResponse->setName($name2); + $expectedResponse->setLocationId($locationId); + $expectedResponse->setDisplayName($displayName); + $transport->addResponse($expectedResponse); + $request = new GetLocationRequest(); + $response = $gapicClient->getLocation($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.location.Locations/GetLocation', $actualFuncCall); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getLocationExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + $request = new GetLocationRequest(); + try { + $gapicClient->getLocation($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listLocationsTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $locationsElement = new Location(); + $locations = [$locationsElement]; + $expectedResponse = new ListLocationsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setLocations($locations); + $transport->addResponse($expectedResponse); + $request = new ListLocationsRequest(); + $response = $gapicClient->listLocations($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getLocations()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.location.Locations/ListLocations', $actualFuncCall); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listLocationsExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + $request = new ListLocationsRequest(); + try { + $gapicClient->listLocations($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function cancelPrivateOfferAsyncTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $cancellationNote2 = 'cancellationNote2686711265'; + $internalNote = 'internalNote1826508852'; + $title = 'title110371416'; + $customerNote = 'customerNote-2143804493'; + $expectedResponse = new PrivateOffer(); + $expectedResponse->setName($name2); + $expectedResponse->setCancellationNote($cancellationNote2); + $expectedResponse->setInternalNote($internalNote); + $expectedResponse->setTitle($title); + $expectedResponse->setCustomerNote($customerNote); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->privateOfferName('[PROJECT]', '[LOCATION]', '[PRIVATE_OFFER]'); + $request = (new CancelPrivateOfferRequest())->setName($formattedName); + $response = $gapicClient->cancelPrivateOfferAsync($request)->wait(); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame( + '/google.cloud.commerceproducer.v1beta.CommerceTransaction/CancelPrivateOffer', + $actualFuncCall + ); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } +} diff --git a/composer.json b/composer.json index 496621a55be..4b47cb0daf8 100644 --- a/composer.json +++ b/composer.json @@ -140,6 +140,7 @@ "google/cloud-chronicle": "0.5.0", "google/cloud-cloudcontrolspartner": "0.5.3", "google/cloud-commerce-consumer-procurement": "1.3.3", + "google/cloud-commerceproducer": "0.0.0", "google/cloud-common-protos": "1.0.0", "google/cloud-compute": "2.11.0", "google/cloud-confidentialcomputing": "1.7.1", @@ -287,8 +288,9 @@ "google/cloud-workflows": "1.3.0", "google/cloud-workloadmanager": "0.2.1", "google/common-protos": "4.14.1", - "google/gax": "1.46.0", + "google/developer-knowledge": "0.2.1", "google/developers-knowledge": "0.0.0", + "google/gax": "1.46.0", "google/geo-common-protos": "0.2.4", "google/grafeas": "1.7.0", "google/longrunning": "0.7.1", @@ -312,8 +314,7 @@ "google/shopping-merchant-reviews": "0.6.1", "googleads/ad-manager": "0.8.0", "googleads/data-manager": "0.6.0", - "googleads/marketingplatform-admin": "0.4.2", - "google/developer-knowledge": "0.2.1" + "googleads/marketingplatform-admin": "0.4.2" }, "suggest": { "opis/closure": "May be used to serialize closures to process jobs in the batch daemon. Please require version ^3.", @@ -383,6 +384,7 @@ "GPBMetadata\\Google\\Cloud\\Clouddms\\": "Dms/metadata", "GPBMetadata\\Google\\Cloud\\Cloudsecuritycompliance\\": "SecurityCompliance/metadata", "GPBMetadata\\Google\\Cloud\\Commerce\\Consumer\\Procurement\\": "CommerceConsumerProcurement/metadata", + "GPBMetadata\\Google\\Cloud\\Commerceproducer\\": "Commerceproducer/metadata", "GPBMetadata\\Google\\Cloud\\Common\\": "CloudCommonProtos/metadata/Common", "GPBMetadata\\Google\\Cloud\\Compute\\": "Compute/metadata", "GPBMetadata\\Google\\Cloud\\Confidentialcomputing\\": "ConfidentialComputing/metadata", @@ -631,6 +633,7 @@ "Google\\Cloud\\CloudQuotas\\": "Quotas/src", "Google\\Cloud\\CloudSecurityCompliance\\": "SecurityCompliance/src", "Google\\Cloud\\Commerce\\Consumer\\Procurement\\": "CommerceConsumerProcurement/src", + "Google\\Cloud\\Commerceproducer\\": "Commerceproducer/src", "Google\\Cloud\\Compute\\": "Compute/src", "Google\\Cloud\\ConfidentialComputing\\": "ConfidentialComputing/src", "Google\\Cloud\\ConfigDelivery\\": "ConfigDelivery/src",