Skip to content

Commit

Permalink
feat: Automated regeneration of AppEngine client
Browse files Browse the repository at this point in the history
  • Loading branch information
yoshi-automation committed Mar 12, 2024
1 parent 9e554ee commit de010ac
Show file tree
Hide file tree
Showing 19 changed files with 660 additions and 17 deletions.
68 changes: 66 additions & 2 deletions clients/app_engine/lib/google_api/app_engine/v1/api/apps.ex
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ defmodule GoogleApi.AppEngine.V1.Api.Apps do
* `: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").
* `:includeExtraData` (*type:* `String.t`) - Options to include extra data
* `opts` (*type:* `keyword()`) - Call options
## Returns
Expand All @@ -127,7 +128,8 @@ defmodule GoogleApi.AppEngine.V1.Api.Apps do
:prettyPrint => :query,
:quotaUser => :query,
:uploadType => :query,
:upload_protocol => :query
:upload_protocol => :query,
:includeExtraData => :query
}

request =
Expand All @@ -144,6 +146,68 @@ defmodule GoogleApi.AppEngine.V1.Api.Apps do
|> Response.decode(opts ++ [struct: %GoogleApi.AppEngine.V1.Model.Application{}])
end

@doc """
Lists all the available runtimes for the application.
## Parameters
* `connection` (*type:* `GoogleApi.AppEngine.V1.Connection.t`) - Connection to server
* `apps_id` (*type:* `String.t`) - Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.
* `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").
* `:environment` (*type:* `String.t`) - Optional. The environment of the Application.
* `opts` (*type:* `keyword()`) - Call options
## Returns
* `{:ok, %GoogleApi.AppEngine.V1.Model.ListRuntimesResponse{}}` on success
* `{:error, info}` on failure
"""
@spec appengine_apps_list_runtimes(Tesla.Env.client(), String.t(), keyword(), keyword()) ::
{:ok, GoogleApi.AppEngine.V1.Model.ListRuntimesResponse.t()}
| {:ok, Tesla.Env.t()}
| {:ok, list()}
| {:error, any()}
def appengine_apps_list_runtimes(connection, apps_id, 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,
:environment => :query
}

request =
Request.new()
|> Request.method(:get)
|> Request.url("/v1/apps/{appsId}:listRuntimes", %{
"appsId" => URI.encode(apps_id, &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.AppEngine.V1.Model.ListRuntimesResponse{}])
end

@doc """
Updates the specified Application resource. You can update the following fields: auth_domain - Google authentication domain for controlling user access to the application. default_cookie_expiration - Cookie expiration policy for the application. iap - Identity-Aware Proxy properties for the application.
Expand Down Expand Up @@ -1759,7 +1823,7 @@ defmodule GoogleApi.AppEngine.V1.Api.Apps do
end

