2015-06-23 23:05:46 +00:00
|
|
|
# Copyright 2015 Google Inc.
|
|
|
|
#
|
|
|
|
# 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 'date'
|
|
|
|
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
|
|
|
|
|
|
|
|
# JSON template for address of a customer.
|
|
|
|
class Address
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# A customer's physical address. An address can be composed of one to three
|
|
|
|
# lines. The addressline2 and addressLine3 are optional.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `addressLine1`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :address_line1
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# Line 2 of the address.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `addressLine2`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :address_line2
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# Line 3 of the address.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `addressLine3`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :address_line3
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# The customer contact's name. This is required.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `contactName`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :contact_name
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# For countryCode information, see the ISO 3166 country code elements. Verify
|
|
|
|
# that country is approved for resale of Google products. This property is
|
|
|
|
# required when creating a new customer.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `countryCode`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :country_code
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# Identifies the resource as a customer address. Value: customers#address
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `kind`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :kind
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# An example of a locality value is the city of San Francisco.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `locality`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :locality
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# The company or company division name. This is required.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `organizationName`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :organization_name
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# A postalCode example is a postal zip code such as 94043. This property is
|
|
|
|
# required when creating a new customer.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `postalCode`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :postal_code
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# An example of a region value is CA for the state of California.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `region`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :region
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@address_line1 = args[:address_line1] if args.key?(:address_line1)
|
|
|
|
@address_line2 = args[:address_line2] if args.key?(:address_line2)
|
|
|
|
@address_line3 = args[:address_line3] if args.key?(:address_line3)
|
|
|
|
@contact_name = args[:contact_name] if args.key?(:contact_name)
|
|
|
|
@country_code = args[:country_code] if args.key?(:country_code)
|
|
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
|
|
@locality = args[:locality] if args.key?(:locality)
|
|
|
|
@organization_name = args[:organization_name] if args.key?(:organization_name)
|
|
|
|
@postal_code = args[:postal_code] if args.key?(:postal_code)
|
|
|
|
@region = args[:region] if args.key?(:region)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# JSON template for the ChangePlan rpc request.
|
|
|
|
class ChangePlanRequest
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# Google-issued code (100 char max) for discounted pricing on subscription plans.
|
|
|
|
# Deal code must be included in changePlan request in order to receive
|
|
|
|
# discounted rate. This property is optional. If a deal code has already been
|
|
|
|
# added to a subscription, this property may be left empty and the existing
|
|
|
|
# discounted rate will still apply (if not empty, only provide the deal code
|
|
|
|
# that is already present on the subscription). If a deal code has never been
|
|
|
|
# added to a subscription and this property is left blank, regular pricing will
|
|
|
|
# apply.
|
2016-04-14 18:15:27 +00:00
|
|
|
# Corresponds to the JSON property `dealCode`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :deal_code
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# Identifies the resource as a subscription change plan request. Value:
|
|
|
|
# subscriptions#changePlanRequest
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `kind`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :kind
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# The planName property is required. This is the name of the subscription's
|
|
|
|
# payment plan. For more information about the Google payment plans, see API
|
|
|
|
# concepts.
|
|
|
|
# Possible values are:
|
|
|
|
# - ANNUAL_MONTHLY_PAY - The annual commitment plan with monthly payments
|
|
|
|
# - ANNUAL_YEARLY_PAY - The annual commitment plan with yearly payments
|
|
|
|
# - FLEXIBLE - The flexible plan
|
|
|
|
# - TRIAL - The 30-day free trial plan
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `planName`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :plan_name
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# This is an optional property. This purchase order (PO) information is for
|
|
|
|
# resellers to use for their company tracking usage. If a purchaseOrderId value
|
|
|
|
# is given it appears in the API responses and shows up in the invoice. The
|
|
|
|
# property accepts up to 80 plain text characters.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `purchaseOrderId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :purchase_order_id
|
|
|
|
|
|
|
|
# JSON template for subscription seats.
|
|
|
|
# Corresponds to the JSON property `seats`
|
|
|
|
# @return [Google::Apis::ResellerV1::Seats]
|
|
|
|
attr_accessor :seats
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-04-14 18:15:27 +00:00
|
|
|
@deal_code = args[:deal_code] if args.key?(:deal_code)
|
2016-01-29 22:32:46 +00:00
|
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
|
|
@plan_name = args[:plan_name] if args.key?(:plan_name)
|
|
|
|
@purchase_order_id = args[:purchase_order_id] if args.key?(:purchase_order_id)
|
|
|
|
@seats = args[:seats] if args.key?(:seats)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# JSON template for a customer.
|
|
|
|
class Customer
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# Like the "Customer email" in the reseller tools, this email is the secondary
|
|
|
|
# contact used if something happens to the customer's service such as service
|
|
|
|
# outage or a security issue. This property is required when creating a new
|
|
|
|
# customer and should not use the same domain as customerDomain.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `alternateEmail`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :alternate_email
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# The customer's primary domain name string. customerDomain is required when
|
|
|
|
# creating a new customer. Do not include the www prefix in the domain when
|
|
|
|
# adding a customer.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `customerDomain`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :customer_domain
|
|
|
|
|
2015-12-03 01:10:07 +00:00
|
|
|
# Whether the customer's primary domain has been verified.
|
|
|
|
# Corresponds to the JSON property `customerDomainVerified`
|
|
|
|
# @return [Boolean]
|
|
|
|
attr_accessor :customer_domain_verified
|
|
|
|
alias_method :customer_domain_verified?, :customer_domain_verified
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# This property will always be returned in a response as the unique identifier
|
|
|
|
# generated by Google. In a request, this property can be either the primary
|
|
|
|
# domain or the unique identifier generated by Google.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `customerId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :customer_id
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# Identifies the resource as a customer. Value: reseller#customer
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `kind`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :kind
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# Customer contact phone number. This can be continuous numbers, with spaces,
|
|
|
|
# etc. But it must be a real phone number and not, for example, "123". See phone
|
|
|
|
# local format conventions.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `phoneNumber`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :phone_number
|
|
|
|
|
|
|
|
# JSON template for address of a customer.
|
|
|
|
# Corresponds to the JSON property `postalAddress`
|
|
|
|
# @return [Google::Apis::ResellerV1::Address]
|
|
|
|
attr_accessor :postal_address
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# URL to customer's Admin console dashboard. The read-only URL is generated by
|
|
|
|
# the API service. This is used if your client application requires the customer
|
|
|
|
# to complete a task in the Admin console.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `resourceUiUrl`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :resource_ui_url
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@alternate_email = args[:alternate_email] if args.key?(:alternate_email)
|
|
|
|
@customer_domain = args[:customer_domain] if args.key?(:customer_domain)
|
|
|
|
@customer_domain_verified = args[:customer_domain_verified] if args.key?(:customer_domain_verified)
|
|
|
|
@customer_id = args[:customer_id] if args.key?(:customer_id)
|
|
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
|
|
@phone_number = args[:phone_number] if args.key?(:phone_number)
|
|
|
|
@postal_address = args[:postal_address] if args.key?(:postal_address)
|
|
|
|
@resource_ui_url = args[:resource_ui_url] if args.key?(:resource_ui_url)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# JSON template for a subscription renewal settings.
|
|
|
|
class RenewalSettings
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# Identifies the resource as a subscription renewal setting. Value:
|
|
|
|
# subscriptions#renewalSettings
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `kind`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :kind
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# Renewal settings for the annual commitment plan. For more detailed information,
|
|
|
|
# see renewal options in the administrator help center. When renewing a
|
|
|
|
# subscription, the renewalType is a required property.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `renewalType`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :renewal_type
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
|
|
@renewal_type = args[:renewal_type] if args.key?(:renewal_type)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# JSON template for resellernotify getwatchdetails response.
|
|
|
|
class ResellernotifyGetwatchdetailsResponse
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# List of registered service accounts.
|
|
|
|
# Corresponds to the JSON property `serviceAccountEmailAddresses`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :service_account_email_addresses
|
|
|
|
|
|
|
|
# Topic name of the PubSub
|
|
|
|
# Corresponds to the JSON property `topicName`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :topic_name
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@service_account_email_addresses = args[:service_account_email_addresses] if args.key?(:service_account_email_addresses)
|
|
|
|
@topic_name = args[:topic_name] if args.key?(:topic_name)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# JSON template for resellernotify response.
|
|
|
|
class ResellernotifyResource
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# Topic name of the PubSub
|
|
|
|
# Corresponds to the JSON property `topicName`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :topic_name
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@topic_name = args[:topic_name] if args.key?(:topic_name)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2015-06-23 23:05:46 +00:00
|
|
|
# JSON template for subscription seats.
|
|
|
|
class Seats
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# Identifies the resource as a subscription change plan request. Value:
|
|
|
|
# subscriptions#seats
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `kind`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :kind
|
|
|
|
|
|
|
|
# Read-only field containing the current number of licensed seats for FLEXIBLE
|
|
|
|
# Google-Apps subscriptions and secondary subscriptions such as Google-Vault and
|
|
|
|
# Drive-storage.
|
|
|
|
# Corresponds to the JSON property `licensedNumberOfSeats`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :licensed_number_of_seats
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# The maximumNumberOfSeats property is the maximum number of licenses that the
|
|
|
|
# customer can purchase. This property applies to plans other than the annual
|
|
|
|
# commitment plan. How a user's licenses are managed depends on the subscription'
|
|
|
|
# s payment plan:
|
|
|
|
# - annual commitment plan (with monthly or yearly payments) — For this plan, a
|
|
|
|
# reseller is invoiced on the number of user licenses in the numberOfSeats
|
|
|
|
# property. The maximumNumberOfSeats property is a read-only property in the API'
|
|
|
|
# s response.
|
|
|
|
# - flexible plan — For this plan, a reseller is invoiced on the actual number
|
|
|
|
# of users which is capped by the maximumNumberOfSeats. This is the maximum
|
|
|
|
# number of user licenses a customer has for user license provisioning. This
|
|
|
|
# quantity can be increased up to the maximum limit defined in the reseller's
|
|
|
|
# contract. And the minimum quantity is the current number of users in the
|
|
|
|
# customer account.
|
|
|
|
# - 30-day free trial plan — A subscription in a 30-day free trial is restricted
|
|
|
|
# to maximum 10 seats.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `maximumNumberOfSeats`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :maximum_number_of_seats
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# The numberOfSeats property holds the customer's number of user licenses. How a
|
|
|
|
# user's licenses are managed depends on the subscription's plan:
|
|
|
|
# - annual commitment plan (with monthly or yearly pay) — For this plan, a
|
|
|
|
# reseller is invoiced on the number of user licenses in the numberOfSeats
|
|
|
|
# property. This is the maximum number of user licenses that a reseller's
|
|
|
|
# customer can create. The reseller can add more licenses, but once set, the
|
|
|
|
# numberOfSeats can not be reduced until renewal. The reseller is invoiced based
|
|
|
|
# on the numberOfSeats value regardless of how many of these user licenses are
|
|
|
|
# provisioned users.
|
|
|
|
# - flexible plan — For this plan, a reseller is invoiced on the actual number
|
|
|
|
# of users which is capped by the maximumNumberOfSeats. The numberOfSeats
|
|
|
|
# property is not used in the request or response for flexible plan customers.
|
|
|
|
# - 30-day free trial plan — The numberOfSeats property is not used in the
|
|
|
|
# request or response for an account in a 30-day trial.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `numberOfSeats`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :number_of_seats
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
|
|
@licensed_number_of_seats = args[:licensed_number_of_seats] if args.key?(:licensed_number_of_seats)
|
|
|
|
@maximum_number_of_seats = args[:maximum_number_of_seats] if args.key?(:maximum_number_of_seats)
|
|
|
|
@number_of_seats = args[:number_of_seats] if args.key?(:number_of_seats)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# JSON template for a subscription.
|
|
|
|
class Subscription
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# Read-only field that returns the current billing method for a subscription.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `billingMethod`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :billing_method
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# The creationTime property is the date when subscription was created. It is in
|
|
|
|
# milliseconds using the Epoch format. See an example Epoch converter.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `creationTime`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :creation_time
|
|
|
|
|
2016-02-25 23:16:53 +00:00
|
|
|
# Primary domain name of the customer
|
|
|
|
# Corresponds to the JSON property `customerDomain`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :customer_domain
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# This property will always be returned in a response as the unique identifier
|
|
|
|
# generated by Google. In a request, this property can be either the primary
|
|
|
|
# domain or the unique identifier generated by Google.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `customerId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :customer_id
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# Google-issued code (100 char max) for discounted pricing on subscription plans.
|
|
|
|
# Deal code must be included in insert requests in order to receive discounted
|
|
|
|
# rate. This property is optional, regular pricing applies if left empty.
|
2016-04-14 18:15:27 +00:00
|
|
|
# Corresponds to the JSON property `dealCode`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :deal_code
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# Identifies the resource as a Subscription. Value: reseller#subscription
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `kind`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :kind
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# The plan property is required. In this version of the API, the G Suite plans
|
|
|
|
# are the flexible plan, annual commitment plan, and the 30-day free trial plan.
|
|
|
|
# For more information about the API"s payment plans, see the API concepts.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `plan`
|
|
|
|
# @return [Google::Apis::ResellerV1::Subscription::Plan]
|
|
|
|
attr_accessor :plan
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# This is an optional property. This purchase order (PO) information is for
|
|
|
|
# resellers to use for their company tracking usage. If a purchaseOrderId value
|
|
|
|
# is given it appears in the API responses and shows up in the invoice. The
|
|
|
|
# property accepts up to 80 plain text characters.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `purchaseOrderId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :purchase_order_id
|
|
|
|
|
|
|
|
# JSON template for a subscription renewal settings.
|
|
|
|
# Corresponds to the JSON property `renewalSettings`
|
|
|
|
# @return [Google::Apis::ResellerV1::RenewalSettings]
|
|
|
|
attr_accessor :renewal_settings
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# URL to customer's Subscriptions page in the Admin console. The read-only URL
|
|
|
|
# is generated by the API service. This is used if your client application
|
|
|
|
# requires the customer to complete a task using the Subscriptions page in the
|
|
|
|
# Admin console.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `resourceUiUrl`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :resource_ui_url
|
|
|
|
|
|
|
|
# JSON template for subscription seats.
|
|
|
|
# Corresponds to the JSON property `seats`
|
|
|
|
# @return [Google::Apis::ResellerV1::Seats]
|
|
|
|
attr_accessor :seats
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# A required property. The skuId is a unique system identifier for a product's
|
|
|
|
# SKU assigned to a customer in the subscription. For products and SKUs
|
|
|
|
# available in this version of the API, see Product and SKU IDs.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `skuId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :sku_id
|
|
|
|
|
2017-03-27 22:14:47 +00:00
|
|
|
# Read-only external display name for a product's SKU assigned to a customer in
|
|
|
|
# the subscription. SKU names are subject to change at Google's discretion. For
|
|
|
|
# products and SKUs available in this version of the API, see Product and SKU
|
|
|
|
# IDs.
|
|
|
|
# Corresponds to the JSON property `skuName`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :sku_name
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# This is an optional property.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `status`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :status
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# The subscriptionId is the subscription identifier and is unique for each
|
|
|
|
# customer. This is a required property. Since a subscriptionId changes when a
|
|
|
|
# subscription is updated, we recommend not using this ID as a key for
|
|
|
|
# persistent data. Use the subscriptionId as described in retrieve all reseller
|
|
|
|
# subscriptions.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `subscriptionId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :subscription_id
|
|
|
|
|
2016-04-14 18:15:27 +00:00
|
|
|
# Read-only field containing an enumerable of all the current suspension reasons
|
|
|
|
# for a subscription. It is possible for a subscription to have many concurrent,
|
|
|
|
# overlapping suspension reasons. A subscription's STATUS is SUSPENDED until all
|
2017-03-10 21:11:09 +00:00
|
|
|
# pending suspensions are removed.
|
|
|
|
# Possible options include:
|
|
|
|
# - PENDING_TOS_ACCEPTANCE - The customer has not logged in and accepted the G
|
|
|
|
# Suite Resold Terms of Services.
|
2016-04-14 18:15:27 +00:00
|
|
|
# - RENEWAL_WITH_TYPE_CANCEL - The customer's commitment ended and their service
|
2015-12-03 01:10:07 +00:00
|
|
|
# was cancelled at the end of their term.
|
2016-04-14 18:15:27 +00:00
|
|
|
# - RESELLER_INITIATED - A manual suspension invoked by a Reseller.
|
|
|
|
# - TRIAL_ENDED - The customer's trial expired without a plan selected.
|
|
|
|
# - OTHER - The customer is suspended for an internal Google reason (e.g. abuse
|
2015-12-03 01:10:07 +00:00
|
|
|
# or otherwise).
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `suspensionReasons`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :suspension_reasons
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# Read-only transfer related information for the subscription. For more
|
|
|
|
# information, see retrieve transferable subscriptions for a customer.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `transferInfo`
|
|
|
|
# @return [Google::Apis::ResellerV1::Subscription::TransferInfo]
|
|
|
|
attr_accessor :transfer_info
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# The G Suite annual commitment and flexible payment plans can be in a 30-day
|
|
|
|
# free trial. For more information, see the API concepts.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `trialSettings`
|
|
|
|
# @return [Google::Apis::ResellerV1::Subscription::TrialSettings]
|
|
|
|
attr_accessor :trial_settings
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@billing_method = args[:billing_method] if args.key?(:billing_method)
|
|
|
|
@creation_time = args[:creation_time] if args.key?(:creation_time)
|
2016-02-25 23:16:53 +00:00
|
|
|
@customer_domain = args[:customer_domain] if args.key?(:customer_domain)
|
2016-01-29 22:32:46 +00:00
|
|
|
@customer_id = args[:customer_id] if args.key?(:customer_id)
|
2016-04-14 18:15:27 +00:00
|
|
|
@deal_code = args[:deal_code] if args.key?(:deal_code)
|
2016-01-29 22:32:46 +00:00
|
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
|
|
@plan = args[:plan] if args.key?(:plan)
|
|
|
|
@purchase_order_id = args[:purchase_order_id] if args.key?(:purchase_order_id)
|
|
|
|
@renewal_settings = args[:renewal_settings] if args.key?(:renewal_settings)
|
|
|
|
@resource_ui_url = args[:resource_ui_url] if args.key?(:resource_ui_url)
|
|
|
|
@seats = args[:seats] if args.key?(:seats)
|
|
|
|
@sku_id = args[:sku_id] if args.key?(:sku_id)
|
2017-03-27 22:14:47 +00:00
|
|
|
@sku_name = args[:sku_name] if args.key?(:sku_name)
|
2016-01-29 22:32:46 +00:00
|
|
|
@status = args[:status] if args.key?(:status)
|
|
|
|
@subscription_id = args[:subscription_id] if args.key?(:subscription_id)
|
|
|
|
@suspension_reasons = args[:suspension_reasons] if args.key?(:suspension_reasons)
|
|
|
|
@transfer_info = args[:transfer_info] if args.key?(:transfer_info)
|
|
|
|
@trial_settings = args[:trial_settings] if args.key?(:trial_settings)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# The plan property is required. In this version of the API, the G Suite plans
|
|
|
|
# are the flexible plan, annual commitment plan, and the 30-day free trial plan.
|
|
|
|
# For more information about the API"s payment plans, see the API concepts.
|
2015-06-23 23:05:46 +00:00
|
|
|
class Plan
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# In this version of the API, annual commitment plan's interval is one year.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `commitmentInterval`
|
|
|
|
# @return [Google::Apis::ResellerV1::Subscription::Plan::CommitmentInterval]
|
|
|
|
attr_accessor :commitment_interval
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# The isCommitmentPlan property's boolean value identifies the plan as an annual
|
|
|
|
# commitment plan:
|
|
|
|
# - true — The subscription's plan is an annual commitment plan.
|
|
|
|
# - false — The plan is not an annual commitment plan.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `isCommitmentPlan`
|
|
|
|
# @return [Boolean]
|
|
|
|
attr_accessor :is_commitment_plan
|
|
|
|
alias_method :is_commitment_plan?, :is_commitment_plan
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# The planName property is required. This is the name of the subscription's plan.
|
|
|
|
# For more information about the Google payment plans, see the API concepts.
|
|
|
|
# Possible values are:
|
|
|
|
# - ANNUAL_MONTHLY_PAY — The annual commitment plan with monthly payments
|
|
|
|
# - ANNUAL_YEARLY_PAY — The annual commitment plan with yearly payments
|
|
|
|
# - FLEXIBLE — The flexible plan
|
|
|
|
# - TRIAL — The 30-day free trial plan. A subscription in trial will be
|
|
|
|
# suspended after the 30th free day if no payment plan is assigned. Calling
|
|
|
|
# changePlan will assign a payment plan to a trial but will not activate the
|
|
|
|
# plan. A trial will automatically begin its assigned payment plan after its
|
|
|
|
# 30th free day or immediately after calling startPaidService.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `planName`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :plan_name
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@commitment_interval = args[:commitment_interval] if args.key?(:commitment_interval)
|
|
|
|
@is_commitment_plan = args[:is_commitment_plan] if args.key?(:is_commitment_plan)
|
|
|
|
@plan_name = args[:plan_name] if args.key?(:plan_name)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# In this version of the API, annual commitment plan's interval is one year.
|
2015-06-23 23:05:46 +00:00
|
|
|
class CommitmentInterval
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# An annual commitment plan's interval's endTime in milliseconds using the UNIX
|
|
|
|
# Epoch format. See an example Epoch converter.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `endTime`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :end_time
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# An annual commitment plan's interval's startTime in milliseconds using UNIX
|
|
|
|
# Epoch format. See an example Epoch converter.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `startTime`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :start_time
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@end_time = args[:end_time] if args.key?(:end_time)
|
|
|
|
@start_time = args[:start_time] if args.key?(:start_time)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# Read-only transfer related information for the subscription. For more
|
|
|
|
# information, see retrieve transferable subscriptions for a customer.
|
2015-06-23 23:05:46 +00:00
|
|
|
class TransferInfo
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# When inserting a subscription, this is the minimum number of seats listed in
|
|
|
|
# the transfer order for this product. For example, if the customer has 20 users,
|
|
|
|
# the reseller cannot place a transfer order of 15 seats. The minimum is 20
|
|
|
|
# seats.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `minimumTransferableSeats`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :minimum_transferable_seats
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# The time when transfer token or intent to transfer will expire. The time is in
|
|
|
|
# milliseconds using UNIX Epoch format.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `transferabilityExpirationTime`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :transferability_expiration_time
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@minimum_transferable_seats = args[:minimum_transferable_seats] if args.key?(:minimum_transferable_seats)
|
|
|
|
@transferability_expiration_time = args[:transferability_expiration_time] if args.key?(:transferability_expiration_time)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# The G Suite annual commitment and flexible payment plans can be in a 30-day
|
|
|
|
# free trial. For more information, see the API concepts.
|
2015-06-23 23:05:46 +00:00
|
|
|
class TrialSettings
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# Determines if a subscription's plan is in a 30-day free trial or not:
|
|
|
|
# - true — The plan is in trial.
|
|
|
|
# - false — The plan is not in trial.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `isInTrial`
|
|
|
|
# @return [Boolean]
|
|
|
|
attr_accessor :is_in_trial
|
|
|
|
alias_method :is_in_trial?, :is_in_trial
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# Date when the trial ends. The value is in milliseconds using the UNIX Epoch
|
|
|
|
# format. See an example Epoch converter.
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `trialEndTime`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :trial_end_time
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@is_in_trial = args[:is_in_trial] if args.key?(:is_in_trial)
|
|
|
|
@trial_end_time = args[:trial_end_time] if args.key?(:trial_end_time)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# JSON template for a subscription list.
|
|
|
|
class Subscriptions
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-03-10 21:11:09 +00:00
|
|
|
# Identifies the resource as a collection of subscriptions. Value: reseller#
|
|
|
|
# subscriptions
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `kind`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :kind
|
|
|
|
|
|
|
|
# The continuation token, used to page through large result sets. Provide this
|
|
|
|
# value in a subsequent request to return the next page of results.
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
# The subscriptions in this page of results.
|
|
|
|
# Corresponds to the JSON property `subscriptions`
|
|
|
|
# @return [Array<Google::Apis::ResellerV1::Subscription>]
|
|
|
|
attr_accessor :subscriptions
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
@subscriptions = args[:subscriptions] if args.key?(:subscriptions)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|