Skip to content

Commit

Permalink
feat: Automated regeneration of SASPortal 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 ef98d40
Show file tree
Hide file tree
Showing 23 changed files with 952 additions and 14 deletions.
303 changes: 303 additions & 0 deletions clients/sas_portal/lib/google_api/sas_portal/v1alpha1/api/customers.ex
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,189 @@ defmodule GoogleApi.SASPortal.V1alpha1.Api.Customers do
)
end

@doc """
Returns a list of SAS deployments associated with current GCP project. Includes whether SAS analytics has been enabled or not.
## Parameters
* `connection` (*type:* `GoogleApi.SASPortal.V1alpha1.Connection.t`) - Connection to server
* `optional_params` (*type:* `keyword()`) - Optional parameters
* `:"$.xgafv"` (*type:* `String.t`) - V1 error format.
* `:access_token` (*type:* `String.t`) - OAuth access token.
* `:alt` (*type:* `String.t`) - Data format for response.
* `:callback` (*type:* `String.t`) - JSONP
* `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response.
* `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
* `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user.
* `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks.
* `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart").
* `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart").
* `opts` (*type:* `keyword()`) - Call options
## Returns
* `{:ok, %GoogleApi.SASPortal.V1alpha1.Model.SasPortalListGcpProjectDeploymentsResponse{}}` on success
* `{:error, info}` on failure
"""
@spec sasportal_customers_list_gcp_project_deployments(Tesla.Env.client(), keyword(), keyword()) ::
{:ok, GoogleApi.SASPortal.V1alpha1.Model.SasPortalListGcpProjectDeploymentsResponse.t()}
| {:ok, Tesla.Env.t()}
| {:ok, list()}
| {:error, any()}
def sasportal_customers_list_gcp_project_deployments(
connection,
optional_params \\ [],
opts \\ []
) do
optional_params_config = %{
:"$.xgafv" => :query,
:access_token => :query,
:alt => :query,
:callback => :query,
:fields => :query,
:key => :query,
:oauth_token => :query,
:prettyPrint => :query,
:quotaUser => :query,
:uploadType => :query,
:upload_protocol => :query
}

request =
Request.new()
|> Request.method(:get)
|> Request.url("/v1alpha1/customers:listGcpProjectDeployments", %{})
|> Request.add_optional_params(optional_params_config, optional_params)
|> Request.library_version(@library_version)

connection
|> Connection.execute(request)
|> Response.decode(
opts ++
[struct: %GoogleApi.SASPortal.V1alpha1.Model.SasPortalListGcpProjectDeploymentsResponse{}]
)
end

@doc """
Returns a list of legacy organizations.
## Parameters
* `connection` (*type:* `GoogleApi.SASPortal.V1alpha1.Connection.t`) - Connection to server
* `optional_params` (*type:* `keyword()`) - Optional parameters
* `:"$.xgafv"` (*type:* `String.t`) - V1 error format.
* `:access_token` (*type:* `String.t`) - OAuth access token.
* `:alt` (*type:* `String.t`) - Data format for response.
* `:callback` (*type:* `String.t`) - JSONP
* `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response.
* `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
* `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user.
* `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks.
* `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart").
* `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart").
* `opts` (*type:* `keyword()`) - Call options
## Returns
* `{:ok, %GoogleApi.SASPortal.V1alpha1.Model.SasPortalListLegacyOrganizationsResponse{}}` on success
* `{:error, info}` on failure
"""
@spec sasportal_customers_list_legacy_organizations(Tesla.Env.client(), keyword(), keyword()) ::
{:ok, GoogleApi.SASPortal.V1alpha1.Model.SasPortalListLegacyOrganizationsResponse.t()}
| {:ok, Tesla.Env.t()}
| {:ok, list()}
| {:error, any()}
def sasportal_customers_list_legacy_organizations(connection, optional_params \\ [], opts \\ []) do
optional_params_config = %{
:"$.xgafv" => :query,
:access_token => :query,
:alt => :query,
:callback => :query,
:fields => :query,
:key => :query,
:oauth_token => :query,
:prettyPrint => :query,
:quotaUser => :query,
:uploadType => :query,
:upload_protocol => :query
}

request =
Request.new()
|> Request.method(:get)
|> Request.url("/v1alpha1/customers:listLegacyOrganizations", %{})
|> Request.add_optional_params(optional_params_config, optional_params)
|> Request.library_version(@library_version)

