diff --git a/clients/contact_center_ai_platform/.gitignore b/clients/contact_center_ai_platform/.gitignore new file mode 100644 index 0000000000..6bf4496152 --- /dev/null +++ b/clients/contact_center_ai_platform/.gitignore @@ -0,0 +1,37 @@ +# 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. + +# The directory Mix will write compiled artifacts to. +/_build + +# If you run "mix test --cover", coverage assets end up here. +/cover + +# The directory Mix downloads your dependencies sources to. +/deps + +# Where 3rd-party dependencies like ExDoc output generated docs. +/doc + +# Ignore .fetch files in case you like to edit your project deps locally. +/.fetch + +# If the VM crashes, it generates a dump, let's ignore it too. +erl_crash.dump + +# Also ignore archive artifacts (built via "mix archive.build"). +*.ez diff --git a/clients/contact_center_ai_platform/LICENSE b/clients/contact_center_ai_platform/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/clients/contact_center_ai_platform/LICENSE @@ -0,0 +1,201 @@ + 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/clients/contact_center_ai_platform/README.md b/clients/contact_center_ai_platform/README.md new file mode 100644 index 0000000000..d367fc865f --- /dev/null +++ b/clients/contact_center_ai_platform/README.md @@ -0,0 +1,23 @@ +# GoogleApi.ContactCenterAIPlatform + +Contact Center AI Platform API client library. + + + +## Installation + +Install this package from [Hex](https://hex.pm) by adding +`google_api_contact_center_ai_platform` to your list of dependencies in `mix.exs`: + +```elixir +def deps do + [{:google_api_contact_center_ai_platform, "~> 0.2"}] +end +``` + +## For more information + +Product documentation is available at [https://cloud.google.com/solutions/contact-center-ai-platform](https://cloud.google.com/solutions/contact-center-ai-platform). + +Library reference documentation is published on Hexdocs at +[https://hexdocs.pm/google_api_contact_center_ai_platform](https://hexdocs.pm/google_api_contact_center_ai_platform). diff --git a/clients/contact_center_ai_platform/config/config.exs b/clients/contact_center_ai_platform/config/config.exs new file mode 100644 index 0000000000..07afe5f311 --- /dev/null +++ b/clients/contact_center_ai_platform/config/config.exs @@ -0,0 +1,20 @@ +# 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. + +use Mix.Config + + diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/api/projects.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/api/projects.ex new file mode 100644 index 0000000000..655e4722f2 --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/api/projects.ex @@ -0,0 +1,928 @@ +# 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.ContactCenterAIPlatform.V1alpha1.Api.Projects do + @moduledoc """ + API calls for all endpoints tagged `Projects`. + """ + + alias GoogleApi.ContactCenterAIPlatform.V1alpha1.Connection + alias GoogleApi.Gax.{Request, Response} + + @library_version Mix.Project.config() |> Keyword.get(:version, "") + + @doc """ + Gets information about a location. + + ## Parameters + + * `connection` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Resource name for the location. + * `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"). + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Location{}}` on success + * `{:error, info}` on failure + """ + @spec contactcenteraiplatform_projects_locations_get( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Location.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def contactcenteraiplatform_projects_locations_get( + connection, + name, + 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 + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v1alpha1/{+name}", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Location{}] + ) + end + + @doc """ + Lists information about the supported locations for this service. + + ## Parameters + + * `connection` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - The resource that owns the locations collection, if applicable. + * `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"). + * `:filter` (*type:* `String.t`) - A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). + * `:pageSize` (*type:* `integer()`) - The maximum number of results to return. If not set, the service selects a default. + * `:pageToken` (*type:* `String.t`) - A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ListLocationsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec contactcenteraiplatform_projects_locations_list( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ListLocationsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def contactcenteraiplatform_projects_locations_list( + connection, + name, + 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, + :filter => :query, + :pageSize => :query, + :pageToken => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v1alpha1/{+name}/locations", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ListLocationsResponse{}] + ) + end + + @doc """ + Queries the contact center quota, an aggregation over all the projects, that belongs to the billing account, which the input project belongs to. + + ## Parameters + + * `connection` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Connection.t`) - Connection to server + * `parent` (*type:* `String.t`) - Required. Parent project resource id. + * `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"). + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenterQuota{}}` on success + * `{:error, info}` on failure + """ + @spec contactcenteraiplatform_projects_locations_query_contact_center_quota( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenterQuota.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def contactcenteraiplatform_projects_locations_query_contact_center_quota( + connection, + parent, + 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 + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v1alpha1/{+parent}:queryContactCenterQuota", %{ + "parent" => URI.encode(parent, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenterQuota{}] + ) + end + + @doc """ + Creates a new ContactCenter in a given project and location. + + ## Parameters + + * `connection` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Connection.t`) - Connection to server + * `parent` (*type:* `String.t`) - Required. Value for parent. + * `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"). + * `:contactCenterId` (*type:* `String.t`) - Required. Id of the requesting object If auto-generating Id server-side, remove this field and contact_center_id from the method_signature of Create RPC + * `:requestId` (*type:* `String.t`) - Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * `:body` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenter.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec contactcenteraiplatform_projects_locations_contact_centers_create( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def contactcenteraiplatform_projects_locations_contact_centers_create( + connection, + parent, + 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, + :contactCenterId => :query, + :requestId => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1alpha1/{+parent}/contactCenters", %{ + "parent" => URI.encode(parent, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Operation{}] + ) + end + + @doc """ + Deletes a single ContactCenter. + + ## Parameters + + * `connection` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Required. Name of the resource + * `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"). + * `:requestId` (*type:* `String.t`) - Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec contactcenteraiplatform_projects_locations_contact_centers_delete( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def contactcenteraiplatform_projects_locations_contact_centers_delete( + connection, + name, + 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, + :requestId => :query + } + + request = + Request.new() + |> Request.method(:delete) + |> Request.url("/v1alpha1/{+name}", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Operation{}] + ) + end + + @doc """ + Gets details of a single ContactCenter. + + ## Parameters + + * `connection` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Required. Name of the resource + * `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"). + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenter{}}` on success + * `{:error, info}` on failure + """ + @spec contactcenteraiplatform_projects_locations_contact_centers_get( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenter.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def contactcenteraiplatform_projects_locations_contact_centers_get( + connection, + name, + 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 + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v1alpha1/{+name}", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenter{}] + ) + end + + @doc """ + Lists ContactCenters in a given project and location. + + ## Parameters + + * `connection` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Connection.t`) - Connection to server + * `parent` (*type:* `String.t`) - Required. Parent value for ListContactCentersRequest + * `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"). + * `:filter` (*type:* `String.t`) - Filtering results + * `:orderBy` (*type:* `String.t`) - Hint for how to order the results + * `:pageSize` (*type:* `integer()`) - Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * `:pageToken` (*type:* `String.t`) - A token identifying a page of results the server should return. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ListContactCentersResponse{}}` on success + * `{:error, info}` on failure + """ + @spec contactcenteraiplatform_projects_locations_contact_centers_list( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ListContactCentersResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def contactcenteraiplatform_projects_locations_contact_centers_list( + connection, + parent, + 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, + :filter => :query, + :orderBy => :query, + :pageSize => :query, + :pageToken => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v1alpha1/{+parent}/contactCenters", %{ + "parent" => URI.encode(parent, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ + [struct: %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ListContactCentersResponse{}] + ) + end + + @doc """ + Updates the parameters of a single ContactCenter. + + ## Parameters + + * `connection` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - name of resource + * `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"). + * `:requestId` (*type:* `String.t`) - Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * `:updateMask` (*type:* `String.t`) - Required. Field mask is used to specify the fields to be overwritten in the ContactCenter resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + * `:body` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenter.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec contactcenteraiplatform_projects_locations_contact_centers_patch( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def contactcenteraiplatform_projects_locations_contact_centers_patch( + connection, + name, + 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, + :requestId => :query, + :updateMask => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:patch) + |> Request.url("/v1alpha1/{+name}", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Operation{}] + ) + end + + @doc """ + Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + + ## Parameters + + * `connection` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - The name of the operation resource to be cancelled. + * `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"). + * `:body` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.CancelOperationRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Empty{}}` on success + * `{:error, info}` on failure + """ + @spec contactcenteraiplatform_projects_locations_operations_cancel( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Empty.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def contactcenteraiplatform_projects_locations_operations_cancel( + connection, + name, + 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, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1alpha1/{+name}:cancel", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Empty{}] + ) + end + + @doc """ + Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. + + ## Parameters + + * `connection` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - The name of the operation resource to be deleted. + * `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"). + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Empty{}}` on success + * `{:error, info}` on failure + """ + @spec contactcenteraiplatform_projects_locations_operations_delete( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Empty.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def contactcenteraiplatform_projects_locations_operations_delete( + connection, + name, + 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 + } + + request = + Request.new() + |> Request.method(:delete) + |> Request.url("/v1alpha1/{+name}", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Empty{}] + ) + end + + @doc """ + Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. + + ## Parameters + + * `connection` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - The name of the operation resource. + * `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"). + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec contactcenteraiplatform_projects_locations_operations_get( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def contactcenteraiplatform_projects_locations_operations_get( + connection, + name, + 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 + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v1alpha1/{+name}", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Operation{}] + ) + end + + @doc """ + Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + + ## Parameters + + * `connection` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - The name of the operation's parent resource. + * `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"). + * `:filter` (*type:* `String.t`) - The standard list filter. + * `:pageSize` (*type:* `integer()`) - The standard list page size. + * `:pageToken` (*type:* `String.t`) - The standard list page token. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ListOperationsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec contactcenteraiplatform_projects_locations_operations_list( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ListOperationsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def contactcenteraiplatform_projects_locations_operations_list( + connection, + name, + 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, + :filter => :query, + :pageSize => :query, + :pageToken => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v1alpha1/{+name}/operations", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ListOperationsResponse{}] + ) + end +end diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/connection.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/connection.ex new file mode 100644 index 0000000000..8474f6dab0 --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/connection.ex @@ -0,0 +1,32 @@ +# 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.ContactCenterAIPlatform.V1alpha1.Connection do + @moduledoc """ + Handle Tesla connections for GoogleApi.ContactCenterAIPlatform.V1alpha1. + """ + + @type t :: Tesla.Env.client() + + use GoogleApi.Gax.Connection, + scopes: [ + # See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account. + "https://www.googleapis.com/auth/cloud-platform" + ], + otp_app: :google_api_contact_center_ai_platform, + base_url: "https://contactcenteraiplatform.googleapis.com/" +end diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/metadata.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/metadata.ex new file mode 100644 index 0000000000..16734cfdd5 --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/metadata.ex @@ -0,0 +1,26 @@ +# Copyright 2020 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.ContactCenterAIPlatform.V1alpha1 do + @moduledoc """ + API client metadata for GoogleApi.ContactCenterAIPlatform.V1alpha1. + """ + + @discovery_revision "20240306" + + def discovery_revision(), do: @discovery_revision +end diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/admin_user.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/admin_user.ex new file mode 100644 index 0000000000..2333a9bf55 --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/admin_user.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.ContactCenterAIPlatform.V1alpha1.Model.AdminUser do + @moduledoc """ + Message storing info about the first admin user. Next ID: 3 + + ## Attributes + + * `familyName` (*type:* `String.t`, *default:* `nil`) - Optional. Last/family name of the first admin user. + * `givenName` (*type:* `String.t`, *default:* `nil`) - Optional. First/given name of the first admin user. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :familyName => String.t() | nil, + :givenName => String.t() | nil + } + + field(:familyName) + field(:givenName) +end + +defimpl Poison.Decoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.AdminUser do + def decode(value, options) do + GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.AdminUser.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.AdminUser do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/cancel_operation_request.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/cancel_operation_request.ex new file mode 100644 index 0000000000..93a41fd19a --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/cancel_operation_request.ex @@ -0,0 +1,43 @@ +# 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.ContactCenterAIPlatform.V1alpha1.Model.CancelOperationRequest do + @moduledoc """ + The request message for Operations.CancelOperation. + + ## Attributes + + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{} +end + +defimpl Poison.Decoder, + for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.CancelOperationRequest do + def decode(value, options) do + GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.CancelOperationRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.CancelOperationRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/contact_center.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/contact_center.ex new file mode 100644 index 0000000000..ddf9215911 --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/contact_center.ex @@ -0,0 +1,89 @@ +# 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.ContactCenterAIPlatform.V1alpha1.Model.ContactCenter do + @moduledoc """ + Message describing ContactCenter object Next ID: 20 + + ## Attributes + + * `adminUser` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.AdminUser.t`, *default:* `nil`) - Optional. Info about the first admin user, such as given name and family name. + * `ccaipManagedUsers` (*type:* `boolean()`, *default:* `nil`) - Optional. Whether to enable users to be created in the CCAIP-instance concurrently to having users in Cloud identity + * `createTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. [Output only] Create time stamp + * `customerDomainPrefix` (*type:* `String.t`, *default:* `nil`) - Required. Immutable. At least 2 and max 16 char long, must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). + * `displayName` (*type:* `String.t`, *default:* `nil`) - Required. A user friendly name for the ContactCenter. + * `instanceConfig` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.InstanceConfig.t`, *default:* `nil`) - The configuration of this instance, it is currently immutable once created. + * `kmsKey` (*type:* `String.t`, *default:* `nil`) - Immutable. The KMS key name to encrypt the user input (`ContactCenter`). + * `labels` (*type:* `map()`, *default:* `nil`) - Labels as key value pairs + * `name` (*type:* `String.t`, *default:* `nil`) - name of resource + * `privateComponents` (*type:* `list(String.t)`, *default:* `nil`) - Output only. A list of UJET components that should be privately accessed. This field is set by reading settings from the data plane. For more information about the format of the component please refer to go/ccaip-vpc-sc-org-policy. This field is must be fully populated only for Create/Update resource operations. The main use case for this field is OrgPolicy checks via CPE. + * `samlParams` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.SAMLParams.t`, *default:* `nil`) - Optional. Params that sets up Google as IdP. + * `state` (*type:* `String.t`, *default:* `nil`) - Output only. The state of this contact center. + * `updateTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. [Output only] Update time stamp + * `uris` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.URIs.t`, *default:* `nil`) - Output only. URIs to access the deployed ContactCenters. + * `userEmail` (*type:* `String.t`, *default:* `nil`) - Optional. Email address of the first admin user. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :adminUser => GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.AdminUser.t() | nil, + :ccaipManagedUsers => boolean() | nil, + :createTime => DateTime.t() | nil, + :customerDomainPrefix => String.t() | nil, + :displayName => String.t() | nil, + :instanceConfig => + GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.InstanceConfig.t() | nil, + :kmsKey => String.t() | nil, + :labels => map() | nil, + :name => String.t() | nil, + :privateComponents => list(String.t()) | nil, + :samlParams => GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.SAMLParams.t() | nil, + :state => String.t() | nil, + :updateTime => DateTime.t() | nil, + :uris => GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.URIs.t() | nil, + :userEmail => String.t() | nil + } + + field(:adminUser, as: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.AdminUser) + field(:ccaipManagedUsers) + field(:createTime, as: DateTime) + field(:customerDomainPrefix) + field(:displayName) + field(:instanceConfig, as: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.InstanceConfig) + field(:kmsKey) + field(:labels, type: :map) + field(:name) + field(:privateComponents, type: :list) + field(:samlParams, as: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.SAMLParams) + field(:state) + field(:updateTime, as: DateTime) + field(:uris, as: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.URIs) + field(:userEmail) +end + +defimpl Poison.Decoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenter do + def decode(value, options) do + GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenter.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenter do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/contact_center_quota.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/contact_center_quota.ex new file mode 100644 index 0000000000..03d0e95493 --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/contact_center_quota.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.ContactCenterAIPlatform.V1alpha1.Model.ContactCenterQuota do + @moduledoc """ + Represents a quota for contact centers. + + ## Attributes + + * `contactCenterCountLimit` (*type:* `integer()`, *default:* `nil`) - Deprecated: Use the Quota fields instead. Reflects the count limit of contact centers on a billing account. + * `contactCenterCountSum` (*type:* `integer()`, *default:* `nil`) - Deprecated: Use the Quota fields instead. Reflects the count sum of contact centers on a billing account. + * `quotas` (*type:* `list(GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Quota.t)`, *default:* `nil`) - Quota details per contact center instance type. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :contactCenterCountLimit => integer() | nil, + :contactCenterCountSum => integer() | nil, + :quotas => list(GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Quota.t()) | nil + } + + field(:contactCenterCountLimit) + field(:contactCenterCountSum) + field(:quotas, as: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Quota, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenterQuota do + def decode(value, options) do + GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenterQuota.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenterQuota do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/empty.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/empty.ex new file mode 100644 index 0000000000..55d9ecf8d2 --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/empty.ex @@ -0,0 +1,41 @@ +# 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.ContactCenterAIPlatform.V1alpha1.Model.Empty do + @moduledoc """ + A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + + ## Attributes + + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{} +end + +defimpl Poison.Decoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Empty do + def decode(value, options) do + GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Empty.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Empty do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/google_cloud_common_operation_metadata.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/google_cloud_common_operation_metadata.ex new file mode 100644 index 0000000000..7a746d1813 --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/google_cloud_common_operation_metadata.ex @@ -0,0 +1,69 @@ +# 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.ContactCenterAIPlatform.V1alpha1.Model.GoogleCloudCommonOperationMetadata do + @moduledoc """ + Represents the metadata of the long-running operation. + + ## Attributes + + * `apiVersion` (*type:* `String.t`, *default:* `nil`) - Output only. API version used to start the operation. + * `cancelRequested` (*type:* `boolean()`, *default:* `nil`) - Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * `createTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. The time the operation was created. + * `endTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. The time the operation finished running. + * `statusDetail` (*type:* `String.t`, *default:* `nil`) - Output only. Human-readable status of the operation, if any. + * `target` (*type:* `String.t`, *default:* `nil`) - Output only. Server-defined resource path for the target of the operation. + * `verb` (*type:* `String.t`, *default:* `nil`) - Output only. Name of the verb executed by the operation. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :apiVersion => String.t() | nil, + :cancelRequested => boolean() | nil, + :createTime => DateTime.t() | nil, + :endTime => DateTime.t() | nil, + :statusDetail => String.t() | nil, + :target => String.t() | nil, + :verb => String.t() | nil + } + + field(:apiVersion) + field(:cancelRequested) + field(:createTime, as: DateTime) + field(:endTime, as: DateTime) + field(:statusDetail) + field(:target) + field(:verb) +end + +defimpl Poison.Decoder, + for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.GoogleCloudCommonOperationMetadata do + def decode(value, options) do + GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.GoogleCloudCommonOperationMetadata.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.GoogleCloudCommonOperationMetadata do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/instance_config.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/instance_config.ex new file mode 100644 index 0000000000..217bae5c25 --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/instance_config.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.ContactCenterAIPlatform.V1alpha1.Model.InstanceConfig do + @moduledoc """ + Message storing the instance configuration. + + ## Attributes + + * `instanceSize` (*type:* `String.t`, *default:* `nil`) - The instance size of this the instance configuration. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :instanceSize => String.t() | nil + } + + field(:instanceSize) +end + +defimpl Poison.Decoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.InstanceConfig do + def decode(value, options) do + GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.InstanceConfig.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.InstanceConfig do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/list_contact_centers_response.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/list_contact_centers_response.ex new file mode 100644 index 0000000000..724324ca35 --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/list_contact_centers_response.ex @@ -0,0 +1,62 @@ +# 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.ContactCenterAIPlatform.V1alpha1.Model.ListContactCentersResponse do + @moduledoc """ + Message for response to listing ContactCenters + + ## Attributes + + * `contactCenters` (*type:* `list(GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenter.t)`, *default:* `nil`) - The list of ContactCenter + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - A token identifying a page of results the server should return. + * `unreachable` (*type:* `list(String.t)`, *default:* `nil`) - Locations that could not be reached. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :contactCenters => + list(GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenter.t()) | nil, + :nextPageToken => String.t() | nil, + :unreachable => list(String.t()) | nil + } + + field(:contactCenters, + as: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenter, + type: :list + ) + + field(:nextPageToken) + field(:unreachable, type: :list) +end + +defimpl Poison.Decoder, + for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ListContactCentersResponse do + def decode(value, options) do + GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ListContactCentersResponse.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ListContactCentersResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/list_locations_response.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/list_locations_response.ex new file mode 100644 index 0000000000..96bf19b266 --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/list_locations_response.ex @@ -0,0 +1,51 @@ +# 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.ContactCenterAIPlatform.V1alpha1.Model.ListLocationsResponse do + @moduledoc """ + The response message for Locations.ListLocations. + + ## Attributes + + * `locations` (*type:* `list(GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Location.t)`, *default:* `nil`) - A list of locations that matches the specified filter in the request. + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - The standard List next-page token. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :locations => list(GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Location.t()) | nil, + :nextPageToken => String.t() | nil + } + + field(:locations, as: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Location, type: :list) + field(:nextPageToken) +end + +defimpl Poison.Decoder, + for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ListLocationsResponse do + def decode(value, options) do + GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ListLocationsResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ListLocationsResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/list_operations_response.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/list_operations_response.ex new file mode 100644 index 0000000000..7e732c2233 --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/list_operations_response.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.ContactCenterAIPlatform.V1alpha1.Model.ListOperationsResponse do + @moduledoc """ + The response message for Operations.ListOperations. + + ## Attributes + + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - The standard List next-page token. + * `operations` (*type:* `list(GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Operation.t)`, *default:* `nil`) - A list of operations that matches the specified filter in the request. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :nextPageToken => String.t() | nil, + :operations => + list(GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Operation.t()) | nil + } + + field(:nextPageToken) + field(:operations, as: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Operation, type: :list) +end + +defimpl Poison.Decoder, + for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ListOperationsResponse do + def decode(value, options) do + GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ListOperationsResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ListOperationsResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/location.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/location.ex new file mode 100644 index 0000000000..918478f0a1 --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/location.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.ContactCenterAIPlatform.V1alpha1.Model.Location do + @moduledoc """ + A resource that represents a Google Cloud location. + + ## Attributes + + * `displayName` (*type:* `String.t`, *default:* `nil`) - The friendly name for this location, typically a nearby city name. For example, "Tokyo". + * `labels` (*type:* `map()`, *default:* `nil`) - Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} + * `locationId` (*type:* `String.t`, *default:* `nil`) - The canonical id for this location. For example: `"us-east1"`. + * `metadata` (*type:* `map()`, *default:* `nil`) - Service-specific metadata. For example the available capacity at the given location. + * `name` (*type:* `String.t`, *default:* `nil`) - Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :displayName => String.t() | nil, + :labels => map() | nil, + :locationId => String.t() | nil, + :metadata => map() | nil, + :name => String.t() | nil + } + + field(:displayName) + field(:labels, type: :map) + field(:locationId) + field(:metadata, type: :map) + field(:name) +end + +defimpl Poison.Decoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Location do + def decode(value, options) do + GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Location.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Location do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/operation.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/operation.ex new file mode 100644 index 0000000000..375f8d5aae --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/operation.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.ContactCenterAIPlatform.V1alpha1.Model.Operation do + @moduledoc """ + This resource represents a long-running operation that is the result of a network API call. + + ## Attributes + + * `done` (*type:* `boolean()`, *default:* `nil`) - If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. + * `error` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Status.t`, *default:* `nil`) - The error result of the operation in case of failure or cancellation. + * `metadata` (*type:* `map()`, *default:* `nil`) - Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + * `name` (*type:* `String.t`, *default:* `nil`) - The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. + * `response` (*type:* `map()`, *default:* `nil`) - The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :done => boolean() | nil, + :error => GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Status.t() | nil, + :metadata => map() | nil, + :name => String.t() | nil, + :response => map() | nil + } + + field(:done) + field(:error, as: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Status) + field(:metadata, type: :map) + field(:name) + field(:response, type: :map) +end + +defimpl Poison.Decoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Operation do + def decode(value, options) do + GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Operation.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Operation do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/operation_metadata.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/operation_metadata.ex new file mode 100644 index 0000000000..98f6f91577 --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/operation_metadata.ex @@ -0,0 +1,68 @@ +# 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.ContactCenterAIPlatform.V1alpha1.Model.OperationMetadata do + @moduledoc """ + Represents the metadata of the long-running operation. + + ## Attributes + + * `apiVersion` (*type:* `String.t`, *default:* `nil`) - Output only. API version used to start the operation. + * `contactCenter` (*type:* `GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenter.t`, *default:* `nil`) - Contact center information for this request + * `createTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. The time the operation was created. + * `endTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. The time the operation finished running. + * `requestedCancellation` (*type:* `boolean()`, *default:* `nil`) - Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * `statusMessage` (*type:* `String.t`, *default:* `nil`) - Output only. Human-readable status of the operation, if any. + * `target` (*type:* `String.t`, *default:* `nil`) - Output only. Server-defined resource path for the target of the operation. + * `verb` (*type:* `String.t`, *default:* `nil`) - Output only. Name of the verb executed by the operation. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :apiVersion => String.t() | nil, + :contactCenter => + GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenter.t() | nil, + :createTime => DateTime.t() | nil, + :endTime => DateTime.t() | nil, + :requestedCancellation => boolean() | nil, + :statusMessage => String.t() | nil, + :target => String.t() | nil, + :verb => String.t() | nil + } + + field(:apiVersion) + field(:contactCenter, as: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.ContactCenter) + field(:createTime, as: DateTime) + field(:endTime, as: DateTime) + field(:requestedCancellation) + field(:statusMessage) + field(:target) + field(:verb) +end + +defimpl Poison.Decoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.OperationMetadata do + def decode(value, options) do + GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.OperationMetadata.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.OperationMetadata do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/quota.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/quota.ex new file mode 100644 index 0000000000..1f976a605b --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/quota.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.ContactCenterAIPlatform.V1alpha1.Model.Quota do + @moduledoc """ + Quota details. + + ## Attributes + + * `contactCenterCountLimit` (*type:* `integer()`, *default:* `nil`) - Reflects the count limit of contact centers on a billing account. + * `contactCenterCountSum` (*type:* `integer()`, *default:* `nil`) - Reflects the count sum of contact centers on a billing account. + * `contactCenterInstanceSize` (*type:* `String.t`, *default:* `nil`) - Contact center instance type. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :contactCenterCountLimit => integer() | nil, + :contactCenterCountSum => integer() | nil, + :contactCenterInstanceSize => String.t() | nil + } + + field(:contactCenterCountLimit) + field(:contactCenterCountSum) + field(:contactCenterInstanceSize) +end + +defimpl Poison.Decoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Quota do + def decode(value, options) do + GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Quota.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Quota do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/saml_params.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/saml_params.ex new file mode 100644 index 0000000000..6a714eb494 --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/saml_params.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.ContactCenterAIPlatform.V1alpha1.Model.SAMLParams do + @moduledoc """ + Message storing SAML params to enable Google as IDP. + + ## Attributes + + * `certificate` (*type:* `String.t`, *default:* `nil`) - SAML certificate + * `emailMapping` (*type:* `String.t`, *default:* `nil`) - IdP field that maps to the user’s email address + * `entityId` (*type:* `String.t`, *default:* `nil`) - Entity id URL + * `ssoUri` (*type:* `String.t`, *default:* `nil`) - Single sign-on URL + * `userEmail` (*type:* `String.t`, *default:* `nil`) - Email address of the first admin users. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :certificate => String.t() | nil, + :emailMapping => String.t() | nil, + :entityId => String.t() | nil, + :ssoUri => String.t() | nil, + :userEmail => String.t() | nil + } + + field(:certificate) + field(:emailMapping) + field(:entityId) + field(:ssoUri) + field(:userEmail) +end + +defimpl Poison.Decoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.SAMLParams do + def decode(value, options) do + GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.SAMLParams.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.SAMLParams do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/status.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/status.ex new file mode 100644 index 0000000000..10f8dd2a67 --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/status.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.ContactCenterAIPlatform.V1alpha1.Model.Status do + @moduledoc """ + The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + + ## Attributes + + * `code` (*type:* `integer()`, *default:* `nil`) - The status code, which should be an enum value of google.rpc.Code. + * `details` (*type:* `list(map())`, *default:* `nil`) - A list of messages that carry the error details. There is a common set of message types for APIs to use. + * `message` (*type:* `String.t`, *default:* `nil`) - A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :code => integer() | nil, + :details => list(map()) | nil, + :message => String.t() | nil + } + + field(:code) + field(:details, type: :list) + field(:message) +end + +defimpl Poison.Decoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Status do + def decode(value, options) do + GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Status.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.Status do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/ur_is.ex b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/ur_is.ex new file mode 100644 index 0000000000..196dda9a4c --- /dev/null +++ b/clients/contact_center_ai_platform/lib/google_api/contact_center_ai_platform/v1alpha1/model/ur_is.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.ContactCenterAIPlatform.V1alpha1.Model.URIs do + @moduledoc """ + Message storing the URIs of the ContactCenter. + + ## Attributes + + * `chatBotUri` (*type:* `String.t`, *default:* `nil`) - Chat Bot Uri of the ContactCenter + * `mediaUri` (*type:* `String.t`, *default:* `nil`) - Media Uri of the ContactCenter. + * `rootUri` (*type:* `String.t`, *default:* `nil`) - Root Uri of the ContactCenter. + * `virtualAgentStreamingServiceUri` (*type:* `String.t`, *default:* `nil`) - Virtual Agent Streaming Service Uri of the ContactCenter. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :chatBotUri => String.t() | nil, + :mediaUri => String.t() | nil, + :rootUri => String.t() | nil, + :virtualAgentStreamingServiceUri => String.t() | nil + } + + field(:chatBotUri) + field(:mediaUri) + field(:rootUri) + field(:virtualAgentStreamingServiceUri) +end + +defimpl Poison.Decoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.URIs do + def decode(value, options) do + GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.URIs.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.ContactCenterAIPlatform.V1alpha1.Model.URIs do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/contact_center_ai_platform/mix.exs b/clients/contact_center_ai_platform/mix.exs new file mode 100644 index 0000000000..f0c253dbd8 --- /dev/null +++ b/clients/contact_center_ai_platform/mix.exs @@ -0,0 +1,66 @@ +# 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.ContactCenterAIPlatform.Mixfile do + use Mix.Project + + @version "0.2.0" + + def project() do + [ + app: :google_api_contact_center_ai_platform, + version: @version, + elixir: "~> 1.6", + build_embedded: Mix.env == :prod, + start_permanent: Mix.env == :prod, + description: description(), + package: package(), + deps: deps(), + source_url: "https://github.com/googleapis/elixir-google-api/tree/master/clients/contact_center_ai_platform" + ] + end + + def application() do + [extra_applications: [:logger]] + end + + defp deps() do + [ + {:google_gax, "~> 0.4"}, + + {:ex_doc, "~> 0.16", only: :dev} + ] + end + + defp description() do + """ + Contact Center AI Platform API client library. + """ + end + + defp package() do + [ + files: ["lib", "mix.exs", "README*", "LICENSE"], + maintainers: ["Jeff Ching", "Daniel Azuma"], + licenses: ["Apache 2.0"], + links: %{ + "GitHub" => "https://github.com/googleapis/elixir-google-api/tree/master/clients/contact_center_ai_platform", + "Homepage" => "https://cloud.google.com/solutions/contact-center-ai-platform" + } + ] + end +end diff --git a/clients/contact_center_ai_platform/test/test_helper.exs b/clients/contact_center_ai_platform/test/test_helper.exs new file mode 100644 index 0000000000..d0b582b898 --- /dev/null +++ b/clients/contact_center_ai_platform/test/test_helper.exs @@ -0,0 +1,35 @@ +# 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. + +ExUnit.start() + +defmodule GoogleApi.ContactCenterAIPlatform.TestHelper do + + defmacro __using__(opts) do + quote do + use ExUnit.Case, unquote(opts) + import GoogleApi.ContactCenterAIPlatform.TestHelper + end + end + + def for_scope(scopes) when is_list(scopes), do: for_scope(Enum.join(scopes, " ")) + def for_scope(scope) do + {:ok, token} = Goth.Token.for_scope(scope) + token.token + end + +end