| // This is a generated file (see the discoveryapis_generator project). |
| |
| // ignore_for_file: camel_case_types |
| // ignore_for_file: comment_references |
| // ignore_for_file: directives_ordering |
| // ignore_for_file: file_names |
| // ignore_for_file: library_names |
| // ignore_for_file: lines_longer_than_80_chars |
| // ignore_for_file: non_constant_identifier_names |
| // ignore_for_file: prefer_expression_function_bodies |
| // ignore_for_file: prefer_final_locals |
| // ignore_for_file: prefer_interpolation_to_compose_strings |
| // ignore_for_file: unnecessary_brace_in_string_interps |
| // ignore_for_file: unnecessary_cast |
| // ignore_for_file: unnecessary_lambdas |
| // ignore_for_file: unnecessary_parenthesis |
| // ignore_for_file: unnecessary_string_interpolations |
| |
| library googleapis.reseller.v1; |
| |
| import 'dart:core' as core; |
| import 'dart:async' as async; |
| import 'dart:convert' as convert; |
| |
| import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; |
| import 'package:http/http.dart' as http; |
| |
| export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' |
| show ApiRequestError, DetailedApiRequestError; |
| |
| const userAgent = 'dart-api-client reseller/v1'; |
| |
| /// Creates and manages your customers and their subscriptions. |
| class ResellerApi { |
| /// Manage users on your domain |
| static const appsOrderScope = 'https://www.googleapis.com/auth/apps.order'; |
| |
| /// Manage users on your domain |
| static const appsOrderReadonlyScope = |
| 'https://www.googleapis.com/auth/apps.order.readonly'; |
| |
| final commons.ApiRequester _requester; |
| |
| CustomersResourceApi get customers => CustomersResourceApi(_requester); |
| ResellernotifyResourceApi get resellernotify => |
| ResellernotifyResourceApi(_requester); |
| SubscriptionsResourceApi get subscriptions => |
| SubscriptionsResourceApi(_requester); |
| |
| ResellerApi(http.Client client, |
| {core.String rootUrl = 'https://www.googleapis.com/', |
| core.String servicePath = 'apps/reseller/v1/'}) |
| : _requester = |
| commons.ApiRequester(client, rootUrl, servicePath, userAgent); |
| } |
| |
| class CustomersResourceApi { |
| final commons.ApiRequester _requester; |
| |
| CustomersResourceApi(commons.ApiRequester client) : _requester = client; |
| |
| /// Get a customer account. |
| /// |
| /// Request parameters: |
| /// |
| /// [customerId] - Either the customer's primary domain name or the customer's |
| /// unique identifier. If using the domain name, we do not recommend using a |
| /// customerId as a key for persistent data. If the domain name for a |
| /// customerId is changed, the Google system automatically updates. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Customer]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Customer> get( |
| core.String customerId, { |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (customerId == null) { |
| throw core.ArgumentError('Parameter customerId is required.'); |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'customers/' + commons.Escaper.ecapeVariable('$customerId'); |
| |
| final _response = _requester.request( |
| _url, |
| 'GET', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then( |
| (data) => Customer.fromJson(data as core.Map<core.String, core.dynamic>), |
| ); |
| } |
| |
| /// Order a new customer's account. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [customerAuthToken] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Customer]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Customer> insert( |
| Customer request, { |
| core.String customerAuthToken, |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (request != null) { |
| _body = convert.json.encode(request.toJson()); |
| } |
| if (customerAuthToken != null) { |
| _queryParams['customerAuthToken'] = [customerAuthToken]; |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'customers'; |
| |
| final _response = _requester.request( |
| _url, |
| 'POST', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then( |
| (data) => Customer.fromJson(data as core.Map<core.String, core.dynamic>), |
| ); |
| } |
| |
| /// Update a customer account's settings. This method supports patch |
| /// semantics. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [customerId] - Either the customer's primary domain name or the customer's |
| /// unique identifier. If using the domain name, we do not recommend using a |
| /// customerId as a key for persistent data. If the domain name for a |
| /// customerId is changed, the Google system automatically updates. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Customer]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Customer> patch( |
| Customer request, |
| core.String customerId, { |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (request != null) { |
| _body = convert.json.encode(request.toJson()); |
| } |
| if (customerId == null) { |
| throw core.ArgumentError('Parameter customerId is required.'); |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'customers/' + commons.Escaper.ecapeVariable('$customerId'); |
| |
| final _response = _requester.request( |
| _url, |
| 'PATCH', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then( |
| (data) => Customer.fromJson(data as core.Map<core.String, core.dynamic>), |
| ); |
| } |
| |
| /// Update a customer account's settings. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [customerId] - Either the customer's primary domain name or the customer's |
| /// unique identifier. If using the domain name, we do not recommend using a |
| /// customerId as a key for persistent data. If the domain name for a |
| /// customerId is changed, the Google system automatically updates. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Customer]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Customer> update( |
| Customer request, |
| core.String customerId, { |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (request != null) { |
| _body = convert.json.encode(request.toJson()); |
| } |
| if (customerId == null) { |
| throw core.ArgumentError('Parameter customerId is required.'); |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'customers/' + commons.Escaper.ecapeVariable('$customerId'); |
| |
| final _response = _requester.request( |
| _url, |
| 'PUT', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then( |
| (data) => Customer.fromJson(data as core.Map<core.String, core.dynamic>), |
| ); |
| } |
| } |
| |
| class ResellernotifyResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ResellernotifyResourceApi(commons.ApiRequester client) : _requester = client; |
| |
| /// Returns all the details of the watch corresponding to the reseller. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ResellernotifyGetwatchdetailsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ResellernotifyGetwatchdetailsResponse> getwatchdetails({ |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'resellernotify/getwatchdetails'; |
| |
| final _response = _requester.request( |
| _url, |
| 'GET', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then( |
| (data) => ResellernotifyGetwatchdetailsResponse.fromJson( |
| data as core.Map<core.String, core.dynamic>), |
| ); |
| } |
| |
| /// Registers a Reseller for receiving notifications. |
| /// |
| /// Request parameters: |
| /// |
| /// [serviceAccountEmailAddress] - The service account which will own the |
| /// created Cloud-PubSub topic. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ResellernotifyResource]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ResellernotifyResource> register({ |
| core.String serviceAccountEmailAddress, |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (serviceAccountEmailAddress != null) { |
| _queryParams['serviceAccountEmailAddress'] = [serviceAccountEmailAddress]; |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'resellernotify/register'; |
| |
| final _response = _requester.request( |
| _url, |
| 'POST', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then( |
| (data) => ResellernotifyResource.fromJson( |
| data as core.Map<core.String, core.dynamic>), |
| ); |
| } |
| |
| /// Unregisters a Reseller for receiving notifications. |
| /// |
| /// Request parameters: |
| /// |
| /// [serviceAccountEmailAddress] - The service account which owns the |
| /// Cloud-PubSub topic. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ResellernotifyResource]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ResellernotifyResource> unregister({ |
| core.String serviceAccountEmailAddress, |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (serviceAccountEmailAddress != null) { |
| _queryParams['serviceAccountEmailAddress'] = [serviceAccountEmailAddress]; |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'resellernotify/unregister'; |
| |
| final _response = _requester.request( |
| _url, |
| 'POST', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then( |
| (data) => ResellernotifyResource.fromJson( |
| data as core.Map<core.String, core.dynamic>), |
| ); |
| } |
| } |
| |
| class SubscriptionsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| SubscriptionsResourceApi(commons.ApiRequester client) : _requester = client; |
| |
| /// Activates a subscription previously suspended by the reseller |
| /// |
| /// Request parameters: |
| /// |
| /// [customerId] - Either the customer's primary domain name or the customer's |
| /// unique identifier. If using the domain name, we do not recommend using a |
| /// customerId as a key for persistent data. If the domain name for a |
| /// customerId is changed, the Google system automatically updates. |
| /// |
| /// [subscriptionId] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Subscription]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Subscription> activate( |
| core.String customerId, |
| core.String subscriptionId, { |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (customerId == null) { |
| throw core.ArgumentError('Parameter customerId is required.'); |
| } |
| if (subscriptionId == null) { |
| throw core.ArgumentError('Parameter subscriptionId is required.'); |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'customers/' + |
| commons.Escaper.ecapeVariable('$customerId') + |
| '/subscriptions/' + |
| commons.Escaper.ecapeVariable('$subscriptionId') + |
| '/activate'; |
| |
| final _response = _requester.request( |
| _url, |
| 'POST', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then( |
| (data) => |
| Subscription.fromJson(data as core.Map<core.String, core.dynamic>), |
| ); |
| } |
| |
| /// Update 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. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [customerId] - Either the customer's primary domain name or the customer's |
| /// unique identifier. If using the domain name, we do not recommend using a |
| /// customerId as a key for persistent data. If the domain name for a |
| /// customerId is changed, the Google system automatically updates. |
| /// |
| /// [subscriptionId] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Subscription]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Subscription> changePlan( |
| ChangePlanRequest request, |
| core.String customerId, |
| core.String subscriptionId, { |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (request != null) { |
| _body = convert.json.encode(request.toJson()); |
| } |
| if (customerId == null) { |
| throw core.ArgumentError('Parameter customerId is required.'); |
| } |
| if (subscriptionId == null) { |
| throw core.ArgumentError('Parameter subscriptionId is required.'); |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'customers/' + |
| commons.Escaper.ecapeVariable('$customerId') + |
| '/subscriptions/' + |
| commons.Escaper.ecapeVariable('$subscriptionId') + |
| '/changePlan'; |
| |
| final _response = _requester.request( |
| _url, |
| 'POST', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then( |
| (data) => |
| Subscription.fromJson(data as core.Map<core.String, core.dynamic>), |
| ); |
| } |
| |
| /// Update a user license's renewal settings. This is applicable for accounts |
| /// with annual commitment plans only. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [customerId] - Either the customer's primary domain name or the customer's |
| /// unique identifier. If using the domain name, we do not recommend using a |
| /// customerId as a key for persistent data. If the domain name for a |
| /// customerId is changed, the Google system automatically updates. |
| /// |
| /// [subscriptionId] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Subscription]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Subscription> changeRenewalSettings( |
| RenewalSettings request, |
| core.String customerId, |
| core.String subscriptionId, { |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (request != null) { |
| _body = convert.json.encode(request.toJson()); |
| } |
| if (customerId == null) { |
| throw core.ArgumentError('Parameter customerId is required.'); |
| } |
| if (subscriptionId == null) { |
| throw core.ArgumentError('Parameter subscriptionId is required.'); |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'customers/' + |
| commons.Escaper.ecapeVariable('$customerId') + |
| '/subscriptions/' + |
| commons.Escaper.ecapeVariable('$subscriptionId') + |
| '/changeRenewalSettings'; |
| |
| final _response = _requester.request( |
| _url, |
| 'POST', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then( |
| (data) => |
| Subscription.fromJson(data as core.Map<core.String, core.dynamic>), |
| ); |
| } |
| |
| /// Update a subscription's user license settings. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [customerId] - Either the customer's primary domain name or the customer's |
| /// unique identifier. If using the domain name, we do not recommend using a |
| /// customerId as a key for persistent data. If the domain name for a |
| /// customerId is changed, the Google system automatically updates. |
| /// |
| /// [subscriptionId] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Subscription]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Subscription> changeSeats( |
| Seats request, |
| core.String customerId, |
| core.String subscriptionId, { |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (request != null) { |
| _body = convert.json.encode(request.toJson()); |
| } |
| if (customerId == null) { |
| throw core.ArgumentError('Parameter customerId is required.'); |
| } |
| if (subscriptionId == null) { |
| throw core.ArgumentError('Parameter subscriptionId is required.'); |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'customers/' + |
| commons.Escaper.ecapeVariable('$customerId') + |
| '/subscriptions/' + |
| commons.Escaper.ecapeVariable('$subscriptionId') + |
| '/changeSeats'; |
| |
| final _response = _requester.request( |
| _url, |
| 'POST', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then( |
| (data) => |
| Subscription.fromJson(data as core.Map<core.String, core.dynamic>), |
| ); |
| } |
| |
| /// Cancel, suspend, or transfer a subscription to direct. |
| /// |
| /// Request parameters: |
| /// |
| /// [customerId] - Either the customer's primary domain name or the customer's |
| /// unique identifier. If using the domain name, we do not recommend using a |
| /// customerId as a key for persistent data. If the domain name for a |
| /// customerId is changed, the Google system automatically updates. |
| /// |
| /// [subscriptionId] - 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. |
| /// |
| /// [deletionType] - The deletionType query string enables the cancellation, |
| /// downgrade, or suspension of a subscription. |
| /// Possible string values are: |
| /// - "cancel" : Cancels the subscription immediately. This does not apply to |
| /// a G Suite subscription. |
| /// - "transfer_to_direct" : Transfers a subscription directly to Google. The |
| /// customer is immediately transferred to a direct billing relationship with |
| /// Google and is given a short amount of time with no service interruption. |
| /// The customer can then choose to set up billing directly with Google by |
| /// using a credit card, or they can transfer to another reseller. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future delete( |
| core.String customerId, |
| core.String subscriptionId, |
| core.String deletionType, { |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (customerId == null) { |
| throw core.ArgumentError('Parameter customerId is required.'); |
| } |
| if (subscriptionId == null) { |
| throw core.ArgumentError('Parameter subscriptionId is required.'); |
| } |
| if (deletionType == null) { |
| throw core.ArgumentError('Parameter deletionType is required.'); |
| } |
| _queryParams['deletionType'] = [deletionType]; |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _downloadOptions = null; |
| |
| _url = 'customers/' + |
| commons.Escaper.ecapeVariable('$customerId') + |
| '/subscriptions/' + |
| commons.Escaper.ecapeVariable('$subscriptionId'); |
| |
| final _response = _requester.request( |
| _url, |
| 'DELETE', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then( |
| (data) => null, |
| ); |
| } |
| |
| /// Get a specific subscription. |
| /// |
| /// Request parameters: |
| /// |
| /// [customerId] - Either the customer's primary domain name or the customer's |
| /// unique identifier. If using the domain name, we do not recommend using a |
| /// customerId as a key for persistent data. If the domain name for a |
| /// customerId is changed, the Google system automatically updates. |
| /// |
| /// [subscriptionId] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Subscription]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Subscription> get( |
| core.String customerId, |
| core.String subscriptionId, { |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (customerId == null) { |
| throw core.ArgumentError('Parameter customerId is required.'); |
| } |
| if (subscriptionId == null) { |
| throw core.ArgumentError('Parameter subscriptionId is required.'); |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'customers/' + |
| commons.Escaper.ecapeVariable('$customerId') + |
| '/subscriptions/' + |
| commons.Escaper.ecapeVariable('$subscriptionId'); |
| |
| final _response = _requester.request( |
| _url, |
| 'GET', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then( |
| (data) => |
| Subscription.fromJson(data as core.Map<core.String, core.dynamic>), |
| ); |
| } |
| |
| /// Create or transfer a subscription. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [customerId] - Either the customer's primary domain name or the customer's |
| /// unique identifier. If using the domain name, we do not recommend using a |
| /// customerId as a key for persistent data. If the domain name for a |
| /// customerId is changed, the Google system automatically updates. |
| /// |
| /// [customerAuthToken] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Subscription]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Subscription> insert( |
| Subscription request, |
| core.String customerId, { |
| core.String customerAuthToken, |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (request != null) { |
| _body = convert.json.encode(request.toJson()); |
| } |
| if (customerId == null) { |
| throw core.ArgumentError('Parameter customerId is required.'); |
| } |
| if (customerAuthToken != null) { |
| _queryParams['customerAuthToken'] = [customerAuthToken]; |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'customers/' + |
| commons.Escaper.ecapeVariable('$customerId') + |
| '/subscriptions'; |
| |
| final _response = _requester.request( |
| _url, |
| 'POST', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then( |
| (data) => |
| Subscription.fromJson(data as core.Map<core.String, core.dynamic>), |
| ); |
| } |
| |
| /// List 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. |
| /// |
| /// Request parameters: |
| /// |
| /// [customerAuthToken] - 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. |
| /// |
| /// [customerId] - Either the customer's primary domain name or the customer's |
| /// unique identifier. If using the domain name, we do not recommend using a |
| /// customerId as a key for persistent data. If the domain name for a |
| /// customerId is changed, the Google system automatically updates. |
| /// |
| /// [customerNamePrefix] - 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. |
| /// |
| /// [maxResults] - 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. |
| /// Value must be between "1" and "100". |
| /// |
| /// [pageToken] - Token to specify next page in the list |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Subscriptions]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Subscriptions> list({ |
| core.String customerAuthToken, |
| core.String customerId, |
| core.String customerNamePrefix, |
| core.int maxResults, |
| core.String pageToken, |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (customerAuthToken != null) { |
| _queryParams['customerAuthToken'] = [customerAuthToken]; |
| } |
| if (customerId != null) { |
| _queryParams['customerId'] = [customerId]; |
| } |
| if (customerNamePrefix != null) { |
| _queryParams['customerNamePrefix'] = [customerNamePrefix]; |
| } |
| if (maxResults != null) { |
| _queryParams['maxResults'] = ['${maxResults}']; |
| } |
| if (pageToken != null) { |
| _queryParams['pageToken'] = [pageToken]; |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'subscriptions'; |
| |
| final _response = _requester.request( |
| _url, |
| 'GET', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then( |
| (data) => |
| Subscriptions.fromJson(data as core.Map<core.String, core.dynamic>), |
| ); |
| } |
| |
| /// Immediately move a 30-day free trial subscription to a paid service |
| /// subscription. |
| /// |
| /// Request parameters: |
| /// |
| /// [customerId] - Either the customer's primary domain name or the customer's |
| /// unique identifier. If using the domain name, we do not recommend using a |
| /// customerId as a key for persistent data. If the domain name for a |
| /// customerId is changed, the Google system automatically updates. |
| /// |
| /// [subscriptionId] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Subscription]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Subscription> startPaidService( |
| core.String customerId, |
| core.String subscriptionId, { |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (customerId == null) { |
| throw core.ArgumentError('Parameter customerId is required.'); |
| } |
| if (subscriptionId == null) { |
| throw core.ArgumentError('Parameter subscriptionId is required.'); |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'customers/' + |
| commons.Escaper.ecapeVariable('$customerId') + |
| '/subscriptions/' + |
| commons.Escaper.ecapeVariable('$subscriptionId') + |
| '/startPaidService'; |
| |
| final _response = _requester.request( |
| _url, |
| 'POST', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then( |
| (data) => |
| Subscription.fromJson(data as core.Map<core.String, core.dynamic>), |
| ); |
| } |
| |
| /// Suspends an active subscription. |
| /// |
| /// Request parameters: |
| /// |
| /// [customerId] - Either the customer's primary domain name or the customer's |
| /// unique identifier. If using the domain name, we do not recommend using a |
| /// customerId as a key for persistent data. If the domain name for a |
| /// customerId is changed, the Google system automatically updates. |
| /// |
| /// [subscriptionId] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Subscription]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Subscription> suspend( |
| core.String customerId, |
| core.String subscriptionId, { |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (customerId == null) { |
| throw core.ArgumentError('Parameter customerId is required.'); |
| } |
| if (subscriptionId == null) { |
| throw core.ArgumentError('Parameter subscriptionId is required.'); |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'customers/' + |
| commons.Escaper.ecapeVariable('$customerId') + |
| '/subscriptions/' + |
| commons.Escaper.ecapeVariable('$subscriptionId') + |
| '/suspend'; |
| |
| final _response = _requester.request( |
| _url, |
| 'POST', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then( |
| (data) => |
| Subscription.fromJson(data as core.Map<core.String, core.dynamic>), |
| ); |
| } |
| } |
| |
| /// JSON template for address of a customer. |
| class Address { |
| /// A customer's physical address. An address can be composed of one to three |
| /// lines. The addressline2 and addressLine3 are optional. |
| core.String addressLine1; |
| |
| /// Line 2 of the address. |
| core.String addressLine2; |
| |
| /// Line 3 of the address. |
| core.String addressLine3; |
| |
| /// The customer contact's name. This is required. |
| core.String contactName; |
| |
| /// 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. |
| core.String countryCode; |
| |
| /// Identifies the resource as a customer address. Value: customers#address |
| core.String kind; |
| |
| /// An example of a locality value is the city of San Francisco. |
| core.String locality; |
| |
| /// The company or company division name. This is required. |
| core.String organizationName; |
| |
| /// A postalCode example is a postal zip code such as 94043. This property is |
| /// required when creating a new customer. |
| core.String postalCode; |
| |
| /// An example of a region value is CA for the state of California. |
| core.String region; |
| |
| Address(); |
| |
| Address.fromJson(core.Map _json) { |
| if (_json.containsKey('addressLine1')) { |
| addressLine1 = _json['addressLine1'] as core.String; |
| } |
| if (_json.containsKey('addressLine2')) { |
| addressLine2 = _json['addressLine2'] as core.String; |
| } |
| if (_json.containsKey('addressLine3')) { |
| addressLine3 = _json['addressLine3'] as core.String; |
| } |
| if (_json.containsKey('contactName')) { |
| contactName = _json['contactName'] as core.String; |
| } |
| if (_json.containsKey('countryCode')) { |
| countryCode = _json['countryCode'] as core.String; |
| } |
| if (_json.containsKey('kind')) { |
| kind = _json['kind'] as core.String; |
| } |
| if (_json.containsKey('locality')) { |
| locality = _json['locality'] as core.String; |
| } |
| if (_json.containsKey('organizationName')) { |
| organizationName = _json['organizationName'] as core.String; |
| } |
| if (_json.containsKey('postalCode')) { |
| postalCode = _json['postalCode'] as core.String; |
| } |
| if (_json.containsKey('region')) { |
| region = _json['region'] as core.String; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (addressLine1 != null) { |
| _json['addressLine1'] = addressLine1; |
| } |
| if (addressLine2 != null) { |
| _json['addressLine2'] = addressLine2; |
| } |
| if (addressLine3 != null) { |
| _json['addressLine3'] = addressLine3; |
| } |
| if (contactName != null) { |
| _json['contactName'] = contactName; |
| } |
| if (countryCode != null) { |
| _json['countryCode'] = countryCode; |
| } |
| if (kind != null) { |
| _json['kind'] = kind; |
| } |
| if (locality != null) { |
| _json['locality'] = locality; |
| } |
| if (organizationName != null) { |
| _json['organizationName'] = organizationName; |
| } |
| if (postalCode != null) { |
| _json['postalCode'] = postalCode; |
| } |
| if (region != null) { |
| _json['region'] = region; |
| } |
| return _json; |
| } |
| } |
| |
| /// JSON template for the ChangePlan rpc request. |
| class ChangePlanRequest { |
| /// 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. |
| core.String dealCode; |
| |
| /// Identifies the resource as a subscription change plan request. Value: |
| /// subscriptions#changePlanRequest |
| core.String kind; |
| |
| /// 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 |
| /// Caution: ANNUAL_MONTHLY_PAY is returned as ANNUAL in all API responses. |
| /// - ANNUAL_YEARLY_PAY - The annual commitment plan with yearly payments |
| /// - FLEXIBLE - The flexible plan |
| /// - TRIAL - The 30-day free trial plan |
| core.String planName; |
| |
| /// 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. |
| core.String purchaseOrderId; |
| |
| /// This is a required property. The seats property is the number of user seat |
| /// licenses. |
| Seats seats; |
| |
| ChangePlanRequest(); |
| |
| ChangePlanRequest.fromJson(core.Map _json) { |
| if (_json.containsKey('dealCode')) { |
| dealCode = _json['dealCode'] as core.String; |
| } |
| if (_json.containsKey('kind')) { |
| kind = _json['kind'] as core.String; |
| } |
| if (_json.containsKey('planName')) { |
| planName = _json['planName'] as core.String; |
| } |
| if (_json.containsKey('purchaseOrderId')) { |
| purchaseOrderId = _json['purchaseOrderId'] as core.String; |
| } |
| if (_json.containsKey('seats')) { |
| seats = |
| Seats.fromJson(_json['seats'] as core.Map<core.String, core.dynamic>); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (dealCode != null) { |
| _json['dealCode'] = dealCode; |
| } |
| if (kind != null) { |
| _json['kind'] = kind; |
| } |
| if (planName != null) { |
| _json['planName'] = planName; |
| } |
| if (purchaseOrderId != null) { |
| _json['purchaseOrderId'] = purchaseOrderId; |
| } |
| if (seats != null) { |
| _json['seats'] = seats.toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// JSON template for a customer. |
| class Customer { |
| /// 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. |
| core.String alternateEmail; |
| |
| /// 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. |
| core.String customerDomain; |
| |
| /// Whether the customer's primary domain has been verified. |
| core.bool customerDomainVerified; |
| |
| /// 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. |
| core.String customerId; |
| |
| /// Identifies the resource as a customer. Value: reseller#customer |
| core.String kind; |
| |
| /// Customer contact phone number. Must start with "+" followed by the country |
| /// code. The rest of the number can be contiguous numbers or respect the |
| /// phone local format conventions, but it must be a real phone number and |
| /// not, for example, "123". This field is silently ignored if invalid. |
| core.String phoneNumber; |
| |
| /// A customer's address information. Each field has a limit of 255 charcters. |
| Address postalAddress; |
| |
| /// 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. |
| core.String resourceUiUrl; |
| |
| Customer(); |
| |
| Customer.fromJson(core.Map _json) { |
| if (_json.containsKey('alternateEmail')) { |
| alternateEmail = _json['alternateEmail'] as core.String; |
| } |
| if (_json.containsKey('customerDomain')) { |
| customerDomain = _json['customerDomain'] as core.String; |
| } |
| if (_json.containsKey('customerDomainVerified')) { |
| customerDomainVerified = _json['customerDomainVerified'] as core.bool; |
| } |
| if (_json.containsKey('customerId')) { |
| customerId = _json['customerId'] as core.String; |
| } |
| if (_json.containsKey('kind')) { |
| kind = _json['kind'] as core.String; |
| } |
| if (_json.containsKey('phoneNumber')) { |
| phoneNumber = _json['phoneNumber'] as core.String; |
| } |
| if (_json.containsKey('postalAddress')) { |
| postalAddress = Address.fromJson( |
| _json['postalAddress'] as core.Map<core.String, core.dynamic>); |
| } |
| if (_json.containsKey('resourceUiUrl')) { |
| resourceUiUrl = _json['resourceUiUrl'] as core.String; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (alternateEmail != null) { |
| _json['alternateEmail'] = alternateEmail; |
| } |
| if (customerDomain != null) { |
| _json['customerDomain'] = customerDomain; |
| } |
| if (customerDomainVerified != null) { |
| _json['customerDomainVerified'] = customerDomainVerified; |
| } |
| if (customerId != null) { |
| _json['customerId'] = customerId; |
| } |
| if (kind != null) { |
| _json['kind'] = kind; |
| } |
| if (phoneNumber != null) { |
| _json['phoneNumber'] = phoneNumber; |
| } |
| if (postalAddress != null) { |
| _json['postalAddress'] = postalAddress.toJson(); |
| } |
| if (resourceUiUrl != null) { |
| _json['resourceUiUrl'] = resourceUiUrl; |
| } |
| return _json; |
| } |
| } |
| |
| /// JSON template for a subscription renewal settings. |
| class RenewalSettings { |
| /// Identifies the resource as a subscription renewal setting. Value: |
| /// subscriptions#renewalSettings |
| core.String kind; |
| |
| /// 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. |
| core.String renewalType; |
| |
| RenewalSettings(); |
| |
| RenewalSettings.fromJson(core.Map _json) { |
| if (_json.containsKey('kind')) { |
| kind = _json['kind'] as core.String; |
| } |
| if (_json.containsKey('renewalType')) { |
| renewalType = _json['renewalType'] as core.String; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (kind != null) { |
| _json['kind'] = kind; |
| } |
| if (renewalType != null) { |
| _json['renewalType'] = renewalType; |
| } |
| return _json; |
| } |
| } |
| |
| /// JSON template for resellernotify getwatchdetails response. |
| class ResellernotifyGetwatchdetailsResponse { |
| /// List of registered service accounts. |
| core.List<core.String> serviceAccountEmailAddresses; |
| |
| /// Topic name of the PubSub |
| core.String topicName; |
| |
| ResellernotifyGetwatchdetailsResponse(); |
| |
| ResellernotifyGetwatchdetailsResponse.fromJson(core.Map _json) { |
| if (_json.containsKey('serviceAccountEmailAddresses')) { |
| serviceAccountEmailAddresses = |
| (_json['serviceAccountEmailAddresses'] as core.List) |
| .map<core.String>((value) => value as core.String) |
| .toList(); |
| } |
| if (_json.containsKey('topicName')) { |
| topicName = _json['topicName'] as core.String; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (serviceAccountEmailAddresses != null) { |
| _json['serviceAccountEmailAddresses'] = serviceAccountEmailAddresses; |
| } |
| if (topicName != null) { |
| _json['topicName'] = topicName; |
| } |
| return _json; |
| } |
| } |
| |
| /// JSON template for resellernotify response. |
| class ResellernotifyResource { |
| /// Topic name of the PubSub |
| core.String topicName; |
| |
| ResellernotifyResource(); |
| |
| ResellernotifyResource.fromJson(core.Map _json) { |
| if (_json.containsKey('topicName')) { |
| topicName = _json['topicName'] as core.String; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (topicName != null) { |
| _json['topicName'] = topicName; |
| } |
| return _json; |
| } |
| } |
| |
| /// JSON template for subscription seats. |
| class Seats { |
| /// Identifies the resource as a subscription seat setting. Value: |
| /// subscriptions#seats |
| core.String kind; |
| |
| /// Read-only field containing the current number of users that are assigned a |
| /// license for the product defined in skuId. This field's value is equivalent |
| /// to the numerical count of users returned by the Enterprise License Manager |
| /// API method: listForProductAndSku |
| core.int licensedNumberOfSeats; |
| |
| /// This is a required property and is exclusive to subscriptions with |
| /// FLEXIBLE or TRIAL plans. This property sets the maximum number of licensed |
| /// users allowed on a subscription. This quantity can be increased up to the |
| /// maximum limit defined in the reseller's contract. The minimum quantity is |
| /// the current number of users in the customer account. Note: G Suite |
| /// subscriptions automatically assign a license to every user. |
| core.int maximumNumberOfSeats; |
| |
| /// This is a required property and is exclusive to subscriptions with |
| /// ANNUAL_MONTHLY_PAY and ANNUAL_YEARLY_PAY plans. This property sets the |
| /// maximum number of licenses assignable to users on a subscription. The |
| /// reseller can add more licenses, but once set, the numberOfSeats cannot be |
| /// reduced until renewal. The reseller is invoiced based on the numberOfSeats |
| /// value regardless of how many of these user licenses are assigned. Note: G |
| /// Suite subscriptions automatically assign a license to every user. |
| core.int numberOfSeats; |
| |
| Seats(); |
| |
| Seats.fromJson(core.Map _json) { |
| if (_json.containsKey('kind')) { |
| kind = _json['kind'] as core.String; |
| } |
| if (_json.containsKey('licensedNumberOfSeats')) { |
| licensedNumberOfSeats = _json['licensedNumberOfSeats'] as core.int; |
| } |
| if (_json.containsKey('maximumNumberOfSeats')) { |
| maximumNumberOfSeats = _json['maximumNumberOfSeats'] as core.int; |
| } |
| if (_json.containsKey('numberOfSeats')) { |
| numberOfSeats = _json['numberOfSeats'] as core.int; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (kind != null) { |
| _json['kind'] = kind; |
| } |
| if (licensedNumberOfSeats != null) { |
| _json['licensedNumberOfSeats'] = licensedNumberOfSeats; |
| } |
| if (maximumNumberOfSeats != null) { |
| _json['maximumNumberOfSeats'] = maximumNumberOfSeats; |
| } |
| if (numberOfSeats != null) { |
| _json['numberOfSeats'] = numberOfSeats; |
| } |
| return _json; |
| } |
| } |
| |
| /// In this version of the API, annual commitment plan's interval is one year. |
| /// Note: When billingMethod value is OFFLINE, the subscription property object |
| /// plan.commitmentInterval is omitted in all API responses. |
| class SubscriptionPlanCommitmentInterval { |
| /// An annual commitment plan's interval's endTime in milliseconds using the |
| /// UNIX Epoch format. See an example Epoch converter. |
| core.String endTime; |
| |
| /// An annual commitment plan's interval's startTime in milliseconds using |
| /// UNIX Epoch format. See an example Epoch converter. |
| core.String startTime; |
| |
| SubscriptionPlanCommitmentInterval(); |
| |
| SubscriptionPlanCommitmentInterval.fromJson(core.Map _json) { |
| if (_json.containsKey('endTime')) { |
| endTime = _json['endTime'] as core.String; |
| } |
| if (_json.containsKey('startTime')) { |
| startTime = _json['startTime'] as core.String; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (endTime != null) { |
| _json['endTime'] = endTime; |
| } |
| if (startTime != null) { |
| _json['startTime'] = startTime; |
| } |
| return _json; |
| } |
| } |
| |
| /// 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. |
| class SubscriptionPlan { |
| /// In this version of the API, annual commitment plan's interval is one year. |
| /// Note: When billingMethod value is OFFLINE, the subscription property |
| /// object plan.commitmentInterval is omitted in all API responses. |
| SubscriptionPlanCommitmentInterval commitmentInterval; |
| |
| /// 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. |
| core.bool isCommitmentPlan; |
| |
| /// 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. |
| /// Caution: ANNUAL_MONTHLY_PAY is returned as ANNUAL in all API responses. |
| /// - 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. |
| /// - FREE — The free plan is exclusive to the Cloud Identity SKU and does not |
| /// incur any billing. |
| core.String planName; |
| |
| SubscriptionPlan(); |
| |
| SubscriptionPlan.fromJson(core.Map _json) { |
| if (_json.containsKey('commitmentInterval')) { |
| commitmentInterval = SubscriptionPlanCommitmentInterval.fromJson( |
| _json['commitmentInterval'] as core.Map<core.String, core.dynamic>); |
| } |
| if (_json.containsKey('isCommitmentPlan')) { |
| isCommitmentPlan = _json['isCommitmentPlan'] as core.bool; |
| } |
| if (_json.containsKey('planName')) { |
| planName = _json['planName'] as core.String; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (commitmentInterval != null) { |
| _json['commitmentInterval'] = commitmentInterval.toJson(); |
| } |
| if (isCommitmentPlan != null) { |
| _json['isCommitmentPlan'] = isCommitmentPlan; |
| } |
| if (planName != null) { |
| _json['planName'] = planName; |
| } |
| return _json; |
| } |
| } |
| |
| /// Read-only transfer related information for the subscription. For more |
| /// information, see retrieve transferable subscriptions for a customer. |
| class SubscriptionTransferInfo { |
| /// 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. |
| core.int minimumTransferableSeats; |
| |
| /// The time when transfer token or intent to transfer will expire. The time |
| /// is in milliseconds using UNIX Epoch format. |
| core.String transferabilityExpirationTime; |
| |
| SubscriptionTransferInfo(); |
| |
| SubscriptionTransferInfo.fromJson(core.Map _json) { |
| if (_json.containsKey('minimumTransferableSeats')) { |
| minimumTransferableSeats = _json['minimumTransferableSeats'] as core.int; |
| } |
| if (_json.containsKey('transferabilityExpirationTime')) { |
| transferabilityExpirationTime = |
| _json['transferabilityExpirationTime'] as core.String; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (minimumTransferableSeats != null) { |
| _json['minimumTransferableSeats'] = minimumTransferableSeats; |
| } |
| if (transferabilityExpirationTime != null) { |
| _json['transferabilityExpirationTime'] = transferabilityExpirationTime; |
| } |
| return _json; |
| } |
| } |
| |
| /// The G Suite annual commitment and flexible payment plans can be in a 30-day |
| /// free trial. For more information, see the API concepts. |
| class SubscriptionTrialSettings { |
| /// 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. |
| core.bool isInTrial; |
| |
| /// Date when the trial ends. The value is in milliseconds using the UNIX |
| /// Epoch format. See an example Epoch converter. |
| core.String trialEndTime; |
| |
| SubscriptionTrialSettings(); |
| |
| SubscriptionTrialSettings.fromJson(core.Map _json) { |
| if (_json.containsKey('isInTrial')) { |
| isInTrial = _json['isInTrial'] as core.bool; |
| } |
| if (_json.containsKey('trialEndTime')) { |
| trialEndTime = _json['trialEndTime'] as core.String; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (isInTrial != null) { |
| _json['isInTrial'] = isInTrial; |
| } |
| if (trialEndTime != null) { |
| _json['trialEndTime'] = trialEndTime; |
| } |
| return _json; |
| } |
| } |
| |
| /// JSON template for a subscription. |
| class Subscription { |
| /// Read-only field that returns the current billing method for a |
| /// subscription. |
| core.String billingMethod; |
| |
| /// The creationTime property is the date when subscription was created. It is |
| /// in milliseconds using the Epoch format. See an example Epoch converter. |
| core.String creationTime; |
| |
| /// Primary domain name of the customer |
| core.String customerDomain; |
| |
| /// 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. |
| core.String customerId; |
| |
| /// 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. |
| core.String dealCode; |
| |
| /// Identifies the resource as a Subscription. Value: reseller#subscription |
| core.String kind; |
| |
| /// 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. |
| SubscriptionPlan plan; |
| |
| /// 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. |
| core.String purchaseOrderId; |
| |
| /// Renewal settings for the annual commitment plan. For more detailed |
| /// information, see renewal options in the administrator help center. |
| RenewalSettings renewalSettings; |
| |
| /// 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. |
| core.String resourceUiUrl; |
| |
| /// This is a required property. The number and limit of user seat licenses in |
| /// the plan. |
| Seats seats; |
| |
| /// 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. |
| core.String skuId; |
| |
| /// 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. |
| core.String skuName; |
| |
| /// This is an optional property. |
| core.String status; |
| |
| /// 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. |
| core.String subscriptionId; |
| |
| /// 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 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. |
| /// - RENEWAL_WITH_TYPE_CANCEL - The customer's commitment ended and their |
| /// service was cancelled at the end of their term. |
| /// - 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 or otherwise). |
| core.List<core.String> suspensionReasons; |
| |
| /// Read-only transfer related information for the subscription. For more |
| /// information, see retrieve transferable subscriptions for a customer. |
| SubscriptionTransferInfo transferInfo; |
| |
| /// The G Suite annual commitment and flexible payment plans can be in a |
| /// 30-day free trial. For more information, see the API concepts. |
| SubscriptionTrialSettings trialSettings; |
| |
| Subscription(); |
| |
| Subscription.fromJson(core.Map _json) { |
| if (_json.containsKey('billingMethod')) { |
| billingMethod = _json['billingMethod'] as core.String; |
| } |
| if (_json.containsKey('creationTime')) { |
| creationTime = _json['creationTime'] as core.String; |
| } |
| if (_json.containsKey('customerDomain')) { |
| customerDomain = _json['customerDomain'] as core.String; |
| } |
| if (_json.containsKey('customerId')) { |
| customerId = _json['customerId'] as core.String; |
| } |
| if (_json.containsKey('dealCode')) { |
| dealCode = _json['dealCode'] as core.String; |
| } |
| if (_json.containsKey('kind')) { |
| kind = _json['kind'] as core.String; |
| } |
| if (_json.containsKey('plan')) { |
| plan = SubscriptionPlan.fromJson( |
| _json['plan'] as core.Map<core.String, core.dynamic>); |
| } |
| if (_json.containsKey('purchaseOrderId')) { |
| purchaseOrderId = _json['purchaseOrderId'] as core.String; |
| } |
| if (_json.containsKey('renewalSettings')) { |
| renewalSettings = RenewalSettings.fromJson( |
| _json['renewalSettings'] as core.Map<core.String, core.dynamic>); |
| } |
| if (_json.containsKey('resourceUiUrl')) { |
| resourceUiUrl = _json['resourceUiUrl'] as core.String; |
| } |
| if (_json.containsKey('seats')) { |
| seats = |
| Seats.fromJson(_json['seats'] as core.Map<core.String, core.dynamic>); |
| } |
| if (_json.containsKey('skuId')) { |
| skuId = _json['skuId'] as core.String; |
| } |
| if (_json.containsKey('skuName')) { |
| skuName = _json['skuName'] as core.String; |
| } |
| if (_json.containsKey('status')) { |
| status = _json['status'] as core.String; |
| } |
| if (_json.containsKey('subscriptionId')) { |
| subscriptionId = _json['subscriptionId'] as core.String; |
| } |
| if (_json.containsKey('suspensionReasons')) { |
| suspensionReasons = (_json['suspensionReasons'] as core.List) |
| .map<core.String>((value) => value as core.String) |
| .toList(); |
| } |
| if (_json.containsKey('transferInfo')) { |
| transferInfo = SubscriptionTransferInfo.fromJson( |
| _json['transferInfo'] as core.Map<core.String, core.dynamic>); |
| } |
| if (_json.containsKey('trialSettings')) { |
| trialSettings = SubscriptionTrialSettings.fromJson( |
| _json['trialSettings'] as core.Map<core.String, core.dynamic>); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (billingMethod != null) { |
| _json['billingMethod'] = billingMethod; |
| } |
| if (creationTime != null) { |
| _json['creationTime'] = creationTime; |
| } |
| if (customerDomain != null) { |
| _json['customerDomain'] = customerDomain; |
| } |
| if (customerId != null) { |
| _json['customerId'] = customerId; |
| } |
| if (dealCode != null) { |
| _json['dealCode'] = dealCode; |
| } |
| if (kind != null) { |
| _json['kind'] = kind; |
| } |
| if (plan != null) { |
| _json['plan'] = plan.toJson(); |
| } |
| if (purchaseOrderId != null) { |
| _json['purchaseOrderId'] = purchaseOrderId; |
| } |
| if (renewalSettings != null) { |
| _json['renewalSettings'] = renewalSettings.toJson(); |
| } |
| if (resourceUiUrl != null) { |
| _json['resourceUiUrl'] = resourceUiUrl; |
| } |
| if (seats != null) { |
| _json['seats'] = seats.toJson(); |
| } |
| if (skuId != null) { |
| _json['skuId'] = skuId; |
| } |
| if (skuName != null) { |
| _json['skuName'] = skuName; |
| } |
| if (status != null) { |
| _json['status'] = status; |
| } |
| if (subscriptionId != null) { |
| _json['subscriptionId'] = subscriptionId; |
| } |
| if (suspensionReasons != null) { |
| _json['suspensionReasons'] = suspensionReasons; |
| } |
| if (transferInfo != null) { |
| _json['transferInfo'] = transferInfo.toJson(); |
| } |
| if (trialSettings != null) { |
| _json['trialSettings'] = trialSettings.toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// JSON template for a subscription list. |
| class Subscriptions { |
| /// Identifies the resource as a collection of subscriptions. Value: |
| /// reseller#subscriptions |
| core.String 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. |
| core.String nextPageToken; |
| |
| /// The subscriptions in this page of results. |
| core.List<Subscription> subscriptions; |
| |
| Subscriptions(); |
| |
| Subscriptions.fromJson(core.Map _json) { |
| if (_json.containsKey('kind')) { |
| kind = _json['kind'] as core.String; |
| } |
| if (_json.containsKey('nextPageToken')) { |
| nextPageToken = _json['nextPageToken'] as core.String; |
| } |
| if (_json.containsKey('subscriptions')) { |
| subscriptions = (_json['subscriptions'] as core.List) |
| .map<Subscription>((value) => Subscription.fromJson( |
| value as core.Map<core.String, core.dynamic>)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (kind != null) { |
| _json['kind'] = kind; |
| } |
| if (nextPageToken != null) { |
| _json['nextPageToken'] = nextPageToken; |
| } |
| if (subscriptions != null) { |
| _json['subscriptions'] = |
| subscriptions.map((value) => value.toJson()).toList(); |
| } |
| return _json; |
| } |
| } |