229 lines
12 KiB
Ruby
229 lines
12 KiB
Ruby
# 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.
|
|
|
|
require 'google/apis/core/base_service'
|
|
require 'google/apis/core/json_representation'
|
|
require 'google/apis/core/hashable'
|
|
require 'google/apis/errors'
|
|
|
|
module Google
|
|
module Apis
|
|
module RunV1alpha1
|
|
# Cloud Run Admin API
|
|
#
|
|
# Deploy and manage user provided container images that scale automatically
|
|
# based on incoming requests. The Cloud Run Admin API v1 follows the Knative
|
|
# Serving API specification, while v2 is aligned with Google Cloud AIP-based API
|
|
# standards, as described in https://google.aip.dev/.
|
|
#
|
|
# @example
|
|
# require 'google/apis/run_v1alpha1'
|
|
#
|
|
# Run = Google::Apis::RunV1alpha1 # Alias the module
|
|
# service = Run::CloudRunService.new
|
|
#
|
|
# @see https://cloud.google.com/run/
|
|
class CloudRunService < Google::Apis::Core::BaseService
|
|
# @return [String]
|
|
# 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.
|
|
attr_accessor :key
|
|
|
|
# @return [String]
|
|
# 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.
|
|
attr_accessor :quota_user
|
|
|
|
def initialize
|
|
super('https://run.googleapis.com/', '',
|
|
client_name: 'google-apis-run_v1alpha1',
|
|
client_version: Google::Apis::RunV1alpha1::GEM_VERSION)
|
|
@batch_path = 'batch'
|
|
end
|
|
|
|
# Create a job.
|
|
# @param [String] parent
|
|
# Required. The namespace in which the job should be created. Replace `
|
|
# namespace_id` with the project ID or number.
|
|
# @param [Google::Apis::RunV1alpha1::Job] job_object
|
|
# @param [String] fields
|
|
# Selector specifying which fields to include in a partial response.
|
|
# @param [String] quota_user
|
|
# 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.
|
|
# @param [Google::Apis::RequestOptions] options
|
|
# Request-specific options
|
|
#
|
|
# @yield [result, err] Result & error if block supplied
|
|
# @yieldparam result [Google::Apis::RunV1alpha1::Job] parsed result object
|
|
# @yieldparam err [StandardError] error object if request failed
|
|
#
|
|
# @return [Google::Apis::RunV1alpha1::Job]
|
|
#
|
|
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
|
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
|
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
|
def create_namespace_job(parent, job_object = nil, fields: nil, quota_user: nil, options: nil, &block)
|
|
command = make_simple_command(:post, 'apis/run.googleapis.com/v1alpha1/{+parent}/jobs', options)
|
|
command.request_representation = Google::Apis::RunV1alpha1::Job::Representation
|
|
command.request_object = job_object
|
|
command.response_representation = Google::Apis::RunV1alpha1::Job::Representation
|
|
command.response_class = Google::Apis::RunV1alpha1::Job
|
|
command.params['parent'] = parent unless parent.nil?
|
|
command.query['fields'] = fields unless fields.nil?
|
|
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
|
execute_or_queue_command(command, &block)
|
|
end
|
|
|
|
# Delete a job.
|
|
# @param [String] name
|
|
# Required. The name of the job to delete. For Cloud Run (fully managed),
|
|
# replace `namespace_id` with the project ID or number.
|
|
# @param [String] api_version
|
|
# Optional. Cloud Run currently ignores this parameter.
|
|
# @param [String] kind
|
|
# Optional. Cloud Run currently ignores this parameter.
|
|
# @param [String] propagation_policy
|
|
# Optional. Specifies the propagation policy of delete. Cloud Run currently
|
|
# ignores this setting, and deletes in the background. Please see kubernetes.io/
|
|
# docs/concepts/workloads/controllers/garbage-collection/ for more information.
|
|
# @param [String] fields
|
|
# Selector specifying which fields to include in a partial response.
|
|
# @param [String] quota_user
|
|
# 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.
|
|
# @param [Google::Apis::RequestOptions] options
|
|
# Request-specific options
|
|
#
|
|
# @yield [result, err] Result & error if block supplied
|
|
# @yieldparam result [Google::Apis::RunV1alpha1::Empty] parsed result object
|
|
# @yieldparam err [StandardError] error object if request failed
|
|
#
|
|
# @return [Google::Apis::RunV1alpha1::Empty]
|
|
#
|
|
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
|
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
|
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
|
def delete_namespace_job(name, api_version: nil, kind: nil, propagation_policy: nil, fields: nil, quota_user: nil, options: nil, &block)
|
|
command = make_simple_command(:delete, 'apis/run.googleapis.com/v1alpha1/{+name}', options)
|
|
command.response_representation = Google::Apis::RunV1alpha1::Empty::Representation
|
|
command.response_class = Google::Apis::RunV1alpha1::Empty
|
|
command.params['name'] = name unless name.nil?
|
|
command.query['apiVersion'] = api_version unless api_version.nil?
|
|
command.query['kind'] = kind unless kind.nil?
|
|
command.query['propagationPolicy'] = propagation_policy unless propagation_policy.nil?
|
|
command.query['fields'] = fields unless fields.nil?
|
|
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
|
execute_or_queue_command(command, &block)
|
|
end
|
|
|
|
# Get information about a job.
|
|
# @param [String] name
|
|
# Required. The name of the job to retrieve. For Cloud Run (fully managed),
|
|
# replace `namespace_id` with the project ID or number.
|
|
# @param [String] fields
|
|
# Selector specifying which fields to include in a partial response.
|
|
# @param [String] quota_user
|
|
# 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.
|
|
# @param [Google::Apis::RequestOptions] options
|
|
# Request-specific options
|
|
#
|
|
# @yield [result, err] Result & error if block supplied
|
|
# @yieldparam result [Google::Apis::RunV1alpha1::Job] parsed result object
|
|
# @yieldparam err [StandardError] error object if request failed
|
|
#
|
|
# @return [Google::Apis::RunV1alpha1::Job]
|
|
#
|
|
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
|
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
|
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
|
def get_namespace_job(name, fields: nil, quota_user: nil, options: nil, &block)
|
|
command = make_simple_command(:get, 'apis/run.googleapis.com/v1alpha1/{+name}', options)
|
|
command.response_representation = Google::Apis::RunV1alpha1::Job::Representation
|
|
command.response_class = Google::Apis::RunV1alpha1::Job
|
|
command.params['name'] = name unless name.nil?
|
|
command.query['fields'] = fields unless fields.nil?
|
|
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
|
execute_or_queue_command(command, &block)
|
|
end
|
|
|
|
# List jobs.
|
|
# @param [String] parent
|
|
# Required. The namespace from which the jobs should be listed. Replace `
|
|
# namespace_id` with the project ID or number.
|
|
# @param [String] continue
|
|
# Optional. Optional encoded string to continue paging.
|
|
# @param [String] field_selector
|
|
# Optional. Allows to filter resources based on a specific value for a field
|
|
# name. Send this in a query string format. i.e. 'metadata.name%3Dlorem'. Not
|
|
# currently used by Cloud Run.
|
|
# @param [Boolean] include_uninitialized
|
|
# Optional. Not currently used by Cloud Run.
|
|
# @param [String] label_selector
|
|
# Optional. Allows to filter resources based on a label. Supported operations
|
|
# are =, !=, exists, in, and notIn.
|
|
# @param [Fixnum] limit
|
|
# Optional. The maximum number of records that should be returned.
|
|
# @param [String] resource_version
|
|
# Optional. The baseline resource version from which the list or watch operation
|
|
# should start. Not currently used by Cloud Run.
|
|
# @param [Boolean] watch
|
|
# Optional. Flag that indicates that the client expects to watch this resource
|
|
# as well. Not currently used by Cloud Run.
|
|
# @param [String] fields
|
|
# Selector specifying which fields to include in a partial response.
|
|
# @param [String] quota_user
|
|
# 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.
|
|
# @param [Google::Apis::RequestOptions] options
|
|
# Request-specific options
|
|
#
|
|
# @yield [result, err] Result & error if block supplied
|
|
# @yieldparam result [Google::Apis::RunV1alpha1::ListJobsResponse] parsed result object
|
|
# @yieldparam err [StandardError] error object if request failed
|
|
#
|
|
# @return [Google::Apis::RunV1alpha1::ListJobsResponse]
|
|
#
|
|
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
|
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
|
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
|
def list_namespace_jobs(parent, continue: nil, field_selector: nil, include_uninitialized: nil, label_selector: nil, limit: nil, resource_version: nil, watch: nil, fields: nil, quota_user: nil, options: nil, &block)
|
|
command = make_simple_command(:get, 'apis/run.googleapis.com/v1alpha1/{+parent}/jobs', options)
|
|
command.response_representation = Google::Apis::RunV1alpha1::ListJobsResponse::Representation
|
|
command.response_class = Google::Apis::RunV1alpha1::ListJobsResponse
|
|
command.params['parent'] = parent unless parent.nil?
|
|
command.query['continue'] = continue unless continue.nil?
|
|
command.query['fieldSelector'] = field_selector unless field_selector.nil?
|
|
command.query['includeUninitialized'] = include_uninitialized unless include_uninitialized.nil?
|
|
command.query['labelSelector'] = label_selector unless label_selector.nil?
|
|
command.query['limit'] = limit unless limit.nil?
|
|
command.query['resourceVersion'] = resource_version unless resource_version.nil?
|
|
command.query['watch'] = watch unless watch.nil?
|
|
command.query['fields'] = fields unless fields.nil?
|
|
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
|
execute_or_queue_command(command, &block)
|
|
end
|
|
|
|
protected
|
|
|
|
def apply_command_defaults(command)
|
|
command.query['key'] = key unless key.nil?
|
|
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|