connection
|> Connection.execute(request)
|> Response.decode(
opts ++
[struct: %GoogleApi.SASPortal.V1alpha1.Model.SasPortalListLegacyOrganizationsResponse{}]
)
end

@doc """
Migrates a SAS organization to the cloud. This will create GCP projects for each deployment and associate them. The SAS Organization is linked to the gcp project that called the command. go/sas-legacy-customer-migration
## Parameters
* `connection` (*type:* `GoogleApi.SASPortal.V1alpha1.Connection.t`) - Connection to server
* `optional_params` (*type:* `keyword()`) - Optional parameters
* `:"$.xgafv"` (*type:* `String.t`) - V1 error format.
* `:access_token` (*type:* `String.t`) - OAuth access token.
* `:alt` (*type:* `String.t`) - Data format for response.
* `:callback` (*type:* `String.t`) - JSONP
* `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response.
* `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
* `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user.
* `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks.
* `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart").
* `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart").
* `:body` (*type:* `GoogleApi.SASPortal.V1alpha1.Model.SasPortalMigrateOrganizationRequest.t`) -
* `opts` (*type:* `keyword()`) - Call options
## Returns
* `{:ok, %GoogleApi.SASPortal.V1alpha1.Model.SasPortalOperation{}}` on success
* `{:error, info}` on failure
"""
@spec sasportal_customers_migrate_organization(Tesla.Env.client(), keyword(), keyword()) ::
{:ok, GoogleApi.SASPortal.V1alpha1.Model.SasPortalOperation.t()}
| {:ok, Tesla.Env.t()}
| {:ok, list()}
| {:error, any()}
def sasportal_customers_migrate_organization(connection, optional_params \\ [], opts \\ []) do
optional_params_config = %{
:"$.xgafv" => :query,
:access_token => :query,
:alt => :query,
:callback => :query,
:fields => :query,
:key => :query,
:oauth_token => :query,
:prettyPrint => :query,
:quotaUser => :query,
:uploadType => :query,
:upload_protocol => :query,
:body => :body
}

request =
Request.new()
|> Request.method(:post)
|> Request.url("/v1alpha1/customers:migrateOrganization", %{})
|> Request.add_optional_params(optional_params_config, optional_params)
|> Request.library_version(@library_version)

connection
|> Connection.execute(request)
|> Response.decode(opts ++ [struct: %GoogleApi.SASPortal.V1alpha1.Model.SasPortalOperation{}])
end

