google-api-ruby-client/generated/google-apis-reseller_v1/lib/google/apis/reseller_v1/service.rb

808 lines
52 KiB
Ruby
Raw Permalink Normal View History

# 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 ResellerV1
# Google Workspace Reseller API
#
# Perform common functions that are available on the Channel Services console at
# scale, like placing orders and viewing customer information
#
# @example
# require 'google/apis/reseller_v1'
#
# Reseller = Google::Apis::ResellerV1 # Alias the module
# service = Reseller::ResellerService.new
#
# @see https://developers.google.com/google-apps/reseller/
class ResellerService < 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://reseller.googleapis.com/', '',
client_name: 'google-apis-reseller_v1',
client_version: Google::Apis::ResellerV1::GEM_VERSION)
@batch_path = 'batch'
end
# Gets a customer account. Use this operation to see a customer account already
# in your reseller management, or to see the minimal account information for an
# existing customer that you do not manage. For more information about the API
# response for existing customers, see [retrieving a customer account](/admin-
# sdk/reseller/v1/how-tos/manage_customers#get_customer).
# @param [String] customer_id
# This can be either the customer's primary domain name or the customer's unique
# identifier. If the domain name for a customer changes, the old domain name
# cannot be used to access the customer, but the customer's unique identifier (
# as returned by the API) can always be used. We recommend storing the unique
# identifier in your systems where applicable.
# @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::ResellerV1::Customer] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::ResellerV1::Customer]
#
# @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_customer(customer_id, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:get, 'apps/reseller/v1/customers/{customerId}', options)
command.response_representation = Google::Apis::ResellerV1::Customer::Representation
command.response_class = Google::Apis::ResellerV1::Customer
command.params['customerId'] = customer_id unless customer_id.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Orders a new customer's account. Before ordering a new customer account,
# establish whether the customer account already exists using the [`customers.
# get`](/admin-sdk/reseller/v1/reference/customers/get) If the customer account
# exists as a direct Google account or as a resold customer account from another
# reseller, use the `customerAuthToken\` as described in [order a resold account
# for an existing customer](/admin-sdk/reseller/v1/how-tos/manage_customers#
# create_existing_customer). For more information about ordering a new customer
# account, see [order a new customer account](/admin-sdk/reseller/v1/how-tos/
# manage_customers#create_customer). After creating a new customer account, you
# must provision a user as an administrator. The customer's administrator is
# required to sign in to the Admin console and sign the G Suite via Reseller
# agreement to activate the account. Resellers are prohibited from signing the G
# Suite via Reseller agreement on the customer's behalf. For more information,
# see [order a new customer account](/admin-sdk/reseller/v1/how-tos/
# manage_customers#tos).
# @param [Google::Apis::ResellerV1::Customer] customer_object
# @param [String] customer_auth_token
# The `customerAuthToken` query string is required when creating a resold
# account that transfers a direct customer's subscription or transfers another
# reseller customer's subscription to your reseller management. This is a
# hexadecimal authentication token needed to complete the subscription transfer.
# For more information, see the administrator help center.
# @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::ResellerV1::Customer] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::ResellerV1::Customer]
#
# @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 insert_customer(customer_object = nil, customer_auth_token: nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:post, 'apps/reseller/v1/customers', options)
command.request_representation = Google::Apis::ResellerV1::Customer::Representation
command.request_object = customer_object
command.response_representation = Google::Apis::ResellerV1::Customer::Representation
command.response_class = Google::Apis::ResellerV1::Customer
command.query['customerAuthToken'] = customer_auth_token unless customer_auth_token.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Updates a customer account's settings. This method supports patch semantics.
# You cannot update `customerType` via the Reseller API, but a `"team"` customer
# can verify their domain and become `customerType = "domain"`. For more
# information, see [Verify your domain to unlock Essentials features](https://
# support.google.com/a/answer/9122284).
# @param [String] customer_id
# This can be either the customer's primary domain name or the customer's unique
# identifier. If the domain name for a customer changes, the old domain name
# cannot be used to access the customer, but the customer's unique identifier (
# as returned by the API) can always be used. We recommend storing the unique
# identifier in your systems where applicable.
# @param [Google::Apis::ResellerV1::Customer] customer_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::ResellerV1::Customer] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::ResellerV1::Customer]
#
# @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 patch_customer(customer_id, customer_object = nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:patch, 'apps/reseller/v1/customers/{customerId}', options)
command.request_representation = Google::Apis::ResellerV1::Customer::Representation
command.request_object = customer_object
command.response_representation = Google::Apis::ResellerV1::Customer::Representation
command.response_class = Google::Apis::ResellerV1::Customer
command.params['customerId'] = customer_id unless customer_id.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Updates a customer account's settings. You cannot update `customerType` via
# the Reseller API, but a `"team"` customer can verify their domain and become `
# customerType = "domain"`. For more information, see [update a customer's
# settings](/admin-sdk/reseller/v1/how-tos/manage_customers#update_customer).
# @param [String] customer_id
# This can be either the customer's primary domain name or the customer's unique
# identifier. If the domain name for a customer changes, the old domain name
# cannot be used to access the customer, but the customer's unique identifier (
# as returned by the API) can always be used. We recommend storing the unique
# identifier in your systems where applicable.
# @param [Google::Apis::ResellerV1::Customer] customer_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::ResellerV1::Customer] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::ResellerV1::Customer]
#
# @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 update_customer(customer_id, customer_object = nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:put, 'apps/reseller/v1/customers/{customerId}', options)
command.request_representation = Google::Apis::ResellerV1::Customer::Representation
command.request_object = customer_object
command.response_representation = Google::Apis::ResellerV1::Customer::Representation
command.response_class = Google::Apis::ResellerV1::Customer
command.params['customerId'] = customer_id unless customer_id.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Returns all the details of the watch corresponding to the reseller.
# @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::ResellerV1::ResellernotifyGetwatchdetailsResponse] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::ResellerV1::ResellernotifyGetwatchdetailsResponse]
#
# @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 getwatchdetails_resellernotify(fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:get, 'apps/reseller/v1/resellernotify/getwatchdetails', options)
command.response_representation = Google::Apis::ResellerV1::ResellernotifyGetwatchdetailsResponse::Representation
command.response_class = Google::Apis::ResellerV1::ResellernotifyGetwatchdetailsResponse
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Registers a Reseller for receiving notifications.
# @param [String] service_account_email_address
# The service account which will own the created Cloud-PubSub topic.
# @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::ResellerV1::ResellernotifyResource] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::ResellerV1::ResellernotifyResource]
#
# @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 register_resellernotify(service_account_email_address: nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:post, 'apps/reseller/v1/resellernotify/register', options)
command.response_representation = Google::Apis::ResellerV1::ResellernotifyResource::Representation
command.response_class = Google::Apis::ResellerV1::ResellernotifyResource
command.query['serviceAccountEmailAddress'] = service_account_email_address unless service_account_email_address.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Unregisters a Reseller for receiving notifications.
# @param [String] service_account_email_address
# The service account which owns the Cloud-PubSub topic.
# @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::ResellerV1::ResellernotifyResource] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::ResellerV1::ResellernotifyResource]
#
# @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 unregister_resellernotify(service_account_email_address: nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:post, 'apps/reseller/v1/resellernotify/unregister', options)
command.response_representation = Google::Apis::ResellerV1::ResellernotifyResource::Representation
command.response_class = Google::Apis::ResellerV1::ResellernotifyResource
command.query['serviceAccountEmailAddress'] = service_account_email_address unless service_account_email_address.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Activates a subscription previously suspended by the reseller. If you did not
# suspend the customer subscription and it is suspended for any other reason,
# such as for abuse or a pending ToS acceptance, this call will not reactivate
# the customer subscription.
# @param [String] customer_id
# This can be either the customer's primary domain name or the customer's unique
# identifier. If the domain name for a customer changes, the old domain name
# cannot be used to access the customer, but the customer's unique identifier (
# as returned by the API) can always be used. We recommend storing the unique
# identifier in your systems where applicable.
# @param [String] subscription_id
# This is a required property. The `subscriptionId` is the subscription
# identifier and is unique for each customer. Since a `subscriptionId` changes
# when a subscription is updated, we recommend to not use this ID as a key for
# persistent data. And the `subscriptionId` can be found using the retrieve all
# reseller subscriptions method.
# @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::ResellerV1::Subscription] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::ResellerV1::Subscription]
#
# @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 activate_subscription(customer_id, subscription_id, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:post, 'apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/activate', options)
command.response_representation = Google::Apis::ResellerV1::Subscription::Representation
command.response_class = Google::Apis::ResellerV1::Subscription
command.params['customerId'] = customer_id unless customer_id.nil?
command.params['subscriptionId'] = subscription_id unless subscription_id.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Updates a subscription plan. Use this method to update a plan for a 30-day
# trial or a flexible plan subscription to an annual commitment plan with
# monthly or yearly payments. How a plan is updated differs depending on the
# plan and the products. For more information, see the description in [manage
# subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#
# update_subscription_plan).
# @param [String] customer_id
# This can be either the customer's primary domain name or the customer's unique
# identifier. If the domain name for a customer changes, the old domain name
# cannot be used to access the customer, but the customer's unique identifier (
# as returned by the API) can always be used. We recommend storing the unique
# identifier in your systems where applicable.
# @param [String] subscription_id
# This is a required property. The `subscriptionId` is the subscription
# identifier and is unique for each customer. Since a `subscriptionId` changes
# when a subscription is updated, we recommend to not use this ID as a key for
# persistent data. And the `subscriptionId` can be found using the retrieve all
# reseller subscriptions method.
# @param [Google::Apis::ResellerV1::ChangePlanRequest] change_plan_request_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::ResellerV1::Subscription] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::ResellerV1::Subscription]
#
# @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 change_subscription_plan(customer_id, subscription_id, change_plan_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:post, 'apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/changePlan', options)
command.request_representation = Google::Apis::ResellerV1::ChangePlanRequest::Representation
command.request_object = change_plan_request_object
command.response_representation = Google::Apis::ResellerV1::Subscription::Representation
command.response_class = Google::Apis::ResellerV1::Subscription
command.params['customerId'] = customer_id unless customer_id.nil?
command.params['subscriptionId'] = subscription_id unless subscription_id.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Updates a user license's renewal settings. This is applicable for accounts
# with annual commitment plans only. For more information, see the description
# in [manage subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#
# update_renewal).
# @param [String] customer_id
# This can be either the customer's primary domain name or the customer's unique
# identifier. If the domain name for a customer changes, the old domain name
# cannot be used to access the customer, but the customer's unique identifier (
# as returned by the API) can always be used. We recommend storing the unique
# identifier in your systems where applicable.
# @param [String] subscription_id
# This is a required property. The `subscriptionId` is the subscription
# identifier and is unique for each customer. Since a `subscriptionId` changes
# when a subscription is updated, we recommend to not use this ID as a key for
# persistent data. And the `subscriptionId` can be found using the retrieve all
# reseller subscriptions method.
# @param [Google::Apis::ResellerV1::RenewalSettings] renewal_settings_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::ResellerV1::Subscription] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::ResellerV1::Subscription]
#
# @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 change_subscription_renewal_settings(customer_id, subscription_id, renewal_settings_object = nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:post, 'apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/changeRenewalSettings', options)
command.request_representation = Google::Apis::ResellerV1::RenewalSettings::Representation
command.request_object = renewal_settings_object
command.response_representation = Google::Apis::ResellerV1::Subscription::Representation
command.response_class = Google::Apis::ResellerV1::Subscription
command.params['customerId'] = customer_id unless customer_id.nil?
command.params['subscriptionId'] = subscription_id unless subscription_id.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Updates a subscription's user license settings. For more information about
# updating an annual commitment plan or a flexible plan subscriptions licenses,
# see [Manage Subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#
# update_subscription_seat).
# @param [String] customer_id
# This can be either the customer's primary domain name or the customer's unique
# identifier. If the domain name for a customer changes, the old domain name
# cannot be used to access the customer, but the customer's unique identifier (
# as returned by the API) can always be used. We recommend storing the unique
# identifier in your systems where applicable.
# @param [String] subscription_id
# This is a required property. The `subscriptionId` is the subscription
# identifier and is unique for each customer. Since a `subscriptionId` changes
# when a subscription is updated, we recommend to not use this ID as a key for
# persistent data. And the `subscriptionId` can be found using the retrieve all
# reseller subscriptions method.
# @param [Google::Apis::ResellerV1::Seats] seats_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::ResellerV1::Subscription] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::ResellerV1::Subscription]
#
# @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 change_subscription_seats(customer_id, subscription_id, seats_object = nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:post, 'apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/changeSeats', options)
command.request_representation = Google::Apis::ResellerV1::Seats::Representation
command.request_object = seats_object
command.response_representation = Google::Apis::ResellerV1::Subscription::Representation
command.response_class = Google::Apis::ResellerV1::Subscription
command.params['customerId'] = customer_id unless customer_id.nil?
command.params['subscriptionId'] = subscription_id unless subscription_id.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Cancels, suspends, or transfers a subscription to direct.
# @param [String] customer_id
# This can be either the customer's primary domain name or the customer's unique
# identifier. If the domain name for a customer changes, the old domain name
# cannot be used to access the customer, but the customer's unique identifier (
# as returned by the API) can always be used. We recommend storing the unique
# identifier in your systems where applicable.
# @param [String] subscription_id
# This is a required property. The `subscriptionId` is the subscription
# identifier and is unique for each customer. Since a `subscriptionId` changes
# when a subscription is updated, we recommend to not use this ID as a key for
# persistent data. And the `subscriptionId` can be found using the retrieve all
# reseller subscriptions method.
# @param [String] deletion_type
# The `deletionType` query string enables the cancellation, downgrade, or
# suspension of a subscription.
# @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 [NilClass] No result returned for this method
# @yieldparam err [StandardError] error object if request failed
#
# @return [void]
#
# @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_subscription(customer_id, subscription_id, deletion_type, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:delete, 'apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}', options)
command.params['customerId'] = customer_id unless customer_id.nil?
command.params['subscriptionId'] = subscription_id unless subscription_id.nil?
command.query['deletionType'] = deletion_type unless deletion_type.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Gets a specific subscription. The `subscriptionId` can be found using the [
# Retrieve all reseller subscriptions](/admin-sdk/reseller/v1/how-tos/
# manage_subscriptions#get_all_subscriptions) method. For more information about
# retrieving a specific subscription, see the information descrived in [manage
# subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#
# get_subscription).
# @param [String] customer_id
# This can be either the customer's primary domain name or the customer's unique
# identifier. If the domain name for a customer changes, the old domain name
# cannot be used to access the customer, but the customer's unique identifier (
# as returned by the API) can always be used. We recommend storing the unique
# identifier in your systems where applicable.
# @param [String] subscription_id
# This is a required property. The `subscriptionId` is the subscription
# identifier and is unique for each customer. Since a `subscriptionId` changes
# when a subscription is updated, we recommend to not use this ID as a key for
# persistent data. And the `subscriptionId` can be found using the retrieve all
# reseller subscriptions method.
# @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::ResellerV1::Subscription] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::ResellerV1::Subscription]
#
# @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_subscription(customer_id, subscription_id, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:get, 'apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}', options)
command.response_representation = Google::Apis::ResellerV1::Subscription::Representation
command.response_class = Google::Apis::ResellerV1::Subscription
command.params['customerId'] = customer_id unless customer_id.nil?
command.params['subscriptionId'] = subscription_id unless subscription_id.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Creates or transfer a subscription. Create a subscription for a customer's
# account that you ordered using the [Order a new customer account](/admin-sdk/
# reseller/v1/reference/customers/insert.html) method. For more information
# about creating a subscription for different payment plans, see [manage
# subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#
# create_subscription).\ If you did not order the customer's account using the
# customer insert method, use the customer's `customerAuthToken` when creating a
# subscription for that customer. If transferring a G Suite subscription with an
# associated Google Drive or Google Vault subscription, use the [batch operation]
# (/admin-sdk/reseller/v1/how-tos/batch.html) to transfer all of these
# subscriptions. For more information, see how to [transfer subscriptions](/
# admin-sdk/reseller/v1/how-tos/manage_subscriptions#transfer_a_subscription).
# @param [String] customer_id
# This can be either the customer's primary domain name or the customer's unique
# identifier. If the domain name for a customer changes, the old domain name
# cannot be used to access the customer, but the customer's unique identifier (
# as returned by the API) can always be used. We recommend storing the unique
# identifier in your systems where applicable.
# @param [Google::Apis::ResellerV1::Subscription] subscription_object
# @param [String] customer_auth_token
# The `customerAuthToken` query string is required when creating a resold
# account that transfers a direct customer's subscription or transfers another
# reseller customer's subscription to your reseller management. This is a
# hexadecimal authentication token needed to complete the subscription transfer.
# For more information, see the administrator help center.
# @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::ResellerV1::Subscription] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::ResellerV1::Subscription]
#
# @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 insert_subscription(customer_id, subscription_object = nil, customer_auth_token: nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:post, 'apps/reseller/v1/customers/{customerId}/subscriptions', options)
command.request_representation = Google::Apis::ResellerV1::Subscription::Representation
command.request_object = subscription_object
command.response_representation = Google::Apis::ResellerV1::Subscription::Representation
command.response_class = Google::Apis::ResellerV1::Subscription
command.params['customerId'] = customer_id unless customer_id.nil?
command.query['customerAuthToken'] = customer_auth_token unless customer_auth_token.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Lists of subscriptions managed by the reseller. The list can be all
# subscriptions, all of a customer's subscriptions, or all of a customer's
# transferable subscriptions. Optionally, this method can filter the response by
# a `customerNamePrefix`. For more information, see [manage subscriptions](/
# admin-sdk/reseller/v1/how-tos/manage_subscriptions).
# @param [String] customer_auth_token
# The `customerAuthToken` query string is required when creating a resold
# account that transfers a direct customer's subscription or transfers another
# reseller customer's subscription to your reseller management. This is a
# hexadecimal authentication token needed to complete the subscription transfer.
# For more information, see the administrator help center.
# @param [String] customer_id
# This can be either the customer's primary domain name or the customer's unique
# identifier. If the domain name for a customer changes, the old domain name
# cannot be used to access the customer, but the customer's unique identifier (
# as returned by the API) can always be used. We recommend storing the unique
# identifier in your systems where applicable.
# @param [String] customer_name_prefix
# When retrieving all of your subscriptions and filtering for specific customers,
# you can enter a prefix for a customer name. Using an example customer group
# that includes `exam.com`, `example20.com` and `example.com`: - `exa` --
# Returns all customer names that start with 'exa' which could include `exam.com`
# , `example20.com`, and `example.com`. A name prefix is similar to using a
# regular expression's asterisk, exa*. - `example` -- Returns `example20.com`
# and `example.com`.
# @param [Fixnum] max_results
# When retrieving a large list, the `maxResults` is the maximum number of
# results per page. The `nextPageToken` value takes you to the next page. The
# default is 20.
# @param [String] page_token
# Token to specify next page in the list
# @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::ResellerV1::Subscriptions] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::ResellerV1::Subscriptions]
#
# @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_subscriptions(customer_auth_token: nil, customer_id: nil, customer_name_prefix: nil, max_results: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:get, 'apps/reseller/v1/subscriptions', options)
command.response_representation = Google::Apis::ResellerV1::Subscriptions::Representation
command.response_class = Google::Apis::ResellerV1::Subscriptions
command.query['customerAuthToken'] = customer_auth_token unless customer_auth_token.nil?
command.query['customerId'] = customer_id unless customer_id.nil?
command.query['customerNamePrefix'] = customer_name_prefix unless customer_name_prefix.nil?
command.query['maxResults'] = max_results unless max_results.nil?
command.query['pageToken'] = page_token unless page_token.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Immediately move a 30-day free trial subscription to a paid service
# subscription. This method is only applicable if a payment plan has already
# been set up for the 30-day trial subscription. For more information, see [
# manage subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#
# paid_service).
# @param [String] customer_id
# This can be either the customer's primary domain name or the customer's unique
# identifier. If the domain name for a customer changes, the old domain name
# cannot be used to access the customer, but the customer's unique identifier (
# as returned by the API) can always be used. We recommend storing the unique
# identifier in your systems where applicable.
# @param [String] subscription_id
# This is a required property. The `subscriptionId` is the subscription
# identifier and is unique for each customer. Since a `subscriptionId` changes
# when a subscription is updated, we recommend to not use this ID as a key for
# persistent data. And the `subscriptionId` can be found using the retrieve all
# reseller subscriptions method.
# @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::ResellerV1::Subscription] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::ResellerV1::Subscription]
#
# @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 start_subscription_paid_service(customer_id, subscription_id, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:post, 'apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/startPaidService', options)
command.response_representation = Google::Apis::ResellerV1::Subscription::Representation
command.response_class = Google::Apis::ResellerV1::Subscription
command.params['customerId'] = customer_id unless customer_id.nil?
command.params['subscriptionId'] = subscription_id unless subscription_id.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Suspends an active subscription. You can use this method to suspend a paid
# subscription that is currently in the `ACTIVE` state. * For `FLEXIBLE`
# subscriptions, billing is paused. * For `ANNUAL_MONTHLY_PAY` or `
# ANNUAL_YEARLY_PAY` subscriptions: * Suspending the subscription does not
# change the renewal date that was originally committed to. * A suspended
# subscription does not renew. If you activate the subscription after the
# original renewal date, a new annual subscription will be created, starting on
# the day of activation. We strongly encourage you to suspend subscriptions only
# for short periods of time as suspensions over 60 days may result in the
# subscription being cancelled.
# @param [String] customer_id
# This can be either the customer's primary domain name or the customer's unique
# identifier. If the domain name for a customer changes, the old domain name
# cannot be used to access the customer, but the customer's unique identifier (
# as returned by the API) can always be used. We recommend storing the unique
# identifier in your systems where applicable.
# @param [String] subscription_id
# This is a required property. The `subscriptionId` is the subscription
# identifier and is unique for each customer. Since a `subscriptionId` changes
# when a subscription is updated, we recommend to not use this ID as a key for
# persistent data. And the `subscriptionId` can be found using the retrieve all
# reseller subscriptions method.
# @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::ResellerV1::Subscription] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::ResellerV1::Subscription]
#
# @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 suspend_subscription(customer_id, subscription_id, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:post, 'apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/suspend', options)
command.response_representation = Google::Apis::ResellerV1::Subscription::Representation
command.response_class = Google::Apis::ResellerV1::Subscription
command.params['customerId'] = customer_id unless customer_id.nil?
command.params['subscriptionId'] = subscription_id unless subscription_id.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