diff --git a/clients/you_tube/lib/google_api/you_tube/v3/api/channels.ex b/clients/you_tube/lib/google_api/you_tube/v3/api/channels.ex index 1ba7fc262b..fb01cab56e 100644 --- a/clients/you_tube/lib/google_api/you_tube/v3/api/channels.ex +++ b/clients/you_tube/lib/google_api/you_tube/v3/api/channels.ex @@ -45,6 +45,7 @@ defmodule GoogleApi.YouTube.V3.Api.Channels do * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). * `:categoryId` (*type:* `String.t`) - Return the channels within the specified guide category ID. + * `:forHandle` (*type:* `String.t`) - Return the channel associated with a YouTube handle. * `:forUsername` (*type:* `String.t`) - Return the channel associated with a YouTube username. * `:hl` (*type:* `String.t`) - Stands for "host language". Specifies the localization language of the metadata to be filled into snippet.localized. The field is filled with the default metadata if there is no localization in the specified language. The parameter value must be a language code included in the list returned by the i18nLanguages.list method (e.g. en_US, es_MX). * `:id` (*type:* `list(String.t)`) - Return the channels with the specified IDs. @@ -80,6 +81,7 @@ defmodule GoogleApi.YouTube.V3.Api.Channels do :uploadType => :query, :upload_protocol => :query, :categoryId => :query, + :forHandle => :query, :forUsername => :query, :hl => :query, :id => :query, diff --git a/clients/you_tube/lib/google_api/you_tube/v3/api/comments.ex b/clients/you_tube/lib/google_api/you_tube/v3/api/comments.ex index 78eeecaa00..9d9baa0682 100644 --- a/clients/you_tube/lib/google_api/you_tube/v3/api/comments.ex +++ b/clients/you_tube/lib/google_api/you_tube/v3/api/comments.ex @@ -274,7 +274,7 @@ defmodule GoogleApi.YouTube.V3.Api.Comments do * `connection` (*type:* `GoogleApi.YouTube.V3.Connection.t`) - Connection to server * `id` (*type:* `list(String.t)`) - Modifies the moderation status of the comments with the given IDs - * `moderation_status` (*type:* `String.t`) - Specifies the requested moderation status. Note, comments can be in statuses, which are not available through this call. For example, this call does not allow to mark a comment as 'likely spam'. Valid values: MODERATION_STATUS_PUBLISHED, MODERATION_STATUS_HELD_FOR_REVIEW, MODERATION_STATUS_REJECTED. + * `moderation_status` (*type:* `String.t`) - Specifies the requested moderation status. Note, comments can be in statuses, which are not available through this call. For example, this call does not allow to mark a comment as 'likely spam'. Valid values: 'heldForReview', 'published' or 'rejected'. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. diff --git a/clients/you_tube/lib/google_api/you_tube/v3/api/playlist_images.ex b/clients/you_tube/lib/google_api/you_tube/v3/api/playlist_images.ex new file mode 100644 index 0000000000..1f6aad68c1 --- /dev/null +++ b/clients/you_tube/lib/google_api/you_tube/v3/api/playlist_images.ex @@ -0,0 +1,754 @@ +# Copyright 2019 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.YouTube.V3.Api.PlaylistImages do + @moduledoc """ + API calls for all endpoints tagged `PlaylistImages`. + """ + + alias GoogleApi.YouTube.V3.Connection + alias GoogleApi.Gax.{Request, Response} + + @library_version Mix.Project.config() |> Keyword.get(:version, "") + + @doc """ + Deletes a resource. + + ## Parameters + + * `connection` (*type:* `GoogleApi.YouTube.V3.Connection.t`) - Connection to server + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:id` (*type:* `String.t`) - Id to identify this image. This is returned from by the List method. + * `:onBehalfOfContentOwner` (*type:* `String.t`) - *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %{}}` on success + * `{:error, info}` on failure + """ + @spec youtube_playlist_images_delete(Tesla.Env.client(), keyword(), keyword()) :: + {:ok, nil} | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} + def youtube_playlist_images_delete(connection, optional_params \\ [], opts \\ []) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :id => :query, + :onBehalfOfContentOwner => :query + } + + request = + Request.new() + |> Request.method(:delete) + |> Request.url("/youtube/v3/playlistImages", %{}) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [decode: false]) + end + + @doc """ + Inserts a new resource into this collection. + + ## Parameters + + * `connection` (*type:* `GoogleApi.YouTube.V3.Connection.t`) - Connection to server + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:onBehalfOfContentOwner` (*type:* `String.t`) - *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * `:onBehalfOfContentOwnerChannel` (*type:* `String.t`) - This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * `:part` (*type:* `list(String.t)`) - The *part* parameter specifies the properties that the API response will include. + * `:body` (*type:* `GoogleApi.YouTube.V3.Model.PlaylistImage.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.YouTube.V3.Model.PlaylistImage{}}` on success + * `{:error, info}` on failure + """ + @spec youtube_playlist_images_insert(Tesla.Env.client(), keyword(), keyword()) :: + {:ok, GoogleApi.YouTube.V3.Model.PlaylistImage.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def youtube_playlist_images_insert(connection, optional_params \\ [], opts \\ []) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :onBehalfOfContentOwner => :query, + :onBehalfOfContentOwnerChannel => :query, + :part => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/youtube/v3/playlistImages", %{}) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.YouTube.V3.Model.PlaylistImage{}]) + end + + @doc """ + Inserts a new resource into this collection. + + ## Parameters + + * `connection` (*type:* `GoogleApi.YouTube.V3.Connection.t`) - Connection to server + * `upload_type` (*type:* `String.t`) - Upload type. Must be "multipart". + * `metadata` (*type:* `GoogleApi.YouTube.V3.Model.PlaylistImage.t`) - object metadata + * `data` (*type:* `iodata`) - Content to upload, as a string or iolist + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:onBehalfOfContentOwner` (*type:* `String.t`) - *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * `:onBehalfOfContentOwnerChannel` (*type:* `String.t`) - This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * `:part` (*type:* `list(String.t)`) - The *part* parameter specifies the properties that the API response will include. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.YouTube.V3.Model.PlaylistImage{}}` on success + * `{:error, info}` on failure + """ + @spec youtube_playlist_images_insert_iodata( + Tesla.Env.client(), + String.t(), + GoogleApi.YouTube.V3.Model.PlaylistImage.t(), + iodata, + keyword(), + keyword() + ) :: + {:ok, GoogleApi.YouTube.V3.Model.PlaylistImage.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def youtube_playlist_images_insert_iodata( + connection, + upload_type, + metadata, + data, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :onBehalfOfContentOwner => :query, + :onBehalfOfContentOwnerChannel => :query, + :part => :query + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/upload/youtube/v3/playlistImages", %{}) + |> Request.add_param(:query, :uploadType, upload_type) + |> Request.add_param(:body, :metadata, metadata) + |> Request.add_param(:body, :data, data) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.YouTube.V3.Model.PlaylistImage{}]) + end + + @doc """ + Inserts a new resource into this collection. + + ## Parameters + + * `connection` (*type:* `GoogleApi.YouTube.V3.Connection.t`) - Connection to server + * `upload_type` (*type:* `String.t`) - Upload type. Must be "resumable". + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:onBehalfOfContentOwner` (*type:* `String.t`) - *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * `:onBehalfOfContentOwnerChannel` (*type:* `String.t`) - This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * `:part` (*type:* `list(String.t)`) - The *part* parameter specifies the properties that the API response will include. + * `:body` (*type:* `GoogleApi.YouTube.V3.Model.PlaylistImage.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %{}}` on success + * `{:error, info}` on failure + """ + @spec youtube_playlist_images_insert_resumable( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: {:ok, nil} | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} + def youtube_playlist_images_insert_resumable( + connection, + upload_type, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :onBehalfOfContentOwner => :query, + :onBehalfOfContentOwnerChannel => :query, + :part => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/resumable/upload/youtube/v3/playlistImages", %{}) + |> Request.add_param(:query, :uploadType, upload_type) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [decode: false]) + end + + @doc """ + Inserts a new resource into this collection. + + ## Parameters + + * `connection` (*type:* `GoogleApi.YouTube.V3.Connection.t`) - Connection to server + * `upload_type` (*type:* `String.t`) - Upload type. Must be "multipart". + * `metadata` (*type:* `GoogleApi.YouTube.V3.Model.PlaylistImage.t`) - object metadata + * `data` (*type:* `String.t`) - Path to file containing content to upload + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:onBehalfOfContentOwner` (*type:* `String.t`) - *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * `:onBehalfOfContentOwnerChannel` (*type:* `String.t`) - This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * `:part` (*type:* `list(String.t)`) - The *part* parameter specifies the properties that the API response will include. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.YouTube.V3.Model.PlaylistImage{}}` on success + * `{:error, info}` on failure + """ + @spec youtube_playlist_images_insert_simple( + Tesla.Env.client(), + String.t(), + GoogleApi.YouTube.V3.Model.PlaylistImage.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.YouTube.V3.Model.PlaylistImage.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def youtube_playlist_images_insert_simple( + connection, + upload_type, + metadata, + data, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :onBehalfOfContentOwner => :query, + :onBehalfOfContentOwnerChannel => :query, + :part => :query + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/upload/youtube/v3/playlistImages", %{}) + |> Request.add_param(:query, :uploadType, upload_type) + |> Request.add_param(:body, :metadata, metadata) + |> Request.add_param(:file, :data, data) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.YouTube.V3.Model.PlaylistImage{}]) + end + + @doc """ + Retrieves a list of resources, possibly filtered. + + ## Parameters + + * `connection` (*type:* `GoogleApi.YouTube.V3.Connection.t`) - Connection to server + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:maxResults` (*type:* `integer()`) - The *maxResults* parameter specifies the maximum number of items that should be returned in the result set. + * `:onBehalfOfContentOwner` (*type:* `String.t`) - *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * `:onBehalfOfContentOwnerChannel` (*type:* `String.t`) - This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel. + * `:pageToken` (*type:* `String.t`) - The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved. + * `:parent` (*type:* `String.t`) - Return PlaylistImages for this playlist id. + * `:part` (*type:* `list(String.t)`) - The *part* parameter specifies a comma-separated list of one or more playlistImage resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.YouTube.V3.Model.PlaylistImageListResponse{}}` on success + * `{:error, info}` on failure + """ + @spec youtube_playlist_images_list(Tesla.Env.client(), keyword(), keyword()) :: + {:ok, GoogleApi.YouTube.V3.Model.PlaylistImageListResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def youtube_playlist_images_list(connection, optional_params \\ [], opts \\ []) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :maxResults => :query, + :onBehalfOfContentOwner => :query, + :onBehalfOfContentOwnerChannel => :query, + :pageToken => :query, + :parent => :query, + :part => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/youtube/v3/playlistImages", %{}) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.YouTube.V3.Model.PlaylistImageListResponse{}]) + end + + @doc """ + Updates an existing resource. + + ## Parameters + + * `connection` (*type:* `GoogleApi.YouTube.V3.Connection.t`) - Connection to server + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:onBehalfOfContentOwner` (*type:* `String.t`) - *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * `:part` (*type:* `list(String.t)`) - The *part* parameter specifies the properties that the API response will include. + * `:body` (*type:* `GoogleApi.YouTube.V3.Model.PlaylistImage.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.YouTube.V3.Model.PlaylistImage{}}` on success + * `{:error, info}` on failure + """ + @spec youtube_playlist_images_update(Tesla.Env.client(), keyword(), keyword()) :: + {:ok, GoogleApi.YouTube.V3.Model.PlaylistImage.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def youtube_playlist_images_update(connection, optional_params \\ [], opts \\ []) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :onBehalfOfContentOwner => :query, + :part => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:put) + |> Request.url("/youtube/v3/playlistImages", %{}) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.YouTube.V3.Model.PlaylistImage{}]) + end + + @doc """ + Updates an existing resource. + + ## Parameters + + * `connection` (*type:* `GoogleApi.YouTube.V3.Connection.t`) - Connection to server + * `upload_type` (*type:* `String.t`) - Upload type. Must be "multipart". + * `metadata` (*type:* `GoogleApi.YouTube.V3.Model.PlaylistImage.t`) - object metadata + * `data` (*type:* `iodata`) - Content to upload, as a string or iolist + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:onBehalfOfContentOwner` (*type:* `String.t`) - *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * `:part` (*type:* `list(String.t)`) - The *part* parameter specifies the properties that the API response will include. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.YouTube.V3.Model.PlaylistImage{}}` on success + * `{:error, info}` on failure + """ + @spec youtube_playlist_images_update_iodata( + Tesla.Env.client(), + String.t(), + GoogleApi.YouTube.V3.Model.PlaylistImage.t(), + iodata, + keyword(), + keyword() + ) :: + {:ok, GoogleApi.YouTube.V3.Model.PlaylistImage.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def youtube_playlist_images_update_iodata( + connection, + upload_type, + metadata, + data, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :onBehalfOfContentOwner => :query, + :part => :query + } + + request = + Request.new() + |> Request.method(:put) + |> Request.url("/upload/youtube/v3/playlistImages", %{}) + |> Request.add_param(:query, :uploadType, upload_type) + |> Request.add_param(:body, :metadata, metadata) + |> Request.add_param(:body, :data, data) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.YouTube.V3.Model.PlaylistImage{}]) + end + + @doc """ + Updates an existing resource. + + ## Parameters + + * `connection` (*type:* `GoogleApi.YouTube.V3.Connection.t`) - Connection to server + * `upload_type` (*type:* `String.t`) - Upload type. Must be "resumable". + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:onBehalfOfContentOwner` (*type:* `String.t`) - *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * `:part` (*type:* `list(String.t)`) - The *part* parameter specifies the properties that the API response will include. + * `:body` (*type:* `GoogleApi.YouTube.V3.Model.PlaylistImage.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %{}}` on success + * `{:error, info}` on failure + """ + @spec youtube_playlist_images_update_resumable( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: {:ok, nil} | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} + def youtube_playlist_images_update_resumable( + connection, + upload_type, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :onBehalfOfContentOwner => :query, + :part => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:put) + |> Request.url("/resumable/upload/youtube/v3/playlistImages", %{}) + |> Request.add_param(:query, :uploadType, upload_type) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [decode: false]) + end + + @doc """ + Updates an existing resource. + + ## Parameters + + * `connection` (*type:* `GoogleApi.YouTube.V3.Connection.t`) - Connection to server + * `upload_type` (*type:* `String.t`) - Upload type. Must be "multipart". + * `metadata` (*type:* `GoogleApi.YouTube.V3.Model.PlaylistImage.t`) - object metadata + * `data` (*type:* `String.t`) - Path to file containing content to upload + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:onBehalfOfContentOwner` (*type:* `String.t`) - *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. + * `:part` (*type:* `list(String.t)`) - The *part* parameter specifies the properties that the API response will include. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.YouTube.V3.Model.PlaylistImage{}}` on success + * `{:error, info}` on failure + """ + @spec youtube_playlist_images_update_simple( + Tesla.Env.client(), + String.t(), + GoogleApi.YouTube.V3.Model.PlaylistImage.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.YouTube.V3.Model.PlaylistImage.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def youtube_playlist_images_update_simple( + connection, + upload_type, + metadata, + data, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :onBehalfOfContentOwner => :query, + :part => :query + } + + request = + Request.new() + |> Request.method(:put) + |> Request.url("/upload/youtube/v3/playlistImages", %{}) + |> Request.add_param(:query, :uploadType, upload_type) + |> Request.add_param(:body, :metadata, metadata) + |> Request.add_param(:file, :data, data) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.YouTube.V3.Model.PlaylistImage{}]) + end +end diff --git a/clients/you_tube/lib/google_api/you_tube/v3/api/playlists.ex b/clients/you_tube/lib/google_api/you_tube/v3/api/playlists.ex index eab51e7d05..ab8d4c4b3e 100644 --- a/clients/you_tube/lib/google_api/you_tube/v3/api/playlists.ex +++ b/clients/you_tube/lib/google_api/you_tube/v3/api/playlists.ex @@ -168,7 +168,7 @@ defmodule GoogleApi.YouTube.V3.Api.Playlists do * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). * `:channelId` (*type:* `String.t`) - Return the playlists owned by the specified channel ID. - * `:hl` (*type:* `String.t`) - Returen content in specified language + * `:hl` (*type:* `String.t`) - Return content in specified language * `:id` (*type:* `list(String.t)`) - Return the playlists with the given IDs for Stubby or Apiary. * `:maxResults` (*type:* `integer()`) - The *maxResults* parameter specifies the maximum number of items that should be returned in the result set. * `:mine` (*type:* `boolean()`) - Return the playlists owned by the authenticated user. diff --git a/clients/you_tube/lib/google_api/you_tube/v3/api/search.ex b/clients/you_tube/lib/google_api/you_tube/v3/api/search.ex index 2c0b7a711b..07c233dcae 100644 --- a/clients/you_tube/lib/google_api/you_tube/v3/api/search.ex +++ b/clients/you_tube/lib/google_api/you_tube/v3/api/search.ex @@ -60,7 +60,6 @@ defmodule GoogleApi.YouTube.V3.Api.Search do * `:publishedBefore` (*type:* `DateTime.t`) - Filter on resources published before this date. * `:q` (*type:* `String.t`) - Textual search terms to match. * `:regionCode` (*type:* `String.t`) - Display the content as seen by viewers in this country. - * `:relatedToVideoId` (*type:* `String.t`) - Search related to a resource. * `:relevanceLanguage` (*type:* `String.t`) - Return results relevant to this language. * `:safeSearch` (*type:* `String.t`) - Indicates whether the search results should include restricted content as well as standard content. * `:topicId` (*type:* `String.t`) - Restrict results to a particular topic. @@ -72,6 +71,7 @@ defmodule GoogleApi.YouTube.V3.Api.Search do * `:videoDuration` (*type:* `String.t`) - Filter on the duration of the videos. * `:videoEmbeddable` (*type:* `String.t`) - Filter on embeddable videos. * `:videoLicense` (*type:* `String.t`) - Filter on the license of the videos. + * `:videoPaidProductPlacement` (*type:* `String.t`) - * `:videoSyndicated` (*type:* `String.t`) - Filter on syndicated videos. * `:videoType` (*type:* `String.t`) - Filter on videos of a specific type. * `opts` (*type:* `keyword()`) - Call options @@ -115,7 +115,6 @@ defmodule GoogleApi.YouTube.V3.Api.Search do :publishedBefore => :query, :q => :query, :regionCode => :query, - :relatedToVideoId => :query, :relevanceLanguage => :query, :safeSearch => :query, :topicId => :query, @@ -127,6 +126,7 @@ defmodule GoogleApi.YouTube.V3.Api.Search do :videoDuration => :query, :videoEmbeddable => :query, :videoLicense => :query, + :videoPaidProductPlacement => :query, :videoSyndicated => :query, :videoType => :query } diff --git a/clients/you_tube/lib/google_api/you_tube/v3/metadata.ex b/clients/you_tube/lib/google_api/you_tube/v3/metadata.ex index d9112008fa..e69f60a4de 100644 --- a/clients/you_tube/lib/google_api/you_tube/v3/metadata.ex +++ b/clients/you_tube/lib/google_api/you_tube/v3/metadata.ex @@ -20,7 +20,7 @@ defmodule GoogleApi.YouTube.V3 do API client metadata for GoogleApi.YouTube.V3. """ - @discovery_revision "20220926" + @discovery_revision "20240310" def discovery_revision(), do: @discovery_revision end diff --git a/clients/you_tube/lib/google_api/you_tube/v3/model/channel_to_store_link_details.ex b/clients/you_tube/lib/google_api/you_tube/v3/model/channel_to_store_link_details.ex index 589ad33bb0..d834971e4b 100644 --- a/clients/you_tube/lib/google_api/you_tube/v3/model/channel_to_store_link_details.ex +++ b/clients/you_tube/lib/google_api/you_tube/v3/model/channel_to_store_link_details.ex @@ -21,6 +21,7 @@ defmodule GoogleApi.YouTube.V3.Model.ChannelToStoreLinkDetails do ## Attributes + * `billingDetails` (*type:* `GoogleApi.YouTube.V3.Model.ChannelToStoreLinkDetailsBillingDetails.t`, *default:* `nil`) - Information specific to billing (read-only). * `merchantId` (*type:* `String.t`, *default:* `nil`) - Google Merchant Center id of the store. * `storeName` (*type:* `String.t`, *default:* `nil`) - Name of the store. * `storeUrl` (*type:* `String.t`, *default:* `nil`) - Landing page of the store. @@ -29,11 +30,14 @@ defmodule GoogleApi.YouTube.V3.Model.ChannelToStoreLinkDetails do use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :billingDetails => + GoogleApi.YouTube.V3.Model.ChannelToStoreLinkDetailsBillingDetails.t() | nil, :merchantId => String.t() | nil, :storeName => String.t() | nil, :storeUrl => String.t() | nil } + field(:billingDetails, as: GoogleApi.YouTube.V3.Model.ChannelToStoreLinkDetailsBillingDetails) field(:merchantId) field(:storeName) field(:storeUrl) diff --git a/clients/you_tube/lib/google_api/you_tube/v3/model/channel_to_store_link_details_billing_details.ex b/clients/you_tube/lib/google_api/you_tube/v3/model/channel_to_store_link_details_billing_details.ex new file mode 100644 index 0000000000..c72ca780ae --- /dev/null +++ b/clients/you_tube/lib/google_api/you_tube/v3/model/channel_to_store_link_details_billing_details.ex @@ -0,0 +1,46 @@ +# Copyright 2019 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.YouTube.V3.Model.ChannelToStoreLinkDetailsBillingDetails do + @moduledoc """ + Information specific to billing. + + ## Attributes + + * `billingStatus` (*type:* `String.t`, *default:* `nil`) - The current billing profile status. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :billingStatus => String.t() | nil + } + + field(:billingStatus) +end + +defimpl Poison.Decoder, for: GoogleApi.YouTube.V3.Model.ChannelToStoreLinkDetailsBillingDetails do + def decode(value, options) do + GoogleApi.YouTube.V3.Model.ChannelToStoreLinkDetailsBillingDetails.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.YouTube.V3.Model.ChannelToStoreLinkDetailsBillingDetails do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/you_tube/lib/google_api/you_tube/v3/model/cuepoint_schedule.ex b/clients/you_tube/lib/google_api/you_tube/v3/model/cuepoint_schedule.ex new file mode 100644 index 0000000000..cc54eb61ff --- /dev/null +++ b/clients/you_tube/lib/google_api/you_tube/v3/model/cuepoint_schedule.ex @@ -0,0 +1,55 @@ +# Copyright 2019 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.YouTube.V3.Model.CuepointSchedule do + @moduledoc """ + Schedule to insert cuepoints into a broadcast by ads automator. + + ## Attributes + + * `enabled` (*type:* `boolean()`, *default:* `nil`) - This field is semantically required. If it is set false or not set, other fields in this message will be ignored. + * `pauseAdsUntil` (*type:* `String.t`, *default:* `nil`) - If set, automatic cuepoint insertion is paused until this timestamp ("No Ad Zone"). The value is specified in ISO 8601 format. + * `repeatIntervalSecs` (*type:* `integer()`, *default:* `nil`) - Interval frequency in seconds that api uses to insert cuepoints automatically. + * `scheduleStrategy` (*type:* `String.t`, *default:* `nil`) - The strategy to use when scheduling cuepoints. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :enabled => boolean() | nil, + :pauseAdsUntil => String.t() | nil, + :repeatIntervalSecs => integer() | nil, + :scheduleStrategy => String.t() | nil + } + + field(:enabled) + field(:pauseAdsUntil) + field(:repeatIntervalSecs) + field(:scheduleStrategy) +end + +defimpl Poison.Decoder, for: GoogleApi.YouTube.V3.Model.CuepointSchedule do + def decode(value, options) do + GoogleApi.YouTube.V3.Model.CuepointSchedule.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.YouTube.V3.Model.CuepointSchedule do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/you_tube/lib/google_api/you_tube/v3/model/live_broadcast.ex b/clients/you_tube/lib/google_api/you_tube/v3/model/live_broadcast.ex index b69bb9e56d..4bdecd3e3c 100644 --- a/clients/you_tube/lib/google_api/you_tube/v3/model/live_broadcast.ex +++ b/clients/you_tube/lib/google_api/you_tube/v3/model/live_broadcast.ex @@ -25,6 +25,7 @@ defmodule GoogleApi.YouTube.V3.Model.LiveBroadcast do * `etag` (*type:* `String.t`, *default:* `nil`) - Etag of this resource. * `id` (*type:* `String.t`, *default:* `nil`) - The ID that YouTube assigns to uniquely identify the broadcast. * `kind` (*type:* `String.t`, *default:* `youtube#liveBroadcast`) - Identifies what kind of resource this is. Value: the fixed string "youtube#liveBroadcast". + * `monetizationDetails` (*type:* `GoogleApi.YouTube.V3.Model.LiveBroadcastMonetizationDetails.t`, *default:* `nil`) - The monetizationDetails object contains information about the event's monetization details. * `snippet` (*type:* `GoogleApi.YouTube.V3.Model.LiveBroadcastSnippet.t`, *default:* `nil`) - The snippet object contains basic details about the event, including its title, description, start time, and end time. * `statistics` (*type:* `GoogleApi.YouTube.V3.Model.LiveBroadcastStatistics.t`, *default:* `nil`) - The statistics object contains info about the event's current stats. These include concurrent viewers and total chat count. Statistics can change (in either direction) during the lifetime of an event. Statistics are only returned while the event is live. * `status` (*type:* `GoogleApi.YouTube.V3.Model.LiveBroadcastStatus.t`, *default:* `nil`) - The status object contains information about the event's status. @@ -37,6 +38,8 @@ defmodule GoogleApi.YouTube.V3.Model.LiveBroadcast do :etag => String.t() | nil, :id => String.t() | nil, :kind => String.t() | nil, + :monetizationDetails => + GoogleApi.YouTube.V3.Model.LiveBroadcastMonetizationDetails.t() | nil, :snippet => GoogleApi.YouTube.V3.Model.LiveBroadcastSnippet.t() | nil, :statistics => GoogleApi.YouTube.V3.Model.LiveBroadcastStatistics.t() | nil, :status => GoogleApi.YouTube.V3.Model.LiveBroadcastStatus.t() | nil @@ -46,6 +49,7 @@ defmodule GoogleApi.YouTube.V3.Model.LiveBroadcast do field(:etag) field(:id) field(:kind) + field(:monetizationDetails, as: GoogleApi.YouTube.V3.Model.LiveBroadcastMonetizationDetails) field(:snippet, as: GoogleApi.YouTube.V3.Model.LiveBroadcastSnippet) field(:statistics, as: GoogleApi.YouTube.V3.Model.LiveBroadcastStatistics) field(:status, as: GoogleApi.YouTube.V3.Model.LiveBroadcastStatus) diff --git a/clients/you_tube/lib/google_api/you_tube/v3/model/live_broadcast_monetization_details.ex b/clients/you_tube/lib/google_api/you_tube/v3/model/live_broadcast_monetization_details.ex new file mode 100644 index 0000000000..b9adfd111a --- /dev/null +++ b/clients/you_tube/lib/google_api/you_tube/v3/model/live_broadcast_monetization_details.ex @@ -0,0 +1,46 @@ +# Copyright 2019 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.YouTube.V3.Model.LiveBroadcastMonetizationDetails do + @moduledoc """ + Monetization settings of a broadcast. + + ## Attributes + + * `cuepointSchedule` (*type:* `GoogleApi.YouTube.V3.Model.CuepointSchedule.t`, *default:* `nil`) - + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :cuepointSchedule => GoogleApi.YouTube.V3.Model.CuepointSchedule.t() | nil + } + + field(:cuepointSchedule, as: GoogleApi.YouTube.V3.Model.CuepointSchedule) +end + +defimpl Poison.Decoder, for: GoogleApi.YouTube.V3.Model.LiveBroadcastMonetizationDetails do + def decode(value, options) do + GoogleApi.YouTube.V3.Model.LiveBroadcastMonetizationDetails.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.YouTube.V3.Model.LiveBroadcastMonetizationDetails do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/you_tube/lib/google_api/you_tube/v3/model/live_broadcast_statistics.ex b/clients/you_tube/lib/google_api/you_tube/v3/model/live_broadcast_statistics.ex index 30e6d8c8da..425dfabf19 100644 --- a/clients/you_tube/lib/google_api/you_tube/v3/model/live_broadcast_statistics.ex +++ b/clients/you_tube/lib/google_api/you_tube/v3/model/live_broadcast_statistics.ex @@ -22,18 +22,15 @@ defmodule GoogleApi.YouTube.V3.Model.LiveBroadcastStatistics do ## Attributes * `concurrentViewers` (*type:* `String.t`, *default:* `nil`) - The number of viewers currently watching the broadcast. The property and its value will be present if the broadcast has current viewers and the broadcast owner has not hidden the viewcount for the video. Note that YouTube stops tracking the number of concurrent viewers for a broadcast when the broadcast ends. So, this property would not identify the number of viewers watching an archived video of a live broadcast that already ended. - * `totalChatCount` (*type:* `String.t`, *default:* `nil`) - The total number of live chat messages currently on the broadcast. The property and its value will be present if the broadcast is public, has the live chat feature enabled, and has at least one message. Note that this field will not be filled after the broadcast ends. So this property would not identify the number of chat messages for an archived video of a completed live broadcast. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ - :concurrentViewers => String.t() | nil, - :totalChatCount => String.t() | nil + :concurrentViewers => String.t() | nil } field(:concurrentViewers) - field(:totalChatCount) end defimpl Poison.Decoder, for: GoogleApi.YouTube.V3.Model.LiveBroadcastStatistics do diff --git a/clients/you_tube/lib/google_api/you_tube/v3/model/live_chat_message_list_response.ex b/clients/you_tube/lib/google_api/you_tube/v3/model/live_chat_message_list_response.ex index cecbd36324..8b838fcc7e 100644 --- a/clients/you_tube/lib/google_api/you_tube/v3/model/live_chat_message_list_response.ex +++ b/clients/you_tube/lib/google_api/you_tube/v3/model/live_chat_message_list_response.ex @@ -21,6 +21,7 @@ defmodule GoogleApi.YouTube.V3.Model.LiveChatMessageListResponse do ## Attributes + * `activePollItem` (*type:* `GoogleApi.YouTube.V3.Model.LiveChatMessage.t`, *default:* `nil`) - Set when there is an active poll. * `etag` (*type:* `String.t`, *default:* `nil`) - Etag of this resource. * `eventId` (*type:* `String.t`, *default:* `nil`) - Serialized EventId of the request which produced this response. * `items` (*type:* `list(GoogleApi.YouTube.V3.Model.LiveChatMessage.t)`, *default:* `nil`) - @@ -36,6 +37,7 @@ defmodule GoogleApi.YouTube.V3.Model.LiveChatMessageListResponse do use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :activePollItem => GoogleApi.YouTube.V3.Model.LiveChatMessage.t() | nil, :etag => String.t() | nil, :eventId => String.t() | nil, :items => list(GoogleApi.YouTube.V3.Model.LiveChatMessage.t()) | nil, @@ -48,6 +50,7 @@ defmodule GoogleApi.YouTube.V3.Model.LiveChatMessageListResponse do :visitorId => String.t() | nil } + field(:activePollItem, as: GoogleApi.YouTube.V3.Model.LiveChatMessage) field(:etag) field(:eventId) field(:items, as: GoogleApi.YouTube.V3.Model.LiveChatMessage, type: :list) diff --git a/clients/you_tube/lib/google_api/you_tube/v3/model/live_chat_message_snippet.ex b/clients/you_tube/lib/google_api/you_tube/v3/model/live_chat_message_snippet.ex index a72e795215..9974fadb8c 100644 --- a/clients/you_tube/lib/google_api/you_tube/v3/model/live_chat_message_snippet.ex +++ b/clients/you_tube/lib/google_api/you_tube/v3/model/live_chat_message_snippet.ex @@ -17,11 +17,11 @@ defmodule GoogleApi.YouTube.V3.Model.LiveChatMessageSnippet do @moduledoc """ - Next ID: 33 + Next ID: 34 ## Attributes - * `authorChannelId` (*type:* `String.t`, *default:* `nil`) - The ID of the user that authored this message, this field is not always filled. textMessageEvent - the user that wrote the message fanFundingEvent - the user that funded the broadcast newSponsorEvent - the user that just became a sponsor memberMilestoneChatEvent - the member that sent the message membershipGiftingEvent - the user that made the purchase giftMembershipReceivedEvent - the user that received the gift membership messageDeletedEvent - the moderator that took the action messageRetractedEvent - the author that retracted their message userBannedEvent - the moderator that took the action superChatEvent - the user that made the purchase superStickerEvent - the user that made the purchase + * `authorChannelId` (*type:* `String.t`, *default:* `nil`) - The ID of the user that authored this message, this field is not always filled. textMessageEvent - the user that wrote the message fanFundingEvent - the user that funded the broadcast newSponsorEvent - the user that just became a sponsor memberMilestoneChatEvent - the member that sent the message membershipGiftingEvent - the user that made the purchase giftMembershipReceivedEvent - the user that received the gift membership messageDeletedEvent - the moderator that took the action messageRetractedEvent - the author that retracted their message userBannedEvent - the moderator that took the action superChatEvent - the user that made the purchase superStickerEvent - the user that made the purchase pollEvent - the user that created the poll * `displayMessage` (*type:* `String.t`, *default:* `nil`) - Contains a string that can be displayed to the user. If this field is not present the message is silent, at the moment only messages of type TOMBSTONE and CHAT_ENDED_EVENT are silent. * `fanFundingEventDetails` (*type:* `GoogleApi.YouTube.V3.Model.LiveChatFanFundingEventDetails.t`, *default:* `nil`) - Details about the funding event, this is only set if the type is 'fanFundingEvent'. * `giftMembershipReceivedDetails` (*type:* `GoogleApi.YouTube.V3.Model.LiveChatGiftMembershipReceivedDetails.t`, *default:* `nil`) - Details about the Gift Membership Received event, this is only set if the type is 'giftMembershipReceivedEvent'. @@ -32,6 +32,7 @@ defmodule GoogleApi.YouTube.V3.Model.LiveChatMessageSnippet do * `messageDeletedDetails` (*type:* `GoogleApi.YouTube.V3.Model.LiveChatMessageDeletedDetails.t`, *default:* `nil`) - * `messageRetractedDetails` (*type:* `GoogleApi.YouTube.V3.Model.LiveChatMessageRetractedDetails.t`, *default:* `nil`) - * `newSponsorDetails` (*type:* `GoogleApi.YouTube.V3.Model.LiveChatNewSponsorDetails.t`, *default:* `nil`) - Details about the New Member Announcement event, this is only set if the type is 'newSponsorEvent'. Please note that "member" is the new term for "sponsor". + * `pollDetails` (*type:* `GoogleApi.YouTube.V3.Model.LiveChatPollDetails.t`, *default:* `nil`) - Details about the poll event, this is only set if the type is 'pollEvent'. * `publishedAt` (*type:* `DateTime.t`, *default:* `nil`) - The date and time when the message was orignally published. * `superChatDetails` (*type:* `GoogleApi.YouTube.V3.Model.LiveChatSuperChatDetails.t`, *default:* `nil`) - Details about the Super Chat event, this is only set if the type is 'superChatEvent'. * `superStickerDetails` (*type:* `GoogleApi.YouTube.V3.Model.LiveChatSuperStickerDetails.t`, *default:* `nil`) - Details about the Super Sticker event, this is only set if the type is 'superStickerEvent'. @@ -60,6 +61,7 @@ defmodule GoogleApi.YouTube.V3.Model.LiveChatMessageSnippet do :messageRetractedDetails => GoogleApi.YouTube.V3.Model.LiveChatMessageRetractedDetails.t() | nil, :newSponsorDetails => GoogleApi.YouTube.V3.Model.LiveChatNewSponsorDetails.t() | nil, + :pollDetails => GoogleApi.YouTube.V3.Model.LiveChatPollDetails.t() | nil, :publishedAt => DateTime.t() | nil, :superChatDetails => GoogleApi.YouTube.V3.Model.LiveChatSuperChatDetails.t() | nil, :superStickerDetails => @@ -90,6 +92,7 @@ defmodule GoogleApi.YouTube.V3.Model.LiveChatMessageSnippet do field(:messageDeletedDetails, as: GoogleApi.YouTube.V3.Model.LiveChatMessageDeletedDetails) field(:messageRetractedDetails, as: GoogleApi.YouTube.V3.Model.LiveChatMessageRetractedDetails) field(:newSponsorDetails, as: GoogleApi.YouTube.V3.Model.LiveChatNewSponsorDetails) + field(:pollDetails, as: GoogleApi.YouTube.V3.Model.LiveChatPollDetails) field(:publishedAt, as: DateTime) field(:superChatDetails, as: GoogleApi.YouTube.V3.Model.LiveChatSuperChatDetails) field(:superStickerDetails, as: GoogleApi.YouTube.V3.Model.LiveChatSuperStickerDetails) diff --git a/clients/you_tube/lib/google_api/you_tube/v3/model/live_chat_poll_details.ex b/clients/you_tube/lib/google_api/you_tube/v3/model/live_chat_poll_details.ex new file mode 100644 index 0000000000..5c5a0bddc1 --- /dev/null +++ b/clients/you_tube/lib/google_api/you_tube/v3/model/live_chat_poll_details.ex @@ -0,0 +1,49 @@ +# Copyright 2019 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.YouTube.V3.Model.LiveChatPollDetails do + @moduledoc """ + + + ## Attributes + + * `metadata` (*type:* `GoogleApi.YouTube.V3.Model.LiveChatPollDetailsPollMetadata.t`, *default:* `nil`) - + * `status` (*type:* `String.t`, *default:* `nil`) - + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :metadata => GoogleApi.YouTube.V3.Model.LiveChatPollDetailsPollMetadata.t() | nil, + :status => String.t() | nil + } + + field(:metadata, as: GoogleApi.YouTube.V3.Model.LiveChatPollDetailsPollMetadata) + field(:status) +end + +defimpl Poison.Decoder, for: GoogleApi.YouTube.V3.Model.LiveChatPollDetails do + def decode(value, options) do + GoogleApi.YouTube.V3.Model.LiveChatPollDetails.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.YouTube.V3.Model.LiveChatPollDetails do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/you_tube/lib/google_api/you_tube/v3/model/live_chat_poll_details_poll_metadata.ex b/clients/you_tube/lib/google_api/you_tube/v3/model/live_chat_poll_details_poll_metadata.ex new file mode 100644 index 0000000000..72dce6b8c6 --- /dev/null +++ b/clients/you_tube/lib/google_api/you_tube/v3/model/live_chat_poll_details_poll_metadata.ex @@ -0,0 +1,54 @@ +# Copyright 2019 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.YouTube.V3.Model.LiveChatPollDetailsPollMetadata do + @moduledoc """ + + + ## Attributes + + * `options` (*type:* `list(GoogleApi.YouTube.V3.Model.LiveChatPollDetailsPollMetadataPollOption.t)`, *default:* `nil`) - The options will be returned in the order that is displayed in 1P + * `questionText` (*type:* `String.t`, *default:* `nil`) - + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :options => + list(GoogleApi.YouTube.V3.Model.LiveChatPollDetailsPollMetadataPollOption.t()) | nil, + :questionText => String.t() | nil + } + + field(:options, + as: GoogleApi.YouTube.V3.Model.LiveChatPollDetailsPollMetadataPollOption, + type: :list + ) + + field(:questionText) +end + +defimpl Poison.Decoder, for: GoogleApi.YouTube.V3.Model.LiveChatPollDetailsPollMetadata do + def decode(value, options) do + GoogleApi.YouTube.V3.Model.LiveChatPollDetailsPollMetadata.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.YouTube.V3.Model.LiveChatPollDetailsPollMetadata do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/you_tube/lib/google_api/you_tube/v3/model/live_chat_poll_details_poll_metadata_poll_option.ex b/clients/you_tube/lib/google_api/you_tube/v3/model/live_chat_poll_details_poll_metadata_poll_option.ex new file mode 100644 index 0000000000..950f851de2 --- /dev/null +++ b/clients/you_tube/lib/google_api/you_tube/v3/model/live_chat_poll_details_poll_metadata_poll_option.ex @@ -0,0 +1,49 @@ +# Copyright 2019 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.YouTube.V3.Model.LiveChatPollDetailsPollMetadataPollOption do + @moduledoc """ + + + ## Attributes + + * `optionText` (*type:* `String.t`, *default:* `nil`) - + * `tally` (*type:* `String.t`, *default:* `nil`) - + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :optionText => String.t() | nil, + :tally => String.t() | nil + } + + field(:optionText) + field(:tally) +end + +defimpl Poison.Decoder, for: GoogleApi.YouTube.V3.Model.LiveChatPollDetailsPollMetadataPollOption do + def decode(value, options) do + GoogleApi.YouTube.V3.Model.LiveChatPollDetailsPollMetadataPollOption.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.YouTube.V3.Model.LiveChatPollDetailsPollMetadataPollOption do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/you_tube/lib/google_api/you_tube/v3/model/playlist_image.ex b/clients/you_tube/lib/google_api/you_tube/v3/model/playlist_image.ex new file mode 100644 index 0000000000..62704c0b5c --- /dev/null +++ b/clients/you_tube/lib/google_api/you_tube/v3/model/playlist_image.ex @@ -0,0 +1,52 @@ +# Copyright 2019 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.YouTube.V3.Model.PlaylistImage do + @moduledoc """ + + + ## Attributes + + * `id` (*type:* `String.t`, *default:* `nil`) - Identifies this resource (playlist id and image type). + * `kind` (*type:* `String.t`, *default:* `youtube#playlistImage`) - Identifies what kind of resource this is. Value: the fixed string "youtube#playlistImages". + * `snippet` (*type:* `GoogleApi.YouTube.V3.Model.PlaylistImageSnippet.t`, *default:* `nil`) - + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :id => String.t() | nil, + :kind => String.t() | nil, + :snippet => GoogleApi.YouTube.V3.Model.PlaylistImageSnippet.t() | nil + } + + field(:id) + field(:kind) + field(:snippet, as: GoogleApi.YouTube.V3.Model.PlaylistImageSnippet) +end + +defimpl Poison.Decoder, for: GoogleApi.YouTube.V3.Model.PlaylistImage do + def decode(value, options) do + GoogleApi.YouTube.V3.Model.PlaylistImage.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.YouTube.V3.Model.PlaylistImage do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/you_tube/lib/google_api/you_tube/v3/model/playlist_image_list_response.ex b/clients/you_tube/lib/google_api/you_tube/v3/model/playlist_image_list_response.ex new file mode 100644 index 0000000000..bed9f5620d --- /dev/null +++ b/clients/you_tube/lib/google_api/you_tube/v3/model/playlist_image_list_response.ex @@ -0,0 +1,58 @@ +# Copyright 2019 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.YouTube.V3.Model.PlaylistImageListResponse do + @moduledoc """ + + + ## Attributes + + * `items` (*type:* `list(GoogleApi.YouTube.V3.Model.PlaylistImage.t)`, *default:* `nil`) - + * `kind` (*type:* `String.t`, *default:* `youtube#playlistImageListResponse`) - Identifies what kind of resource this is. Value: the fixed string "youtube#playlistImageListResponse". + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set. + * `pageInfo` (*type:* `GoogleApi.YouTube.V3.Model.PageInfo.t`, *default:* `nil`) - General pagination information. + * `prevPageToken` (*type:* `String.t`, *default:* `nil`) - The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :items => list(GoogleApi.YouTube.V3.Model.PlaylistImage.t()) | nil, + :kind => String.t() | nil, + :nextPageToken => String.t() | nil, + :pageInfo => GoogleApi.YouTube.V3.Model.PageInfo.t() | nil, + :prevPageToken => String.t() | nil + } + + field(:items, as: GoogleApi.YouTube.V3.Model.PlaylistImage, type: :list) + field(:kind) + field(:nextPageToken) + field(:pageInfo, as: GoogleApi.YouTube.V3.Model.PageInfo) + field(:prevPageToken) +end + +defimpl Poison.Decoder, for: GoogleApi.YouTube.V3.Model.PlaylistImageListResponse do + def decode(value, options) do + GoogleApi.YouTube.V3.Model.PlaylistImageListResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.YouTube.V3.Model.PlaylistImageListResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/you_tube/lib/google_api/you_tube/v3/model/playlist_image_snippet.ex b/clients/you_tube/lib/google_api/you_tube/v3/model/playlist_image_snippet.ex new file mode 100644 index 0000000000..88a4d6f7c9 --- /dev/null +++ b/clients/you_tube/lib/google_api/you_tube/v3/model/playlist_image_snippet.ex @@ -0,0 +1,55 @@ +# Copyright 2019 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.YouTube.V3.Model.PlaylistImageSnippet do + @moduledoc """ + A *playlistImage* resource identifies another resource, such as a image, that is associated with a playlist. In addition, the playlistImage resource contains details about the included resource that pertain specifically to how that resource is used in that playlist. YouTube uses playlists to identify special collections of videos for a channel, such as: - uploaded videos - favorite videos - positively rated (liked) videos - watch history To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the channel resource for a given channel. You can then use the playlistImages.list method to retrieve image data for any of those playlists. You can also add or remove images from those lists by calling the playlistImages.insert and playlistImages.delete methods. + + ## Attributes + + * `height` (*type:* `integer()`, *default:* `nil`) - The image height. + * `playlistId` (*type:* `String.t`, *default:* `nil`) - The Playlist ID of the playlist this image is associated with. + * `type` (*type:* `String.t`, *default:* `nil`) - The image type. + * `width` (*type:* `integer()`, *default:* `nil`) - The image width. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :height => integer() | nil, + :playlistId => String.t() | nil, + :type => String.t() | nil, + :width => integer() | nil + } + + field(:height) + field(:playlistId) + field(:type) + field(:width) +end + +defimpl Poison.Decoder, for: GoogleApi.YouTube.V3.Model.PlaylistImageSnippet do + def decode(value, options) do + GoogleApi.YouTube.V3.Model.PlaylistImageSnippet.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.YouTube.V3.Model.PlaylistImageSnippet do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end