@doc """
Updates an existing customer.
Expand Down Expand Up @@ -212,6 +395,126 @@ defmodule GoogleApi.SASPortal.V1alpha1.Api.Customers do
|> Response.decode(opts ++ [struct: %GoogleApi.SASPortal.V1alpha1.Model.SasPortalCustomer{}])
end

@doc """
Creates a new SAS deployment through the GCP workflow. Creates a SAS organization if an organization match is not found.
## Parameters
* `connection` (*type:* `GoogleApi.SASPortal.V1alpha1.Connection.t`) - Connection to server
* `optional_params` (*type:* `keyword()`) - Optional parameters
* `:"$.xgafv"` (*type:* `String.t`) - V1 error format.
* `:access_token` (*type:* `String.t`) - OAuth access token.
* `:alt` (*type:* `String.t`) - Data format for response.
* `:callback` (*type:* `String.t`) - JSONP
* `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response.
* `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
* `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user.
* `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks.
* `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart").
* `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart").
* `:body` (*type:* `GoogleApi.SASPortal.V1alpha1.Model.SasPortalProvisionDeploymentRequest.t`) -
* `opts` (*type:* `keyword()`) - Call options
## Returns
* `{:ok, %GoogleApi.SASPortal.V1alpha1.Model.SasPortalProvisionDeploymentResponse{}}` on success
* `{:error, info}` on failure
"""
@spec sasportal_customers_provision_deployment(Tesla.Env.client(), keyword(), keyword()) ::
{:ok, GoogleApi.SASPortal.V1alpha1.Model.SasPortalProvisionDeploymentResponse.t()}
| {:ok, Tesla.Env.t()}
| {:ok, list()}
| {:error, any()}
def sasportal_customers_provision_deployment(connection, optional_params \\ [], opts \\ []) do
optional_params_config = %{
:"$.xgafv" => :query,
:access_token => :query,
:alt => :query,
:callback => :query,
:fields => :query,
:key => :query,
:oauth_token => :query,
:prettyPrint => :query,
:quotaUser => :query,
:uploadType => :query,
:upload_protocol => :query,
:body => :body
}

request =
Request.new()
|> Request.method(:post)
|> Request.url("/v1alpha1/customers:provisionDeployment", %{})
|> Request.add_optional_params(optional_params_config, optional_params)
|> Request.library_version(@library_version)

connection
|> Connection.execute(request)
|> Response.decode(
opts ++ [struct: %GoogleApi.SASPortal.V1alpha1.Model.SasPortalProvisionDeploymentResponse{}]
)
end

@doc """
Setups the a GCP Project to receive SAS Analytics messages via GCP Pub/Sub with a subscription to BigQuery. All the Pub/Sub topics and BigQuery tables are created automatically as part of this service.
## Parameters
* `connection` (*type:* `GoogleApi.SASPortal.V1alpha1.Connection.t`) - Connection to server
* `optional_params` (*type:* `keyword()`) - Optional parameters
* `:"$.xgafv"` (*type:* `String.t`) - V1 error format.
* `:access_token` (*type:* `String.t`) - OAuth access token.
* `:alt` (*type:* `String.t`) - Data format for response.
* `:callback` (*type:* `String.t`) - JSONP
* `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response.
* `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
* `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user.
* `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks.
* `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart").
* `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart").
* `:body` (*type:* `GoogleApi.SASPortal.V1alpha1.Model.SasPortalSetupSasAnalyticsRequest.t`) -
* `opts` (*type:* `keyword()`) - Call options
## Returns
* `{:ok, %GoogleApi.SASPortal.V1alpha1.Model.SasPortalOperation{}}` on success
* `{:error, info}` on failure
"""
@spec sasportal_customers_setup_sas_analytics(Tesla.Env.client(), keyword(), keyword()) ::
{:ok, GoogleApi.SASPortal.V1alpha1.Model.SasPortalOperation.t()}
| {:ok, Tesla.Env.t()}
| {:ok, list()}
| {:error, any()}
def sasportal_customers_setup_sas_analytics(connection, optional_params \\ [], opts \\ []) do
optional_params_config = %{
:"$.xgafv" => :query,
:access_token => :query,
:alt => :query,
:callback => :query,
:fields => :query,
:key => :query,
:oauth_token => :query,
:prettyPrint => :query,
:quotaUser => :query,
:uploadType => :query,
:upload_protocol => :query,
:body => :body
}

request =
Request.new()
|> Request.method(:post)
|> Request.url("/v1alpha1/customers:setupSasAnalytics", %{})
|> Request.add_optional_params(optional_params_config, optional_params)
|> Request.library_version(@library_version)

connection
|> Connection.execute(request)
|> Response.decode(opts ++ [struct: %GoogleApi.SASPortal.V1alpha1.Model.SasPortalOperation{}])
end

@doc """
Creates a new deployment.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ defmodule GoogleApi.SASPortal.V1alpha1.Connection do

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",

# Read, create, update, and delete your SAS Portal data.
"https://www.googleapis.com/auth/sasportal"
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ defmodule GoogleApi.SASPortal.V1alpha1 do
API client metadata for GoogleApi.SASPortal.V1alpha1.
"""

@discovery_revision "20221011"
@discovery_revision "20240226"

def discovery_revision(), do: @discovery_revision
end
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ defmodule GoogleApi.SASPortal.V1alpha1.Model.SasPortalChannelWithScore do
## Attributes
* `frequencyRange` (*type:* `GoogleApi.SASPortal.V1alpha1.Model.SasPortalFrequencyRange.t`, *default:* `nil`) - The frequency range of the channel.
* `score` (*type:* `float()`, *default:* `nil`) - The channel score, normalized to be in [0,100].
* `score` (*type:* `float()`, *default:* `nil`) - The channel score, normalized to be in the range [0,100].
"""

use GoogleApi.Gax.ModelBase
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ defmodule GoogleApi.SASPortal.V1alpha1.Model.SasPortalDeployment do
## Attributes
* `displayName` (*type:* `String.t`, *default:* `nil`) - The deployment's display name.
* `frns` (*type:* `list(String.t)`, *default:* `nil`) - Output only. The FRNs copied from its direct parent.
* `frns` (*type:* `list(String.t)`, *default:* `nil`) - Output only. The FCC Registration Numbers (FRNs) copied from its direct parent.
* `name` (*type:* `String.t`, *default:* `nil`) - Output only. Resource name.
* `sasUserIds` (*type:* `list(String.t)`, *default:* `nil`) - User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.
"""
Expand Down
Loading

0 comments on commit ef98d40

Please sign in to comment.