@doc """
Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as "/v1/{name=users/*}/operations" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.
Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.
## Parameters
Expand Down
114 changes: 114 additions & 0 deletions clients/app_engine/lib/google_api/app_engine/v1/api/projects.ex
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
# 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.AppEngine.V1.Api.Projects do
@moduledoc """
API calls for all endpoints tagged `Projects`.
"""

alias GoogleApi.AppEngine.V1.Connection
alias GoogleApi.Gax.{Request, Response}

@library_version Mix.Project.config() |> Keyword.get(:version, "")

@doc """
Lists all domains the user is authorized to administer.
## Parameters
* `connection` (*type:* `GoogleApi.AppEngine.V1.Connection.t`) - Connection to server
* `projects_id` (*type:* `String.t`) - Part of `parent`. Name of the parent Application resource. Example: apps/myapp.
* `locations_id` (*type:* `String.t`) - Part of `parent`. See documentation of `projectsId`.
* `applications_id` (*type:* `String.t`) - Part of `parent`. See documentation of `projectsId`.
* `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").
* `:pageSize` (*type:* `integer()`) - Maximum results to return per page.
* `:pageToken` (*type:* `String.t`) - Continuation token for fetching the next page of results.
* `opts` (*type:* `keyword()`) - Call options
## Returns
* `{:ok, %GoogleApi.AppEngine.V1.Model.ListAuthorizedDomainsResponse{}}` on success
* `{:error, info}` on failure
"""
@spec appengine_projects_locations_applications_authorized_domains_list(
Tesla.Env.client(),
String.t(),
String.t(),
String.t(),
keyword(),
keyword()
) ::
{:ok, GoogleApi.AppEngine.V1.Model.ListAuthorizedDomainsResponse.t()}
| {:ok, Tesla.Env.t()}
| {:ok, list()}
| {:error, any()}
def appengine_projects_locations_applications_authorized_domains_list(
connection,
projects_id,
locations_id,
applications_id,
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,
:pageSize => :query,
:pageToken => :query
}

request =
Request.new()
|> Request.method(:get)
|> Request.url(
"/v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/authorizedDomains",
%{
"projectsId" => URI.encode(projects_id, &URI.char_unreserved?/1),
"locationsId" => URI.encode(locations_id, &URI.char_unreserved?/1),
"applicationsId" => URI.encode(applications_id, &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.AppEngine.V1.Model.ListAuthorizedDomainsResponse{}]
)
end
end
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ defmodule GoogleApi.AppEngine.V1 do
API client metadata for GoogleApi.AppEngine.V1.
"""

@discovery_revision "20220818"
@discovery_revision "20240226"

def discovery_revision(), do: @discovery_revision
end
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,19 @@ defmodule GoogleApi.AppEngine.V1.Model.Application do
## Attributes
* `authDomain` (*type:* `String.t`, *default:* `nil`) - Google Apps authentication domain that controls which users can access this application.Defaults to open access for any Google Account.
* `codeBucket` (*type:* `String.t`, *default:* `nil`) - Google Cloud Storage bucket that can be used for storing files associated with this application. This bucket is associated with the application and can be used by the gcloud deployment commands.@OutputOnly
* `codeBucket` (*type:* `String.t`, *default:* `nil`) - Output only. Google Cloud Storage bucket that can be used for storing files associated with this application. This bucket is associated with the application and can be used by the gcloud deployment commands.@OutputOnly
* `databaseType` (*type:* `String.t`, *default:* `nil`) - The type of the Cloud Firestore or Cloud Datastore database associated with this application.
* `defaultBucket` (*type:* `String.t`, *default:* `nil`) - Google Cloud Storage bucket that can be used by this application to store content.@OutputOnly
* `defaultBucket` (*type:* `String.t`, *default:* `nil`) - Output only. Google Cloud Storage bucket that can be used by this application to store content.@OutputOnly
* `defaultCookieExpiration` (*type:* `String.t`, *default:* `nil`) - Cookie expiration policy for this application.
* `defaultHostname` (*type:* `String.t`, *default:* `nil`) - Hostname used to reach this application, as resolved by App Engine.@OutputOnly
* `defaultHostname` (*type:* `String.t`, *default:* `nil`) - Output only. Hostname used to reach this application, as resolved by App Engine.@OutputOnly
* `dispatchRules` (*type:* `list(GoogleApi.AppEngine.V1.Model.UrlDispatchRule.t)`, *default:* `nil`) - HTTP path dispatch rules for requests to the application that do not explicitly target a service or version. Rules are order-dependent. Up to 20 dispatch rules can be supported.
* `featureSettings` (*type:* `GoogleApi.AppEngine.V1.Model.FeatureSettings.t`, *default:* `nil`) - The feature specific settings to be used in the application.
* `gcrDomain` (*type:* `String.t`, *default:* `nil`) - The Google Container Registry domain used for storing managed build docker images for this application.
* `gcrDomain` (*type:* `String.t`, *default:* `nil`) - Output only. The Google Container Registry domain used for storing managed build docker images for this application.
* `generatedCustomerMetadata` (*type:* `map()`, *default:* `nil`) - Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest
* `iap` (*type:* `GoogleApi.AppEngine.V1.Model.IdentityAwareProxy.t`, *default:* `nil`) -
* `id` (*type:* `String.t`, *default:* `nil`) - Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp.
* `locationId` (*type:* `String.t`, *default:* `nil`) - Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations).
* `name` (*type:* `String.t`, *default:* `nil`) - Full path to the Application resource in the API. Example: apps/myapp.@OutputOnly
* `name` (*type:* `String.t`, *default:* `nil`) - Output only. Full path to the Application resource in the API. Example: apps/myapp.@OutputOnly
* `serviceAccount` (*type:* `String.t`, *default:* `nil`) - The service account associated with the application. This is the app-level default identity. If no identity provided during create version, Admin API will fallback to this one.
* `servingStatus` (*type:* `String.t`, *default:* `nil`) - Serving status of this application.
"""
Expand All @@ -50,6 +51,7 @@ defmodule GoogleApi.AppEngine.V1.Model.Application do
:dispatchRules => list(GoogleApi.AppEngine.V1.Model.UrlDispatchRule.t()) | nil,
:featureSettings => GoogleApi.AppEngine.V1.Model.FeatureSettings.t() | nil,
:gcrDomain => String.t() | nil,
:generatedCustomerMetadata => map() | nil,
:iap => GoogleApi.AppEngine.V1.Model.IdentityAwareProxy.t() | nil,
:id => String.t() | nil,
:locationId => String.t() | nil,
Expand All @@ -67,6 +69,7 @@ defmodule GoogleApi.AppEngine.V1.Model.Application do
field(:dispatchRules, as: GoogleApi.AppEngine.V1.Model.UrlDispatchRule, type: :list)
field(:featureSettings, as: GoogleApi.AppEngine.V1.Model.FeatureSettings)
field(:gcrDomain)
field(:generatedCustomerMetadata, type: :map)
field(:iap, as: GoogleApi.AppEngine.V1.Model.IdentityAwareProxy)
field(:id)
field(:locationId)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

defmodule GoogleApi.AppEngine.V1.Model.AuthorizedDomain do
@moduledoc """
A domain that a user has been authorized to administer. To authorize use of a domain, verify ownership via Webmaster Central (https://www.google.com/webmasters/verification/home).
A domain that a user has been authorized to administer. To authorize use of a domain, verify ownership via Search Console (https://search.google.com/search-console/welcome).
## Attributes
Expand Down
Original file line number Diff line number Diff line change
@@ -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.AppEngine.V1.Model.ContainerState do
@moduledoc """
ContainerState contains the externally-visible container state that is used to communicate the state and reasoning for that state to the CLH. This data is not persisted by CCFE, but is instead derived from CCFE's internal representation of the container state.
## Attributes
* `currentReasons` (*type:* `GoogleApi.AppEngine.V1.Model.Reasons.t`, *default:* `nil`) -
* `previousReasons` (*type:* `GoogleApi.AppEngine.V1.Model.Reasons.t`, *default:* `nil`) - The previous and current reasons for a container state will be sent for a container event. CLHs that need to know the signal that caused the container event to trigger (edges) as opposed to just knowing the state can act upon differences in the previous and current reasons.Reasons will be provided for every system: service management, data governance, abuse, and billing.If this is a CCFE-triggered event used for reconciliation then the current reasons will be set to their *_CONTROL_PLANE_SYNC state. The previous reasons will contain the last known set of non-unknown non-control_plane_sync reasons for the state.
* `state` (*type:* `String.t`, *default:* `nil`) - The current state of the container. This state is the culmination of all of the opinions from external systems that CCFE knows about of the container.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:currentReasons => GoogleApi.AppEngine.V1.Model.Reasons.t() | nil,
:previousReasons => GoogleApi.AppEngine.V1.Model.Reasons.t() | nil,
:state => String.t() | nil
}

field(:currentReasons, as: GoogleApi.AppEngine.V1.Model.Reasons)
field(:previousReasons, as: GoogleApi.AppEngine.V1.Model.Reasons)
field(:state)
end

defimpl Poison.Decoder, for: GoogleApi.AppEngine.V1.Model.ContainerState do
def decode(value, options) do
GoogleApi.AppEngine.V1.Model.ContainerState.decode(value, options)
end
end

defimpl Poison.Encoder, for: GoogleApi.AppEngine.V1.Model.ContainerState do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end
Loading

0 comments on commit de010ac

Please sign in to comment.