Class: Google::Apis::ServicecontrolV2::ServiceControlService

Inherits:
Core::BaseService
  • Object
show all
Defined in:
lib/google/apis/servicecontrol_v2/service.rb

Overview

Service Control API

Provides admission control and telemetry reporting for services integrated with Service Infrastructure.

Examples:

require 'google/apis/servicecontrol_v2'

Servicecontrol = Google::Apis::ServicecontrolV2 # Alias the module
service = Servicecontrol::ServiceControlService.new

See Also:

Constant Summary collapse

DEFAULT_ENDPOINT_TEMPLATE =
"https://servicecontrol.$UNIVERSE_DOMAIN$/"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeServiceControlService

Returns a new instance of ServiceControlService.



48
49
50
51
52
53
# File 'lib/google/apis/servicecontrol_v2/service.rb', line 48

def initialize
  super(DEFAULT_ENDPOINT_TEMPLATE, '',
        client_name: 'google-apis-servicecontrol_v2',
        client_version: Google::Apis::ServicecontrolV2::GEM_VERSION)
  @batch_path = 'batch'
end

Instance Attribute Details

#keyString

Returns 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.

Returns:

  • (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.



41
42
43
# File 'lib/google/apis/servicecontrol_v2/service.rb', line 41

def key
  @key
end

#quota_userString

Returns 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.

Returns:

  • (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.



46
47
48
# File 'lib/google/apis/servicecontrol_v2/service.rb', line 46

def quota_user
  @quota_user
end

Instance Method Details

#check_service(service_name, check_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::ServicecontrolV2::CheckResponse

Private Preview. This feature is only available for approved services. This method provides admission control for services that are integrated with Service Infrastructure. It checks whether an operation should be allowed based on the service configuration and relevant policies. It must be called before the operation is executed. For more information, see Admission Control. NOTE: The admission control has an expected policy propagation delay of 60s. The caller must not depend on the most recent policy changes. NOTE: The admission control has a hard limit of 1 referenced resources per call. If an operation refers to more than 1 resources, the caller must call the Check method multiple times. This method requires the servicemanagement.services.check permission on the specified service. For more information, see Service Control API Access Control.

Parameters:

  • service_name (String)

    The service name as specified in its service configuration. For example, " pubsub.googleapis.com". See google.api.Service for the definition of a service name.

  • check_request_object (Google::Apis::ServicecontrolV2::CheckRequest) (defaults to: nil)
  • fields (String) (defaults to: nil)

    Selector specifying which fields to include in a partial response.

  • quota_user (String) (defaults to: nil)

    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.

  • options (Google::Apis::RequestOptions) (defaults to: nil)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:

  • (Google::Apis::ServerError)

    An error occurred on the server and the request can be retried

  • (Google::Apis::ClientError)

    The request is invalid and should not be retried without modification

  • (Google::Apis::AuthorizationError)

    Authorization is required



93
94
95
96
97
98
99
100
101
102
103
# File 'lib/google/apis/servicecontrol_v2/service.rb', line 93

def check_service(service_name, check_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:post, 'v2/services/{serviceName}:check', options)
  command.request_representation = Google::Apis::ServicecontrolV2::CheckRequest::Representation
  command.request_object = check_request_object
  command.response_representation = Google::Apis::ServicecontrolV2::CheckResponse::Representation
  command.response_class = Google::Apis::ServicecontrolV2::CheckResponse
  command.params['serviceName'] = service_name unless service_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

#report_service(service_name, report_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::ServicecontrolV2::ReportResponse

Private Preview. This feature is only available for approved services. This method provides telemetry reporting for services that are integrated with Service Infrastructure. It reports a list of operations that have occurred on a service. It must be called after the operations have been executed. For more information, see Telemetry Reporting. NOTE: The telemetry reporting has a hard limit of 1000 operations and 1MB per Report call. It is recommended to have no more than 100 operations per call. This method requires the servicemanagement.services. report permission on the specified service. For more information, see Service Control API Access Control.

Parameters:

  • service_name (String)

    The service name as specified in its service configuration. For example, " pubsub.googleapis.com". See google.api.Service for the definition of a service name.

  • report_request_object (Google::Apis::ServicecontrolV2::ReportRequest) (defaults to: nil)
  • fields (String) (defaults to: nil)

    Selector specifying which fields to include in a partial response.

  • quota_user (String) (defaults to: nil)

    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.

  • options (Google::Apis::RequestOptions) (defaults to: nil)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:

  • (Google::Apis::ServerError)

    An error occurred on the server and the request can be retried

  • (Google::Apis::ClientError)

    The request is invalid and should not be retried without modification

  • (Google::Apis::AuthorizationError)

    Authorization is required



140
141
142
143
144
145
146
147
148
149
150
# File 'lib/google/apis/servicecontrol_v2/service.rb', line 140

def report_service(service_name, report_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:post, 'v2/services/{serviceName}:report', options)
  command.request_representation = Google::Apis::ServicecontrolV2::ReportRequest::Representation
  command.request_object = report_request_object
  command.response_representation = Google::Apis::ServicecontrolV2::ReportResponse::Representation
  command.response_class = Google::Apis::ServicecontrolV2::ReportResponse
  command.params['serviceName'] = service_name unless service_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