diff --git a/VideoSticher/.OwlBot.yaml b/VideoSticher/.OwlBot.yaml new file mode 100644 index 00000000000..8421cea6233 --- /dev/null +++ b/VideoSticher/.OwlBot.yaml @@ -0,0 +1,4 @@ +deep-copy-regex: + - source: google/cloud/video/stitcher/v1/.*-php/(.*) + dest: /owl-bot-staging/VideoStitcher/v1/$1 +api-name: VideoStitcher diff --git a/VideoSticher/.gitattributes b/VideoSticher/.gitattributes new file mode 100644 index 00000000000..d43b60862bc --- /dev/null +++ b/VideoSticher/.gitattributes @@ -0,0 +1,3 @@ +/*.xml.dist export-ignore +/tests export-ignore +/.github export-ignore diff --git a/VideoSticher/.github/pull_request_template.md b/VideoSticher/.github/pull_request_template.md new file mode 100644 index 00000000000..21caea6d0c2 --- /dev/null +++ b/VideoSticher/.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 `VideoStitcher/src`, and tests in `VideoStitcher/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/VideoSticher/.repo-metadata.json b/VideoSticher/.repo-metadata.json new file mode 100644 index 00000000000..e6e53db6a89 --- /dev/null +++ b/VideoSticher/.repo-metadata.json @@ -0,0 +1,5 @@ +{ + "distribution_name": "google/cloud-video-stitcher", + "release_level": "beta", + "client_documentation": "http://googleapis.github.io/google-cloud-php/#/docs/cloud-video-stitcher/latest" +} diff --git a/VideoSticher/CODE_OF_CONDUCT.md b/VideoSticher/CODE_OF_CONDUCT.md new file mode 100644 index 00000000000..c3727800341 --- /dev/null +++ b/VideoSticher/CODE_OF_CONDUCT.md @@ -0,0 +1,43 @@ +# Contributor Code of Conduct + +As contributors and maintainers of this project, +and in the interest of fostering an open and welcoming community, +we pledge to respect all people who contribute through reporting issues, +posting feature requests, updating documentation, +submitting pull requests or patches, and other activities. + +We are committed to making participation in this project +a harassment-free experience for everyone, +regardless of level of experience, gender, gender identity and expression, +sexual orientation, disability, personal appearance, +body size, race, ethnicity, age, religion, or nationality. + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery +* Personal attacks +* Trolling or insulting/derogatory comments +* Public or private harassment +* Publishing other's private information, +such as physical or electronic +addresses, without explicit permission +* Other unethical or unprofessional conduct. + +Project maintainers have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct. +By adopting this Code of Conduct, +project maintainers commit themselves to fairly and consistently +applying these principles to every aspect of managing this project. +Project maintainers who do not follow or enforce the Code of Conduct +may be permanently removed from the project team. + +This code of conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. + +Instances of abusive, harassing, or otherwise unacceptable behavior +may be reported by opening an issue +or contacting one or more of the project maintainers. + +This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0, +available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/) \ No newline at end of file diff --git a/VideoSticher/CONTRIBUTING.md b/VideoSticher/CONTRIBUTING.md new file mode 100644 index 00000000000..76ea811cacd --- /dev/null +++ b/VideoSticher/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/VideoSticher/LICENSE b/VideoSticher/LICENSE new file mode 100644 index 00000000000..8f71f43fee3 --- /dev/null +++ b/VideoSticher/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/VideoSticher/README.md b/VideoSticher/README.md new file mode 100644 index 00000000000..d406b45be4b --- /dev/null +++ b/VideoSticher/README.md @@ -0,0 +1,45 @@ +# Google Cloud Video Stitcher for PHP + +> Idiomatic PHP client for [Google Cloud Video Stitcher](https://cloud.google.com/video-stitcher). + +[![Latest Stable Version](https://poser.pugx.org/google/cloud-video-stitcher/v/stable)](https://packagist.org/packages/google/cloud-video-stitcher) [![Packagist](https://img.shields.io/packagist/dm/google/cloud-video-stitcher.svg)](https://packagist.org/packages/google/cloud-video-stitcher) + +* [API documentation](http://googleapis.github.io/google-cloud-php/#/docs/cloud-video-stitcher/latest/videostitcher/readme) + +**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 to install just this component: + +```sh +$ composer require google/cloud-video-stitcher +``` + +Or to install the entire suite of components at once: + +```sh +$ composer require google/cloud +``` + +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. + +### Version + +This component is considered beta. As such, it should be expected to be mostly +stable and we're working towards a release candidate. We will address issues +and requests with a higher priority. + +### Next Steps + +1. Understand the [official documentation](https://cloud.google.com/video-stitcher/docs). diff --git a/VideoSticher/SECURITY.md b/VideoSticher/SECURITY.md new file mode 100644 index 00000000000..8b58ae9c01a --- /dev/null +++ b/VideoSticher/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/VideoSticher/VERSION b/VideoSticher/VERSION new file mode 100644 index 00000000000..77d6f4ca237 --- /dev/null +++ b/VideoSticher/VERSION @@ -0,0 +1 @@ +0.0.0 diff --git a/VideoSticher/composer.json b/VideoSticher/composer.json new file mode 100644 index 00000000000..5958c7622aa --- /dev/null +++ b/VideoSticher/composer.json @@ -0,0 +1,37 @@ +{ + "name": "google/cloud-video-stitcher", + "description": "Google Cloud Video Stitcher Client for PHP", + "license": "Apache-2.0", + "minimum-stability": "stable", + "autoload": { + "psr-4": { + "Google\\Cloud\\Video\\Stitcher\\": "src", + "GPBMetadata\\Google\\Cloud\\Video\\Stitcher\\": "metadata" + } + }, + "autoload-dev": { + "psr-4": { + "Google\\Cloud\\Video\\Stitcher\\Tests\\": "tests" + } + }, + "extra": { + "component": { + "id": "cloud-video-stitcher", + "path": "VideoStitcher", + "entry": null, + "target": "googleapis/google-cloud-php-video-stitcher.git" + } + }, + "require": { + "google/gax": "^1.12.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8|^5.0", + "google/cloud-core": "^1.31", + "phpdocumentor/reflection": "^3.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/VideoSticher/metadata/V1/AdTagDetails.php b/VideoSticher/metadata/V1/AdTagDetails.php new file mode 100644 index 00000000000..8ef313824ba --- /dev/null +++ b/VideoSticher/metadata/V1/AdTagDetails.php @@ -0,0 +1,52 @@ +internalAddGeneratedFile( + ' +¿ +3google/cloud/video/stitcher/v1/ad_tag_details.protogoogle.cloud.video.stitcher.v1google/protobuf/duration.protogoogle/protobuf/struct.proto"ÿ +LiveAdTagDetail +name ( > + ad_requests ( 2).google.cloud.video.stitcher.v1.AdRequest:êA™ +,videostitcher.googleapis.com/LiveAdTagDetailiprojects/{project}/locations/{location}/liveSessions/{live_session}/liveAdTagDetails/{live_ad_tag_detail}"ù +VodAdTagDetail +name ( > + ad_requests ( 2).google.cloud.video.stitcher.v1.AdRequest:˜êA” ++videostitcher.googleapis.com/VodAdTagDetaileprojects/{project}/locations/{location}/vodSessions/{vod_session}/vodAdTagDetails/{vod_ad_tag_detail}"° + AdRequest +uri ( I +request_metadata ( 2/.google.cloud.video.stitcher.v1.RequestMetadataK +response_metadata ( 20.google.cloud.video.stitcher.v1.ResponseMetadata"; +RequestMetadata( +headers ( 2.google.protobuf.Struct"¯ +ResponseMetadata +error ( ( +headers ( 2.google.protobuf.Struct + status_code (  + +size_bytes (+ +duration ( 2.google.protobuf.Duration +body ( B +"com.google.cloud.video.stitcher.v1BAdTagDetailsProtoPZFgoogle.golang.org/genproto/googleapis/cloud/video/stitcher/v1;stitcherbproto3' + , true); + + static::$is_initialized = true; + } +} + diff --git a/VideoSticher/metadata/V1/CdnKeys.php b/VideoSticher/metadata/V1/CdnKeys.php new file mode 100644 index 00000000000..eef7491af41 Binary files /dev/null and b/VideoSticher/metadata/V1/CdnKeys.php differ diff --git a/VideoSticher/metadata/V1/Companions.php b/VideoSticher/metadata/V1/Companions.php new file mode 100644 index 00000000000..725fc7910f8 Binary files /dev/null and b/VideoSticher/metadata/V1/Companions.php differ diff --git a/VideoSticher/metadata/V1/Events.php b/VideoSticher/metadata/V1/Events.php new file mode 100644 index 00000000000..f5185c58e9c Binary files /dev/null and b/VideoSticher/metadata/V1/Events.php differ diff --git a/VideoSticher/metadata/V1/Sessions.php b/VideoSticher/metadata/V1/Sessions.php new file mode 100644 index 00000000000..853ae50e310 Binary files /dev/null and b/VideoSticher/metadata/V1/Sessions.php differ diff --git a/VideoSticher/metadata/V1/Slates.php b/VideoSticher/metadata/V1/Slates.php new file mode 100644 index 00000000000..1c48d70ca5a --- /dev/null +++ b/VideoSticher/metadata/V1/Slates.php @@ -0,0 +1,33 @@ +internalAddGeneratedFile( + ' +ø ++google/cloud/video/stitcher/v1/slates.protogoogle.cloud.video.stitcher.v1google/api/resource.proto"ˆ +Slate +name ( BàA +uri ( :_êA\\ +"videostitcher.googleapis.com/Slate6projects/{project}/locations/{location}/slates/{slate}B{ +"com.google.cloud.video.stitcher.v1B SlatesProtoPZFgoogle.golang.org/genproto/googleapis/cloud/video/stitcher/v1;stitcherbproto3' + , true); + + static::$is_initialized = true; + } +} + diff --git a/VideoSticher/metadata/V1/StitchDetails.php b/VideoSticher/metadata/V1/StitchDetails.php new file mode 100644 index 00000000000..ec39ff61824 --- /dev/null +++ b/VideoSticher/metadata/V1/StitchDetails.php @@ -0,0 +1,45 @@ +internalAddGeneratedFile( + ' +í +3google/cloud/video/stitcher/v1/stitch_details.protogoogle.cloud.video.stitcher.v1google/api/resource.protogoogle/protobuf/duration.protogoogle/protobuf/struct.proto"‡ +VodStitchDetail +name ( I +ad_stitch_details ( 2..google.cloud.video.stitcher.v1.AdStitchDetail:šêA– +,videostitcher.googleapis.com/VodStitchDetailfprojects/{project}/locations/{location}/vodSessions/{vod_session}/vodStitchDetails/{vod_stitch_detail}"¥ +AdStitchDetail + ad_break_id ( BàA +ad_id ( BàA6 +ad_time_offset ( 2.google.protobuf.DurationBàA + skip_reason ( BàAM +media ( 29.google.cloud.video.stitcher.v1.AdStitchDetail.MediaEntryBàAD + +MediaEntry +key ( % +value ( 2.google.protobuf.Value:8B‚ +"com.google.cloud.video.stitcher.v1BStitchDetailsProtoPZFgoogle.golang.org/genproto/googleapis/cloud/video/stitcher/v1;stitcherbproto3' + , true); + + static::$is_initialized = true; + } +} + diff --git a/VideoSticher/metadata/V1/VideoStitcherService.php b/VideoSticher/metadata/V1/VideoStitcherService.php new file mode 100644 index 00000000000..b7e7cf68bc8 --- /dev/null +++ b/VideoSticher/metadata/V1/VideoStitcherService.php @@ -0,0 +1,157 @@ +internalAddGeneratedFile( + ' +‘= +;google/cloud/video/stitcher/v1/video_stitcher_service.protogoogle.cloud.video.stitcher.v1google/api/client.protogoogle/api/field_behavior.protogoogle/api/resource.proto3google/cloud/video/stitcher/v1/ad_tag_details.proto-google/cloud/video/stitcher/v1/cdn_keys.proto-google/cloud/video/stitcher/v1/sessions.proto+google/cloud/video/stitcher/v1/slates.proto3google/cloud/video/stitcher/v1/stitch_details.protogoogle/protobuf/duration.protogoogle/protobuf/empty.proto google/protobuf/field_mask.protogoogle/protobuf/timestamp.proto"© +CreateCdnKeyRequest; +parent ( B+àAúA%#videostitcher.googleapis.com/CdnKey< +cdn_key ( 2&.google.cloud.video.stitcher.v1.CdnKeyBàA + +cdn_key_id ( BàA"š +ListCdnKeysRequest; +parent ( B+àAúA%#videostitcher.googleapis.com/CdnKey + page_size ( + +page_token (  +filter (  +order_by ( "} +ListCdnKeysResponse8 +cdn_keys ( 2&.google.cloud.video.stitcher.v1.CdnKey +next_page_token (  + unreachable ( "M +GetCdnKeyRequest9 +name ( B+àAúA% +#videostitcher.googleapis.com/CdnKey"P +DeleteCdnKeyRequest9 +name ( B+àAúA% +#videostitcher.googleapis.com/CdnKey"‰ +UpdateCdnKeyRequest< +cdn_key ( 2&.google.cloud.video.stitcher.v1.CdnKeyBàA4 + update_mask ( 2.google.protobuf.FieldMaskBàA"  +CreateVodSessionRequest? +parent ( B/àAúA)\'videostitcher.googleapis.com/VodSessionD + vod_session ( 2*.google.cloud.video.stitcher.v1.VodSessionBàA"U +GetVodSessionRequest= +name ( B/àAúA) +\'videostitcher.googleapis.com/VodSession"Š +ListVodStitchDetailsRequestD +parent ( B4àAúA.,videostitcher.googleapis.com/VodStitchDetail + page_size ( + +page_token ( "„ +ListVodStitchDetailsResponseK +vod_stitch_details ( 2/.google.cloud.video.stitcher.v1.VodStitchDetail +next_page_token ( "_ +GetVodStitchDetailRequestB +name ( B4àAúA. +,videostitcher.googleapis.com/VodStitchDetail"ˆ +ListVodAdTagDetailsRequestC +parent ( B3àAúA-+videostitcher.googleapis.com/VodAdTagDetail + page_size ( + +page_token ( "‚ +ListVodAdTagDetailsResponseJ +vod_ad_tag_details ( 2..google.cloud.video.stitcher.v1.VodAdTagDetail +next_page_token ( "] +GetVodAdTagDetailRequestA +name ( B3àAúA- ++videostitcher.googleapis.com/VodAdTagDetail"Š +ListLiveAdTagDetailsRequestD +parent ( B4àAúA.,videostitcher.googleapis.com/LiveAdTagDetail + page_size ( + +page_token ( "… +ListLiveAdTagDetailsResponseL +live_ad_tag_details ( 2/.google.cloud.video.stitcher.v1.LiveAdTagDetail +next_page_token ( "_ +GetLiveAdTagDetailRequestB +name ( B4àAúA. +,videostitcher.googleapis.com/LiveAdTagDetail"¢ +CreateSlateRequest: +parent ( B*àAúA$"videostitcher.googleapis.com/Slate +slate_id ( BàA9 +slate ( 2%.google.cloud.video.stitcher.v1.SlateBàA"K +GetSlateRequest8 +name ( B*àAúA$ +"videostitcher.googleapis.com/Slate"˜ +ListSlatesRequest: +parent ( B*àAúA$"videostitcher.googleapis.com/Slate + page_size ( + +page_token (  +filter (  +order_by ( "y +ListSlatesResponse5 +slates ( 2%.google.cloud.video.stitcher.v1.Slate +next_page_token (  + unreachable ( "… +UpdateSlateRequest9 +slate ( 2%.google.cloud.video.stitcher.v1.SlateBàA4 + update_mask ( 2.google.protobuf.FieldMaskBàA"N +DeleteSlateRequest8 +name ( B*àAúA$ +"videostitcher.googleapis.com/Slate"¤ +CreateLiveSessionRequest@ +parent ( B0àAúA* +(videostitcher.googleapis.com/LiveSessionF + live_session ( 2+.google.cloud.video.stitcher.v1.LiveSessionBàA"W +GetLiveSessionRequest> +name ( B0àAúA* +(videostitcher.googleapis.com/LiveSession2ª +VideoStitcherServiceÅ + CreateCdnKey3.google.cloud.video.stitcher.v1.CreateCdnKeyRequest&.google.cloud.video.stitcher.v1.CdnKey"X‚Óä“6"+/v1/{parent=projects/*/locations/*}/cdnKeys:cdn_keyÚAparent,cdn_key,cdn_key_id´ + ListCdnKeys2.google.cloud.video.stitcher.v1.ListCdnKeysRequest3.google.cloud.video.stitcher.v1.ListCdnKeysResponse"<‚Óä“-+/v1/{parent=projects/*/locations/*}/cdnKeysÚAparent¡ + GetCdnKey0.google.cloud.video.stitcher.v1.GetCdnKeyRequest&.google.cloud.video.stitcher.v1.CdnKey":‚Óä“-+/v1/{name=projects/*/locations/*/cdnKeys/*}ÚAname— + DeleteCdnKey3.google.cloud.video.stitcher.v1.DeleteCdnKeyRequest.google.protobuf.Empty":‚Óä“-*+/v1/{name=projects/*/locations/*/cdnKeys/*}ÚAnameÇ + UpdateCdnKey3.google.cloud.video.stitcher.v1.UpdateCdnKeyRequest&.google.cloud.video.stitcher.v1.CdnKey"Z‚Óä“>23/v1/{cdn_key.name=projects/*/locations/*/cdnKeys/*}:cdn_keyÚAcdn_key,update_maskÒ +CreateVodSession7.google.cloud.video.stitcher.v1.CreateVodSessionRequest*.google.cloud.video.stitcher.v1.VodSession"Y‚Óä“>"//v1/{parent=projects/*/locations/*}/vodSessions: vod_sessionÚAparent,vod_session± + GetVodSession4.google.cloud.video.stitcher.v1.GetVodSessionRequest*.google.cloud.video.stitcher.v1.VodSession">‚Óä“1//v1/{name=projects/*/locations/*/vodSessions/*}ÚAnameæ +ListVodStitchDetails;.google.cloud.video.stitcher.v1.ListVodStitchDetailsRequest<.google.cloud.video.stitcher.v1.ListVodStitchDetailsResponse"S‚Óä“DB/v1/{parent=projects/*/locations/*/vodSessions/*}/vodStitchDetailsÚAparentÓ +GetVodStitchDetail9.google.cloud.video.stitcher.v1.GetVodStitchDetailRequest/.google.cloud.video.stitcher.v1.VodStitchDetail"Q‚Óä“DB/v1/{name=projects/*/locations/*/vodSessions/*/vodStitchDetails/*}ÚAnameâ +ListVodAdTagDetails:.google.cloud.video.stitcher.v1.ListVodAdTagDetailsRequest;.google.cloud.video.stitcher.v1.ListVodAdTagDetailsResponse"R‚Óä“CA/v1/{parent=projects/*/locations/*/vodSessions/*}/vodAdTagDetailsÚAparentÏ +GetVodAdTagDetail8.google.cloud.video.stitcher.v1.GetVodAdTagDetailRequest..google.cloud.video.stitcher.v1.VodAdTagDetail"P‚Óä“CA/v1/{name=projects/*/locations/*/vodSessions/*/vodAdTagDetails/*}ÚAnameç +ListLiveAdTagDetails;.google.cloud.video.stitcher.v1.ListLiveAdTagDetailsRequest<.google.cloud.video.stitcher.v1.ListLiveAdTagDetailsResponse"T‚Óä“EC/v1/{parent=projects/*/locations/*/liveSessions/*}/liveAdTagDetailsÚAparentÔ +GetLiveAdTagDetail9.google.cloud.video.stitcher.v1.GetLiveAdTagDetailRequest/.google.cloud.video.stitcher.v1.LiveAdTagDetail"R‚Óä“EC/v1/{name=projects/*/locations/*/liveSessions/*/liveAdTagDetails/*}ÚAname» + CreateSlate2.google.cloud.video.stitcher.v1.CreateSlateRequest%.google.cloud.video.stitcher.v1.Slate"Q‚Óä“3"*/v1/{parent=projects/*/locations/*}/slates:slateÚAparent,slate,slate_id° + +ListSlates1.google.cloud.video.stitcher.v1.ListSlatesRequest2.google.cloud.video.stitcher.v1.ListSlatesResponse";‚Óä“,*/v1/{parent=projects/*/locations/*}/slatesÚAparent +GetSlate/.google.cloud.video.stitcher.v1.GetSlateRequest%.google.cloud.video.stitcher.v1.Slate"9‚Óä“,*/v1/{name=projects/*/locations/*/slates/*}ÚAname½ + UpdateSlate2.google.cloud.video.stitcher.v1.UpdateSlateRequest%.google.cloud.video.stitcher.v1.Slate"S‚Óä“920/v1/{slate.name=projects/*/locations/*/slates/*}:slateÚAslate,update_mask” + DeleteSlate2.google.cloud.video.stitcher.v1.DeleteSlateRequest.google.protobuf.Empty"9‚Óä“,**/v1/{name=projects/*/locations/*/slates/*}ÚAnameØ +CreateLiveSession8.google.cloud.video.stitcher.v1.CreateLiveSessionRequest+.google.cloud.video.stitcher.v1.LiveSession"\\‚Óä“@"0/v1/{parent=projects/*/locations/*}/liveSessions: live_sessionÚAparent,live_sessionµ +GetLiveSession5.google.cloud.video.stitcher.v1.GetLiveSessionRequest+.google.cloud.video.stitcher.v1.LiveSession"?‚Óä“20/v1/{name=projects/*/locations/*/liveSessions/*}ÚAnamePÊAvideostitcher.googleapis.comÒA.https://www.googleapis.com/auth/cloud-platformB‰ +"com.google.cloud.video.stitcher.v1BVideoStitcherServiceProtoPZFgoogle.golang.org/genproto/googleapis/cloud/video/stitcher/v1;stitcherbproto3' + , true); + + static::$is_initialized = true; + } +} + diff --git a/VideoSticher/owlbot.py b/VideoSticher/owlbot.py new file mode 100644 index 00000000000..7fa5c3f7f1d --- /dev/null +++ b/VideoSticher/owlbot.py @@ -0,0 +1,113 @@ +# Copyright 2022 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}/VideoStitcher").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, + copy_excludes=[ + src / "**/[A-Z]*_*.php" + ] +) + + +# document and utilize apiEndpoint instead of serviceAddress +s.replace( + "**/Gapic/*GapicClient.php", + r"'serviceAddress' =>", + r"'apiEndpoint' =>") +s.replace( + "**/Gapic/*GapicClient.php", + r"@type string \$serviceAddress\n\s+\*\s+The address", + r"""@type string $serviceAddress + * **Deprecated**. This option will be removed in a future major release. Please + * utilize the `$apiEndpoint` option instead. + * @type string $apiEndpoint + * The address""") +s.replace( + "**/Gapic/*GapicClient.php", + r"\$transportConfig, and any \$serviceAddress", + r"$transportConfig, and any `$apiEndpoint`") + +# remove class_alias code +s.replace( + "src/V*/**/*.php", + r"^// Adding a class alias for backwards compatibility with the previous class name.$" + + "\n" + + r"^class_alias\(.*\);$" + + "\n", + '') + +### [START] protoc backwards compatibility fixes + +# roll back to private properties. +s.replace( + "src/**/V*/**/*.php", + r"Generated from protobuf field ([^\n]{0,})\n\s{5}\*/\n\s{4}protected \$", + r"""Generated from protobuf field \1 + */ + private $""") + +# prevent proto messages from being marked final +s.replace( + "src/**/V*/**/*.php", + r"final class", + r"class") + +# Replace "Unwrapped" with "Value" for method names. +s.replace( + "src/**/V*/**/*.php", + r"public function ([s|g]\w{3,})Unwrapped", + r"public function \1Value" +) + +### [END] protoc backwards compatibility fixes + +# fix relative cloud.google.com links +s.replace( + "src/**/V*/**/*.php", + r"(.{0,})\]\((/.{0,})\)", + r"\1](https://cloud.google.com\2)" +) + +# format generated clients +subprocess.run([ + 'npm', + 'exec', + '--yes', + '--package=@prettier/plugin-php@^0.16', + '--', + 'prettier', + '**/Gapic/*', + '--write', + '--parser=php', + '--single-quote', + '--print-width=80']) diff --git a/VideoSticher/phpunit-snippets.xml.dist b/VideoSticher/phpunit-snippets.xml.dist new file mode 100644 index 00000000000..b92fd83e3c1 --- /dev/null +++ b/VideoSticher/phpunit-snippets.xml.dist @@ -0,0 +1,19 @@ + + + + + tests/Snippet + + + + + src + + src/V[!a-zA-Z]* + + + + diff --git a/VideoSticher/phpunit-system.xml.dist b/VideoSticher/phpunit-system.xml.dist new file mode 100644 index 00000000000..6ad255f35f5 --- /dev/null +++ b/VideoSticher/phpunit-system.xml.dist @@ -0,0 +1,16 @@ + + + + + tests/System + + + + + src + + src/V[!a-zA-Z]* + + + + diff --git a/VideoSticher/phpunit.xml.dist b/VideoSticher/phpunit.xml.dist new file mode 100644 index 00000000000..1c2b8f6b56d --- /dev/null +++ b/VideoSticher/phpunit.xml.dist @@ -0,0 +1,16 @@ + + + + + tests/Unit + + + + + src + + src/V[!a-zA-Z]* + + + + diff --git a/VideoSticher/src/V1/AdRequest.php b/VideoSticher/src/V1/AdRequest.php new file mode 100644 index 00000000000..847fe5395ed --- /dev/null +++ b/VideoSticher/src/V1/AdRequest.php @@ -0,0 +1,155 @@ +google.cloud.video.stitcher.v1.AdRequest + */ +class AdRequest extends \Google\Protobuf\Internal\Message +{ + /** + * The ad tag URI processed with integrated macros. + * + * Generated from protobuf field string uri = 1; + */ + private $uri = ''; + /** + * The request metadata used to make the ad request. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.RequestMetadata request_metadata = 2; + */ + private $request_metadata = null; + /** + * The response metadata received from the ad request. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.ResponseMetadata response_metadata = 3; + */ + private $response_metadata = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $uri + * The ad tag URI processed with integrated macros. + * @type \Google\Cloud\Video\Stitcher\V1\RequestMetadata $request_metadata + * The request metadata used to make the ad request. + * @type \Google\Cloud\Video\Stitcher\V1\ResponseMetadata $response_metadata + * The response metadata received from the ad request. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\AdTagDetails::initOnce(); + parent::__construct($data); + } + + /** + * The ad tag URI processed with integrated macros. + * + * Generated from protobuf field string uri = 1; + * @return string + */ + public function getUri() + { + return $this->uri; + } + + /** + * The ad tag URI processed with integrated macros. + * + * Generated from protobuf field string uri = 1; + * @param string $var + * @return $this + */ + public function setUri($var) + { + GPBUtil::checkString($var, True); + $this->uri = $var; + + return $this; + } + + /** + * The request metadata used to make the ad request. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.RequestMetadata request_metadata = 2; + * @return \Google\Cloud\Video\Stitcher\V1\RequestMetadata|null + */ + public function getRequestMetadata() + { + return $this->request_metadata; + } + + public function hasRequestMetadata() + { + return isset($this->request_metadata); + } + + public function clearRequestMetadata() + { + unset($this->request_metadata); + } + + /** + * The request metadata used to make the ad request. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.RequestMetadata request_metadata = 2; + * @param \Google\Cloud\Video\Stitcher\V1\RequestMetadata $var + * @return $this + */ + public function setRequestMetadata($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Video\Stitcher\V1\RequestMetadata::class); + $this->request_metadata = $var; + + return $this; + } + + /** + * The response metadata received from the ad request. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.ResponseMetadata response_metadata = 3; + * @return \Google\Cloud\Video\Stitcher\V1\ResponseMetadata|null + */ + public function getResponseMetadata() + { + return $this->response_metadata; + } + + public function hasResponseMetadata() + { + return isset($this->response_metadata); + } + + public function clearResponseMetadata() + { + unset($this->response_metadata); + } + + /** + * The response metadata received from the ad request. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.ResponseMetadata response_metadata = 3; + * @param \Google\Cloud\Video\Stitcher\V1\ResponseMetadata $var + * @return $this + */ + public function setResponseMetadata($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Video\Stitcher\V1\ResponseMetadata::class); + $this->response_metadata = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/AdStitchDetail.php b/VideoSticher/src/V1/AdStitchDetail.php new file mode 100644 index 00000000000..9761089cea6 --- /dev/null +++ b/VideoSticher/src/V1/AdStitchDetail.php @@ -0,0 +1,213 @@ +google.cloud.video.stitcher.v1.AdStitchDetail + */ +class AdStitchDetail extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The ad break ID of the processed ad. + * + * Generated from protobuf field string ad_break_id = 1 [(.google.api.field_behavior) = REQUIRED]; + */ + private $ad_break_id = ''; + /** + * Required. The ad ID of the processed ad. + * + * Generated from protobuf field string ad_id = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + private $ad_id = ''; + /** + * Required. The time offset of the processed ad. + * + * Generated from protobuf field .google.protobuf.Duration ad_time_offset = 3 [(.google.api.field_behavior) = REQUIRED]; + */ + private $ad_time_offset = null; + /** + * Optional. Indicates the reason why the ad has been skipped. + * + * Generated from protobuf field string skip_reason = 4 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $skip_reason = ''; + /** + * Optional. The metadata of the chosen media file for the ad. + * + * Generated from protobuf field map media = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $media; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $ad_break_id + * Required. The ad break ID of the processed ad. + * @type string $ad_id + * Required. The ad ID of the processed ad. + * @type \Google\Protobuf\Duration $ad_time_offset + * Required. The time offset of the processed ad. + * @type string $skip_reason + * Optional. Indicates the reason why the ad has been skipped. + * @type array|\Google\Protobuf\Internal\MapField $media + * Optional. The metadata of the chosen media file for the ad. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\StitchDetails::initOnce(); + parent::__construct($data); + } + + /** + * Required. The ad break ID of the processed ad. + * + * Generated from protobuf field string ad_break_id = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getAdBreakId() + { + return $this->ad_break_id; + } + + /** + * Required. The ad break ID of the processed ad. + * + * Generated from protobuf field string ad_break_id = 1 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setAdBreakId($var) + { + GPBUtil::checkString($var, True); + $this->ad_break_id = $var; + + return $this; + } + + /** + * Required. The ad ID of the processed ad. + * + * Generated from protobuf field string ad_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getAdId() + { + return $this->ad_id; + } + + /** + * Required. The ad ID of the processed ad. + * + * Generated from protobuf field string ad_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setAdId($var) + { + GPBUtil::checkString($var, True); + $this->ad_id = $var; + + return $this; + } + + /** + * Required. The time offset of the processed ad. + * + * Generated from protobuf field .google.protobuf.Duration ad_time_offset = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Protobuf\Duration|null + */ + public function getAdTimeOffset() + { + return $this->ad_time_offset; + } + + public function hasAdTimeOffset() + { + return isset($this->ad_time_offset); + } + + public function clearAdTimeOffset() + { + unset($this->ad_time_offset); + } + + /** + * Required. The time offset of the processed ad. + * + * Generated from protobuf field .google.protobuf.Duration ad_time_offset = 3 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setAdTimeOffset($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->ad_time_offset = $var; + + return $this; + } + + /** + * Optional. Indicates the reason why the ad has been skipped. + * + * Generated from protobuf field string skip_reason = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getSkipReason() + { + return $this->skip_reason; + } + + /** + * Optional. Indicates the reason why the ad has been skipped. + * + * Generated from protobuf field string skip_reason = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setSkipReason($var) + { + GPBUtil::checkString($var, True); + $this->skip_reason = $var; + + return $this; + } + + /** + * Optional. The metadata of the chosen media file for the ad. + * + * Generated from protobuf field map media = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Protobuf\Internal\MapField + */ + public function getMedia() + { + return $this->media; + } + + /** + * Optional. The metadata of the chosen media file for the ad. + * + * Generated from protobuf field map media = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param array|\Google\Protobuf\Internal\MapField $var + * @return $this + */ + public function setMedia($var) + { + $arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Value::class); + $this->media = $arr; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/AdTag.php b/VideoSticher/src/V1/AdTag.php new file mode 100644 index 00000000000..413ee1ce3e7 --- /dev/null +++ b/VideoSticher/src/V1/AdTag.php @@ -0,0 +1,67 @@ +google.cloud.video.stitcher.v1.AdTag + */ +class AdTag extends \Google\Protobuf\Internal\Message +{ + /** + * Ad tag URI template. + * + * Generated from protobuf field string uri = 1; + */ + private $uri = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $uri + * Ad tag URI template. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\Sessions::initOnce(); + parent::__construct($data); + } + + /** + * Ad tag URI template. + * + * Generated from protobuf field string uri = 1; + * @return string + */ + public function getUri() + { + return $this->uri; + } + + /** + * Ad tag URI template. + * + * Generated from protobuf field string uri = 1; + * @param string $var + * @return $this + */ + public function setUri($var) + { + GPBUtil::checkString($var, True); + $this->uri = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/AkamaiCdnKey.php b/VideoSticher/src/V1/AkamaiCdnKey.php new file mode 100644 index 00000000000..b115199aeaf --- /dev/null +++ b/VideoSticher/src/V1/AkamaiCdnKey.php @@ -0,0 +1,67 @@ +google.cloud.video.stitcher.v1.AkamaiCdnKey + */ +class AkamaiCdnKey extends \Google\Protobuf\Internal\Message +{ + /** + * Input only. Token key for the Akamai CDN edge configuration. + * + * Generated from protobuf field bytes token_key = 1 [(.google.api.field_behavior) = INPUT_ONLY]; + */ + private $token_key = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $token_key + * Input only. Token key for the Akamai CDN edge configuration. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\CdnKeys::initOnce(); + parent::__construct($data); + } + + /** + * Input only. Token key for the Akamai CDN edge configuration. + * + * Generated from protobuf field bytes token_key = 1 [(.google.api.field_behavior) = INPUT_ONLY]; + * @return string + */ + public function getTokenKey() + { + return $this->token_key; + } + + /** + * Input only. Token key for the Akamai CDN edge configuration. + * + * Generated from protobuf field bytes token_key = 1 [(.google.api.field_behavior) = INPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setTokenKey($var) + { + GPBUtil::checkString($var, False); + $this->token_key = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/CdnKey.php b/VideoSticher/src/V1/CdnKey.php new file mode 100644 index 00000000000..3594f7d8f02 --- /dev/null +++ b/VideoSticher/src/V1/CdnKey.php @@ -0,0 +1,186 @@ +google.cloud.video.stitcher.v1.CdnKey + */ +class CdnKey extends \Google\Protobuf\Internal\Message +{ + /** + * The resource name of the CDN key, in the form of + * `projects/{project}/locations/{location}/cdnKeys/{id}`. + * The name is ignored when creating a CDN key. + * + * Generated from protobuf field string name = 1; + */ + private $name = ''; + /** + * The hostname this key applies to. + * + * Generated from protobuf field string hostname = 4; + */ + private $hostname = ''; + protected $cdn_key_config; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Video\Stitcher\V1\GoogleCdnKey $google_cdn_key + * The configuration for a Google Cloud CDN key. + * @type \Google\Cloud\Video\Stitcher\V1\AkamaiCdnKey $akamai_cdn_key + * The configuration for an Akamai CDN key. + * @type string $name + * The resource name of the CDN key, in the form of + * `projects/{project}/locations/{location}/cdnKeys/{id}`. + * The name is ignored when creating a CDN key. + * @type string $hostname + * The hostname this key applies to. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\CdnKeys::initOnce(); + parent::__construct($data); + } + + /** + * The configuration for a Google Cloud CDN key. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.GoogleCdnKey google_cdn_key = 5; + * @return \Google\Cloud\Video\Stitcher\V1\GoogleCdnKey|null + */ + public function getGoogleCdnKey() + { + return $this->readOneof(5); + } + + public function hasGoogleCdnKey() + { + return $this->hasOneof(5); + } + + /** + * The configuration for a Google Cloud CDN key. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.GoogleCdnKey google_cdn_key = 5; + * @param \Google\Cloud\Video\Stitcher\V1\GoogleCdnKey $var + * @return $this + */ + public function setGoogleCdnKey($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Video\Stitcher\V1\GoogleCdnKey::class); + $this->writeOneof(5, $var); + + return $this; + } + + /** + * The configuration for an Akamai CDN key. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.AkamaiCdnKey akamai_cdn_key = 6; + * @return \Google\Cloud\Video\Stitcher\V1\AkamaiCdnKey|null + */ + public function getAkamaiCdnKey() + { + return $this->readOneof(6); + } + + public function hasAkamaiCdnKey() + { + return $this->hasOneof(6); + } + + /** + * The configuration for an Akamai CDN key. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.AkamaiCdnKey akamai_cdn_key = 6; + * @param \Google\Cloud\Video\Stitcher\V1\AkamaiCdnKey $var + * @return $this + */ + public function setAkamaiCdnKey($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Video\Stitcher\V1\AkamaiCdnKey::class); + $this->writeOneof(6, $var); + + return $this; + } + + /** + * The resource name of the CDN key, in the form of + * `projects/{project}/locations/{location}/cdnKeys/{id}`. + * The name is ignored when creating a CDN key. + * + * Generated from protobuf field string name = 1; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * The resource name of the CDN key, in the form of + * `projects/{project}/locations/{location}/cdnKeys/{id}`. + * The name is ignored when creating a CDN key. + * + * Generated from protobuf field string name = 1; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * The hostname this key applies to. + * + * Generated from protobuf field string hostname = 4; + * @return string + */ + public function getHostname() + { + return $this->hostname; + } + + /** + * The hostname this key applies to. + * + * Generated from protobuf field string hostname = 4; + * @param string $var + * @return $this + */ + public function setHostname($var) + { + GPBUtil::checkString($var, True); + $this->hostname = $var; + + return $this; + } + + /** + * @return string + */ + public function getCdnKeyConfig() + { + return $this->whichOneof("cdn_key_config"); + } + +} + diff --git a/VideoSticher/src/V1/Companion.php b/VideoSticher/src/V1/Companion.php new file mode 100644 index 00000000000..a7b21361f4f --- /dev/null +++ b/VideoSticher/src/V1/Companion.php @@ -0,0 +1,455 @@ +google.cloud.video.stitcher.v1.Companion + */ +class Companion extends \Google\Protobuf\Internal\Message +{ + /** + * The API necessary to communicate with the creative if available. + * + * Generated from protobuf field string api_framework = 1; + */ + private $api_framework = ''; + /** + * The pixel height of the placement slot for the intended creative. + * + * Generated from protobuf field int32 height_px = 2; + */ + private $height_px = 0; + /** + * The pixel width of the placement slot for the intended creative. + * + * Generated from protobuf field int32 width_px = 3; + */ + private $width_px = 0; + /** + * The pixel height of the creative. + * + * Generated from protobuf field int32 asset_height_px = 4; + */ + private $asset_height_px = 0; + /** + * The maximum pixel height of the creative in its expanded state. + * + * Generated from protobuf field int32 expanded_height_px = 5; + */ + private $expanded_height_px = 0; + /** + * The pixel width of the creative. + * + * Generated from protobuf field int32 asset_width_px = 6; + */ + private $asset_width_px = 0; + /** + * The maximum pixel width of the creative in its expanded state. + * + * Generated from protobuf field int32 expanded_width_px = 7; + */ + private $expanded_width_px = 0; + /** + * The ID used to identify the desired placement on a publisher's page. + * Values to be used should be discussed between publishers and + * advertisers. + * + * Generated from protobuf field string ad_slot_id = 8; + */ + private $ad_slot_id = ''; + /** + * The list of tracking events for the companion. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.Event events = 9; + */ + private $events; + protected $ad_resource; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Video\Stitcher\V1\IframeAdResource $iframe_ad_resource + * The IFrame ad resource associated with the companion ad. + * @type \Google\Cloud\Video\Stitcher\V1\StaticAdResource $static_ad_resource + * The static ad resource associated with the companion ad. + * @type \Google\Cloud\Video\Stitcher\V1\HtmlAdResource $html_ad_resource + * The HTML ad resource associated with the companion ad. + * @type string $api_framework + * The API necessary to communicate with the creative if available. + * @type int $height_px + * The pixel height of the placement slot for the intended creative. + * @type int $width_px + * The pixel width of the placement slot for the intended creative. + * @type int $asset_height_px + * The pixel height of the creative. + * @type int $expanded_height_px + * The maximum pixel height of the creative in its expanded state. + * @type int $asset_width_px + * The pixel width of the creative. + * @type int $expanded_width_px + * The maximum pixel width of the creative in its expanded state. + * @type string $ad_slot_id + * The ID used to identify the desired placement on a publisher's page. + * Values to be used should be discussed between publishers and + * advertisers. + * @type \Google\Cloud\Video\Stitcher\V1\Event[]|\Google\Protobuf\Internal\RepeatedField $events + * The list of tracking events for the companion. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\Companions::initOnce(); + parent::__construct($data); + } + + /** + * The IFrame ad resource associated with the companion ad. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.IframeAdResource iframe_ad_resource = 10; + * @return \Google\Cloud\Video\Stitcher\V1\IframeAdResource|null + */ + public function getIframeAdResource() + { + return $this->readOneof(10); + } + + public function hasIframeAdResource() + { + return $this->hasOneof(10); + } + + /** + * The IFrame ad resource associated with the companion ad. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.IframeAdResource iframe_ad_resource = 10; + * @param \Google\Cloud\Video\Stitcher\V1\IframeAdResource $var + * @return $this + */ + public function setIframeAdResource($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Video\Stitcher\V1\IframeAdResource::class); + $this->writeOneof(10, $var); + + return $this; + } + + /** + * The static ad resource associated with the companion ad. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.StaticAdResource static_ad_resource = 11; + * @return \Google\Cloud\Video\Stitcher\V1\StaticAdResource|null + */ + public function getStaticAdResource() + { + return $this->readOneof(11); + } + + public function hasStaticAdResource() + { + return $this->hasOneof(11); + } + + /** + * The static ad resource associated with the companion ad. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.StaticAdResource static_ad_resource = 11; + * @param \Google\Cloud\Video\Stitcher\V1\StaticAdResource $var + * @return $this + */ + public function setStaticAdResource($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Video\Stitcher\V1\StaticAdResource::class); + $this->writeOneof(11, $var); + + return $this; + } + + /** + * The HTML ad resource associated with the companion ad. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.HtmlAdResource html_ad_resource = 12; + * @return \Google\Cloud\Video\Stitcher\V1\HtmlAdResource|null + */ + public function getHtmlAdResource() + { + return $this->readOneof(12); + } + + public function hasHtmlAdResource() + { + return $this->hasOneof(12); + } + + /** + * The HTML ad resource associated with the companion ad. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.HtmlAdResource html_ad_resource = 12; + * @param \Google\Cloud\Video\Stitcher\V1\HtmlAdResource $var + * @return $this + */ + public function setHtmlAdResource($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Video\Stitcher\V1\HtmlAdResource::class); + $this->writeOneof(12, $var); + + return $this; + } + + /** + * The API necessary to communicate with the creative if available. + * + * Generated from protobuf field string api_framework = 1; + * @return string + */ + public function getApiFramework() + { + return $this->api_framework; + } + + /** + * The API necessary to communicate with the creative if available. + * + * Generated from protobuf field string api_framework = 1; + * @param string $var + * @return $this + */ + public function setApiFramework($var) + { + GPBUtil::checkString($var, True); + $this->api_framework = $var; + + return $this; + } + + /** + * The pixel height of the placement slot for the intended creative. + * + * Generated from protobuf field int32 height_px = 2; + * @return int + */ + public function getHeightPx() + { + return $this->height_px; + } + + /** + * The pixel height of the placement slot for the intended creative. + * + * Generated from protobuf field int32 height_px = 2; + * @param int $var + * @return $this + */ + public function setHeightPx($var) + { + GPBUtil::checkInt32($var); + $this->height_px = $var; + + return $this; + } + + /** + * The pixel width of the placement slot for the intended creative. + * + * Generated from protobuf field int32 width_px = 3; + * @return int + */ + public function getWidthPx() + { + return $this->width_px; + } + + /** + * The pixel width of the placement slot for the intended creative. + * + * Generated from protobuf field int32 width_px = 3; + * @param int $var + * @return $this + */ + public function setWidthPx($var) + { + GPBUtil::checkInt32($var); + $this->width_px = $var; + + return $this; + } + + /** + * The pixel height of the creative. + * + * Generated from protobuf field int32 asset_height_px = 4; + * @return int + */ + public function getAssetHeightPx() + { + return $this->asset_height_px; + } + + /** + * The pixel height of the creative. + * + * Generated from protobuf field int32 asset_height_px = 4; + * @param int $var + * @return $this + */ + public function setAssetHeightPx($var) + { + GPBUtil::checkInt32($var); + $this->asset_height_px = $var; + + return $this; + } + + /** + * The maximum pixel height of the creative in its expanded state. + * + * Generated from protobuf field int32 expanded_height_px = 5; + * @return int + */ + public function getExpandedHeightPx() + { + return $this->expanded_height_px; + } + + /** + * The maximum pixel height of the creative in its expanded state. + * + * Generated from protobuf field int32 expanded_height_px = 5; + * @param int $var + * @return $this + */ + public function setExpandedHeightPx($var) + { + GPBUtil::checkInt32($var); + $this->expanded_height_px = $var; + + return $this; + } + + /** + * The pixel width of the creative. + * + * Generated from protobuf field int32 asset_width_px = 6; + * @return int + */ + public function getAssetWidthPx() + { + return $this->asset_width_px; + } + + /** + * The pixel width of the creative. + * + * Generated from protobuf field int32 asset_width_px = 6; + * @param int $var + * @return $this + */ + public function setAssetWidthPx($var) + { + GPBUtil::checkInt32($var); + $this->asset_width_px = $var; + + return $this; + } + + /** + * The maximum pixel width of the creative in its expanded state. + * + * Generated from protobuf field int32 expanded_width_px = 7; + * @return int + */ + public function getExpandedWidthPx() + { + return $this->expanded_width_px; + } + + /** + * The maximum pixel width of the creative in its expanded state. + * + * Generated from protobuf field int32 expanded_width_px = 7; + * @param int $var + * @return $this + */ + public function setExpandedWidthPx($var) + { + GPBUtil::checkInt32($var); + $this->expanded_width_px = $var; + + return $this; + } + + /** + * The ID used to identify the desired placement on a publisher's page. + * Values to be used should be discussed between publishers and + * advertisers. + * + * Generated from protobuf field string ad_slot_id = 8; + * @return string + */ + public function getAdSlotId() + { + return $this->ad_slot_id; + } + + /** + * The ID used to identify the desired placement on a publisher's page. + * Values to be used should be discussed between publishers and + * advertisers. + * + * Generated from protobuf field string ad_slot_id = 8; + * @param string $var + * @return $this + */ + public function setAdSlotId($var) + { + GPBUtil::checkString($var, True); + $this->ad_slot_id = $var; + + return $this; + } + + /** + * The list of tracking events for the companion. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.Event events = 9; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getEvents() + { + return $this->events; + } + + /** + * The list of tracking events for the companion. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.Event events = 9; + * @param \Google\Cloud\Video\Stitcher\V1\Event[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setEvents($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Video\Stitcher\V1\Event::class); + $this->events = $arr; + + return $this; + } + + /** + * @return string + */ + public function getAdResource() + { + return $this->whichOneof("ad_resource"); + } + +} + diff --git a/VideoSticher/src/V1/CompanionAds.php b/VideoSticher/src/V1/CompanionAds.php new file mode 100644 index 00000000000..4bfa4aea3df --- /dev/null +++ b/VideoSticher/src/V1/CompanionAds.php @@ -0,0 +1,101 @@ +google.cloud.video.stitcher.v1.CompanionAds + */ +class CompanionAds extends \Google\Protobuf\Internal\Message +{ + /** + * Indicates how many of the companions should be displayed with the ad. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.CompanionAds.DisplayRequirement display_requirement = 1; + */ + private $display_requirement = 0; + /** + * List of companion ads. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.Companion companions = 2; + */ + private $companions; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $display_requirement + * Indicates how many of the companions should be displayed with the ad. + * @type \Google\Cloud\Video\Stitcher\V1\Companion[]|\Google\Protobuf\Internal\RepeatedField $companions + * List of companion ads. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\Companions::initOnce(); + parent::__construct($data); + } + + /** + * Indicates how many of the companions should be displayed with the ad. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.CompanionAds.DisplayRequirement display_requirement = 1; + * @return int + */ + public function getDisplayRequirement() + { + return $this->display_requirement; + } + + /** + * Indicates how many of the companions should be displayed with the ad. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.CompanionAds.DisplayRequirement display_requirement = 1; + * @param int $var + * @return $this + */ + public function setDisplayRequirement($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Video\Stitcher\V1\CompanionAds\DisplayRequirement::class); + $this->display_requirement = $var; + + return $this; + } + + /** + * List of companion ads. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.Companion companions = 2; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getCompanions() + { + return $this->companions; + } + + /** + * List of companion ads. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.Companion companions = 2; + * @param \Google\Cloud\Video\Stitcher\V1\Companion[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setCompanions($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Video\Stitcher\V1\Companion::class); + $this->companions = $arr; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/CompanionAds/DisplayRequirement.php b/VideoSticher/src/V1/CompanionAds/DisplayRequirement.php new file mode 100644 index 00000000000..70d2eed382e --- /dev/null +++ b/VideoSticher/src/V1/CompanionAds/DisplayRequirement.php @@ -0,0 +1,69 @@ +google.cloud.video.stitcher.v1.CompanionAds.DisplayRequirement + */ +class DisplayRequirement +{ + /** + * Required companions are not specified. The default is ALL. + * + * Generated from protobuf enum DISPLAY_REQUIREMENT_UNSPECIFIED = 0; + */ + const DISPLAY_REQUIREMENT_UNSPECIFIED = 0; + /** + * All companions are required to be displayed. + * + * Generated from protobuf enum ALL = 1; + */ + const ALL = 1; + /** + * At least one of companions needs to be displayed. + * + * Generated from protobuf enum ANY = 2; + */ + const ANY = 2; + /** + * All companions are optional for display. + * + * Generated from protobuf enum NONE = 3; + */ + const NONE = 3; + + private static $valueToName = [ + self::DISPLAY_REQUIREMENT_UNSPECIFIED => 'DISPLAY_REQUIREMENT_UNSPECIFIED', + self::ALL => 'ALL', + self::ANY => 'ANY', + self::NONE => 'NONE', + ]; + + 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/VideoSticher/src/V1/CreateCdnKeyRequest.php b/VideoSticher/src/V1/CreateCdnKeyRequest.php new file mode 100644 index 00000000000..31df34e5a78 --- /dev/null +++ b/VideoSticher/src/V1/CreateCdnKeyRequest.php @@ -0,0 +1,165 @@ +google.cloud.video.stitcher.v1.CreateCdnKeyRequest + */ +class CreateCdnKeyRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The project in which the CDN key should be created, in the form of + * `projects/{project_number}/locations/{location}`. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + private $parent = ''; + /** + * Required. The CDN key resource to create. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.CdnKey cdn_key = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + private $cdn_key = null; + /** + * Required. The ID to use for the CDN key, which will become the final component of + * the CDN key's resource name. + * This value should conform to RFC-1034, which restricts to + * lower-case letters, numbers, and hyphen, with the first character a + * letter, the last a letter or a number, and a 63 character maximum. + * + * Generated from protobuf field string cdn_key_id = 3 [(.google.api.field_behavior) = REQUIRED]; + */ + private $cdn_key_id = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. The project in which the CDN key should be created, in the form of + * `projects/{project_number}/locations/{location}`. + * @type \Google\Cloud\Video\Stitcher\V1\CdnKey $cdn_key + * Required. The CDN key resource to create. + * @type string $cdn_key_id + * Required. The ID to use for the CDN key, which will become the final component of + * the CDN key's resource name. + * This value should conform to RFC-1034, which restricts to + * lower-case letters, numbers, and hyphen, with the first character a + * letter, the last a letter or a number, and a 63 character maximum. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The project in which the CDN key should be created, in the form of + * `projects/{project_number}/locations/{location}`. + * + * 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. The project in which the CDN key should be created, in the form of + * `projects/{project_number}/locations/{location}`. + * + * 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 CDN key resource to create. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.CdnKey cdn_key = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\Video\Stitcher\V1\CdnKey|null + */ + public function getCdnKey() + { + return $this->cdn_key; + } + + public function hasCdnKey() + { + return isset($this->cdn_key); + } + + public function clearCdnKey() + { + unset($this->cdn_key); + } + + /** + * Required. The CDN key resource to create. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.CdnKey cdn_key = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\Video\Stitcher\V1\CdnKey $var + * @return $this + */ + public function setCdnKey($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Video\Stitcher\V1\CdnKey::class); + $this->cdn_key = $var; + + return $this; + } + + /** + * Required. The ID to use for the CDN key, which will become the final component of + * the CDN key's resource name. + * This value should conform to RFC-1034, which restricts to + * lower-case letters, numbers, and hyphen, with the first character a + * letter, the last a letter or a number, and a 63 character maximum. + * + * Generated from protobuf field string cdn_key_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getCdnKeyId() + { + return $this->cdn_key_id; + } + + /** + * Required. The ID to use for the CDN key, which will become the final component of + * the CDN key's resource name. + * This value should conform to RFC-1034, which restricts to + * lower-case letters, numbers, and hyphen, with the first character a + * letter, the last a letter or a number, and a 63 character maximum. + * + * Generated from protobuf field string cdn_key_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setCdnKeyId($var) + { + GPBUtil::checkString($var, True); + $this->cdn_key_id = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/CreateLiveSessionRequest.php b/VideoSticher/src/V1/CreateLiveSessionRequest.php new file mode 100644 index 00000000000..597ff23b03c --- /dev/null +++ b/VideoSticher/src/V1/CreateLiveSessionRequest.php @@ -0,0 +1,143 @@ +google.cloud.video.stitcher.v1.CreateLiveSessionRequest + */ +class CreateLiveSessionRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The project and location in which the live session should be created, + * in the form of `projects/{project_number}/locations/{location}`. + * Valid locations: + * * `-` (Video Stitcher API will pick a location that is closest to the + * caller.) + * * `us-east1` + * * `us-west1` + * * `us-central1` + * * `europe-west1` + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + private $parent = ''; + /** + * Required. Parameters for creating a live session. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.LiveSession live_session = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + private $live_session = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. The project and location in which the live session should be created, + * in the form of `projects/{project_number}/locations/{location}`. + * Valid locations: + * * `-` (Video Stitcher API will pick a location that is closest to the + * caller.) + * * `us-east1` + * * `us-west1` + * * `us-central1` + * * `europe-west1` + * @type \Google\Cloud\Video\Stitcher\V1\LiveSession $live_session + * Required. Parameters for creating a live session. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The project and location in which the live session should be created, + * in the form of `projects/{project_number}/locations/{location}`. + * Valid locations: + * * `-` (Video Stitcher API will pick a location that is closest to the + * caller.) + * * `us-east1` + * * `us-west1` + * * `us-central1` + * * `europe-west1` + * + * 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. The project and location in which the live session should be created, + * in the form of `projects/{project_number}/locations/{location}`. + * Valid locations: + * * `-` (Video Stitcher API will pick a location that is closest to the + * caller.) + * * `us-east1` + * * `us-west1` + * * `us-central1` + * * `europe-west1` + * + * 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. Parameters for creating a live session. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.LiveSession live_session = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\Video\Stitcher\V1\LiveSession|null + */ + public function getLiveSession() + { + return $this->live_session; + } + + public function hasLiveSession() + { + return isset($this->live_session); + } + + public function clearLiveSession() + { + unset($this->live_session); + } + + /** + * Required. Parameters for creating a live session. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.LiveSession live_session = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\Video\Stitcher\V1\LiveSession $var + * @return $this + */ + public function setLiveSession($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Video\Stitcher\V1\LiveSession::class); + $this->live_session = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/CreateSlateRequest.php b/VideoSticher/src/V1/CreateSlateRequest.php new file mode 100644 index 00000000000..d89a4e1d42b --- /dev/null +++ b/VideoSticher/src/V1/CreateSlateRequest.php @@ -0,0 +1,161 @@ +google.cloud.video.stitcher.v1.CreateSlateRequest + */ +class CreateSlateRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The project in which the slate should be created, in the form of + * `projects/{project_number}`. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + private $parent = ''; + /** + * Required. The unique identifier for the slate. + * This value should conform to RFC-1034, which restricts to + * lower-case letters, numbers, and hyphen, with the first character a + * letter, the last a letter or a number, and a 63 character maximum. + * + * Generated from protobuf field string slate_id = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + private $slate_id = ''; + /** + * Required. The slate to create. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.Slate slate = 3 [(.google.api.field_behavior) = REQUIRED]; + */ + private $slate = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. The project in which the slate should be created, in the form of + * `projects/{project_number}`. + * @type string $slate_id + * Required. The unique identifier for the slate. + * This value should conform to RFC-1034, which restricts to + * lower-case letters, numbers, and hyphen, with the first character a + * letter, the last a letter or a number, and a 63 character maximum. + * @type \Google\Cloud\Video\Stitcher\V1\Slate $slate + * Required. The slate to create. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The project in which the slate should be created, in the form of + * `projects/{project_number}`. + * + * 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. The project in which the slate should be created, in the form of + * `projects/{project_number}`. + * + * 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 unique identifier for the slate. + * This value should conform to RFC-1034, which restricts to + * lower-case letters, numbers, and hyphen, with the first character a + * letter, the last a letter or a number, and a 63 character maximum. + * + * Generated from protobuf field string slate_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getSlateId() + { + return $this->slate_id; + } + + /** + * Required. The unique identifier for the slate. + * This value should conform to RFC-1034, which restricts to + * lower-case letters, numbers, and hyphen, with the first character a + * letter, the last a letter or a number, and a 63 character maximum. + * + * Generated from protobuf field string slate_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setSlateId($var) + { + GPBUtil::checkString($var, True); + $this->slate_id = $var; + + return $this; + } + + /** + * Required. The slate to create. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.Slate slate = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\Video\Stitcher\V1\Slate|null + */ + public function getSlate() + { + return $this->slate; + } + + public function hasSlate() + { + return isset($this->slate); + } + + public function clearSlate() + { + unset($this->slate); + } + + /** + * Required. The slate to create. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.Slate slate = 3 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\Video\Stitcher\V1\Slate $var + * @return $this + */ + public function setSlate($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Video\Stitcher\V1\Slate::class); + $this->slate = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/CreateVodSessionRequest.php b/VideoSticher/src/V1/CreateVodSessionRequest.php new file mode 100644 index 00000000000..a3ab0dad7a8 --- /dev/null +++ b/VideoSticher/src/V1/CreateVodSessionRequest.php @@ -0,0 +1,115 @@ +google.cloud.video.stitcher.v1.CreateVodSessionRequest + */ +class CreateVodSessionRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The project and location in which the VOD session should be created, in the + * form of `projects/{project_number}/locations/{location}`. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + private $parent = ''; + /** + * Required. Parameters for creating a session. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.VodSession vod_session = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + private $vod_session = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. The project and location in which the VOD session should be created, in the + * form of `projects/{project_number}/locations/{location}`. + * @type \Google\Cloud\Video\Stitcher\V1\VodSession $vod_session + * Required. Parameters for creating a session. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The project and location in which the VOD session should be created, in the + * form of `projects/{project_number}/locations/{location}`. + * + * 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. The project and location in which the VOD session should be created, in the + * form of `projects/{project_number}/locations/{location}`. + * + * 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. Parameters for creating a session. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.VodSession vod_session = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\Video\Stitcher\V1\VodSession|null + */ + public function getVodSession() + { + return $this->vod_session; + } + + public function hasVodSession() + { + return isset($this->vod_session); + } + + public function clearVodSession() + { + unset($this->vod_session); + } + + /** + * Required. Parameters for creating a session. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.VodSession vod_session = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\Video\Stitcher\V1\VodSession $var + * @return $this + */ + public function setVodSession($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Video\Stitcher\V1\VodSession::class); + $this->vod_session = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/DeleteCdnKeyRequest.php b/VideoSticher/src/V1/DeleteCdnKeyRequest.php new file mode 100644 index 00000000000..5b55c4e683c --- /dev/null +++ b/VideoSticher/src/V1/DeleteCdnKeyRequest.php @@ -0,0 +1,71 @@ +google.cloud.video.stitcher.v1.DeleteCdnKeyRequest + */ +class DeleteCdnKeyRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The name of the CDN key to be deleted, in the form of + * `projects/{project_number}/locations/{location}/cdnKeys/{id}`. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + private $name = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The name of the CDN key to be deleted, in the form of + * `projects/{project_number}/locations/{location}/cdnKeys/{id}`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The name of the CDN key to be deleted, in the form of + * `projects/{project_number}/locations/{location}/cdnKeys/{id}`. + * + * 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. The name of the CDN key to be deleted, in the form of + * `projects/{project_number}/locations/{location}/cdnKeys/{id}`. + * + * 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/VideoSticher/src/V1/DeleteSlateRequest.php b/VideoSticher/src/V1/DeleteSlateRequest.php new file mode 100644 index 00000000000..1dcf21111b5 --- /dev/null +++ b/VideoSticher/src/V1/DeleteSlateRequest.php @@ -0,0 +1,71 @@ +google.cloud.video.stitcher.v1.DeleteSlateRequest + */ +class DeleteSlateRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The name of the slate to be deleted, in the form of + * `projects/{project_number}/locations/{location}/slates/{id}`. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + private $name = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The name of the slate to be deleted, in the form of + * `projects/{project_number}/locations/{location}/slates/{id}`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The name of the slate to be deleted, in the form of + * `projects/{project_number}/locations/{location}/slates/{id}`. + * + * 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. The name of the slate to be deleted, in the form of + * `projects/{project_number}/locations/{location}/slates/{id}`. + * + * 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/VideoSticher/src/V1/Event.php b/VideoSticher/src/V1/Event.php new file mode 100644 index 00000000000..ce46fe5bae5 --- /dev/null +++ b/VideoSticher/src/V1/Event.php @@ -0,0 +1,179 @@ +google.cloud.video.stitcher.v1.Event + */ +class Event extends \Google\Protobuf\Internal\Message +{ + /** + * Describes the event that occurred. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.Event.EventType type = 1; + */ + private $type = 0; + /** + * The URI to trigger for this event. + * + * Generated from protobuf field string uri = 2; + */ + private $uri = ''; + /** + * The ID of the event. + * + * Generated from protobuf field string id = 3; + */ + private $id = ''; + /** + * The offset in seconds if the event type is `PROGRESS`. + * + * Generated from protobuf field .google.protobuf.Duration offset = 4; + */ + private $offset = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $type + * Describes the event that occurred. + * @type string $uri + * The URI to trigger for this event. + * @type string $id + * The ID of the event. + * @type \Google\Protobuf\Duration $offset + * The offset in seconds if the event type is `PROGRESS`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\Events::initOnce(); + parent::__construct($data); + } + + /** + * Describes the event that occurred. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.Event.EventType type = 1; + * @return int + */ + public function getType() + { + return $this->type; + } + + /** + * Describes the event that occurred. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.Event.EventType type = 1; + * @param int $var + * @return $this + */ + public function setType($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Video\Stitcher\V1\Event\EventType::class); + $this->type = $var; + + return $this; + } + + /** + * The URI to trigger for this event. + * + * Generated from protobuf field string uri = 2; + * @return string + */ + public function getUri() + { + return $this->uri; + } + + /** + * The URI to trigger for this event. + * + * Generated from protobuf field string uri = 2; + * @param string $var + * @return $this + */ + public function setUri($var) + { + GPBUtil::checkString($var, True); + $this->uri = $var; + + return $this; + } + + /** + * The ID of the event. + * + * Generated from protobuf field string id = 3; + * @return string + */ + public function getId() + { + return $this->id; + } + + /** + * The ID of the event. + * + * Generated from protobuf field string id = 3; + * @param string $var + * @return $this + */ + public function setId($var) + { + GPBUtil::checkString($var, True); + $this->id = $var; + + return $this; + } + + /** + * The offset in seconds if the event type is `PROGRESS`. + * + * Generated from protobuf field .google.protobuf.Duration offset = 4; + * @return \Google\Protobuf\Duration|null + */ + public function getOffset() + { + return $this->offset; + } + + public function hasOffset() + { + return isset($this->offset); + } + + public function clearOffset() + { + unset($this->offset); + } + + /** + * The offset in seconds if the event type is `PROGRESS`. + * + * Generated from protobuf field .google.protobuf.Duration offset = 4; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setOffset($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->offset = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/Event/EventType.php b/VideoSticher/src/V1/Event/EventType.php new file mode 100644 index 00000000000..3cd6fe230f8 --- /dev/null +++ b/VideoSticher/src/V1/Event/EventType.php @@ -0,0 +1,216 @@ +google.cloud.video.stitcher.v1.Event.EventType + */ +class EventType +{ + /** + * The event type is unspecified. + * + * Generated from protobuf enum EVENT_TYPE_UNSPECIFIED = 0; + */ + const EVENT_TYPE_UNSPECIFIED = 0; + /** + * First frame of creative ad viewed. + * + * Generated from protobuf enum CREATIVE_VIEW = 1; + */ + const CREATIVE_VIEW = 1; + /** + * Creative ad started. + * + * Generated from protobuf enum START = 2; + */ + const START = 2; + /** + * Start of an ad break. + * + * Generated from protobuf enum BREAK_START = 3; + */ + const BREAK_START = 3; + /** + * End of an ad break. + * + * Generated from protobuf enum BREAK_END = 4; + */ + const BREAK_END = 4; + /** + * Impression. + * + * Generated from protobuf enum IMPRESSION = 5; + */ + const IMPRESSION = 5; + /** + * First quartile progress. + * + * Generated from protobuf enum FIRST_QUARTILE = 6; + */ + const FIRST_QUARTILE = 6; + /** + * Midpoint progress. + * + * Generated from protobuf enum MIDPOINT = 7; + */ + const MIDPOINT = 7; + /** + * Third quartile progress. + * + * Generated from protobuf enum THIRD_QUARTILE = 8; + */ + const THIRD_QUARTILE = 8; + /** + * Ad progress completed. + * + * Generated from protobuf enum COMPLETE = 9; + */ + const COMPLETE = 9; + /** + * Specific progress event with an offset. + * + * Generated from protobuf enum PROGRESS = 10; + */ + const PROGRESS = 10; + /** + * Player muted. + * + * Generated from protobuf enum MUTE = 11; + */ + const MUTE = 11; + /** + * Player unmuted. + * + * Generated from protobuf enum UNMUTE = 12; + */ + const UNMUTE = 12; + /** + * Player paused. + * + * Generated from protobuf enum PAUSE = 13; + */ + const PAUSE = 13; + /** + * Click event. + * + * Generated from protobuf enum CLICK = 14; + */ + const CLICK = 14; + /** + * Click-through event. + * + * Generated from protobuf enum CLICK_THROUGH = 15; + */ + const CLICK_THROUGH = 15; + /** + * Player rewinding. + * + * Generated from protobuf enum REWIND = 16; + */ + const REWIND = 16; + /** + * Player resumed. + * + * Generated from protobuf enum RESUME = 17; + */ + const RESUME = 17; + /** + * Error event. + * + * Generated from protobuf enum ERROR = 18; + */ + const ERROR = 18; + /** + * Ad expanded to a larger size. + * + * Generated from protobuf enum EXPAND = 21; + */ + const EXPAND = 21; + /** + * Ad collapsed to a smaller size. + * + * Generated from protobuf enum COLLAPSE = 22; + */ + const COLLAPSE = 22; + /** + * Non-linear ad closed. + * + * Generated from protobuf enum CLOSE = 24; + */ + const CLOSE = 24; + /** + * Linear ad closed. + * + * Generated from protobuf enum CLOSE_LINEAR = 25; + */ + const CLOSE_LINEAR = 25; + /** + * Ad skipped. + * + * Generated from protobuf enum SKIP = 26; + */ + const SKIP = 26; + /** + * Accept invitation event. + * + * Generated from protobuf enum ACCEPT_INVITATION = 27; + */ + const ACCEPT_INVITATION = 27; + + private static $valueToName = [ + self::EVENT_TYPE_UNSPECIFIED => 'EVENT_TYPE_UNSPECIFIED', + self::CREATIVE_VIEW => 'CREATIVE_VIEW', + self::START => 'START', + self::BREAK_START => 'BREAK_START', + self::BREAK_END => 'BREAK_END', + self::IMPRESSION => 'IMPRESSION', + self::FIRST_QUARTILE => 'FIRST_QUARTILE', + self::MIDPOINT => 'MIDPOINT', + self::THIRD_QUARTILE => 'THIRD_QUARTILE', + self::COMPLETE => 'COMPLETE', + self::PROGRESS => 'PROGRESS', + self::MUTE => 'MUTE', + self::UNMUTE => 'UNMUTE', + self::PAUSE => 'PAUSE', + self::CLICK => 'CLICK', + self::CLICK_THROUGH => 'CLICK_THROUGH', + self::REWIND => 'REWIND', + self::RESUME => 'RESUME', + self::ERROR => 'ERROR', + self::EXPAND => 'EXPAND', + self::COLLAPSE => 'COLLAPSE', + self::CLOSE => 'CLOSE', + self::CLOSE_LINEAR => 'CLOSE_LINEAR', + self::SKIP => 'SKIP', + self::ACCEPT_INVITATION => 'ACCEPT_INVITATION', + ]; + + 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/VideoSticher/src/V1/Gapic/VideoStitcherServiceGapicClient.php b/VideoSticher/src/V1/Gapic/VideoStitcherServiceGapicClient.php new file mode 100644 index 00000000000..c59e50854ef --- /dev/null +++ b/VideoSticher/src/V1/Gapic/VideoStitcherServiceGapicClient.php @@ -0,0 +1,1787 @@ +locationName('[PROJECT]', '[LOCATION]'); + * $cdnKey = new CdnKey(); + * $cdnKeyId = 'cdn_key_id'; + * $response = $videoStitcherServiceClient->createCdnKey($formattedParent, $cdnKey, $cdnKeyId); + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * Many parameters require resource names to be formatted in a particular way. To + * assist with these names, this class includes a format method for each type of + * name, and additionally a parseName method to extract the individual identifiers + * contained within formatted names that are returned by the API. + */ +class VideoStitcherServiceGapicClient +{ + use GapicClientTrait; + + /** + * The name of the service. + */ + const SERVICE_NAME = 'google.cloud.video.stitcher.v1.VideoStitcherService'; + + /** + * The default address of the service. + */ + const SERVICE_ADDRESS = 'videostitcher.googleapis.com'; + + /** + * The default port of the service. + */ + const DEFAULT_SERVICE_PORT = 443; + + /** + * The name of the code generator, to be included in the agent header. + */ + const CODEGEN_NAME = 'gapic'; + + /** + * The default scopes required by the service. + */ + public static $serviceScopes = [ + 'https://www.googleapis.com/auth/cloud-platform', + ]; + + private static $cdnKeyNameTemplate; + + private static $liveAdTagDetailNameTemplate; + + private static $liveSessionNameTemplate; + + private static $locationNameTemplate; + + private static $slateNameTemplate; + + private static $vodAdTagDetailNameTemplate; + + private static $vodSessionNameTemplate; + + private static $vodStitchDetailNameTemplate; + + private static $pathTemplateMap; + + private static function getClientDefaults() + { + return [ + 'serviceName' => self::SERVICE_NAME, + 'apiEndpoint' => + self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT, + 'clientConfig' => + __DIR__ . + '/../resources/video_stitcher_service_client_config.json', + 'descriptorsConfigPath' => + __DIR__ . + '/../resources/video_stitcher_service_descriptor_config.php', + 'gcpApiConfigPath' => + __DIR__ . + '/../resources/video_stitcher_service_grpc_config.json', + 'credentialsConfig' => [ + 'defaultScopes' => self::$serviceScopes, + ], + 'transportConfig' => [ + 'rest' => [ + 'restClientConfigPath' => + __DIR__ . + '/../resources/video_stitcher_service_rest_client_config.php', + ], + ], + ]; + } + + private static function getCdnKeyNameTemplate() + { + if (self::$cdnKeyNameTemplate == null) { + self::$cdnKeyNameTemplate = new PathTemplate( + 'projects/{project}/locations/{location}/cdnKeys/{cdn_key}' + ); + } + + return self::$cdnKeyNameTemplate; + } + + private static function getLiveAdTagDetailNameTemplate() + { + if (self::$liveAdTagDetailNameTemplate == null) { + self::$liveAdTagDetailNameTemplate = new PathTemplate( + 'projects/{project}/locations/{location}/liveSessions/{live_session}/liveAdTagDetails/{live_ad_tag_detail}' + ); + } + + return self::$liveAdTagDetailNameTemplate; + } + + private static function getLiveSessionNameTemplate() + { + if (self::$liveSessionNameTemplate == null) { + self::$liveSessionNameTemplate = new PathTemplate( + 'projects/{project}/locations/{location}/liveSessions/{live_session}' + ); + } + + return self::$liveSessionNameTemplate; + } + + private static function getLocationNameTemplate() + { + if (self::$locationNameTemplate == null) { + self::$locationNameTemplate = new PathTemplate( + 'projects/{project}/locations/{location}' + ); + } + + return self::$locationNameTemplate; + } + + private static function getSlateNameTemplate() + { + if (self::$slateNameTemplate == null) { + self::$slateNameTemplate = new PathTemplate( + 'projects/{project}/locations/{location}/slates/{slate}' + ); + } + + return self::$slateNameTemplate; + } + + private static function getVodAdTagDetailNameTemplate() + { + if (self::$vodAdTagDetailNameTemplate == null) { + self::$vodAdTagDetailNameTemplate = new PathTemplate( + 'projects/{project}/locations/{location}/vodSessions/{vod_session}/vodAdTagDetails/{vod_ad_tag_detail}' + ); + } + + return self::$vodAdTagDetailNameTemplate; + } + + private static function getVodSessionNameTemplate() + { + if (self::$vodSessionNameTemplate == null) { + self::$vodSessionNameTemplate = new PathTemplate( + 'projects/{project}/locations/{location}/vodSessions/{vod_session}' + ); + } + + return self::$vodSessionNameTemplate; + } + + private static function getVodStitchDetailNameTemplate() + { + if (self::$vodStitchDetailNameTemplate == null) { + self::$vodStitchDetailNameTemplate = new PathTemplate( + 'projects/{project}/locations/{location}/vodSessions/{vod_session}/vodStitchDetails/{vod_stitch_detail}' + ); + } + + return self::$vodStitchDetailNameTemplate; + } + + private static function getPathTemplateMap() + { + if (self::$pathTemplateMap == null) { + self::$pathTemplateMap = [ + 'cdnKey' => self::getCdnKeyNameTemplate(), + 'liveAdTagDetail' => self::getLiveAdTagDetailNameTemplate(), + 'liveSession' => self::getLiveSessionNameTemplate(), + 'location' => self::getLocationNameTemplate(), + 'slate' => self::getSlateNameTemplate(), + 'vodAdTagDetail' => self::getVodAdTagDetailNameTemplate(), + 'vodSession' => self::getVodSessionNameTemplate(), + 'vodStitchDetail' => self::getVodStitchDetailNameTemplate(), + ]; + } + + return self::$pathTemplateMap; + } + + /** + * Formats a string containing the fully-qualified path to represent a cdn_key + * resource. + * + * @param string $project + * @param string $location + * @param string $cdnKey + * + * @return string The formatted cdn_key resource. + */ + public static function cdnKeyName($project, $location, $cdnKey) + { + return self::getCdnKeyNameTemplate()->render([ + 'project' => $project, + 'location' => $location, + 'cdn_key' => $cdnKey, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * live_ad_tag_detail resource. + * + * @param string $project + * @param string $location + * @param string $liveSession + * @param string $liveAdTagDetail + * + * @return string The formatted live_ad_tag_detail resource. + */ + public static function liveAdTagDetailName( + $project, + $location, + $liveSession, + $liveAdTagDetail + ) { + return self::getLiveAdTagDetailNameTemplate()->render([ + 'project' => $project, + 'location' => $location, + 'live_session' => $liveSession, + 'live_ad_tag_detail' => $liveAdTagDetail, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a live_session + * resource. + * + * @param string $project + * @param string $location + * @param string $liveSession + * + * @return string The formatted live_session resource. + */ + public static function liveSessionName($project, $location, $liveSession) + { + return self::getLiveSessionNameTemplate()->render([ + 'project' => $project, + 'location' => $location, + 'live_session' => $liveSession, + ]); + } + + /** + * 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. + */ + public static function locationName($project, $location) + { + return self::getLocationNameTemplate()->render([ + 'project' => $project, + 'location' => $location, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a slate + * resource. + * + * @param string $project + * @param string $location + * @param string $slate + * + * @return string The formatted slate resource. + */ + public static function slateName($project, $location, $slate) + { + return self::getSlateNameTemplate()->render([ + 'project' => $project, + 'location' => $location, + 'slate' => $slate, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * vod_ad_tag_detail resource. + * + * @param string $project + * @param string $location + * @param string $vodSession + * @param string $vodAdTagDetail + * + * @return string The formatted vod_ad_tag_detail resource. + */ + public static function vodAdTagDetailName( + $project, + $location, + $vodSession, + $vodAdTagDetail + ) { + return self::getVodAdTagDetailNameTemplate()->render([ + 'project' => $project, + 'location' => $location, + 'vod_session' => $vodSession, + 'vod_ad_tag_detail' => $vodAdTagDetail, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a vod_session + * resource. + * + * @param string $project + * @param string $location + * @param string $vodSession + * + * @return string The formatted vod_session resource. + */ + public static function vodSessionName($project, $location, $vodSession) + { + return self::getVodSessionNameTemplate()->render([ + 'project' => $project, + 'location' => $location, + 'vod_session' => $vodSession, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * vod_stitch_detail resource. + * + * @param string $project + * @param string $location + * @param string $vodSession + * @param string $vodStitchDetail + * + * @return string The formatted vod_stitch_detail resource. + */ + public static function vodStitchDetailName( + $project, + $location, + $vodSession, + $vodStitchDetail + ) { + return self::getVodStitchDetailNameTemplate()->render([ + 'project' => $project, + 'location' => $location, + 'vod_session' => $vodSession, + 'vod_stitch_detail' => $vodStitchDetail, + ]); + } + + /** + * Parses a formatted name string and returns an associative array of the components in the name. + * The following name formats are supported: + * Template: Pattern + * - cdnKey: projects/{project}/locations/{location}/cdnKeys/{cdn_key} + * - liveAdTagDetail: projects/{project}/locations/{location}/liveSessions/{live_session}/liveAdTagDetails/{live_ad_tag_detail} + * - liveSession: projects/{project}/locations/{location}/liveSessions/{live_session} + * - location: projects/{project}/locations/{location} + * - slate: projects/{project}/locations/{location}/slates/{slate} + * - vodAdTagDetail: projects/{project}/locations/{location}/vodSessions/{vod_session}/vodAdTagDetails/{vod_ad_tag_detail} + * - vodSession: projects/{project}/locations/{location}/vodSessions/{vod_session} + * - vodStitchDetail: projects/{project}/locations/{location}/vodSessions/{vod_session}/vodStitchDetails/{vod_stitch_detail} + * + * 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. + */ + public static function parseName($formattedName, $template = null) + { + $templateMap = self::getPathTemplateMap(); + if ($template) { + if (!isset($templateMap[$template])) { + throw new ValidationException( + "Template name $template does not exist" + ); + } + + return $templateMap[$template]->match($formattedName); + } + + foreach ($templateMap as $templateName => $pathTemplate) { + try { + return $pathTemplate->match($formattedName); + } catch (ValidationException $ex) { + // Swallow the exception to continue trying other path templates + } + } + + throw new ValidationException( + "Input did not match any known format. Input: $formattedName" + ); + } + + /** + * Constructor. + * + * @param array $options { + * Optional. Options for configuring the service API wrapper. + * + * @type string $serviceAddress + * **Deprecated**. This option will be removed in a future major release. Please + * utilize the `$apiEndpoint` option instead. + * @type string $apiEndpoint + * The address of the API remote host. May optionally include the port, formatted + * as ":". Default 'videostitcher.googleapis.com:443'. + * @type string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials + * The credentials to be used by the client to authorize API calls. This option + * accepts either a path to a credentials file, or a decoded credentials file as a + * PHP array. + * *Advanced usage*: In addition, this option can also accept a pre-constructed + * {@see \Google\Auth\FetchAuthTokenInterface} object or + * {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these + * objects are provided, any settings in $credentialsConfig will be ignored. + * @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 + * $serviceAddress 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. + * } + * + * @throws ValidationException + */ + public function __construct(array $options = []) + { + $clientOptions = $this->buildClientOptions($options); + $this->setClientOptions($clientOptions); + } + + /** + * Creates a new CDN key. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $formattedParent = $videoStitcherServiceClient->locationName('[PROJECT]', '[LOCATION]'); + * $cdnKey = new CdnKey(); + * $cdnKeyId = 'cdn_key_id'; + * $response = $videoStitcherServiceClient->createCdnKey($formattedParent, $cdnKey, $cdnKeyId); + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param string $parent Required. The project in which the CDN key should be created, in the form of + * `projects/{project_number}/locations/{location}`. + * @param CdnKey $cdnKey Required. The CDN key resource to create. + * @param string $cdnKeyId Required. The ID to use for the CDN key, which will become the final component of + * the CDN key's resource name. + * + * This value should conform to RFC-1034, which restricts to + * lower-case letters, numbers, and hyphen, with the first character a + * letter, the last a letter or a number, and a 63 character maximum. + * @param array $optionalArgs { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @return \Google\Cloud\Video\Stitcher\V1\CdnKey + * + * @throws ApiException if the remote call fails + */ + public function createCdnKey( + $parent, + $cdnKey, + $cdnKeyId, + array $optionalArgs = [] + ) { + $request = new CreateCdnKeyRequest(); + $requestParamHeaders = []; + $request->setParent($parent); + $request->setCdnKey($cdnKey); + $request->setCdnKeyId($cdnKeyId); + $requestParamHeaders['parent'] = $parent; + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->startCall( + 'CreateCdnKey', + CdnKey::class, + $optionalArgs, + $request + )->wait(); + } + + /** + * Creates a new live session. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $formattedParent = $videoStitcherServiceClient->liveSessionName('[PROJECT]', '[LOCATION]', '[LIVE_SESSION]'); + * $liveSession = new LiveSession(); + * $response = $videoStitcherServiceClient->createLiveSession($formattedParent, $liveSession); + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param string $parent Required. The project and location in which the live session should be created, + * in the form of `projects/{project_number}/locations/{location}`. + * + * Valid locations: + * + * * `-` (Video Stitcher API will pick a location that is closest to the + * caller.) + * * `us-east1` + * * `us-west1` + * * `us-central1` + * * `europe-west1` + * @param LiveSession $liveSession Required. Parameters for creating a live session. + * @param array $optionalArgs { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @return \Google\Cloud\Video\Stitcher\V1\LiveSession + * + * @throws ApiException if the remote call fails + */ + public function createLiveSession( + $parent, + $liveSession, + array $optionalArgs = [] + ) { + $request = new CreateLiveSessionRequest(); + $requestParamHeaders = []; + $request->setParent($parent); + $request->setLiveSession($liveSession); + $requestParamHeaders['parent'] = $parent; + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->startCall( + 'CreateLiveSession', + LiveSession::class, + $optionalArgs, + $request + )->wait(); + } + + /** + * Creates a slate. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $formattedParent = $videoStitcherServiceClient->locationName('[PROJECT]', '[LOCATION]'); + * $slateId = 'slate_id'; + * $slate = new Slate(); + * $response = $videoStitcherServiceClient->createSlate($formattedParent, $slateId, $slate); + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param string $parent Required. The project in which the slate should be created, in the form of + * `projects/{project_number}`. + * @param string $slateId Required. The unique identifier for the slate. + * This value should conform to RFC-1034, which restricts to + * lower-case letters, numbers, and hyphen, with the first character a + * letter, the last a letter or a number, and a 63 character maximum. + * @param Slate $slate Required. The slate to create. + * @param array $optionalArgs { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @return \Google\Cloud\Video\Stitcher\V1\Slate + * + * @throws ApiException if the remote call fails + */ + public function createSlate( + $parent, + $slateId, + $slate, + array $optionalArgs = [] + ) { + $request = new CreateSlateRequest(); + $requestParamHeaders = []; + $request->setParent($parent); + $request->setSlateId($slateId); + $request->setSlate($slate); + $requestParamHeaders['parent'] = $parent; + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->startCall( + 'CreateSlate', + Slate::class, + $optionalArgs, + $request + )->wait(); + } + + /** + * Creates a client side playback VOD session and returns the full + * tracking and playback metadata of the session. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $formattedParent = $videoStitcherServiceClient->locationName('[PROJECT]', '[LOCATION]'); + * $vodSession = new VodSession(); + * $response = $videoStitcherServiceClient->createVodSession($formattedParent, $vodSession); + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param string $parent Required. The project and location in which the VOD session should be created, in the + * form of `projects/{project_number}/locations/{location}`. + * @param VodSession $vodSession Required. Parameters for creating a session. + * @param array $optionalArgs { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @return \Google\Cloud\Video\Stitcher\V1\VodSession + * + * @throws ApiException if the remote call fails + */ + public function createVodSession( + $parent, + $vodSession, + array $optionalArgs = [] + ) { + $request = new CreateVodSessionRequest(); + $requestParamHeaders = []; + $request->setParent($parent); + $request->setVodSession($vodSession); + $requestParamHeaders['parent'] = $parent; + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->startCall( + 'CreateVodSession', + VodSession::class, + $optionalArgs, + $request + )->wait(); + } + + /** + * Deletes the specified CDN key. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $formattedName = $videoStitcherServiceClient->cdnKeyName('[PROJECT]', '[LOCATION]', '[CDN_KEY]'); + * $videoStitcherServiceClient->deleteCdnKey($formattedName); + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param string $name Required. The name of the CDN key to be deleted, in the form of + * `projects/{project_number}/locations/{location}/cdnKeys/{id}`. + * @param array $optionalArgs { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @throws ApiException if the remote call fails + */ + public function deleteCdnKey($name, array $optionalArgs = []) + { + $request = new DeleteCdnKeyRequest(); + $requestParamHeaders = []; + $request->setName($name); + $requestParamHeaders['name'] = $name; + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->startCall( + 'DeleteCdnKey', + GPBEmpty::class, + $optionalArgs, + $request + )->wait(); + } + + /** + * Deletes the specified slate. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $formattedName = $videoStitcherServiceClient->slateName('[PROJECT]', '[LOCATION]', '[SLATE]'); + * $videoStitcherServiceClient->deleteSlate($formattedName); + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param string $name Required. The name of the slate to be deleted, in the form of + * `projects/{project_number}/locations/{location}/slates/{id}`. + * @param array $optionalArgs { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @throws ApiException if the remote call fails + */ + public function deleteSlate($name, array $optionalArgs = []) + { + $request = new DeleteSlateRequest(); + $requestParamHeaders = []; + $request->setName($name); + $requestParamHeaders['name'] = $name; + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->startCall( + 'DeleteSlate', + GPBEmpty::class, + $optionalArgs, + $request + )->wait(); + } + + /** + * Returns the specified CDN key. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $formattedName = $videoStitcherServiceClient->cdnKeyName('[PROJECT]', '[LOCATION]', '[CDN_KEY]'); + * $response = $videoStitcherServiceClient->getCdnKey($formattedName); + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param string $name Required. The name of the CDN key to be retrieved, in the form of + * `projects/{project}/locations/{location}/cdnKeys/{id}`. + * @param array $optionalArgs { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @return \Google\Cloud\Video\Stitcher\V1\CdnKey + * + * @throws ApiException if the remote call fails + */ + public function getCdnKey($name, array $optionalArgs = []) + { + $request = new GetCdnKeyRequest(); + $requestParamHeaders = []; + $request->setName($name); + $requestParamHeaders['name'] = $name; + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->startCall( + 'GetCdnKey', + CdnKey::class, + $optionalArgs, + $request + )->wait(); + } + + /** + * Returns the specified ad tag detail for the specified live session. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $formattedName = $videoStitcherServiceClient->liveAdTagDetailName('[PROJECT]', '[LOCATION]', '[LIVE_SESSION]', '[LIVE_AD_TAG_DETAIL]'); + * $response = $videoStitcherServiceClient->getLiveAdTagDetail($formattedName); + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param string $name Required. The resource name in the form of + * `projects/{project}/locations/{location}/liveSessions/{live_session}/liveAdTagDetails/{live_ad_tag_detail}`. + * @param array $optionalArgs { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @return \Google\Cloud\Video\Stitcher\V1\LiveAdTagDetail + * + * @throws ApiException if the remote call fails + */ + public function getLiveAdTagDetail($name, array $optionalArgs = []) + { + $request = new GetLiveAdTagDetailRequest(); + $requestParamHeaders = []; + $request->setName($name); + $requestParamHeaders['name'] = $name; + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->startCall( + 'GetLiveAdTagDetail', + LiveAdTagDetail::class, + $optionalArgs, + $request + )->wait(); + } + + /** + * Returns the details for the specified live session. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $formattedName = $videoStitcherServiceClient->liveSessionName('[PROJECT]', '[LOCATION]', '[LIVE_SESSION]'); + * $response = $videoStitcherServiceClient->getLiveSession($formattedName); + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param string $name Required. The name of the live session, in the form of + * `projects/{project_number}/locations/{location}/liveSessions/{id}`. + * @param array $optionalArgs { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @return \Google\Cloud\Video\Stitcher\V1\LiveSession + * + * @throws ApiException if the remote call fails + */ + public function getLiveSession($name, array $optionalArgs = []) + { + $request = new GetLiveSessionRequest(); + $requestParamHeaders = []; + $request->setName($name); + $requestParamHeaders['name'] = $name; + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->startCall( + 'GetLiveSession', + LiveSession::class, + $optionalArgs, + $request + )->wait(); + } + + /** + * Returns the specified slate. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $formattedName = $videoStitcherServiceClient->slateName('[PROJECT]', '[LOCATION]', '[SLATE]'); + * $response = $videoStitcherServiceClient->getSlate($formattedName); + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param string $name Required. The name of the slate to be retrieved, of the slate, in the form of + * `projects/{project_number}/locations/{location}/slates/{id}`. + * @param array $optionalArgs { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @return \Google\Cloud\Video\Stitcher\V1\Slate + * + * @throws ApiException if the remote call fails + */ + public function getSlate($name, array $optionalArgs = []) + { + $request = new GetSlateRequest(); + $requestParamHeaders = []; + $request->setName($name); + $requestParamHeaders['name'] = $name; + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->startCall( + 'GetSlate', + Slate::class, + $optionalArgs, + $request + )->wait(); + } + + /** + * Returns the specified ad tag detail for the specified VOD session. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $formattedName = $videoStitcherServiceClient->vodAdTagDetailName('[PROJECT]', '[LOCATION]', '[VOD_SESSION]', '[VOD_AD_TAG_DETAIL]'); + * $response = $videoStitcherServiceClient->getVodAdTagDetail($formattedName); + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param string $name Required. The name of the ad tag detail for the specified VOD session, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodAdTagDetails/{vod_ad_tag_detail}`. + * @param array $optionalArgs { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @return \Google\Cloud\Video\Stitcher\V1\VodAdTagDetail + * + * @throws ApiException if the remote call fails + */ + public function getVodAdTagDetail($name, array $optionalArgs = []) + { + $request = new GetVodAdTagDetailRequest(); + $requestParamHeaders = []; + $request->setName($name); + $requestParamHeaders['name'] = $name; + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->startCall( + 'GetVodAdTagDetail', + VodAdTagDetail::class, + $optionalArgs, + $request + )->wait(); + } + + /** + * Returns the full tracking, playback metadata, and relevant ad-ops + * logs for the specified VOD session. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $formattedName = $videoStitcherServiceClient->vodSessionName('[PROJECT]', '[LOCATION]', '[VOD_SESSION]'); + * $response = $videoStitcherServiceClient->getVodSession($formattedName); + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param string $name Required. The name of the VOD session to be retrieved, in the form of + * `projects/{project_number}/locations/{location}/vodSessions/{id}`. + * @param array $optionalArgs { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @return \Google\Cloud\Video\Stitcher\V1\VodSession + * + * @throws ApiException if the remote call fails + */ + public function getVodSession($name, array $optionalArgs = []) + { + $request = new GetVodSessionRequest(); + $requestParamHeaders = []; + $request->setName($name); + $requestParamHeaders['name'] = $name; + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->startCall( + 'GetVodSession', + VodSession::class, + $optionalArgs, + $request + )->wait(); + } + + /** + * Returns the specified stitching information for the specified VOD session. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $formattedName = $videoStitcherServiceClient->vodStitchDetailName('[PROJECT]', '[LOCATION]', '[VOD_SESSION]', '[VOD_STITCH_DETAIL]'); + * $response = $videoStitcherServiceClient->getVodStitchDetail($formattedName); + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param string $name Required. The name of the stitch detail in the specified VOD session, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodStitchDetails/{id}`. + * @param array $optionalArgs { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @return \Google\Cloud\Video\Stitcher\V1\VodStitchDetail + * + * @throws ApiException if the remote call fails + */ + public function getVodStitchDetail($name, array $optionalArgs = []) + { + $request = new GetVodStitchDetailRequest(); + $requestParamHeaders = []; + $request->setName($name); + $requestParamHeaders['name'] = $name; + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->startCall( + 'GetVodStitchDetail', + VodStitchDetail::class, + $optionalArgs, + $request + )->wait(); + } + + /** + * Lists all CDN keys in the specified project and location. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $formattedParent = $videoStitcherServiceClient->locationName('[PROJECT]', '[LOCATION]'); + * // Iterate over pages of elements + * $pagedResponse = $videoStitcherServiceClient->listCdnKeys($formattedParent); + * foreach ($pagedResponse->iteratePages() as $page) { + * foreach ($page as $element) { + * // doSomethingWith($element); + * } + * } + * // Alternatively: + * // Iterate through all elements + * $pagedResponse = $videoStitcherServiceClient->listCdnKeys($formattedParent); + * foreach ($pagedResponse->iterateAllElements() as $element) { + * // doSomethingWith($element); + * } + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param string $parent Required. The project that contains the list of CDN keys, in the form of + * `projects/{project_number}/locations/{location}`. + * @param array $optionalArgs { + * Optional. + * + * @type int $pageSize + * The maximum number of resources contained in the underlying API + * response. The API may return fewer values in a page, even if + * there are additional values to be retrieved. + * @type string $pageToken + * A page token is used to specify a page of values to be returned. + * If no page token is specified (the default), the first page + * of values will be returned. Any page token used here must have + * been generated by a previous call to the API. + * @type string $filter + * Filtering results + * @type string $orderBy + * Hint for how to order the results + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @return \Google\ApiCore\PagedListResponse + * + * @throws ApiException if the remote call fails + */ + public function listCdnKeys($parent, array $optionalArgs = []) + { + $request = new ListCdnKeysRequest(); + $requestParamHeaders = []; + $request->setParent($parent); + $requestParamHeaders['parent'] = $parent; + if (isset($optionalArgs['pageSize'])) { + $request->setPageSize($optionalArgs['pageSize']); + } + + if (isset($optionalArgs['pageToken'])) { + $request->setPageToken($optionalArgs['pageToken']); + } + + if (isset($optionalArgs['filter'])) { + $request->setFilter($optionalArgs['filter']); + } + + if (isset($optionalArgs['orderBy'])) { + $request->setOrderBy($optionalArgs['orderBy']); + } + + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->getPagedListResponse( + 'ListCdnKeys', + $optionalArgs, + ListCdnKeysResponse::class, + $request + ); + } + + /** + * Return the list of ad tag details for the specified live session. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $formattedParent = $videoStitcherServiceClient->liveSessionName('[PROJECT]', '[LOCATION]', '[LIVE_SESSION]'); + * // Iterate over pages of elements + * $pagedResponse = $videoStitcherServiceClient->listLiveAdTagDetails($formattedParent); + * foreach ($pagedResponse->iteratePages() as $page) { + * foreach ($page as $element) { + * // doSomethingWith($element); + * } + * } + * // Alternatively: + * // Iterate through all elements + * $pagedResponse = $videoStitcherServiceClient->listLiveAdTagDetails($formattedParent); + * foreach ($pagedResponse->iterateAllElements() as $element) { + * // doSomethingWith($element); + * } + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param string $parent Required. The resource parent in the form of + * `projects/{project}/locations/{location}/liveSessions/{live_session}`. + * @param array $optionalArgs { + * Optional. + * + * @type int $pageSize + * The maximum number of resources contained in the underlying API + * response. The API may return fewer values in a page, even if + * there are additional values to be retrieved. + * @type string $pageToken + * A page token is used to specify a page of values to be returned. + * If no page token is specified (the default), the first page + * of values will be returned. Any page token used here must have + * been generated by a previous call to the API. + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @return \Google\ApiCore\PagedListResponse + * + * @throws ApiException if the remote call fails + */ + public function listLiveAdTagDetails($parent, array $optionalArgs = []) + { + $request = new ListLiveAdTagDetailsRequest(); + $requestParamHeaders = []; + $request->setParent($parent); + $requestParamHeaders['parent'] = $parent; + if (isset($optionalArgs['pageSize'])) { + $request->setPageSize($optionalArgs['pageSize']); + } + + if (isset($optionalArgs['pageToken'])) { + $request->setPageToken($optionalArgs['pageToken']); + } + + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->getPagedListResponse( + 'ListLiveAdTagDetails', + $optionalArgs, + ListLiveAdTagDetailsResponse::class, + $request + ); + } + + /** + * Lists all slates in the specified project and location. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $formattedParent = $videoStitcherServiceClient->locationName('[PROJECT]', '[LOCATION]'); + * // Iterate over pages of elements + * $pagedResponse = $videoStitcherServiceClient->listSlates($formattedParent); + * foreach ($pagedResponse->iteratePages() as $page) { + * foreach ($page as $element) { + * // doSomethingWith($element); + * } + * } + * // Alternatively: + * // Iterate through all elements + * $pagedResponse = $videoStitcherServiceClient->listSlates($formattedParent); + * foreach ($pagedResponse->iterateAllElements() as $element) { + * // doSomethingWith($element); + * } + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param string $parent Required. The project to list slates, in the form of `projects/{project_number}`. + * @param array $optionalArgs { + * Optional. + * + * @type int $pageSize + * The maximum number of resources contained in the underlying API + * response. The API may return fewer values in a page, even if + * there are additional values to be retrieved. + * @type string $pageToken + * A page token is used to specify a page of values to be returned. + * If no page token is specified (the default), the first page + * of values will be returned. Any page token used here must have + * been generated by a previous call to the API. + * @type string $filter + * Filtering results + * @type string $orderBy + * Hint for how to order the results + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @return \Google\ApiCore\PagedListResponse + * + * @throws ApiException if the remote call fails + */ + public function listSlates($parent, array $optionalArgs = []) + { + $request = new ListSlatesRequest(); + $requestParamHeaders = []; + $request->setParent($parent); + $requestParamHeaders['parent'] = $parent; + if (isset($optionalArgs['pageSize'])) { + $request->setPageSize($optionalArgs['pageSize']); + } + + if (isset($optionalArgs['pageToken'])) { + $request->setPageToken($optionalArgs['pageToken']); + } + + if (isset($optionalArgs['filter'])) { + $request->setFilter($optionalArgs['filter']); + } + + if (isset($optionalArgs['orderBy'])) { + $request->setOrderBy($optionalArgs['orderBy']); + } + + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->getPagedListResponse( + 'ListSlates', + $optionalArgs, + ListSlatesResponse::class, + $request + ); + } + + /** + * Return the list of ad tag details for the specified VOD session. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $formattedParent = $videoStitcherServiceClient->vodSessionName('[PROJECT]', '[LOCATION]', '[VOD_SESSION]'); + * // Iterate over pages of elements + * $pagedResponse = $videoStitcherServiceClient->listVodAdTagDetails($formattedParent); + * foreach ($pagedResponse->iteratePages() as $page) { + * foreach ($page as $element) { + * // doSomethingWith($element); + * } + * } + * // Alternatively: + * // Iterate through all elements + * $pagedResponse = $videoStitcherServiceClient->listVodAdTagDetails($formattedParent); + * foreach ($pagedResponse->iterateAllElements() as $element) { + * // doSomethingWith($element); + * } + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param string $parent Required. The VOD session which the ad tag details belong to, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}`. + * @param array $optionalArgs { + * Optional. + * + * @type int $pageSize + * The maximum number of resources contained in the underlying API + * response. The API may return fewer values in a page, even if + * there are additional values to be retrieved. + * @type string $pageToken + * A page token is used to specify a page of values to be returned. + * If no page token is specified (the default), the first page + * of values will be returned. Any page token used here must have + * been generated by a previous call to the API. + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @return \Google\ApiCore\PagedListResponse + * + * @throws ApiException if the remote call fails + */ + public function listVodAdTagDetails($parent, array $optionalArgs = []) + { + $request = new ListVodAdTagDetailsRequest(); + $requestParamHeaders = []; + $request->setParent($parent); + $requestParamHeaders['parent'] = $parent; + if (isset($optionalArgs['pageSize'])) { + $request->setPageSize($optionalArgs['pageSize']); + } + + if (isset($optionalArgs['pageToken'])) { + $request->setPageToken($optionalArgs['pageToken']); + } + + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->getPagedListResponse( + 'ListVodAdTagDetails', + $optionalArgs, + ListVodAdTagDetailsResponse::class, + $request + ); + } + + /** + * Returns a list of detailed stitching information of the specified VOD + * session. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $formattedParent = $videoStitcherServiceClient->vodSessionName('[PROJECT]', '[LOCATION]', '[VOD_SESSION]'); + * // Iterate over pages of elements + * $pagedResponse = $videoStitcherServiceClient->listVodStitchDetails($formattedParent); + * foreach ($pagedResponse->iteratePages() as $page) { + * foreach ($page as $element) { + * // doSomethingWith($element); + * } + * } + * // Alternatively: + * // Iterate through all elements + * $pagedResponse = $videoStitcherServiceClient->listVodStitchDetails($formattedParent); + * foreach ($pagedResponse->iterateAllElements() as $element) { + * // doSomethingWith($element); + * } + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param string $parent Required. The VOD session where the stitch details belong to, in the form of + * `projects/{project}/locations/{location}/vodSessions/{id}`. + * @param array $optionalArgs { + * Optional. + * + * @type int $pageSize + * The maximum number of resources contained in the underlying API + * response. The API may return fewer values in a page, even if + * there are additional values to be retrieved. + * @type string $pageToken + * A page token is used to specify a page of values to be returned. + * If no page token is specified (the default), the first page + * of values will be returned. Any page token used here must have + * been generated by a previous call to the API. + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @return \Google\ApiCore\PagedListResponse + * + * @throws ApiException if the remote call fails + */ + public function listVodStitchDetails($parent, array $optionalArgs = []) + { + $request = new ListVodStitchDetailsRequest(); + $requestParamHeaders = []; + $request->setParent($parent); + $requestParamHeaders['parent'] = $parent; + if (isset($optionalArgs['pageSize'])) { + $request->setPageSize($optionalArgs['pageSize']); + } + + if (isset($optionalArgs['pageToken'])) { + $request->setPageToken($optionalArgs['pageToken']); + } + + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->getPagedListResponse( + 'ListVodStitchDetails', + $optionalArgs, + ListVodStitchDetailsResponse::class, + $request + ); + } + + /** + * Updates the specified CDN key. Only update fields specified + * in the call method body. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $cdnKey = new CdnKey(); + * $updateMask = new FieldMask(); + * $response = $videoStitcherServiceClient->updateCdnKey($cdnKey, $updateMask); + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param CdnKey $cdnKey Required. The CDN key resource which replaces the resource on the server. + * @param FieldMask $updateMask Required. The update mask applies to the resource. + * For the `FieldMask` definition, see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + * @param array $optionalArgs { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @return \Google\Cloud\Video\Stitcher\V1\CdnKey + * + * @throws ApiException if the remote call fails + */ + public function updateCdnKey($cdnKey, $updateMask, array $optionalArgs = []) + { + $request = new UpdateCdnKeyRequest(); + $requestParamHeaders = []; + $request->setCdnKey($cdnKey); + $request->setUpdateMask($updateMask); + $requestParamHeaders['cdn_key.name'] = $cdnKey->getName(); + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->startCall( + 'UpdateCdnKey', + CdnKey::class, + $optionalArgs, + $request + )->wait(); + } + + /** + * Updates the specified slate. + * + * Sample code: + * ``` + * $videoStitcherServiceClient = new VideoStitcherServiceClient(); + * try { + * $slate = new Slate(); + * $updateMask = new FieldMask(); + * $response = $videoStitcherServiceClient->updateSlate($slate, $updateMask); + * } finally { + * $videoStitcherServiceClient->close(); + * } + * ``` + * + * @param Slate $slate Required. The resource with updated fields. + * @param FieldMask $updateMask Required. The update mask which specifies fields which should be updated. + * @param array $optionalArgs { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a + * {@see Google\ApiCore\RetrySettings} object, or an associative array of retry + * settings parameters. See the documentation on + * {@see Google\ApiCore\RetrySettings} for example usage. + * } + * + * @return \Google\Cloud\Video\Stitcher\V1\Slate + * + * @throws ApiException if the remote call fails + */ + public function updateSlate($slate, $updateMask, array $optionalArgs = []) + { + $request = new UpdateSlateRequest(); + $requestParamHeaders = []; + $request->setSlate($slate); + $request->setUpdateMask($updateMask); + $requestParamHeaders['slate.name'] = $slate->getName(); + $requestParams = new RequestParamsHeaderDescriptor( + $requestParamHeaders + ); + $optionalArgs['headers'] = isset($optionalArgs['headers']) + ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) + : $requestParams->getHeader(); + return $this->startCall( + 'UpdateSlate', + Slate::class, + $optionalArgs, + $request + )->wait(); + } +} diff --git a/VideoSticher/src/V1/GetCdnKeyRequest.php b/VideoSticher/src/V1/GetCdnKeyRequest.php new file mode 100644 index 00000000000..68b97e09d37 --- /dev/null +++ b/VideoSticher/src/V1/GetCdnKeyRequest.php @@ -0,0 +1,71 @@ +google.cloud.video.stitcher.v1.GetCdnKeyRequest + */ +class GetCdnKeyRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The name of the CDN key to be retrieved, in the form of + * `projects/{project}/locations/{location}/cdnKeys/{id}`. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + private $name = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The name of the CDN key to be retrieved, in the form of + * `projects/{project}/locations/{location}/cdnKeys/{id}`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The name of the CDN key to be retrieved, in the form of + * `projects/{project}/locations/{location}/cdnKeys/{id}`. + * + * 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. The name of the CDN key to be retrieved, in the form of + * `projects/{project}/locations/{location}/cdnKeys/{id}`. + * + * 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/VideoSticher/src/V1/GetLiveAdTagDetailRequest.php b/VideoSticher/src/V1/GetLiveAdTagDetailRequest.php new file mode 100644 index 00000000000..b1ce1baa454 --- /dev/null +++ b/VideoSticher/src/V1/GetLiveAdTagDetailRequest.php @@ -0,0 +1,71 @@ +google.cloud.video.stitcher.v1.GetLiveAdTagDetailRequest + */ +class GetLiveAdTagDetailRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The resource name in the form of + * `projects/{project}/locations/{location}/liveSessions/{live_session}/liveAdTagDetails/{live_ad_tag_detail}`. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + private $name = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The resource name in the form of + * `projects/{project}/locations/{location}/liveSessions/{live_session}/liveAdTagDetails/{live_ad_tag_detail}`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The resource name in the form of + * `projects/{project}/locations/{location}/liveSessions/{live_session}/liveAdTagDetails/{live_ad_tag_detail}`. + * + * 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. The resource name in the form of + * `projects/{project}/locations/{location}/liveSessions/{live_session}/liveAdTagDetails/{live_ad_tag_detail}`. + * + * 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/VideoSticher/src/V1/GetLiveSessionRequest.php b/VideoSticher/src/V1/GetLiveSessionRequest.php new file mode 100644 index 00000000000..9e4bf9bfff8 --- /dev/null +++ b/VideoSticher/src/V1/GetLiveSessionRequest.php @@ -0,0 +1,71 @@ +google.cloud.video.stitcher.v1.GetLiveSessionRequest + */ +class GetLiveSessionRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The name of the live session, in the form of + * `projects/{project_number}/locations/{location}/liveSessions/{id}`. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + private $name = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The name of the live session, in the form of + * `projects/{project_number}/locations/{location}/liveSessions/{id}`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The name of the live session, in the form of + * `projects/{project_number}/locations/{location}/liveSessions/{id}`. + * + * 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. The name of the live session, in the form of + * `projects/{project_number}/locations/{location}/liveSessions/{id}`. + * + * 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/VideoSticher/src/V1/GetSlateRequest.php b/VideoSticher/src/V1/GetSlateRequest.php new file mode 100644 index 00000000000..e7bfc89fa1d --- /dev/null +++ b/VideoSticher/src/V1/GetSlateRequest.php @@ -0,0 +1,71 @@ +google.cloud.video.stitcher.v1.GetSlateRequest + */ +class GetSlateRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The name of the slate to be retrieved, of the slate, in the form of + * `projects/{project_number}/locations/{location}/slates/{id}`. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + private $name = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The name of the slate to be retrieved, of the slate, in the form of + * `projects/{project_number}/locations/{location}/slates/{id}`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The name of the slate to be retrieved, of the slate, in the form of + * `projects/{project_number}/locations/{location}/slates/{id}`. + * + * 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. The name of the slate to be retrieved, of the slate, in the form of + * `projects/{project_number}/locations/{location}/slates/{id}`. + * + * 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/VideoSticher/src/V1/GetVodAdTagDetailRequest.php b/VideoSticher/src/V1/GetVodAdTagDetailRequest.php new file mode 100644 index 00000000000..c8c8ee590b3 --- /dev/null +++ b/VideoSticher/src/V1/GetVodAdTagDetailRequest.php @@ -0,0 +1,71 @@ +google.cloud.video.stitcher.v1.GetVodAdTagDetailRequest + */ +class GetVodAdTagDetailRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The name of the ad tag detail for the specified VOD session, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodAdTagDetails/{vod_ad_tag_detail}`. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + private $name = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The name of the ad tag detail for the specified VOD session, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodAdTagDetails/{vod_ad_tag_detail}`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The name of the ad tag detail for the specified VOD session, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodAdTagDetails/{vod_ad_tag_detail}`. + * + * 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. The name of the ad tag detail for the specified VOD session, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodAdTagDetails/{vod_ad_tag_detail}`. + * + * 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/VideoSticher/src/V1/GetVodSessionRequest.php b/VideoSticher/src/V1/GetVodSessionRequest.php new file mode 100644 index 00000000000..b6557892765 --- /dev/null +++ b/VideoSticher/src/V1/GetVodSessionRequest.php @@ -0,0 +1,71 @@ +google.cloud.video.stitcher.v1.GetVodSessionRequest + */ +class GetVodSessionRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The name of the VOD session to be retrieved, in the form of + * `projects/{project_number}/locations/{location}/vodSessions/{id}`. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + private $name = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The name of the VOD session to be retrieved, in the form of + * `projects/{project_number}/locations/{location}/vodSessions/{id}`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The name of the VOD session to be retrieved, in the form of + * `projects/{project_number}/locations/{location}/vodSessions/{id}`. + * + * 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. The name of the VOD session to be retrieved, in the form of + * `projects/{project_number}/locations/{location}/vodSessions/{id}`. + * + * 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/VideoSticher/src/V1/GetVodStitchDetailRequest.php b/VideoSticher/src/V1/GetVodStitchDetailRequest.php new file mode 100644 index 00000000000..8b992668014 --- /dev/null +++ b/VideoSticher/src/V1/GetVodStitchDetailRequest.php @@ -0,0 +1,71 @@ +google.cloud.video.stitcher.v1.GetVodStitchDetailRequest + */ +class GetVodStitchDetailRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The name of the stitch detail in the specified VOD session, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodStitchDetails/{id}`. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + private $name = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The name of the stitch detail in the specified VOD session, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodStitchDetails/{id}`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The name of the stitch detail in the specified VOD session, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodStitchDetails/{id}`. + * + * 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. The name of the stitch detail in the specified VOD session, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodStitchDetails/{id}`. + * + * 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/VideoSticher/src/V1/GoogleCdnKey.php b/VideoSticher/src/V1/GoogleCdnKey.php new file mode 100644 index 00000000000..ec977f7b5e9 --- /dev/null +++ b/VideoSticher/src/V1/GoogleCdnKey.php @@ -0,0 +1,101 @@ +google.cloud.video.stitcher.v1.GoogleCdnKey + */ +class GoogleCdnKey extends \Google\Protobuf\Internal\Message +{ + /** + * Input only. Secret for this Google Cloud CDN key. + * + * Generated from protobuf field bytes private_key = 1 [(.google.api.field_behavior) = INPUT_ONLY]; + */ + private $private_key = ''; + /** + * The public name of the Google Cloud CDN key. + * + * Generated from protobuf field string key_name = 2; + */ + private $key_name = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $private_key + * Input only. Secret for this Google Cloud CDN key. + * @type string $key_name + * The public name of the Google Cloud CDN key. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\CdnKeys::initOnce(); + parent::__construct($data); + } + + /** + * Input only. Secret for this Google Cloud CDN key. + * + * Generated from protobuf field bytes private_key = 1 [(.google.api.field_behavior) = INPUT_ONLY]; + * @return string + */ + public function getPrivateKey() + { + return $this->private_key; + } + + /** + * Input only. Secret for this Google Cloud CDN key. + * + * Generated from protobuf field bytes private_key = 1 [(.google.api.field_behavior) = INPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setPrivateKey($var) + { + GPBUtil::checkString($var, False); + $this->private_key = $var; + + return $this; + } + + /** + * The public name of the Google Cloud CDN key. + * + * Generated from protobuf field string key_name = 2; + * @return string + */ + public function getKeyName() + { + return $this->key_name; + } + + /** + * The public name of the Google Cloud CDN key. + * + * Generated from protobuf field string key_name = 2; + * @param string $var + * @return $this + */ + public function setKeyName($var) + { + GPBUtil::checkString($var, True); + $this->key_name = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/HtmlAdResource.php b/VideoSticher/src/V1/HtmlAdResource.php new file mode 100644 index 00000000000..747e9d78888 --- /dev/null +++ b/VideoSticher/src/V1/HtmlAdResource.php @@ -0,0 +1,67 @@ +google.cloud.video.stitcher.v1.HtmlAdResource + */ +class HtmlAdResource extends \Google\Protobuf\Internal\Message +{ + /** + * The HTML to display for the ad resource. + * + * Generated from protobuf field string html_source = 1; + */ + private $html_source = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $html_source + * The HTML to display for the ad resource. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\Companions::initOnce(); + parent::__construct($data); + } + + /** + * The HTML to display for the ad resource. + * + * Generated from protobuf field string html_source = 1; + * @return string + */ + public function getHtmlSource() + { + return $this->html_source; + } + + /** + * The HTML to display for the ad resource. + * + * Generated from protobuf field string html_source = 1; + * @param string $var + * @return $this + */ + public function setHtmlSource($var) + { + GPBUtil::checkString($var, True); + $this->html_source = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/IframeAdResource.php b/VideoSticher/src/V1/IframeAdResource.php new file mode 100644 index 00000000000..a9c1819811d --- /dev/null +++ b/VideoSticher/src/V1/IframeAdResource.php @@ -0,0 +1,67 @@ +google.cloud.video.stitcher.v1.IframeAdResource + */ +class IframeAdResource extends \Google\Protobuf\Internal\Message +{ + /** + * URI source for an IFrame to display for the ad resource. + * + * Generated from protobuf field string uri = 1; + */ + private $uri = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $uri + * URI source for an IFrame to display for the ad resource. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\Companions::initOnce(); + parent::__construct($data); + } + + /** + * URI source for an IFrame to display for the ad resource. + * + * Generated from protobuf field string uri = 1; + * @return string + */ + public function getUri() + { + return $this->uri; + } + + /** + * URI source for an IFrame to display for the ad resource. + * + * Generated from protobuf field string uri = 1; + * @param string $var + * @return $this + */ + public function setUri($var) + { + GPBUtil::checkString($var, True); + $this->uri = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/Interstitials.php b/VideoSticher/src/V1/Interstitials.php new file mode 100644 index 00000000000..fc55435660c --- /dev/null +++ b/VideoSticher/src/V1/Interstitials.php @@ -0,0 +1,111 @@ +google.cloud.video.stitcher.v1.Interstitials + */ +class Interstitials extends \Google\Protobuf\Internal\Message +{ + /** + * List of ad breaks ordered by time. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.VodSessionAdBreak ad_breaks = 1; + */ + private $ad_breaks; + /** + * Information related to the content of the VOD session. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.VodSessionContent session_content = 2; + */ + private $session_content = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Video\Stitcher\V1\VodSessionAdBreak[]|\Google\Protobuf\Internal\RepeatedField $ad_breaks + * List of ad breaks ordered by time. + * @type \Google\Cloud\Video\Stitcher\V1\VodSessionContent $session_content + * Information related to the content of the VOD session. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\Sessions::initOnce(); + parent::__construct($data); + } + + /** + * List of ad breaks ordered by time. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.VodSessionAdBreak ad_breaks = 1; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getAdBreaks() + { + return $this->ad_breaks; + } + + /** + * List of ad breaks ordered by time. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.VodSessionAdBreak ad_breaks = 1; + * @param \Google\Cloud\Video\Stitcher\V1\VodSessionAdBreak[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setAdBreaks($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Video\Stitcher\V1\VodSessionAdBreak::class); + $this->ad_breaks = $arr; + + return $this; + } + + /** + * Information related to the content of the VOD session. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.VodSessionContent session_content = 2; + * @return \Google\Cloud\Video\Stitcher\V1\VodSessionContent|null + */ + public function getSessionContent() + { + return $this->session_content; + } + + public function hasSessionContent() + { + return isset($this->session_content); + } + + public function clearSessionContent() + { + unset($this->session_content); + } + + /** + * Information related to the content of the VOD session. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.VodSessionContent session_content = 2; + * @param \Google\Cloud\Video\Stitcher\V1\VodSessionContent $var + * @return $this + */ + public function setSessionContent($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Video\Stitcher\V1\VodSessionContent::class); + $this->session_content = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/ListCdnKeysRequest.php b/VideoSticher/src/V1/ListCdnKeysRequest.php new file mode 100644 index 00000000000..17081a6fe6c --- /dev/null +++ b/VideoSticher/src/V1/ListCdnKeysRequest.php @@ -0,0 +1,211 @@ +google.cloud.video.stitcher.v1.ListCdnKeysRequest + */ +class ListCdnKeysRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The project that contains the list of CDN keys, in the form of + * `projects/{project_number}/locations/{location}`. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + private $parent = ''; + /** + * Requested page size. Server may return fewer items than requested. + * If unspecified, server will pick an appropriate default. + * + * Generated from protobuf field int32 page_size = 2; + */ + private $page_size = 0; + /** + * A token identifying a page of results the server should return. + * + * Generated from protobuf field string page_token = 3; + */ + private $page_token = ''; + /** + * Filtering results + * + * Generated from protobuf field string filter = 4; + */ + private $filter = ''; + /** + * Hint for how to order the results + * + * Generated from protobuf field string order_by = 5; + */ + private $order_by = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. The project that contains the list of CDN keys, in the form of + * `projects/{project_number}/locations/{location}`. + * @type int $page_size + * Requested page size. Server may return fewer items than requested. + * If unspecified, server will pick an appropriate default. + * @type string $page_token + * A token identifying a page of results the server should return. + * @type string $filter + * Filtering results + * @type string $order_by + * Hint for how to order the results + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The project that contains the list of CDN keys, in the form of + * `projects/{project_number}/locations/{location}`. + * + * 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. The project that contains the list of CDN keys, in the form of + * `projects/{project_number}/locations/{location}`. + * + * 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; + } + + /** + * Requested page size. Server may return fewer items than requested. + * If unspecified, server will pick an appropriate default. + * + * Generated from protobuf field int32 page_size = 2; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * Requested page size. Server may return fewer items than requested. + * If unspecified, server will pick an appropriate default. + * + * Generated from protobuf field int32 page_size = 2; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * A token identifying a page of results the server should return. + * + * Generated from protobuf field string page_token = 3; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * A token identifying a page of results the server should return. + * + * Generated from protobuf field string page_token = 3; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + + /** + * Filtering results + * + * Generated from protobuf field string filter = 4; + * @return string + */ + public function getFilter() + { + return $this->filter; + } + + /** + * Filtering results + * + * Generated from protobuf field string filter = 4; + * @param string $var + * @return $this + */ + public function setFilter($var) + { + GPBUtil::checkString($var, True); + $this->filter = $var; + + return $this; + } + + /** + * Hint for how to order the results + * + * Generated from protobuf field string order_by = 5; + * @return string + */ + public function getOrderBy() + { + return $this->order_by; + } + + /** + * Hint for how to order the results + * + * Generated from protobuf field string order_by = 5; + * @param string $var + * @return $this + */ + public function setOrderBy($var) + { + GPBUtil::checkString($var, True); + $this->order_by = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/ListCdnKeysResponse.php b/VideoSticher/src/V1/ListCdnKeysResponse.php new file mode 100644 index 00000000000..dd961a42e1e --- /dev/null +++ b/VideoSticher/src/V1/ListCdnKeysResponse.php @@ -0,0 +1,135 @@ +google.cloud.video.stitcher.v1.ListCdnKeysResponse + */ +class ListCdnKeysResponse extends \Google\Protobuf\Internal\Message +{ + /** + * List of CDN keys. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.CdnKey cdn_keys = 1; + */ + private $cdn_keys; + /** + * A token identifying a page of results the server should return. + * + * Generated from protobuf field string next_page_token = 2; + */ + private $next_page_token = ''; + /** + * Locations that could not be reached. + * + * Generated from protobuf field repeated string unreachable = 3; + */ + private $unreachable; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Video\Stitcher\V1\CdnKey[]|\Google\Protobuf\Internal\RepeatedField $cdn_keys + * List of CDN keys. + * @type string $next_page_token + * A token identifying a page of results the server should return. + * @type string[]|\Google\Protobuf\Internal\RepeatedField $unreachable + * Locations that could not be reached. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * List of CDN keys. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.CdnKey cdn_keys = 1; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getCdnKeys() + { + return $this->cdn_keys; + } + + /** + * List of CDN keys. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.CdnKey cdn_keys = 1; + * @param \Google\Cloud\Video\Stitcher\V1\CdnKey[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setCdnKeys($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Video\Stitcher\V1\CdnKey::class); + $this->cdn_keys = $arr; + + return $this; + } + + /** + * A token identifying a page of results the server should return. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * A token identifying a page of results the server should return. + * + * 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; + } + + /** + * Locations that could not be reached. + * + * Generated from protobuf field repeated string unreachable = 3; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getUnreachable() + { + return $this->unreachable; + } + + /** + * Locations that could not be reached. + * + * Generated from protobuf field repeated string unreachable = 3; + * @param string[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setUnreachable($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->unreachable = $arr; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/ListLiveAdTagDetailsRequest.php b/VideoSticher/src/V1/ListLiveAdTagDetailsRequest.php new file mode 100644 index 00000000000..233c430e7a6 --- /dev/null +++ b/VideoSticher/src/V1/ListLiveAdTagDetailsRequest.php @@ -0,0 +1,139 @@ +google.cloud.video.stitcher.v1.ListLiveAdTagDetailsRequest + */ +class ListLiveAdTagDetailsRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The resource parent in the form of + * `projects/{project}/locations/{location}/liveSessions/{live_session}`. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + private $parent = ''; + /** + * The maximum number of items to return. + * + * Generated from protobuf field int32 page_size = 2; + */ + private $page_size = 0; + /** + * The pagination token returned from a previous List request. + * + * Generated from protobuf field string page_token = 3; + */ + private $page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. The resource parent in the form of + * `projects/{project}/locations/{location}/liveSessions/{live_session}`. + * @type int $page_size + * The maximum number of items to return. + * @type string $page_token + * The pagination token returned from a previous List request. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The resource parent in the form of + * `projects/{project}/locations/{location}/liveSessions/{live_session}`. + * + * 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. The resource parent in the form of + * `projects/{project}/locations/{location}/liveSessions/{live_session}`. + * + * 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; + } + + /** + * The maximum number of items to return. + * + * Generated from protobuf field int32 page_size = 2; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * The maximum number of items to return. + * + * Generated from protobuf field int32 page_size = 2; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * The pagination token returned from a previous List request. + * + * Generated from protobuf field string page_token = 3; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * The pagination token returned from a previous List request. + * + * Generated from protobuf field string page_token = 3; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/ListLiveAdTagDetailsResponse.php b/VideoSticher/src/V1/ListLiveAdTagDetailsResponse.php new file mode 100644 index 00000000000..dfb3e669e9b --- /dev/null +++ b/VideoSticher/src/V1/ListLiveAdTagDetailsResponse.php @@ -0,0 +1,101 @@ +google.cloud.video.stitcher.v1.ListLiveAdTagDetailsResponse + */ +class ListLiveAdTagDetailsResponse extends \Google\Protobuf\Internal\Message +{ + /** + * A list of live session ad tag details. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.LiveAdTagDetail live_ad_tag_details = 1; + */ + private $live_ad_tag_details; + /** + * The pagination token. + * + * Generated from protobuf field string next_page_token = 2; + */ + private $next_page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Video\Stitcher\V1\LiveAdTagDetail[]|\Google\Protobuf\Internal\RepeatedField $live_ad_tag_details + * A list of live session ad tag details. + * @type string $next_page_token + * The pagination token. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * A list of live session ad tag details. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.LiveAdTagDetail live_ad_tag_details = 1; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getLiveAdTagDetails() + { + return $this->live_ad_tag_details; + } + + /** + * A list of live session ad tag details. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.LiveAdTagDetail live_ad_tag_details = 1; + * @param \Google\Cloud\Video\Stitcher\V1\LiveAdTagDetail[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setLiveAdTagDetails($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Video\Stitcher\V1\LiveAdTagDetail::class); + $this->live_ad_tag_details = $arr; + + return $this; + } + + /** + * The pagination token. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * The pagination token. + * + * 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/VideoSticher/src/V1/ListSlatesRequest.php b/VideoSticher/src/V1/ListSlatesRequest.php new file mode 100644 index 00000000000..e9cea253abb --- /dev/null +++ b/VideoSticher/src/V1/ListSlatesRequest.php @@ -0,0 +1,207 @@ +google.cloud.video.stitcher.v1.ListSlatesRequest + */ +class ListSlatesRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The project to list slates, in the form of `projects/{project_number}`. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + private $parent = ''; + /** + * Requested page size. Server may return fewer items than requested. + * If unspecified, server will pick an appropriate default. + * + * Generated from protobuf field int32 page_size = 2; + */ + private $page_size = 0; + /** + * A token identifying a page of results the server should return. + * + * Generated from protobuf field string page_token = 3; + */ + private $page_token = ''; + /** + * Filtering results + * + * Generated from protobuf field string filter = 4; + */ + private $filter = ''; + /** + * Hint for how to order the results + * + * Generated from protobuf field string order_by = 5; + */ + private $order_by = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. The project to list slates, in the form of `projects/{project_number}`. + * @type int $page_size + * Requested page size. Server may return fewer items than requested. + * If unspecified, server will pick an appropriate default. + * @type string $page_token + * A token identifying a page of results the server should return. + * @type string $filter + * Filtering results + * @type string $order_by + * Hint for how to order the results + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The project to list slates, in the form of `projects/{project_number}`. + * + * 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. The project to list slates, in the form of `projects/{project_number}`. + * + * 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; + } + + /** + * Requested page size. Server may return fewer items than requested. + * If unspecified, server will pick an appropriate default. + * + * Generated from protobuf field int32 page_size = 2; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * Requested page size. Server may return fewer items than requested. + * If unspecified, server will pick an appropriate default. + * + * Generated from protobuf field int32 page_size = 2; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * A token identifying a page of results the server should return. + * + * Generated from protobuf field string page_token = 3; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * A token identifying a page of results the server should return. + * + * Generated from protobuf field string page_token = 3; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + + /** + * Filtering results + * + * Generated from protobuf field string filter = 4; + * @return string + */ + public function getFilter() + { + return $this->filter; + } + + /** + * Filtering results + * + * Generated from protobuf field string filter = 4; + * @param string $var + * @return $this + */ + public function setFilter($var) + { + GPBUtil::checkString($var, True); + $this->filter = $var; + + return $this; + } + + /** + * Hint for how to order the results + * + * Generated from protobuf field string order_by = 5; + * @return string + */ + public function getOrderBy() + { + return $this->order_by; + } + + /** + * Hint for how to order the results + * + * Generated from protobuf field string order_by = 5; + * @param string $var + * @return $this + */ + public function setOrderBy($var) + { + GPBUtil::checkString($var, True); + $this->order_by = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/ListSlatesResponse.php b/VideoSticher/src/V1/ListSlatesResponse.php new file mode 100644 index 00000000000..f4974f4e756 --- /dev/null +++ b/VideoSticher/src/V1/ListSlatesResponse.php @@ -0,0 +1,135 @@ +google.cloud.video.stitcher.v1.ListSlatesResponse + */ +class ListSlatesResponse extends \Google\Protobuf\Internal\Message +{ + /** + * The list of slates + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.Slate slates = 1; + */ + private $slates; + /** + * A token identifying a page of results the server should return. + * + * Generated from protobuf field string next_page_token = 2; + */ + private $next_page_token = ''; + /** + * Locations that could not be reached. + * + * Generated from protobuf field repeated string unreachable = 3; + */ + private $unreachable; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Video\Stitcher\V1\Slate[]|\Google\Protobuf\Internal\RepeatedField $slates + * The list of slates + * @type string $next_page_token + * A token identifying a page of results the server should return. + * @type string[]|\Google\Protobuf\Internal\RepeatedField $unreachable + * Locations that could not be reached. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * The list of slates + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.Slate slates = 1; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getSlates() + { + return $this->slates; + } + + /** + * The list of slates + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.Slate slates = 1; + * @param \Google\Cloud\Video\Stitcher\V1\Slate[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setSlates($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Video\Stitcher\V1\Slate::class); + $this->slates = $arr; + + return $this; + } + + /** + * A token identifying a page of results the server should return. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * A token identifying a page of results the server should return. + * + * 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; + } + + /** + * Locations that could not be reached. + * + * Generated from protobuf field repeated string unreachable = 3; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getUnreachable() + { + return $this->unreachable; + } + + /** + * Locations that could not be reached. + * + * Generated from protobuf field repeated string unreachable = 3; + * @param string[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setUnreachable($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->unreachable = $arr; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/ListVodAdTagDetailsRequest.php b/VideoSticher/src/V1/ListVodAdTagDetailsRequest.php new file mode 100644 index 00000000000..7a7fa32be44 --- /dev/null +++ b/VideoSticher/src/V1/ListVodAdTagDetailsRequest.php @@ -0,0 +1,139 @@ +google.cloud.video.stitcher.v1.ListVodAdTagDetailsRequest + */ +class ListVodAdTagDetailsRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The VOD session which the ad tag details belong to, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}`. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + private $parent = ''; + /** + * The maximum number of items to return. + * + * Generated from protobuf field int32 page_size = 2; + */ + private $page_size = 0; + /** + * The next_page_token value returned from a previous List request, if any. + * + * Generated from protobuf field string page_token = 3; + */ + private $page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. The VOD session which the ad tag details belong to, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}`. + * @type int $page_size + * The maximum number of items to return. + * @type string $page_token + * The next_page_token value returned from a previous List request, if any. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The VOD session which the ad tag details belong to, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}`. + * + * 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. The VOD session which the ad tag details belong to, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}`. + * + * 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; + } + + /** + * The maximum number of items to return. + * + * Generated from protobuf field int32 page_size = 2; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * The maximum number of items to return. + * + * Generated from protobuf field int32 page_size = 2; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * The next_page_token value returned from a previous List request, if any. + * + * Generated from protobuf field string page_token = 3; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * The next_page_token value returned from a previous List request, if any. + * + * Generated from protobuf field string page_token = 3; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/ListVodAdTagDetailsResponse.php b/VideoSticher/src/V1/ListVodAdTagDetailsResponse.php new file mode 100644 index 00000000000..1906bb18992 --- /dev/null +++ b/VideoSticher/src/V1/ListVodAdTagDetailsResponse.php @@ -0,0 +1,101 @@ +google.cloud.video.stitcher.v1.ListVodAdTagDetailsResponse + */ +class ListVodAdTagDetailsResponse extends \Google\Protobuf\Internal\Message +{ + /** + * A List of ad tag details. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.VodAdTagDetail vod_ad_tag_details = 1; + */ + private $vod_ad_tag_details; + /** + * The pagination token. + * + * Generated from protobuf field string next_page_token = 2; + */ + private $next_page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Video\Stitcher\V1\VodAdTagDetail[]|\Google\Protobuf\Internal\RepeatedField $vod_ad_tag_details + * A List of ad tag details. + * @type string $next_page_token + * The pagination token. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * A List of ad tag details. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.VodAdTagDetail vod_ad_tag_details = 1; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getVodAdTagDetails() + { + return $this->vod_ad_tag_details; + } + + /** + * A List of ad tag details. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.VodAdTagDetail vod_ad_tag_details = 1; + * @param \Google\Cloud\Video\Stitcher\V1\VodAdTagDetail[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setVodAdTagDetails($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Video\Stitcher\V1\VodAdTagDetail::class); + $this->vod_ad_tag_details = $arr; + + return $this; + } + + /** + * The pagination token. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * The pagination token. + * + * 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/VideoSticher/src/V1/ListVodStitchDetailsRequest.php b/VideoSticher/src/V1/ListVodStitchDetailsRequest.php new file mode 100644 index 00000000000..253611d417b --- /dev/null +++ b/VideoSticher/src/V1/ListVodStitchDetailsRequest.php @@ -0,0 +1,139 @@ +google.cloud.video.stitcher.v1.ListVodStitchDetailsRequest + */ +class ListVodStitchDetailsRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The VOD session where the stitch details belong to, in the form of + * `projects/{project}/locations/{location}/vodSessions/{id}`. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + private $parent = ''; + /** + * The maximum number of items to return. + * + * Generated from protobuf field int32 page_size = 2; + */ + private $page_size = 0; + /** + * The next_page_token value returned from a previous List request, if any. + * + * Generated from protobuf field string page_token = 3; + */ + private $page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. The VOD session where the stitch details belong to, in the form of + * `projects/{project}/locations/{location}/vodSessions/{id}`. + * @type int $page_size + * The maximum number of items to return. + * @type string $page_token + * The next_page_token value returned from a previous List request, if any. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The VOD session where the stitch details belong to, in the form of + * `projects/{project}/locations/{location}/vodSessions/{id}`. + * + * 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. The VOD session where the stitch details belong to, in the form of + * `projects/{project}/locations/{location}/vodSessions/{id}`. + * + * 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; + } + + /** + * The maximum number of items to return. + * + * Generated from protobuf field int32 page_size = 2; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * The maximum number of items to return. + * + * Generated from protobuf field int32 page_size = 2; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * The next_page_token value returned from a previous List request, if any. + * + * Generated from protobuf field string page_token = 3; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * The next_page_token value returned from a previous List request, if any. + * + * Generated from protobuf field string page_token = 3; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/ListVodStitchDetailsResponse.php b/VideoSticher/src/V1/ListVodStitchDetailsResponse.php new file mode 100644 index 00000000000..c79893290ba --- /dev/null +++ b/VideoSticher/src/V1/ListVodStitchDetailsResponse.php @@ -0,0 +1,101 @@ +google.cloud.video.stitcher.v1.ListVodStitchDetailsResponse + */ +class ListVodStitchDetailsResponse extends \Google\Protobuf\Internal\Message +{ + /** + * A List of stitch Details. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.VodStitchDetail vod_stitch_details = 1; + */ + private $vod_stitch_details; + /** + * The pagination token. + * + * Generated from protobuf field string next_page_token = 2; + */ + private $next_page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Video\Stitcher\V1\VodStitchDetail[]|\Google\Protobuf\Internal\RepeatedField $vod_stitch_details + * A List of stitch Details. + * @type string $next_page_token + * The pagination token. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * A List of stitch Details. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.VodStitchDetail vod_stitch_details = 1; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getVodStitchDetails() + { + return $this->vod_stitch_details; + } + + /** + * A List of stitch Details. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.VodStitchDetail vod_stitch_details = 1; + * @param \Google\Cloud\Video\Stitcher\V1\VodStitchDetail[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setVodStitchDetails($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Video\Stitcher\V1\VodStitchDetail::class); + $this->vod_stitch_details = $arr; + + return $this; + } + + /** + * The pagination token. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * The pagination token. + * + * 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/VideoSticher/src/V1/LiveAdTagDetail.php b/VideoSticher/src/V1/LiveAdTagDetail.php new file mode 100644 index 00000000000..bd3bb4cedca --- /dev/null +++ b/VideoSticher/src/V1/LiveAdTagDetail.php @@ -0,0 +1,105 @@ +google.cloud.video.stitcher.v1.LiveAdTagDetail + */ +class LiveAdTagDetail extends \Google\Protobuf\Internal\Message +{ + /** + * The resource name in the form of + * `projects/{project}/locations/{location}/liveSessions/{live_session}/liveAdTagDetails/{id}`. + * + * Generated from protobuf field string name = 1; + */ + private $name = ''; + /** + * A list of ad requests. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.AdRequest ad_requests = 2; + */ + private $ad_requests; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * The resource name in the form of + * `projects/{project}/locations/{location}/liveSessions/{live_session}/liveAdTagDetails/{id}`. + * @type \Google\Cloud\Video\Stitcher\V1\AdRequest[]|\Google\Protobuf\Internal\RepeatedField $ad_requests + * A list of ad requests. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\AdTagDetails::initOnce(); + parent::__construct($data); + } + + /** + * The resource name in the form of + * `projects/{project}/locations/{location}/liveSessions/{live_session}/liveAdTagDetails/{id}`. + * + * Generated from protobuf field string name = 1; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * The resource name in the form of + * `projects/{project}/locations/{location}/liveSessions/{live_session}/liveAdTagDetails/{id}`. + * + * Generated from protobuf field string name = 1; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * A list of ad requests. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.AdRequest ad_requests = 2; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getAdRequests() + { + return $this->ad_requests; + } + + /** + * A list of ad requests. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.AdRequest ad_requests = 2; + * @param \Google\Cloud\Video\Stitcher\V1\AdRequest[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setAdRequests($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Video\Stitcher\V1\AdRequest::class); + $this->ad_requests = $arr; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/LiveSession.php b/VideoSticher/src/V1/LiveSession.php new file mode 100644 index 00000000000..47d75e8476a --- /dev/null +++ b/VideoSticher/src/V1/LiveSession.php @@ -0,0 +1,463 @@ +google.cloud.video.stitcher.v1.LiveSession + */ +class LiveSession extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The name of the live session, in the form of + * `projects/{project}/locations/{location}/liveSessions/{id}`. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $name = ''; + /** + * Output only. The URI to play the live session's ad-stitched stream. + * + * Generated from protobuf field string play_uri = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $play_uri = ''; + /** + * The URI of the live session's source stream. + * + * Generated from protobuf field string source_uri = 3; + */ + private $source_uri = ''; + /** + * The default ad tag to use when no ad tag ids are specified in an ad break's + * SCTE-35 message. + * default_ad_tag_id is necessary when `adTagMap` has more than one key. Its + * value must be present in the `adTagMap`. + * + * Generated from protobuf field string default_ad_tag_id = 4; + */ + private $default_ad_tag_id = ''; + /** + * Key value pairs for ad tags. Ads parsed from ad tags must be MP4 videos + * each with at least one audio track. + * + * Generated from protobuf field map ad_tag_map = 5; + */ + private $ad_tag_map; + /** + * Key value pairs for ad tag macro replacement. If the + * specified ad tag URI has macros, this field provides the mapping + * to the value that will replace the macro in the ad tag URI. + * Macros are designated by square brackets. + * For example: + * Ad tag URI: "https://doubleclick.google.com/ad/1?geo_id=[geoId]" + * Ad tag macros: `{"geoId": "123"}` + * Fully qualified ad tag: + * `"https://doubleclick.google.com/ad/1?geo_id=123"` + * + * Generated from protobuf field map ad_tag_macros = 6; + */ + private $ad_tag_macros; + /** + * Whether client side ad tracking is enabled. If enabled, the client player + * is expected to trigger playback and activity events itself. Otherwise, + * server side ad tracking is enabled and the Video Stitcher API will trigger + * playback events on behalf of the client player. + * + * Generated from protobuf field bool client_ad_tracking = 7; + */ + private $client_ad_tracking = false; + /** + * The default slate to use when no slates are specified in an ad break's + * SCTE-35 message. When specified, this value must match the ID for a slate + * that has already been created via the + * [CreateSlate](projects.locations.slates/create) method. + * + * Generated from protobuf field string default_slate_id = 8; + */ + private $default_slate_id = ''; + /** + * Defines the stitcher behavior in case an ad does not align exactly with + * the ad break boundaries. If not specified, the default is `COMPLETE_AD`. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.LiveSession.StitchingPolicy stitching_policy = 9; + */ + private $stitching_policy = 0; + /** + * Additional options that affect the output of the manifest. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.ManifestOptions manifest_options = 10; + */ + private $manifest_options = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Output only. The name of the live session, in the form of + * `projects/{project}/locations/{location}/liveSessions/{id}`. + * @type string $play_uri + * Output only. The URI to play the live session's ad-stitched stream. + * @type string $source_uri + * The URI of the live session's source stream. + * @type string $default_ad_tag_id + * The default ad tag to use when no ad tag ids are specified in an ad break's + * SCTE-35 message. + * default_ad_tag_id is necessary when `adTagMap` has more than one key. Its + * value must be present in the `adTagMap`. + * @type array|\Google\Protobuf\Internal\MapField $ad_tag_map + * Key value pairs for ad tags. Ads parsed from ad tags must be MP4 videos + * each with at least one audio track. + * @type array|\Google\Protobuf\Internal\MapField $ad_tag_macros + * Key value pairs for ad tag macro replacement. If the + * specified ad tag URI has macros, this field provides the mapping + * to the value that will replace the macro in the ad tag URI. + * Macros are designated by square brackets. + * For example: + * Ad tag URI: "https://doubleclick.google.com/ad/1?geo_id=[geoId]" + * Ad tag macros: `{"geoId": "123"}` + * Fully qualified ad tag: + * `"https://doubleclick.google.com/ad/1?geo_id=123"` + * @type bool $client_ad_tracking + * Whether client side ad tracking is enabled. If enabled, the client player + * is expected to trigger playback and activity events itself. Otherwise, + * server side ad tracking is enabled and the Video Stitcher API will trigger + * playback events on behalf of the client player. + * @type string $default_slate_id + * The default slate to use when no slates are specified in an ad break's + * SCTE-35 message. When specified, this value must match the ID for a slate + * that has already been created via the + * [CreateSlate](projects.locations.slates/create) method. + * @type int $stitching_policy + * Defines the stitcher behavior in case an ad does not align exactly with + * the ad break boundaries. If not specified, the default is `COMPLETE_AD`. + * @type \Google\Cloud\Video\Stitcher\V1\ManifestOptions $manifest_options + * Additional options that affect the output of the manifest. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\Sessions::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The name of the live session, in the form of + * `projects/{project}/locations/{location}/liveSessions/{id}`. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Output only. The name of the live session, in the form of + * `projects/{project}/locations/{location}/liveSessions/{id}`. + * + * Generated from protobuf field string name = 1 [(.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. The URI to play the live session's ad-stitched stream. + * + * Generated from protobuf field string play_uri = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getPlayUri() + { + return $this->play_uri; + } + + /** + * Output only. The URI to play the live session's ad-stitched stream. + * + * Generated from protobuf field string play_uri = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setPlayUri($var) + { + GPBUtil::checkString($var, True); + $this->play_uri = $var; + + return $this; + } + + /** + * The URI of the live session's source stream. + * + * Generated from protobuf field string source_uri = 3; + * @return string + */ + public function getSourceUri() + { + return $this->source_uri; + } + + /** + * The URI of the live session's source stream. + * + * Generated from protobuf field string source_uri = 3; + * @param string $var + * @return $this + */ + public function setSourceUri($var) + { + GPBUtil::checkString($var, True); + $this->source_uri = $var; + + return $this; + } + + /** + * The default ad tag to use when no ad tag ids are specified in an ad break's + * SCTE-35 message. + * default_ad_tag_id is necessary when `adTagMap` has more than one key. Its + * value must be present in the `adTagMap`. + * + * Generated from protobuf field string default_ad_tag_id = 4; + * @return string + */ + public function getDefaultAdTagId() + { + return $this->default_ad_tag_id; + } + + /** + * The default ad tag to use when no ad tag ids are specified in an ad break's + * SCTE-35 message. + * default_ad_tag_id is necessary when `adTagMap` has more than one key. Its + * value must be present in the `adTagMap`. + * + * Generated from protobuf field string default_ad_tag_id = 4; + * @param string $var + * @return $this + */ + public function setDefaultAdTagId($var) + { + GPBUtil::checkString($var, True); + $this->default_ad_tag_id = $var; + + return $this; + } + + /** + * Key value pairs for ad tags. Ads parsed from ad tags must be MP4 videos + * each with at least one audio track. + * + * Generated from protobuf field map ad_tag_map = 5; + * @return \Google\Protobuf\Internal\MapField + */ + public function getAdTagMap() + { + return $this->ad_tag_map; + } + + /** + * Key value pairs for ad tags. Ads parsed from ad tags must be MP4 videos + * each with at least one audio track. + * + * Generated from protobuf field map ad_tag_map = 5; + * @param array|\Google\Protobuf\Internal\MapField $var + * @return $this + */ + public function setAdTagMap($var) + { + $arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Video\Stitcher\V1\AdTag::class); + $this->ad_tag_map = $arr; + + return $this; + } + + /** + * Key value pairs for ad tag macro replacement. If the + * specified ad tag URI has macros, this field provides the mapping + * to the value that will replace the macro in the ad tag URI. + * Macros are designated by square brackets. + * For example: + * Ad tag URI: "https://doubleclick.google.com/ad/1?geo_id=[geoId]" + * Ad tag macros: `{"geoId": "123"}` + * Fully qualified ad tag: + * `"https://doubleclick.google.com/ad/1?geo_id=123"` + * + * Generated from protobuf field map ad_tag_macros = 6; + * @return \Google\Protobuf\Internal\MapField + */ + public function getAdTagMacros() + { + return $this->ad_tag_macros; + } + + /** + * Key value pairs for ad tag macro replacement. If the + * specified ad tag URI has macros, this field provides the mapping + * to the value that will replace the macro in the ad tag URI. + * Macros are designated by square brackets. + * For example: + * Ad tag URI: "https://doubleclick.google.com/ad/1?geo_id=[geoId]" + * Ad tag macros: `{"geoId": "123"}` + * Fully qualified ad tag: + * `"https://doubleclick.google.com/ad/1?geo_id=123"` + * + * Generated from protobuf field map ad_tag_macros = 6; + * @param array|\Google\Protobuf\Internal\MapField $var + * @return $this + */ + public function setAdTagMacros($var) + { + $arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::STRING); + $this->ad_tag_macros = $arr; + + return $this; + } + + /** + * Whether client side ad tracking is enabled. If enabled, the client player + * is expected to trigger playback and activity events itself. Otherwise, + * server side ad tracking is enabled and the Video Stitcher API will trigger + * playback events on behalf of the client player. + * + * Generated from protobuf field bool client_ad_tracking = 7; + * @return bool + */ + public function getClientAdTracking() + { + return $this->client_ad_tracking; + } + + /** + * Whether client side ad tracking is enabled. If enabled, the client player + * is expected to trigger playback and activity events itself. Otherwise, + * server side ad tracking is enabled and the Video Stitcher API will trigger + * playback events on behalf of the client player. + * + * Generated from protobuf field bool client_ad_tracking = 7; + * @param bool $var + * @return $this + */ + public function setClientAdTracking($var) + { + GPBUtil::checkBool($var); + $this->client_ad_tracking = $var; + + return $this; + } + + /** + * The default slate to use when no slates are specified in an ad break's + * SCTE-35 message. When specified, this value must match the ID for a slate + * that has already been created via the + * [CreateSlate](projects.locations.slates/create) method. + * + * Generated from protobuf field string default_slate_id = 8; + * @return string + */ + public function getDefaultSlateId() + { + return $this->default_slate_id; + } + + /** + * The default slate to use when no slates are specified in an ad break's + * SCTE-35 message. When specified, this value must match the ID for a slate + * that has already been created via the + * [CreateSlate](projects.locations.slates/create) method. + * + * Generated from protobuf field string default_slate_id = 8; + * @param string $var + * @return $this + */ + public function setDefaultSlateId($var) + { + GPBUtil::checkString($var, True); + $this->default_slate_id = $var; + + return $this; + } + + /** + * Defines the stitcher behavior in case an ad does not align exactly with + * the ad break boundaries. If not specified, the default is `COMPLETE_AD`. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.LiveSession.StitchingPolicy stitching_policy = 9; + * @return int + */ + public function getStitchingPolicy() + { + return $this->stitching_policy; + } + + /** + * Defines the stitcher behavior in case an ad does not align exactly with + * the ad break boundaries. If not specified, the default is `COMPLETE_AD`. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.LiveSession.StitchingPolicy stitching_policy = 9; + * @param int $var + * @return $this + */ + public function setStitchingPolicy($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Video\Stitcher\V1\LiveSession\StitchingPolicy::class); + $this->stitching_policy = $var; + + return $this; + } + + /** + * Additional options that affect the output of the manifest. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.ManifestOptions manifest_options = 10; + * @return \Google\Cloud\Video\Stitcher\V1\ManifestOptions|null + */ + public function getManifestOptions() + { + return $this->manifest_options; + } + + public function hasManifestOptions() + { + return isset($this->manifest_options); + } + + public function clearManifestOptions() + { + unset($this->manifest_options); + } + + /** + * Additional options that affect the output of the manifest. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.ManifestOptions manifest_options = 10; + * @param \Google\Cloud\Video\Stitcher\V1\ManifestOptions $var + * @return $this + */ + public function setManifestOptions($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Video\Stitcher\V1\ManifestOptions::class); + $this->manifest_options = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/LiveSession/StitchingPolicy.php b/VideoSticher/src/V1/LiveSession/StitchingPolicy.php new file mode 100644 index 00000000000..760d1ca1371 --- /dev/null +++ b/VideoSticher/src/V1/LiveSession/StitchingPolicy.php @@ -0,0 +1,70 @@ +google.cloud.video.stitcher.v1.LiveSession.StitchingPolicy + */ +class StitchingPolicy +{ + /** + * Stitching policy is not specified. + * + * Generated from protobuf enum STITCHING_POLICY_UNSPECIFIED = 0; + */ + const STITCHING_POLICY_UNSPECIFIED = 0; + /** + * Finishes stitching the current ad before returning to content. + * + * Generated from protobuf enum COMPLETE_AD = 1; + */ + const COMPLETE_AD = 1; + /** + * Finishes stitching the current pod before returning to content. + * + * Generated from protobuf enum COMPLETE_POD = 2; + */ + const COMPLETE_POD = 2; + /** + * Cuts an ad short and returns to content in the middle of the ad. + * + * Generated from protobuf enum CUT_CURRENT = 3; + */ + const CUT_CURRENT = 3; + + private static $valueToName = [ + self::STITCHING_POLICY_UNSPECIFIED => 'STITCHING_POLICY_UNSPECIFIED', + self::COMPLETE_AD => 'COMPLETE_AD', + self::COMPLETE_POD => 'COMPLETE_POD', + self::CUT_CURRENT => 'CUT_CURRENT', + ]; + + 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/VideoSticher/src/V1/ManifestOptions.php b/VideoSticher/src/V1/ManifestOptions.php new file mode 100644 index 00000000000..3078d741526 --- /dev/null +++ b/VideoSticher/src/V1/ManifestOptions.php @@ -0,0 +1,109 @@ +google.cloud.video.stitcher.v1.ManifestOptions + */ +class ManifestOptions extends \Google\Protobuf\Internal\Message +{ + /** + * If specified, the output manifest will only return renditions matching the + * specified filters. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.RenditionFilter include_renditions = 1; + */ + private $include_renditions; + /** + * If specified, the output manifest will orders the video and muxed + * renditions by bitrate according to the ordering policy. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.ManifestOptions.OrderPolicy bitrate_order = 2; + */ + private $bitrate_order = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Video\Stitcher\V1\RenditionFilter[]|\Google\Protobuf\Internal\RepeatedField $include_renditions + * If specified, the output manifest will only return renditions matching the + * specified filters. + * @type int $bitrate_order + * If specified, the output manifest will orders the video and muxed + * renditions by bitrate according to the ordering policy. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\Sessions::initOnce(); + parent::__construct($data); + } + + /** + * If specified, the output manifest will only return renditions matching the + * specified filters. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.RenditionFilter include_renditions = 1; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getIncludeRenditions() + { + return $this->include_renditions; + } + + /** + * If specified, the output manifest will only return renditions matching the + * specified filters. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.RenditionFilter include_renditions = 1; + * @param \Google\Cloud\Video\Stitcher\V1\RenditionFilter[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setIncludeRenditions($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Video\Stitcher\V1\RenditionFilter::class); + $this->include_renditions = $arr; + + return $this; + } + + /** + * If specified, the output manifest will orders the video and muxed + * renditions by bitrate according to the ordering policy. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.ManifestOptions.OrderPolicy bitrate_order = 2; + * @return int + */ + public function getBitrateOrder() + { + return $this->bitrate_order; + } + + /** + * If specified, the output manifest will orders the video and muxed + * renditions by bitrate according to the ordering policy. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.ManifestOptions.OrderPolicy bitrate_order = 2; + * @param int $var + * @return $this + */ + public function setBitrateOrder($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Video\Stitcher\V1\ManifestOptions\OrderPolicy::class); + $this->bitrate_order = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/ManifestOptions/OrderPolicy.php b/VideoSticher/src/V1/ManifestOptions/OrderPolicy.php new file mode 100644 index 00000000000..7e7479e55fc --- /dev/null +++ b/VideoSticher/src/V1/ManifestOptions/OrderPolicy.php @@ -0,0 +1,62 @@ +google.cloud.video.stitcher.v1.ManifestOptions.OrderPolicy + */ +class OrderPolicy +{ + /** + * Ordering policy is not specified. + * + * Generated from protobuf enum ORDER_POLICY_UNSPECIFIED = 0; + */ + const ORDER_POLICY_UNSPECIFIED = 0; + /** + * Order by ascending. + * + * Generated from protobuf enum ASCENDING = 1; + */ + const ASCENDING = 1; + /** + * Order by descending. + * + * Generated from protobuf enum DESCENDING = 2; + */ + const DESCENDING = 2; + + private static $valueToName = [ + self::ORDER_POLICY_UNSPECIFIED => 'ORDER_POLICY_UNSPECIFIED', + self::ASCENDING => 'ASCENDING', + self::DESCENDING => 'DESCENDING', + ]; + + 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/VideoSticher/src/V1/ProgressEvent.php b/VideoSticher/src/V1/ProgressEvent.php new file mode 100644 index 00000000000..bf7fb1cbfb4 --- /dev/null +++ b/VideoSticher/src/V1/ProgressEvent.php @@ -0,0 +1,128 @@ +google.cloud.video.stitcher.v1.ProgressEvent + */ +class ProgressEvent extends \Google\Protobuf\Internal\Message +{ + /** + * The time when the following tracking events occurs. The time is in + * seconds relative to the start of the VOD asset. + * + * Generated from protobuf field .google.protobuf.Duration time_offset = 1; + */ + private $time_offset = null; + /** + * The list of progress tracking events for the ad break. These can be of + * the following IAB types: `BREAK_START`, `BREAK_END`, `IMPRESSION`, + * `CREATIVE_VIEW`, `START`, `FIRST_QUARTILE`, `MIDPOINT`, `THIRD_QUARTILE`, + * `COMPLETE`, `PROGRESS`. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.Event events = 2; + */ + private $events; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Protobuf\Duration $time_offset + * The time when the following tracking events occurs. The time is in + * seconds relative to the start of the VOD asset. + * @type \Google\Cloud\Video\Stitcher\V1\Event[]|\Google\Protobuf\Internal\RepeatedField $events + * The list of progress tracking events for the ad break. These can be of + * the following IAB types: `BREAK_START`, `BREAK_END`, `IMPRESSION`, + * `CREATIVE_VIEW`, `START`, `FIRST_QUARTILE`, `MIDPOINT`, `THIRD_QUARTILE`, + * `COMPLETE`, `PROGRESS`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\Events::initOnce(); + parent::__construct($data); + } + + /** + * The time when the following tracking events occurs. The time is in + * seconds relative to the start of the VOD asset. + * + * Generated from protobuf field .google.protobuf.Duration time_offset = 1; + * @return \Google\Protobuf\Duration|null + */ + public function getTimeOffset() + { + return $this->time_offset; + } + + public function hasTimeOffset() + { + return isset($this->time_offset); + } + + public function clearTimeOffset() + { + unset($this->time_offset); + } + + /** + * The time when the following tracking events occurs. The time is in + * seconds relative to the start of the VOD asset. + * + * Generated from protobuf field .google.protobuf.Duration time_offset = 1; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setTimeOffset($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->time_offset = $var; + + return $this; + } + + /** + * The list of progress tracking events for the ad break. These can be of + * the following IAB types: `BREAK_START`, `BREAK_END`, `IMPRESSION`, + * `CREATIVE_VIEW`, `START`, `FIRST_QUARTILE`, `MIDPOINT`, `THIRD_QUARTILE`, + * `COMPLETE`, `PROGRESS`. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.Event events = 2; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getEvents() + { + return $this->events; + } + + /** + * The list of progress tracking events for the ad break. These can be of + * the following IAB types: `BREAK_START`, `BREAK_END`, `IMPRESSION`, + * `CREATIVE_VIEW`, `START`, `FIRST_QUARTILE`, `MIDPOINT`, `THIRD_QUARTILE`, + * `COMPLETE`, `PROGRESS`. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.Event events = 2; + * @param \Google\Cloud\Video\Stitcher\V1\Event[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setEvents($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Video\Stitcher\V1\Event::class); + $this->events = $arr; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/RenditionFilter.php b/VideoSticher/src/V1/RenditionFilter.php new file mode 100644 index 00000000000..ce59834167d --- /dev/null +++ b/VideoSticher/src/V1/RenditionFilter.php @@ -0,0 +1,109 @@ +google.cloud.video.stitcher.v1.RenditionFilter + */ +class RenditionFilter extends \Google\Protobuf\Internal\Message +{ + /** + * Bitrate in bits per second for the rendition. If set, only renditions with + * the exact bitrate will match. + * + * Generated from protobuf field int32 bitrate_bps = 1; + */ + private $bitrate_bps = 0; + /** + * Codecs for the rendition. If set, only renditions with the exact value + * will match. + * + * Generated from protobuf field string codecs = 2; + */ + private $codecs = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $bitrate_bps + * Bitrate in bits per second for the rendition. If set, only renditions with + * the exact bitrate will match. + * @type string $codecs + * Codecs for the rendition. If set, only renditions with the exact value + * will match. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\Sessions::initOnce(); + parent::__construct($data); + } + + /** + * Bitrate in bits per second for the rendition. If set, only renditions with + * the exact bitrate will match. + * + * Generated from protobuf field int32 bitrate_bps = 1; + * @return int + */ + public function getBitrateBps() + { + return $this->bitrate_bps; + } + + /** + * Bitrate in bits per second for the rendition. If set, only renditions with + * the exact bitrate will match. + * + * Generated from protobuf field int32 bitrate_bps = 1; + * @param int $var + * @return $this + */ + public function setBitrateBps($var) + { + GPBUtil::checkInt32($var); + $this->bitrate_bps = $var; + + return $this; + } + + /** + * Codecs for the rendition. If set, only renditions with the exact value + * will match. + * + * Generated from protobuf field string codecs = 2; + * @return string + */ + public function getCodecs() + { + return $this->codecs; + } + + /** + * Codecs for the rendition. If set, only renditions with the exact value + * will match. + * + * Generated from protobuf field string codecs = 2; + * @param string $var + * @return $this + */ + public function setCodecs($var) + { + GPBUtil::checkString($var, True); + $this->codecs = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/RequestMetadata.php b/VideoSticher/src/V1/RequestMetadata.php new file mode 100644 index 00000000000..59a7b03083b --- /dev/null +++ b/VideoSticher/src/V1/RequestMetadata.php @@ -0,0 +1,77 @@ +google.cloud.video.stitcher.v1.RequestMetadata + */ +class RequestMetadata extends \Google\Protobuf\Internal\Message +{ + /** + * The HTTP headers of the ad request. + * + * Generated from protobuf field .google.protobuf.Struct headers = 1; + */ + private $headers = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Protobuf\Struct $headers + * The HTTP headers of the ad request. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\AdTagDetails::initOnce(); + parent::__construct($data); + } + + /** + * The HTTP headers of the ad request. + * + * Generated from protobuf field .google.protobuf.Struct headers = 1; + * @return \Google\Protobuf\Struct|null + */ + public function getHeaders() + { + return $this->headers; + } + + public function hasHeaders() + { + return isset($this->headers); + } + + public function clearHeaders() + { + unset($this->headers); + } + + /** + * The HTTP headers of the ad request. + * + * Generated from protobuf field .google.protobuf.Struct headers = 1; + * @param \Google\Protobuf\Struct $var + * @return $this + */ + public function setHeaders($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Struct::class); + $this->headers = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/ResponseMetadata.php b/VideoSticher/src/V1/ResponseMetadata.php new file mode 100644 index 00000000000..725f9ba8606 --- /dev/null +++ b/VideoSticher/src/V1/ResponseMetadata.php @@ -0,0 +1,257 @@ +google.cloud.video.stitcher.v1.ResponseMetadata + */ +class ResponseMetadata extends \Google\Protobuf\Internal\Message +{ + /** + * Error message received when making the ad request. + * + * Generated from protobuf field string error = 1; + */ + private $error = ''; + /** + * Headers from the response. + * + * Generated from protobuf field .google.protobuf.Struct headers = 2; + */ + private $headers = null; + /** + * Status code for the response. + * + * Generated from protobuf field string status_code = 3; + */ + private $status_code = ''; + /** + * Size in bytes of the response. + * + * Generated from protobuf field int32 size_bytes = 4; + */ + private $size_bytes = 0; + /** + * Total time elapsed for the response. + * + * Generated from protobuf field .google.protobuf.Duration duration = 5; + */ + private $duration = null; + /** + * The body of the response. + * + * Generated from protobuf field string body = 6; + */ + private $body = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $error + * Error message received when making the ad request. + * @type \Google\Protobuf\Struct $headers + * Headers from the response. + * @type string $status_code + * Status code for the response. + * @type int $size_bytes + * Size in bytes of the response. + * @type \Google\Protobuf\Duration $duration + * Total time elapsed for the response. + * @type string $body + * The body of the response. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\AdTagDetails::initOnce(); + parent::__construct($data); + } + + /** + * Error message received when making the ad request. + * + * Generated from protobuf field string error = 1; + * @return string + */ + public function getError() + { + return $this->error; + } + + /** + * Error message received when making the ad request. + * + * Generated from protobuf field string error = 1; + * @param string $var + * @return $this + */ + public function setError($var) + { + GPBUtil::checkString($var, True); + $this->error = $var; + + return $this; + } + + /** + * Headers from the response. + * + * Generated from protobuf field .google.protobuf.Struct headers = 2; + * @return \Google\Protobuf\Struct|null + */ + public function getHeaders() + { + return $this->headers; + } + + public function hasHeaders() + { + return isset($this->headers); + } + + public function clearHeaders() + { + unset($this->headers); + } + + /** + * Headers from the response. + * + * Generated from protobuf field .google.protobuf.Struct headers = 2; + * @param \Google\Protobuf\Struct $var + * @return $this + */ + public function setHeaders($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Struct::class); + $this->headers = $var; + + return $this; + } + + /** + * Status code for the response. + * + * Generated from protobuf field string status_code = 3; + * @return string + */ + public function getStatusCode() + { + return $this->status_code; + } + + /** + * Status code for the response. + * + * Generated from protobuf field string status_code = 3; + * @param string $var + * @return $this + */ + public function setStatusCode($var) + { + GPBUtil::checkString($var, True); + $this->status_code = $var; + + return $this; + } + + /** + * Size in bytes of the response. + * + * Generated from protobuf field int32 size_bytes = 4; + * @return int + */ + public function getSizeBytes() + { + return $this->size_bytes; + } + + /** + * Size in bytes of the response. + * + * Generated from protobuf field int32 size_bytes = 4; + * @param int $var + * @return $this + */ + public function setSizeBytes($var) + { + GPBUtil::checkInt32($var); + $this->size_bytes = $var; + + return $this; + } + + /** + * Total time elapsed for the response. + * + * Generated from protobuf field .google.protobuf.Duration duration = 5; + * @return \Google\Protobuf\Duration|null + */ + public function getDuration() + { + return $this->duration; + } + + public function hasDuration() + { + return isset($this->duration); + } + + public function clearDuration() + { + unset($this->duration); + } + + /** + * Total time elapsed for the response. + * + * Generated from protobuf field .google.protobuf.Duration duration = 5; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setDuration($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->duration = $var; + + return $this; + } + + /** + * The body of the response. + * + * Generated from protobuf field string body = 6; + * @return string + */ + public function getBody() + { + return $this->body; + } + + /** + * The body of the response. + * + * Generated from protobuf field string body = 6; + * @param string $var + * @return $this + */ + public function setBody($var) + { + GPBUtil::checkString($var, True); + $this->body = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/Slate.php b/VideoSticher/src/V1/Slate.php new file mode 100644 index 00000000000..26d132423c3 --- /dev/null +++ b/VideoSticher/src/V1/Slate.php @@ -0,0 +1,109 @@ +google.cloud.video.stitcher.v1.Slate + */ +class Slate extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The name of the slate, in the form of + * `projects/{project_number}/locations/{location}/slates/{id}`. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $name = ''; + /** + * The URI to fetch the source content for the slate. This URI must return an + * MP4 video with at least one audio track. + * + * Generated from protobuf field string uri = 2; + */ + private $uri = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Output only. The name of the slate, in the form of + * `projects/{project_number}/locations/{location}/slates/{id}`. + * @type string $uri + * The URI to fetch the source content for the slate. This URI must return an + * MP4 video with at least one audio track. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\Slates::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The name of the slate, in the form of + * `projects/{project_number}/locations/{location}/slates/{id}`. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Output only. The name of the slate, in the form of + * `projects/{project_number}/locations/{location}/slates/{id}`. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * The URI to fetch the source content for the slate. This URI must return an + * MP4 video with at least one audio track. + * + * Generated from protobuf field string uri = 2; + * @return string + */ + public function getUri() + { + return $this->uri; + } + + /** + * The URI to fetch the source content for the slate. This URI must return an + * MP4 video with at least one audio track. + * + * Generated from protobuf field string uri = 2; + * @param string $var + * @return $this + */ + public function setUri($var) + { + GPBUtil::checkString($var, True); + $this->uri = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/StaticAdResource.php b/VideoSticher/src/V1/StaticAdResource.php new file mode 100644 index 00000000000..c2817415618 --- /dev/null +++ b/VideoSticher/src/V1/StaticAdResource.php @@ -0,0 +1,101 @@ +google.cloud.video.stitcher.v1.StaticAdResource + */ +class StaticAdResource extends \Google\Protobuf\Internal\Message +{ + /** + * URI to the static file for the ad resource. + * + * Generated from protobuf field string uri = 1; + */ + private $uri = ''; + /** + * Describes the MIME type of the ad resource. + * + * Generated from protobuf field string creative_type = 2; + */ + private $creative_type = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $uri + * URI to the static file for the ad resource. + * @type string $creative_type + * Describes the MIME type of the ad resource. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\Companions::initOnce(); + parent::__construct($data); + } + + /** + * URI to the static file for the ad resource. + * + * Generated from protobuf field string uri = 1; + * @return string + */ + public function getUri() + { + return $this->uri; + } + + /** + * URI to the static file for the ad resource. + * + * Generated from protobuf field string uri = 1; + * @param string $var + * @return $this + */ + public function setUri($var) + { + GPBUtil::checkString($var, True); + $this->uri = $var; + + return $this; + } + + /** + * Describes the MIME type of the ad resource. + * + * Generated from protobuf field string creative_type = 2; + * @return string + */ + public function getCreativeType() + { + return $this->creative_type; + } + + /** + * Describes the MIME type of the ad resource. + * + * Generated from protobuf field string creative_type = 2; + * @param string $var + * @return $this + */ + public function setCreativeType($var) + { + GPBUtil::checkString($var, True); + $this->creative_type = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/UpdateCdnKeyRequest.php b/VideoSticher/src/V1/UpdateCdnKeyRequest.php new file mode 100644 index 00000000000..40d92c6522c --- /dev/null +++ b/VideoSticher/src/V1/UpdateCdnKeyRequest.php @@ -0,0 +1,129 @@ +google.cloud.video.stitcher.v1.UpdateCdnKeyRequest + */ +class UpdateCdnKeyRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The CDN key resource which replaces the resource on the server. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.CdnKey cdn_key = 1 [(.google.api.field_behavior) = REQUIRED]; + */ + private $cdn_key = null; + /** + * Required. The update mask applies to the resource. + * For the `FieldMask` definition, see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + private $update_mask = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Video\Stitcher\V1\CdnKey $cdn_key + * Required. The CDN key resource which replaces the resource on the server. + * @type \Google\Protobuf\FieldMask $update_mask + * Required. The update mask applies to the resource. + * For the `FieldMask` definition, see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The CDN key resource which replaces the resource on the server. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.CdnKey cdn_key = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\Video\Stitcher\V1\CdnKey|null + */ + public function getCdnKey() + { + return $this->cdn_key; + } + + public function hasCdnKey() + { + return isset($this->cdn_key); + } + + public function clearCdnKey() + { + unset($this->cdn_key); + } + + /** + * Required. The CDN key resource which replaces the resource on the server. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.CdnKey cdn_key = 1 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\Video\Stitcher\V1\CdnKey $var + * @return $this + */ + public function setCdnKey($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Video\Stitcher\V1\CdnKey::class); + $this->cdn_key = $var; + + return $this; + } + + /** + * Required. The update mask applies to the resource. + * For the `FieldMask` definition, see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * @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); + } + + /** + * Required. The update mask applies to the resource. + * For the `FieldMask` definition, see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * @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/VideoSticher/src/V1/UpdateSlateRequest.php b/VideoSticher/src/V1/UpdateSlateRequest.php new file mode 100644 index 00000000000..e9f80ac4d09 --- /dev/null +++ b/VideoSticher/src/V1/UpdateSlateRequest.php @@ -0,0 +1,121 @@ +google.cloud.video.stitcher.v1.UpdateSlateRequest + */ +class UpdateSlateRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The resource with updated fields. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.Slate slate = 1 [(.google.api.field_behavior) = REQUIRED]; + */ + private $slate = null; + /** + * Required. The update mask which specifies fields which should be updated. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + private $update_mask = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Video\Stitcher\V1\Slate $slate + * Required. The resource with updated fields. + * @type \Google\Protobuf\FieldMask $update_mask + * Required. The update mask which specifies fields which should be updated. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\VideoStitcherService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The resource with updated fields. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.Slate slate = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\Video\Stitcher\V1\Slate|null + */ + public function getSlate() + { + return $this->slate; + } + + public function hasSlate() + { + return isset($this->slate); + } + + public function clearSlate() + { + unset($this->slate); + } + + /** + * Required. The resource with updated fields. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.Slate slate = 1 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\Video\Stitcher\V1\Slate $var + * @return $this + */ + public function setSlate($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Video\Stitcher\V1\Slate::class); + $this->slate = $var; + + return $this; + } + + /** + * Required. The update mask which specifies fields which should be updated. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * @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); + } + + /** + * Required. The update mask which specifies fields which should be updated. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * @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/VideoSticher/src/V1/VideoStitcherServiceClient.php b/VideoSticher/src/V1/VideoStitcherServiceClient.php new file mode 100644 index 00000000000..a58c39750e5 --- /dev/null +++ b/VideoSticher/src/V1/VideoStitcherServiceClient.php @@ -0,0 +1,34 @@ +_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/CreateCdnKey', + $argument, + ['\Google\Cloud\Video\Stitcher\V1\CdnKey', 'decode'], + $metadata, $options); + } + + /** + * Lists all CDN keys in the specified project and location. + * @param \Google\Cloud\Video\Stitcher\V1\ListCdnKeysRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function ListCdnKeys(\Google\Cloud\Video\Stitcher\V1\ListCdnKeysRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/ListCdnKeys', + $argument, + ['\Google\Cloud\Video\Stitcher\V1\ListCdnKeysResponse', 'decode'], + $metadata, $options); + } + + /** + * Returns the specified CDN key. + * @param \Google\Cloud\Video\Stitcher\V1\GetCdnKeyRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function GetCdnKey(\Google\Cloud\Video\Stitcher\V1\GetCdnKeyRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/GetCdnKey', + $argument, + ['\Google\Cloud\Video\Stitcher\V1\CdnKey', 'decode'], + $metadata, $options); + } + + /** + * Deletes the specified CDN key. + * @param \Google\Cloud\Video\Stitcher\V1\DeleteCdnKeyRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function DeleteCdnKey(\Google\Cloud\Video\Stitcher\V1\DeleteCdnKeyRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/DeleteCdnKey', + $argument, + ['\Google\Protobuf\GPBEmpty', 'decode'], + $metadata, $options); + } + + /** + * Updates the specified CDN key. Only update fields specified + * in the call method body. + * @param \Google\Cloud\Video\Stitcher\V1\UpdateCdnKeyRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function UpdateCdnKey(\Google\Cloud\Video\Stitcher\V1\UpdateCdnKeyRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/UpdateCdnKey', + $argument, + ['\Google\Cloud\Video\Stitcher\V1\CdnKey', 'decode'], + $metadata, $options); + } + + /** + * Creates a client side playback VOD session and returns the full + * tracking and playback metadata of the session. + * @param \Google\Cloud\Video\Stitcher\V1\CreateVodSessionRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function CreateVodSession(\Google\Cloud\Video\Stitcher\V1\CreateVodSessionRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/CreateVodSession', + $argument, + ['\Google\Cloud\Video\Stitcher\V1\VodSession', 'decode'], + $metadata, $options); + } + + /** + * Returns the full tracking, playback metadata, and relevant ad-ops + * logs for the specified VOD session. + * @param \Google\Cloud\Video\Stitcher\V1\GetVodSessionRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function GetVodSession(\Google\Cloud\Video\Stitcher\V1\GetVodSessionRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/GetVodSession', + $argument, + ['\Google\Cloud\Video\Stitcher\V1\VodSession', 'decode'], + $metadata, $options); + } + + /** + * Returns a list of detailed stitching information of the specified VOD + * session. + * @param \Google\Cloud\Video\Stitcher\V1\ListVodStitchDetailsRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function ListVodStitchDetails(\Google\Cloud\Video\Stitcher\V1\ListVodStitchDetailsRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/ListVodStitchDetails', + $argument, + ['\Google\Cloud\Video\Stitcher\V1\ListVodStitchDetailsResponse', 'decode'], + $metadata, $options); + } + + /** + * Returns the specified stitching information for the specified VOD session. + * @param \Google\Cloud\Video\Stitcher\V1\GetVodStitchDetailRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function GetVodStitchDetail(\Google\Cloud\Video\Stitcher\V1\GetVodStitchDetailRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/GetVodStitchDetail', + $argument, + ['\Google\Cloud\Video\Stitcher\V1\VodStitchDetail', 'decode'], + $metadata, $options); + } + + /** + * Return the list of ad tag details for the specified VOD session. + * @param \Google\Cloud\Video\Stitcher\V1\ListVodAdTagDetailsRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function ListVodAdTagDetails(\Google\Cloud\Video\Stitcher\V1\ListVodAdTagDetailsRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/ListVodAdTagDetails', + $argument, + ['\Google\Cloud\Video\Stitcher\V1\ListVodAdTagDetailsResponse', 'decode'], + $metadata, $options); + } + + /** + * Returns the specified ad tag detail for the specified VOD session. + * @param \Google\Cloud\Video\Stitcher\V1\GetVodAdTagDetailRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function GetVodAdTagDetail(\Google\Cloud\Video\Stitcher\V1\GetVodAdTagDetailRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/GetVodAdTagDetail', + $argument, + ['\Google\Cloud\Video\Stitcher\V1\VodAdTagDetail', 'decode'], + $metadata, $options); + } + + /** + * Return the list of ad tag details for the specified live session. + * @param \Google\Cloud\Video\Stitcher\V1\ListLiveAdTagDetailsRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function ListLiveAdTagDetails(\Google\Cloud\Video\Stitcher\V1\ListLiveAdTagDetailsRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/ListLiveAdTagDetails', + $argument, + ['\Google\Cloud\Video\Stitcher\V1\ListLiveAdTagDetailsResponse', 'decode'], + $metadata, $options); + } + + /** + * Returns the specified ad tag detail for the specified live session. + * @param \Google\Cloud\Video\Stitcher\V1\GetLiveAdTagDetailRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function GetLiveAdTagDetail(\Google\Cloud\Video\Stitcher\V1\GetLiveAdTagDetailRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/GetLiveAdTagDetail', + $argument, + ['\Google\Cloud\Video\Stitcher\V1\LiveAdTagDetail', 'decode'], + $metadata, $options); + } + + /** + * Creates a slate. + * @param \Google\Cloud\Video\Stitcher\V1\CreateSlateRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function CreateSlate(\Google\Cloud\Video\Stitcher\V1\CreateSlateRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/CreateSlate', + $argument, + ['\Google\Cloud\Video\Stitcher\V1\Slate', 'decode'], + $metadata, $options); + } + + /** + * Lists all slates in the specified project and location. + * @param \Google\Cloud\Video\Stitcher\V1\ListSlatesRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function ListSlates(\Google\Cloud\Video\Stitcher\V1\ListSlatesRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/ListSlates', + $argument, + ['\Google\Cloud\Video\Stitcher\V1\ListSlatesResponse', 'decode'], + $metadata, $options); + } + + /** + * Returns the specified slate. + * @param \Google\Cloud\Video\Stitcher\V1\GetSlateRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function GetSlate(\Google\Cloud\Video\Stitcher\V1\GetSlateRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/GetSlate', + $argument, + ['\Google\Cloud\Video\Stitcher\V1\Slate', 'decode'], + $metadata, $options); + } + + /** + * Updates the specified slate. + * @param \Google\Cloud\Video\Stitcher\V1\UpdateSlateRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function UpdateSlate(\Google\Cloud\Video\Stitcher\V1\UpdateSlateRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/UpdateSlate', + $argument, + ['\Google\Cloud\Video\Stitcher\V1\Slate', 'decode'], + $metadata, $options); + } + + /** + * Deletes the specified slate. + * @param \Google\Cloud\Video\Stitcher\V1\DeleteSlateRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function DeleteSlate(\Google\Cloud\Video\Stitcher\V1\DeleteSlateRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/DeleteSlate', + $argument, + ['\Google\Protobuf\GPBEmpty', 'decode'], + $metadata, $options); + } + + /** + * Creates a new live session. + * @param \Google\Cloud\Video\Stitcher\V1\CreateLiveSessionRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function CreateLiveSession(\Google\Cloud\Video\Stitcher\V1\CreateLiveSessionRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/CreateLiveSession', + $argument, + ['\Google\Cloud\Video\Stitcher\V1\LiveSession', 'decode'], + $metadata, $options); + } + + /** + * Returns the details for the specified live session. + * @param \Google\Cloud\Video\Stitcher\V1\GetLiveSessionRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function GetLiveSession(\Google\Cloud\Video\Stitcher\V1\GetLiveSessionRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/google.cloud.video.stitcher.v1.VideoStitcherService/GetLiveSession', + $argument, + ['\Google\Cloud\Video\Stitcher\V1\LiveSession', 'decode'], + $metadata, $options); + } + +} diff --git a/VideoSticher/src/V1/VodAdTagDetail.php b/VideoSticher/src/V1/VodAdTagDetail.php new file mode 100644 index 00000000000..af4d4b21d37 --- /dev/null +++ b/VideoSticher/src/V1/VodAdTagDetail.php @@ -0,0 +1,105 @@ +google.cloud.video.stitcher.v1.VodAdTagDetail + */ +class VodAdTagDetail extends \Google\Protobuf\Internal\Message +{ + /** + * The name of the ad tag detail for the specified VOD session, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodAdTagDetails/{id}`. + * + * Generated from protobuf field string name = 1; + */ + private $name = ''; + /** + * A list of ad requests for one ad tag. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.AdRequest ad_requests = 2; + */ + private $ad_requests; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * The name of the ad tag detail for the specified VOD session, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodAdTagDetails/{id}`. + * @type \Google\Cloud\Video\Stitcher\V1\AdRequest[]|\Google\Protobuf\Internal\RepeatedField $ad_requests + * A list of ad requests for one ad tag. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\AdTagDetails::initOnce(); + parent::__construct($data); + } + + /** + * The name of the ad tag detail for the specified VOD session, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodAdTagDetails/{id}`. + * + * Generated from protobuf field string name = 1; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * The name of the ad tag detail for the specified VOD session, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodAdTagDetails/{id}`. + * + * Generated from protobuf field string name = 1; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * A list of ad requests for one ad tag. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.AdRequest ad_requests = 2; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getAdRequests() + { + return $this->ad_requests; + } + + /** + * A list of ad requests for one ad tag. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.AdRequest ad_requests = 2; + * @param \Google\Cloud\Video\Stitcher\V1\AdRequest[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setAdRequests($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Video\Stitcher\V1\AdRequest::class); + $this->ad_requests = $arr; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/VodSession.php b/VideoSticher/src/V1/VodSession.php new file mode 100644 index 00000000000..7fe2fa4a1ef --- /dev/null +++ b/VideoSticher/src/V1/VodSession.php @@ -0,0 +1,381 @@ +google.cloud.video.stitcher.v1.VodSession + */ +class VodSession extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The name of the VOD session, in the form of + * `projects/{project_number}/locations/{location}/vodSessions/{id}`. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $name = ''; + /** + * Output only. Metadata of what was stitched into the content. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.Interstitials interstitials = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $interstitials = null; + /** + * Output only. The playback URI of the stitched content. + * + * Generated from protobuf field string play_uri = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $play_uri = ''; + /** + * Required. URI of the media to stitch. + * + * Generated from protobuf field string source_uri = 5 [(.google.api.field_behavior) = REQUIRED]; + */ + private $source_uri = ''; + /** + * Required. Ad tag URI. + * + * Generated from protobuf field string ad_tag_uri = 6 [(.google.api.field_behavior) = REQUIRED]; + */ + private $ad_tag_uri = ''; + /** + * Key value pairs for ad tag macro replacement. If the + * specified ad tag URI has macros, this field provides the mapping + * to the value that will replace the macro in the ad tag URI. + * Macros are designated by square brackets. + * For example: + * Ad tag URI: `"https://doubleclick.google.com/ad/1?geo_id=[geoId]"` + * Ad tag macro map: `{"geoId": "123"}` + * Fully qualified ad tag: + * `"`https://doubleclick.google.com/ad/1?geo_id=123"` + * + * Generated from protobuf field map ad_tag_macro_map = 7; + */ + private $ad_tag_macro_map; + /** + * Indicates whether client side ad tracking is enabled. If client + * side ad tracking is enabled, then the client player is expected + * to trigger playback and activity events itself. + * If this is set to false, server side ad tracking is enabled, + * causing the Video Stitcher service will trigger playback events + * on behalf of the client player. + * + * Generated from protobuf field bool client_ad_tracking = 8; + */ + private $client_ad_tracking = false; + /** + * Additional options that affect the output of the manifest. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.ManifestOptions manifest_options = 9; + */ + private $manifest_options = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Output only. The name of the VOD session, in the form of + * `projects/{project_number}/locations/{location}/vodSessions/{id}`. + * @type \Google\Cloud\Video\Stitcher\V1\Interstitials $interstitials + * Output only. Metadata of what was stitched into the content. + * @type string $play_uri + * Output only. The playback URI of the stitched content. + * @type string $source_uri + * Required. URI of the media to stitch. + * @type string $ad_tag_uri + * Required. Ad tag URI. + * @type array|\Google\Protobuf\Internal\MapField $ad_tag_macro_map + * Key value pairs for ad tag macro replacement. If the + * specified ad tag URI has macros, this field provides the mapping + * to the value that will replace the macro in the ad tag URI. + * Macros are designated by square brackets. + * For example: + * Ad tag URI: `"https://doubleclick.google.com/ad/1?geo_id=[geoId]"` + * Ad tag macro map: `{"geoId": "123"}` + * Fully qualified ad tag: + * `"`https://doubleclick.google.com/ad/1?geo_id=123"` + * @type bool $client_ad_tracking + * Indicates whether client side ad tracking is enabled. If client + * side ad tracking is enabled, then the client player is expected + * to trigger playback and activity events itself. + * If this is set to false, server side ad tracking is enabled, + * causing the Video Stitcher service will trigger playback events + * on behalf of the client player. + * @type \Google\Cloud\Video\Stitcher\V1\ManifestOptions $manifest_options + * Additional options that affect the output of the manifest. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\Sessions::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The name of the VOD session, in the form of + * `projects/{project_number}/locations/{location}/vodSessions/{id}`. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Output only. The name of the VOD session, in the form of + * `projects/{project_number}/locations/{location}/vodSessions/{id}`. + * + * Generated from protobuf field string name = 1 [(.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. Metadata of what was stitched into the content. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.Interstitials interstitials = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Video\Stitcher\V1\Interstitials|null + */ + public function getInterstitials() + { + return $this->interstitials; + } + + public function hasInterstitials() + { + return isset($this->interstitials); + } + + public function clearInterstitials() + { + unset($this->interstitials); + } + + /** + * Output only. Metadata of what was stitched into the content. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.Interstitials interstitials = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Video\Stitcher\V1\Interstitials $var + * @return $this + */ + public function setInterstitials($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Video\Stitcher\V1\Interstitials::class); + $this->interstitials = $var; + + return $this; + } + + /** + * Output only. The playback URI of the stitched content. + * + * Generated from protobuf field string play_uri = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getPlayUri() + { + return $this->play_uri; + } + + /** + * Output only. The playback URI of the stitched content. + * + * Generated from protobuf field string play_uri = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setPlayUri($var) + { + GPBUtil::checkString($var, True); + $this->play_uri = $var; + + return $this; + } + + /** + * Required. URI of the media to stitch. + * + * Generated from protobuf field string source_uri = 5 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getSourceUri() + { + return $this->source_uri; + } + + /** + * Required. URI of the media to stitch. + * + * Generated from protobuf field string source_uri = 5 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setSourceUri($var) + { + GPBUtil::checkString($var, True); + $this->source_uri = $var; + + return $this; + } + + /** + * Required. Ad tag URI. + * + * Generated from protobuf field string ad_tag_uri = 6 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getAdTagUri() + { + return $this->ad_tag_uri; + } + + /** + * Required. Ad tag URI. + * + * Generated from protobuf field string ad_tag_uri = 6 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setAdTagUri($var) + { + GPBUtil::checkString($var, True); + $this->ad_tag_uri = $var; + + return $this; + } + + /** + * Key value pairs for ad tag macro replacement. If the + * specified ad tag URI has macros, this field provides the mapping + * to the value that will replace the macro in the ad tag URI. + * Macros are designated by square brackets. + * For example: + * Ad tag URI: `"https://doubleclick.google.com/ad/1?geo_id=[geoId]"` + * Ad tag macro map: `{"geoId": "123"}` + * Fully qualified ad tag: + * `"`https://doubleclick.google.com/ad/1?geo_id=123"` + * + * Generated from protobuf field map ad_tag_macro_map = 7; + * @return \Google\Protobuf\Internal\MapField + */ + public function getAdTagMacroMap() + { + return $this->ad_tag_macro_map; + } + + /** + * Key value pairs for ad tag macro replacement. If the + * specified ad tag URI has macros, this field provides the mapping + * to the value that will replace the macro in the ad tag URI. + * Macros are designated by square brackets. + * For example: + * Ad tag URI: `"https://doubleclick.google.com/ad/1?geo_id=[geoId]"` + * Ad tag macro map: `{"geoId": "123"}` + * Fully qualified ad tag: + * `"`https://doubleclick.google.com/ad/1?geo_id=123"` + * + * Generated from protobuf field map ad_tag_macro_map = 7; + * @param array|\Google\Protobuf\Internal\MapField $var + * @return $this + */ + public function setAdTagMacroMap($var) + { + $arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::STRING); + $this->ad_tag_macro_map = $arr; + + return $this; + } + + /** + * Indicates whether client side ad tracking is enabled. If client + * side ad tracking is enabled, then the client player is expected + * to trigger playback and activity events itself. + * If this is set to false, server side ad tracking is enabled, + * causing the Video Stitcher service will trigger playback events + * on behalf of the client player. + * + * Generated from protobuf field bool client_ad_tracking = 8; + * @return bool + */ + public function getClientAdTracking() + { + return $this->client_ad_tracking; + } + + /** + * Indicates whether client side ad tracking is enabled. If client + * side ad tracking is enabled, then the client player is expected + * to trigger playback and activity events itself. + * If this is set to false, server side ad tracking is enabled, + * causing the Video Stitcher service will trigger playback events + * on behalf of the client player. + * + * Generated from protobuf field bool client_ad_tracking = 8; + * @param bool $var + * @return $this + */ + public function setClientAdTracking($var) + { + GPBUtil::checkBool($var); + $this->client_ad_tracking = $var; + + return $this; + } + + /** + * Additional options that affect the output of the manifest. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.ManifestOptions manifest_options = 9; + * @return \Google\Cloud\Video\Stitcher\V1\ManifestOptions|null + */ + public function getManifestOptions() + { + return $this->manifest_options; + } + + public function hasManifestOptions() + { + return isset($this->manifest_options); + } + + public function clearManifestOptions() + { + unset($this->manifest_options); + } + + /** + * Additional options that affect the output of the manifest. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.ManifestOptions manifest_options = 9; + * @param \Google\Cloud\Video\Stitcher\V1\ManifestOptions $var + * @return $this + */ + public function setManifestOptions($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Video\Stitcher\V1\ManifestOptions::class); + $this->manifest_options = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/VodSessionAd.php b/VideoSticher/src/V1/VodSessionAd.php new file mode 100644 index 00000000000..b901f7db2b0 --- /dev/null +++ b/VideoSticher/src/V1/VodSessionAd.php @@ -0,0 +1,171 @@ +google.cloud.video.stitcher.v1.VodSessionAd + */ +class VodSessionAd extends \Google\Protobuf\Internal\Message +{ + /** + * Duration in seconds of the ad. + * + * Generated from protobuf field .google.protobuf.Duration duration = 1; + */ + private $duration = null; + /** + * Metadata of companion ads associated with the ad. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.CompanionAds companion_ads = 2; + */ + private $companion_ads = null; + /** + * The list of progress tracking events for the ad break. These can be of + * the following IAB types: `MUTE`, `UNMUTE`, `PAUSE`, `CLICK`, + * `CLICK_THROUGH`, `REWIND`, `RESUME`, `ERROR`, `FULLSCREEN`, + * `EXIT_FULLSCREEN`, `EXPAND`, `COLLAPSE`, `ACCEPT_INVITATION_LINEAR`, + * `CLOSE_LINEAR`, `SKIP`. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.Event activity_events = 3; + */ + private $activity_events; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Protobuf\Duration $duration + * Duration in seconds of the ad. + * @type \Google\Cloud\Video\Stitcher\V1\CompanionAds $companion_ads + * Metadata of companion ads associated with the ad. + * @type \Google\Cloud\Video\Stitcher\V1\Event[]|\Google\Protobuf\Internal\RepeatedField $activity_events + * The list of progress tracking events for the ad break. These can be of + * the following IAB types: `MUTE`, `UNMUTE`, `PAUSE`, `CLICK`, + * `CLICK_THROUGH`, `REWIND`, `RESUME`, `ERROR`, `FULLSCREEN`, + * `EXIT_FULLSCREEN`, `EXPAND`, `COLLAPSE`, `ACCEPT_INVITATION_LINEAR`, + * `CLOSE_LINEAR`, `SKIP`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\Sessions::initOnce(); + parent::__construct($data); + } + + /** + * Duration in seconds of the ad. + * + * Generated from protobuf field .google.protobuf.Duration duration = 1; + * @return \Google\Protobuf\Duration|null + */ + public function getDuration() + { + return $this->duration; + } + + public function hasDuration() + { + return isset($this->duration); + } + + public function clearDuration() + { + unset($this->duration); + } + + /** + * Duration in seconds of the ad. + * + * Generated from protobuf field .google.protobuf.Duration duration = 1; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setDuration($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->duration = $var; + + return $this; + } + + /** + * Metadata of companion ads associated with the ad. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.CompanionAds companion_ads = 2; + * @return \Google\Cloud\Video\Stitcher\V1\CompanionAds|null + */ + public function getCompanionAds() + { + return $this->companion_ads; + } + + public function hasCompanionAds() + { + return isset($this->companion_ads); + } + + public function clearCompanionAds() + { + unset($this->companion_ads); + } + + /** + * Metadata of companion ads associated with the ad. + * + * Generated from protobuf field .google.cloud.video.stitcher.v1.CompanionAds companion_ads = 2; + * @param \Google\Cloud\Video\Stitcher\V1\CompanionAds $var + * @return $this + */ + public function setCompanionAds($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Video\Stitcher\V1\CompanionAds::class); + $this->companion_ads = $var; + + return $this; + } + + /** + * The list of progress tracking events for the ad break. These can be of + * the following IAB types: `MUTE`, `UNMUTE`, `PAUSE`, `CLICK`, + * `CLICK_THROUGH`, `REWIND`, `RESUME`, `ERROR`, `FULLSCREEN`, + * `EXIT_FULLSCREEN`, `EXPAND`, `COLLAPSE`, `ACCEPT_INVITATION_LINEAR`, + * `CLOSE_LINEAR`, `SKIP`. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.Event activity_events = 3; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getActivityEvents() + { + return $this->activity_events; + } + + /** + * The list of progress tracking events for the ad break. These can be of + * the following IAB types: `MUTE`, `UNMUTE`, `PAUSE`, `CLICK`, + * `CLICK_THROUGH`, `REWIND`, `RESUME`, `ERROR`, `FULLSCREEN`, + * `EXIT_FULLSCREEN`, `EXPAND`, `COLLAPSE`, `ACCEPT_INVITATION_LINEAR`, + * `CLOSE_LINEAR`, `SKIP`. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.Event activity_events = 3; + * @param \Google\Cloud\Video\Stitcher\V1\Event[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setActivityEvents($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Video\Stitcher\V1\Event::class); + $this->activity_events = $arr; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/VodSessionAdBreak.php b/VideoSticher/src/V1/VodSessionAdBreak.php new file mode 100644 index 00000000000..ec1ea9f0183 --- /dev/null +++ b/VideoSticher/src/V1/VodSessionAdBreak.php @@ -0,0 +1,189 @@ +google.cloud.video.stitcher.v1.VodSessionAdBreak + */ +class VodSessionAdBreak extends \Google\Protobuf\Internal\Message +{ + /** + * List of events that are expected to be triggered, ordered by time. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.ProgressEvent progress_events = 1; + */ + private $progress_events; + /** + * Ordered list of ads stitched into the ad break. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.VodSessionAd ads = 2; + */ + private $ads; + /** + * Ad break end time in seconds relative to the start of the VOD asset. + * + * Generated from protobuf field .google.protobuf.Duration end_time_offset = 3; + */ + private $end_time_offset = null; + /** + * Ad break start time in seconds relative to the start of the VOD asset. + * + * Generated from protobuf field .google.protobuf.Duration start_time_offset = 4; + */ + private $start_time_offset = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Video\Stitcher\V1\ProgressEvent[]|\Google\Protobuf\Internal\RepeatedField $progress_events + * List of events that are expected to be triggered, ordered by time. + * @type \Google\Cloud\Video\Stitcher\V1\VodSessionAd[]|\Google\Protobuf\Internal\RepeatedField $ads + * Ordered list of ads stitched into the ad break. + * @type \Google\Protobuf\Duration $end_time_offset + * Ad break end time in seconds relative to the start of the VOD asset. + * @type \Google\Protobuf\Duration $start_time_offset + * Ad break start time in seconds relative to the start of the VOD asset. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\Sessions::initOnce(); + parent::__construct($data); + } + + /** + * List of events that are expected to be triggered, ordered by time. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.ProgressEvent progress_events = 1; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getProgressEvents() + { + return $this->progress_events; + } + + /** + * List of events that are expected to be triggered, ordered by time. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.ProgressEvent progress_events = 1; + * @param \Google\Cloud\Video\Stitcher\V1\ProgressEvent[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setProgressEvents($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Video\Stitcher\V1\ProgressEvent::class); + $this->progress_events = $arr; + + return $this; + } + + /** + * Ordered list of ads stitched into the ad break. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.VodSessionAd ads = 2; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getAds() + { + return $this->ads; + } + + /** + * Ordered list of ads stitched into the ad break. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.VodSessionAd ads = 2; + * @param \Google\Cloud\Video\Stitcher\V1\VodSessionAd[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setAds($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Video\Stitcher\V1\VodSessionAd::class); + $this->ads = $arr; + + return $this; + } + + /** + * Ad break end time in seconds relative to the start of the VOD asset. + * + * Generated from protobuf field .google.protobuf.Duration end_time_offset = 3; + * @return \Google\Protobuf\Duration|null + */ + public function getEndTimeOffset() + { + return $this->end_time_offset; + } + + public function hasEndTimeOffset() + { + return isset($this->end_time_offset); + } + + public function clearEndTimeOffset() + { + unset($this->end_time_offset); + } + + /** + * Ad break end time in seconds relative to the start of the VOD asset. + * + * Generated from protobuf field .google.protobuf.Duration end_time_offset = 3; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setEndTimeOffset($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->end_time_offset = $var; + + return $this; + } + + /** + * Ad break start time in seconds relative to the start of the VOD asset. + * + * Generated from protobuf field .google.protobuf.Duration start_time_offset = 4; + * @return \Google\Protobuf\Duration|null + */ + public function getStartTimeOffset() + { + return $this->start_time_offset; + } + + public function hasStartTimeOffset() + { + return isset($this->start_time_offset); + } + + public function clearStartTimeOffset() + { + unset($this->start_time_offset); + } + + /** + * Ad break start time in seconds relative to the start of the VOD asset. + * + * Generated from protobuf field .google.protobuf.Duration start_time_offset = 4; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setStartTimeOffset($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->start_time_offset = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/VodSessionContent.php b/VideoSticher/src/V1/VodSessionContent.php new file mode 100644 index 00000000000..a49745492fa --- /dev/null +++ b/VideoSticher/src/V1/VodSessionContent.php @@ -0,0 +1,81 @@ +google.cloud.video.stitcher.v1.VodSessionContent + */ +class VodSessionContent extends \Google\Protobuf\Internal\Message +{ + /** + * The total duration in seconds of the content including the ads stitched + * in. + * + * Generated from protobuf field .google.protobuf.Duration duration = 1; + */ + private $duration = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Protobuf\Duration $duration + * The total duration in seconds of the content including the ads stitched + * in. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\Sessions::initOnce(); + parent::__construct($data); + } + + /** + * The total duration in seconds of the content including the ads stitched + * in. + * + * Generated from protobuf field .google.protobuf.Duration duration = 1; + * @return \Google\Protobuf\Duration|null + */ + public function getDuration() + { + return $this->duration; + } + + public function hasDuration() + { + return isset($this->duration); + } + + public function clearDuration() + { + unset($this->duration); + } + + /** + * The total duration in seconds of the content including the ads stitched + * in. + * + * Generated from protobuf field .google.protobuf.Duration duration = 1; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setDuration($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->duration = $var; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/VodStitchDetail.php b/VideoSticher/src/V1/VodStitchDetail.php new file mode 100644 index 00000000000..95fdf2b5487 --- /dev/null +++ b/VideoSticher/src/V1/VodStitchDetail.php @@ -0,0 +1,105 @@ +google.cloud.video.stitcher.v1.VodStitchDetail + */ +class VodStitchDetail extends \Google\Protobuf\Internal\Message +{ + /** + * The name of the stitch detail in the specified VOD session, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodStitchDetails/{id}`. + * + * Generated from protobuf field string name = 1; + */ + private $name = ''; + /** + * A list of ad processing details for the fetched ad playlist. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.AdStitchDetail ad_stitch_details = 3; + */ + private $ad_stitch_details; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * The name of the stitch detail in the specified VOD session, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodStitchDetails/{id}`. + * @type \Google\Cloud\Video\Stitcher\V1\AdStitchDetail[]|\Google\Protobuf\Internal\RepeatedField $ad_stitch_details + * A list of ad processing details for the fetched ad playlist. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Video\Stitcher\V1\StitchDetails::initOnce(); + parent::__construct($data); + } + + /** + * The name of the stitch detail in the specified VOD session, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodStitchDetails/{id}`. + * + * Generated from protobuf field string name = 1; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * The name of the stitch detail in the specified VOD session, in the form of + * `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodStitchDetails/{id}`. + * + * Generated from protobuf field string name = 1; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * A list of ad processing details for the fetched ad playlist. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.AdStitchDetail ad_stitch_details = 3; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getAdStitchDetails() + { + return $this->ad_stitch_details; + } + + /** + * A list of ad processing details for the fetched ad playlist. + * + * Generated from protobuf field repeated .google.cloud.video.stitcher.v1.AdStitchDetail ad_stitch_details = 3; + * @param \Google\Cloud\Video\Stitcher\V1\AdStitchDetail[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setAdStitchDetails($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Video\Stitcher\V1\AdStitchDetail::class); + $this->ad_stitch_details = $arr; + + return $this; + } + +} + diff --git a/VideoSticher/src/V1/gapic_metadata.json b/VideoSticher/src/V1/gapic_metadata.json new file mode 100644 index 00000000000..4e4b277777e --- /dev/null +++ b/VideoSticher/src/V1/gapic_metadata.json @@ -0,0 +1,118 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services\/RPCs to the corresponding library clients\/methods", + "language": "php", + "protoPackage": "google.cloud.video.stitcher.v1", + "libraryPackage": "Google\\Cloud\\Video\\Stitcher\\V1", + "services": { + "VideoStitcherService": { + "clients": { + "grpc": { + "libraryClient": "VideoStitcherServiceGapicClient", + "rpcs": { + "CreateCdnKey": { + "methods": [ + "createCdnKey" + ] + }, + "CreateLiveSession": { + "methods": [ + "createLiveSession" + ] + }, + "CreateSlate": { + "methods": [ + "createSlate" + ] + }, + "CreateVodSession": { + "methods": [ + "createVodSession" + ] + }, + "DeleteCdnKey": { + "methods": [ + "deleteCdnKey" + ] + }, + "DeleteSlate": { + "methods": [ + "deleteSlate" + ] + }, + "GetCdnKey": { + "methods": [ + "getCdnKey" + ] + }, + "GetLiveAdTagDetail": { + "methods": [ + "getLiveAdTagDetail" + ] + }, + "GetLiveSession": { + "methods": [ + "getLiveSession" + ] + }, + "GetSlate": { + "methods": [ + "getSlate" + ] + }, + "GetVodAdTagDetail": { + "methods": [ + "getVodAdTagDetail" + ] + }, + "GetVodSession": { + "methods": [ + "getVodSession" + ] + }, + "GetVodStitchDetail": { + "methods": [ + "getVodStitchDetail" + ] + }, + "ListCdnKeys": { + "methods": [ + "listCdnKeys" + ] + }, + "ListLiveAdTagDetails": { + "methods": [ + "listLiveAdTagDetails" + ] + }, + "ListSlates": { + "methods": [ + "listSlates" + ] + }, + "ListVodAdTagDetails": { + "methods": [ + "listVodAdTagDetails" + ] + }, + "ListVodStitchDetails": { + "methods": [ + "listVodStitchDetails" + ] + }, + "UpdateCdnKey": { + "methods": [ + "updateCdnKey" + ] + }, + "UpdateSlate": { + "methods": [ + "updateSlate" + ] + } + } + } + } + } + } +} \ No newline at end of file diff --git a/VideoSticher/src/V1/resources/video_stitcher_service_client_config.json b/VideoSticher/src/V1/resources/video_stitcher_service_client_config.json new file mode 100644 index 00000000000..ed339d7f014 --- /dev/null +++ b/VideoSticher/src/V1/resources/video_stitcher_service_client_config.json @@ -0,0 +1,144 @@ +{ + "interfaces": { + "google.cloud.video.stitcher.v1.VideoStitcherService": { + "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": { + "CreateCdnKey": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "CreateLiveSession": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "CreateSlate": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "CreateVodSession": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "DeleteCdnKey": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "DeleteSlate": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "GetCdnKey": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "GetLiveAdTagDetail": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "GetLiveSession": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "GetSlate": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "GetVodAdTagDetail": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "GetVodSession": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "GetVodStitchDetail": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "ListCdnKeys": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "ListLiveAdTagDetails": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "ListSlates": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "ListVodAdTagDetails": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "ListVodStitchDetails": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "UpdateCdnKey": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + }, + "UpdateSlate": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_1_codes", + "retry_params_name": "no_retry_1_params" + } + } + } + } +} diff --git a/VideoSticher/src/V1/resources/video_stitcher_service_descriptor_config.php b/VideoSticher/src/V1/resources/video_stitcher_service_descriptor_config.php new file mode 100644 index 00000000000..db022b7df05 --- /dev/null +++ b/VideoSticher/src/V1/resources/video_stitcher_service_descriptor_config.php @@ -0,0 +1,58 @@ + [ + 'google.cloud.video.stitcher.v1.VideoStitcherService' => [ + 'ListCdnKeys' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getCdnKeys', + ], + ], + 'ListLiveAdTagDetails' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getLiveAdTagDetails', + ], + ], + 'ListSlates' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getSlates', + ], + ], + 'ListVodAdTagDetails' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getVodAdTagDetails', + ], + ], + 'ListVodStitchDetails' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getVodStitchDetails', + ], + ], + ], + ], +]; diff --git a/VideoSticher/src/V1/resources/video_stitcher_service_rest_client_config.php b/VideoSticher/src/V1/resources/video_stitcher_service_rest_client_config.php new file mode 100644 index 00000000000..b89b5716f58 --- /dev/null +++ b/VideoSticher/src/V1/resources/video_stitcher_service_rest_client_config.php @@ -0,0 +1,248 @@ + [ + 'google.cloud.video.stitcher.v1.VideoStitcherService' => [ + 'CreateCdnKey' => [ + 'method' => 'post', + 'uriTemplate' => '/v1/{parent=projects/*/locations/*}/cdnKeys', + 'body' => 'cdn_key', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + 'queryParams' => [ + 'cdn_key_id', + ], + ], + 'CreateLiveSession' => [ + 'method' => 'post', + 'uriTemplate' => '/v1/{parent=projects/*/locations/*}/liveSessions', + 'body' => 'live_session', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'CreateSlate' => [ + 'method' => 'post', + 'uriTemplate' => '/v1/{parent=projects/*/locations/*}/slates', + 'body' => 'slate', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + 'queryParams' => [ + 'slate_id', + ], + ], + 'CreateVodSession' => [ + 'method' => 'post', + 'uriTemplate' => '/v1/{parent=projects/*/locations/*}/vodSessions', + 'body' => 'vod_session', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'DeleteCdnKey' => [ + 'method' => 'delete', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/cdnKeys/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'DeleteSlate' => [ + 'method' => 'delete', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/slates/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'GetCdnKey' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/cdnKeys/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'GetLiveAdTagDetail' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/liveSessions/*/liveAdTagDetails/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'GetLiveSession' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/liveSessions/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'GetSlate' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/slates/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'GetVodAdTagDetail' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/vodSessions/*/vodAdTagDetails/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'GetVodSession' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/vodSessions/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'GetVodStitchDetail' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/vodSessions/*/vodStitchDetails/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'ListCdnKeys' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{parent=projects/*/locations/*}/cdnKeys', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'ListLiveAdTagDetails' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{parent=projects/*/locations/*/liveSessions/*}/liveAdTagDetails', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'ListSlates' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{parent=projects/*/locations/*}/slates', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'ListVodAdTagDetails' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{parent=projects/*/locations/*/vodSessions/*}/vodAdTagDetails', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'ListVodStitchDetails' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{parent=projects/*/locations/*/vodSessions/*}/vodStitchDetails', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'UpdateCdnKey' => [ + 'method' => 'patch', + 'uriTemplate' => '/v1/{cdn_key.name=projects/*/locations/*/cdnKeys/*}', + 'body' => 'cdn_key', + 'placeholders' => [ + 'cdn_key.name' => [ + 'getters' => [ + 'getCdnKey', + 'getName', + ], + ], + ], + 'queryParams' => [ + 'update_mask', + ], + ], + 'UpdateSlate' => [ + 'method' => 'patch', + 'uriTemplate' => '/v1/{slate.name=projects/*/locations/*/slates/*}', + 'body' => 'slate', + 'placeholders' => [ + 'slate.name' => [ + 'getters' => [ + 'getSlate', + 'getName', + ], + ], + ], + 'queryParams' => [ + 'update_mask', + ], + ], + ], + ], +]; diff --git a/VideoSticher/tests/Unit/V1/VideoStitcherServiceClientTest.php b/VideoSticher/tests/Unit/V1/VideoStitcherServiceClientTest.php new file mode 100644 index 00000000000..3d614192e27 --- /dev/null +++ b/VideoSticher/tests/Unit/V1/VideoStitcherServiceClientTest.php @@ -0,0 +1,1484 @@ +getMockBuilder(CredentialsWrapper::class)->disableOriginalConstructor()->getMock(); + } + + /** + * @return VideoStitcherServiceClient + */ + private function createClient(array $options = []) + { + $options += [ + 'credentials' => $this->createCredentials(), + ]; + return new VideoStitcherServiceClient($options); + } + + /** + * @test + */ + public function createCdnKeyTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name = 'name3373707'; + $hostname = 'hostname-299803597'; + $expectedResponse = new CdnKey(); + $expectedResponse->setName($name); + $expectedResponse->setHostname($hostname); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $client->locationName('[PROJECT]', '[LOCATION]'); + $cdnKey = new CdnKey(); + $cdnKeyId = 'cdnKeyId1672586061'; + $response = $client->createCdnKey($formattedParent, $cdnKey, $cdnKeyId); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/CreateCdnKey', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $actualValue = $actualRequestObject->getCdnKey(); + $this->assertProtobufEquals($cdnKey, $actualValue); + $actualValue = $actualRequestObject->getCdnKeyId(); + $this->assertProtobufEquals($cdnKeyId, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function createCdnKeyExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 = $client->locationName('[PROJECT]', '[LOCATION]'); + $cdnKey = new CdnKey(); + $cdnKeyId = 'cdnKeyId1672586061'; + try { + $client->createCdnKey($formattedParent, $cdnKey, $cdnKeyId); + // If the $client 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 createLiveSessionTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name = 'name3373707'; + $playUri = 'playUri1879098849'; + $sourceUri = 'sourceUri-1111107768'; + $defaultAdTagId = 'defaultAdTagId1910479614'; + $clientAdTracking = false; + $defaultSlateId = 'defaultSlateId-1589112385'; + $expectedResponse = new LiveSession(); + $expectedResponse->setName($name); + $expectedResponse->setPlayUri($playUri); + $expectedResponse->setSourceUri($sourceUri); + $expectedResponse->setDefaultAdTagId($defaultAdTagId); + $expectedResponse->setClientAdTracking($clientAdTracking); + $expectedResponse->setDefaultSlateId($defaultSlateId); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $client->liveSessionName('[PROJECT]', '[LOCATION]', '[LIVE_SESSION]'); + $liveSession = new LiveSession(); + $response = $client->createLiveSession($formattedParent, $liveSession); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/CreateLiveSession', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $actualValue = $actualRequestObject->getLiveSession(); + $this->assertProtobufEquals($liveSession, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function createLiveSessionExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 = $client->liveSessionName('[PROJECT]', '[LOCATION]', '[LIVE_SESSION]'); + $liveSession = new LiveSession(); + try { + $client->createLiveSession($formattedParent, $liveSession); + // If the $client 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 createSlateTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name = 'name3373707'; + $uri = 'uri116076'; + $expectedResponse = new Slate(); + $expectedResponse->setName($name); + $expectedResponse->setUri($uri); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $client->locationName('[PROJECT]', '[LOCATION]'); + $slateId = 'slateId-1486865023'; + $slate = new Slate(); + $response = $client->createSlate($formattedParent, $slateId, $slate); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/CreateSlate', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $actualValue = $actualRequestObject->getSlateId(); + $this->assertProtobufEquals($slateId, $actualValue); + $actualValue = $actualRequestObject->getSlate(); + $this->assertProtobufEquals($slate, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function createSlateExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 = $client->locationName('[PROJECT]', '[LOCATION]'); + $slateId = 'slateId-1486865023'; + $slate = new Slate(); + try { + $client->createSlate($formattedParent, $slateId, $slate); + // If the $client 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 createVodSessionTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name = 'name3373707'; + $playUri = 'playUri1879098849'; + $sourceUri = 'sourceUri-1111107768'; + $adTagUri = 'adTagUri-1429194965'; + $clientAdTracking = false; + $expectedResponse = new VodSession(); + $expectedResponse->setName($name); + $expectedResponse->setPlayUri($playUri); + $expectedResponse->setSourceUri($sourceUri); + $expectedResponse->setAdTagUri($adTagUri); + $expectedResponse->setClientAdTracking($clientAdTracking); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $client->locationName('[PROJECT]', '[LOCATION]'); + $vodSession = new VodSession(); + $vodSessionSourceUri = 'vodSessionSourceUri2085185606'; + $vodSession->setSourceUri($vodSessionSourceUri); + $vodSessionAdTagUri = 'vodSessionAdTagUri-600567328'; + $vodSession->setAdTagUri($vodSessionAdTagUri); + $response = $client->createVodSession($formattedParent, $vodSession); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/CreateVodSession', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $actualValue = $actualRequestObject->getVodSession(); + $this->assertProtobufEquals($vodSession, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function createVodSessionExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 = $client->locationName('[PROJECT]', '[LOCATION]'); + $vodSession = new VodSession(); + $vodSessionSourceUri = 'vodSessionSourceUri2085185606'; + $vodSession->setSourceUri($vodSessionSourceUri); + $vodSessionAdTagUri = 'vodSessionAdTagUri-600567328'; + $vodSession->setAdTagUri($vodSessionAdTagUri); + try { + $client->createVodSession($formattedParent, $vodSession); + // If the $client 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 deleteCdnKeyTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $expectedResponse = new GPBEmpty(); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $client->cdnKeyName('[PROJECT]', '[LOCATION]', '[CDN_KEY]'); + $client->deleteCdnKey($formattedName); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/DeleteCdnKey', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function deleteCdnKeyExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 = $client->cdnKeyName('[PROJECT]', '[LOCATION]', '[CDN_KEY]'); + try { + $client->deleteCdnKey($formattedName); + // If the $client 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 deleteSlateTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $expectedResponse = new GPBEmpty(); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $client->slateName('[PROJECT]', '[LOCATION]', '[SLATE]'); + $client->deleteSlate($formattedName); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/DeleteSlate', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function deleteSlateExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 = $client->slateName('[PROJECT]', '[LOCATION]', '[SLATE]'); + try { + $client->deleteSlate($formattedName); + // If the $client 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 getCdnKeyTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $hostname = 'hostname-299803597'; + $expectedResponse = new CdnKey(); + $expectedResponse->setName($name2); + $expectedResponse->setHostname($hostname); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $client->cdnKeyName('[PROJECT]', '[LOCATION]', '[CDN_KEY]'); + $response = $client->getCdnKey($formattedName); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/GetCdnKey', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function getCdnKeyExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 = $client->cdnKeyName('[PROJECT]', '[LOCATION]', '[CDN_KEY]'); + try { + $client->getCdnKey($formattedName); + // If the $client 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 getLiveAdTagDetailTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $expectedResponse = new LiveAdTagDetail(); + $expectedResponse->setName($name2); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $client->liveAdTagDetailName('[PROJECT]', '[LOCATION]', '[LIVE_SESSION]', '[LIVE_AD_TAG_DETAIL]'); + $response = $client->getLiveAdTagDetail($formattedName); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/GetLiveAdTagDetail', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function getLiveAdTagDetailExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 = $client->liveAdTagDetailName('[PROJECT]', '[LOCATION]', '[LIVE_SESSION]', '[LIVE_AD_TAG_DETAIL]'); + try { + $client->getLiveAdTagDetail($formattedName); + // If the $client 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 getLiveSessionTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $playUri = 'playUri1879098849'; + $sourceUri = 'sourceUri-1111107768'; + $defaultAdTagId = 'defaultAdTagId1910479614'; + $clientAdTracking = false; + $defaultSlateId = 'defaultSlateId-1589112385'; + $expectedResponse = new LiveSession(); + $expectedResponse->setName($name2); + $expectedResponse->setPlayUri($playUri); + $expectedResponse->setSourceUri($sourceUri); + $expectedResponse->setDefaultAdTagId($defaultAdTagId); + $expectedResponse->setClientAdTracking($clientAdTracking); + $expectedResponse->setDefaultSlateId($defaultSlateId); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $client->liveSessionName('[PROJECT]', '[LOCATION]', '[LIVE_SESSION]'); + $response = $client->getLiveSession($formattedName); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/GetLiveSession', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function getLiveSessionExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 = $client->liveSessionName('[PROJECT]', '[LOCATION]', '[LIVE_SESSION]'); + try { + $client->getLiveSession($formattedName); + // If the $client 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 getSlateTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $uri = 'uri116076'; + $expectedResponse = new Slate(); + $expectedResponse->setName($name2); + $expectedResponse->setUri($uri); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $client->slateName('[PROJECT]', '[LOCATION]', '[SLATE]'); + $response = $client->getSlate($formattedName); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/GetSlate', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function getSlateExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 = $client->slateName('[PROJECT]', '[LOCATION]', '[SLATE]'); + try { + $client->getSlate($formattedName); + // If the $client 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 getVodAdTagDetailTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $expectedResponse = new VodAdTagDetail(); + $expectedResponse->setName($name2); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $client->vodAdTagDetailName('[PROJECT]', '[LOCATION]', '[VOD_SESSION]', '[VOD_AD_TAG_DETAIL]'); + $response = $client->getVodAdTagDetail($formattedName); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/GetVodAdTagDetail', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function getVodAdTagDetailExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 = $client->vodAdTagDetailName('[PROJECT]', '[LOCATION]', '[VOD_SESSION]', '[VOD_AD_TAG_DETAIL]'); + try { + $client->getVodAdTagDetail($formattedName); + // If the $client 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 getVodSessionTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $playUri = 'playUri1879098849'; + $sourceUri = 'sourceUri-1111107768'; + $adTagUri = 'adTagUri-1429194965'; + $clientAdTracking = false; + $expectedResponse = new VodSession(); + $expectedResponse->setName($name2); + $expectedResponse->setPlayUri($playUri); + $expectedResponse->setSourceUri($sourceUri); + $expectedResponse->setAdTagUri($adTagUri); + $expectedResponse->setClientAdTracking($clientAdTracking); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $client->vodSessionName('[PROJECT]', '[LOCATION]', '[VOD_SESSION]'); + $response = $client->getVodSession($formattedName); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/GetVodSession', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function getVodSessionExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 = $client->vodSessionName('[PROJECT]', '[LOCATION]', '[VOD_SESSION]'); + try { + $client->getVodSession($formattedName); + // If the $client 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 getVodStitchDetailTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $expectedResponse = new VodStitchDetail(); + $expectedResponse->setName($name2); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $client->vodStitchDetailName('[PROJECT]', '[LOCATION]', '[VOD_SESSION]', '[VOD_STITCH_DETAIL]'); + $response = $client->getVodStitchDetail($formattedName); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/GetVodStitchDetail', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function getVodStitchDetailExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 = $client->vodStitchDetailName('[PROJECT]', '[LOCATION]', '[VOD_SESSION]', '[VOD_STITCH_DETAIL]'); + try { + $client->getVodStitchDetail($formattedName); + // If the $client 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 listCdnKeysTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $cdnKeysElement = new CdnKey(); + $cdnKeys = [ + $cdnKeysElement, + ]; + $expectedResponse = new ListCdnKeysResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setCdnKeys($cdnKeys); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $client->locationName('[PROJECT]', '[LOCATION]'); + $response = $client->listCdnKeys($formattedParent); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getCdnKeys()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/ListCdnKeys', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function listCdnKeysExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 = $client->locationName('[PROJECT]', '[LOCATION]'); + try { + $client->listCdnKeys($formattedParent); + // If the $client 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 listLiveAdTagDetailsTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $liveAdTagDetailsElement = new LiveAdTagDetail(); + $liveAdTagDetails = [ + $liveAdTagDetailsElement, + ]; + $expectedResponse = new ListLiveAdTagDetailsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setLiveAdTagDetails($liveAdTagDetails); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $client->liveSessionName('[PROJECT]', '[LOCATION]', '[LIVE_SESSION]'); + $response = $client->listLiveAdTagDetails($formattedParent); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getLiveAdTagDetails()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/ListLiveAdTagDetails', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function listLiveAdTagDetailsExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 = $client->liveSessionName('[PROJECT]', '[LOCATION]', '[LIVE_SESSION]'); + try { + $client->listLiveAdTagDetails($formattedParent); + // If the $client 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 listSlatesTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $slatesElement = new Slate(); + $slates = [ + $slatesElement, + ]; + $expectedResponse = new ListSlatesResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setSlates($slates); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $client->locationName('[PROJECT]', '[LOCATION]'); + $response = $client->listSlates($formattedParent); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getSlates()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/ListSlates', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function listSlatesExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 = $client->locationName('[PROJECT]', '[LOCATION]'); + try { + $client->listSlates($formattedParent); + // If the $client 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 listVodAdTagDetailsTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $vodAdTagDetailsElement = new VodAdTagDetail(); + $vodAdTagDetails = [ + $vodAdTagDetailsElement, + ]; + $expectedResponse = new ListVodAdTagDetailsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setVodAdTagDetails($vodAdTagDetails); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $client->vodSessionName('[PROJECT]', '[LOCATION]', '[VOD_SESSION]'); + $response = $client->listVodAdTagDetails($formattedParent); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getVodAdTagDetails()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/ListVodAdTagDetails', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function listVodAdTagDetailsExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 = $client->vodSessionName('[PROJECT]', '[LOCATION]', '[VOD_SESSION]'); + try { + $client->listVodAdTagDetails($formattedParent); + // If the $client 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 listVodStitchDetailsTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $vodStitchDetailsElement = new VodStitchDetail(); + $vodStitchDetails = [ + $vodStitchDetailsElement, + ]; + $expectedResponse = new ListVodStitchDetailsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setVodStitchDetails($vodStitchDetails); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $client->vodSessionName('[PROJECT]', '[LOCATION]', '[VOD_SESSION]'); + $response = $client->listVodStitchDetails($formattedParent); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getVodStitchDetails()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/ListVodStitchDetails', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function listVodStitchDetailsExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 = $client->vodSessionName('[PROJECT]', '[LOCATION]', '[VOD_SESSION]'); + try { + $client->listVodStitchDetails($formattedParent); + // If the $client 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 updateCdnKeyTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name = 'name3373707'; + $hostname = 'hostname-299803597'; + $expectedResponse = new CdnKey(); + $expectedResponse->setName($name); + $expectedResponse->setHostname($hostname); + $transport->addResponse($expectedResponse); + // Mock request + $cdnKey = new CdnKey(); + $updateMask = new FieldMask(); + $response = $client->updateCdnKey($cdnKey, $updateMask); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/UpdateCdnKey', $actualFuncCall); + $actualValue = $actualRequestObject->getCdnKey(); + $this->assertProtobufEquals($cdnKey, $actualValue); + $actualValue = $actualRequestObject->getUpdateMask(); + $this->assertProtobufEquals($updateMask, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function updateCdnKeyExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 + $cdnKey = new CdnKey(); + $updateMask = new FieldMask(); + try { + $client->updateCdnKey($cdnKey, $updateMask); + // If the $client 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 updateSlateTest() + { + $transport = $this->createTransport(); + $client = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name = 'name3373707'; + $uri = 'uri116076'; + $expectedResponse = new Slate(); + $expectedResponse->setName($name); + $expectedResponse->setUri($uri); + $transport->addResponse($expectedResponse); + // Mock request + $slate = new Slate(); + $updateMask = new FieldMask(); + $response = $client->updateSlate($slate, $updateMask); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.video.stitcher.v1.VideoStitcherService/UpdateSlate', $actualFuncCall); + $actualValue = $actualRequestObject->getSlate(); + $this->assertProtobufEquals($slate, $actualValue); + $actualValue = $actualRequestObject->getUpdateMask(); + $this->assertProtobufEquals($updateMask, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** + * @test + */ + public function updateSlateExceptionTest() + { + $transport = $this->createTransport(); + $client = $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 + $slate = new Slate(); + $updateMask = new FieldMask(); + try { + $client->updateSlate($slate, $updateMask); + // If the $client 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()); + } +} diff --git a/docs/contents/cloud-video-stitcher.json b/docs/contents/cloud-video-stitcher.json new file mode 100644 index 00000000000..e7717f9dcf6 --- /dev/null +++ b/docs/contents/cloud-video-stitcher.json @@ -0,0 +1,15 @@ +{ + "title": "videostitcher", + "defaultService": "videostitcher\/readme", + "services": [ + { + "title": "Overview", + "type": "videostitcher\/readme" + }, + { + "title": "VideoStitcherServiceClient (v1)", + "type": "videostitcher\/v1\/videostitcherserviceclient" + } + ], + "pattern": "videostitcher\/\\w{1,}" +}