// Copyright 2024 Google LLC. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Code generated file. DO NOT EDIT. // Package reseller provides access to the Google Workspace Reseller API. // // For product documentation, see: https://developers.google.com/google-apps/reseller/ // // # Library status // // These client libraries are officially supported by Google. However, this // library is considered complete and is in maintenance mode. This means // that we will address critical bugs and security issues but will not add // any new features. // // When possible, we recommend using our newer // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go) // that are still actively being worked and iterated on. // // # Creating a client // // Usage example: // // import "google.golang.org/api/reseller/v1" // ... // ctx := context.Background() // resellerService, err := reseller.NewService(ctx) // // In this example, Google Application Default Credentials are used for // authentication. For information on how to create and obtain Application // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. // // # Other authentication options // // By default, all available scopes (see "Constants") are used to authenticate. // To restrict scopes, use [google.golang.org/api/option.WithScopes]: // // resellerService, err := reseller.NewService(ctx, option.WithScopes(reseller.AppsOrderReadonlyScope)) // // To use an API key for authentication (note: some APIs do not support API // keys), use [google.golang.org/api/option.WithAPIKey]: // // resellerService, err := reseller.NewService(ctx, option.WithAPIKey("AIza...")) // // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth // flow, use [google.golang.org/api/option.WithTokenSource]: // // config := &oauth2.Config{...} // // ... // token, err := config.Exchange(ctx, ...) // resellerService, err := reseller.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) // // See [google.golang.org/api/option.ClientOption] for details on options. package reseller // import "google.golang.org/api/reseller/v1" import ( "bytes" "context" "encoding/json" "errors" "fmt" "io" "net/http" "net/url" "strconv" "strings" googleapi "google.golang.org/api/googleapi" internal "google.golang.org/api/internal" gensupport "google.golang.org/api/internal/gensupport" option "google.golang.org/api/option" internaloption "google.golang.org/api/option/internaloption" htransport "google.golang.org/api/transport/http" ) // Always reference these packages, just in case the auto-generated code // below doesn't. var _ = bytes.NewBuffer var _ = strconv.Itoa var _ = fmt.Sprintf var _ = json.NewDecoder var _ = io.Copy var _ = url.Parse var _ = gensupport.MarshalJSON var _ = googleapi.Version var _ = errors.New var _ = strings.Replace var _ = context.Canceled var _ = internaloption.WithDefaultEndpoint var _ = internal.Version const apiId = "reseller:v1" const apiName = "reseller" const apiVersion = "v1" const basePath = "https://reseller.googleapis.com/" const basePathTemplate = "https://reseller.UNIVERSE_DOMAIN/" const mtlsBasePath = "https://reseller.mtls.googleapis.com/" // OAuth2 scopes used by this API. const ( // Manage users on your domain AppsOrderScope = "https://www.googleapis.com/auth/apps.order" // Manage users on your domain AppsOrderReadonlyScope = "https://www.googleapis.com/auth/apps.order.readonly" ) // NewService creates a new Service. func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { scopesOption := internaloption.WithDefaultScopes( "https://www.googleapis.com/auth/apps.order", "https://www.googleapis.com/auth/apps.order.readonly", ) // NOTE: prepend, so we don't override user-specified scopes. opts = append([]option.ClientOption{scopesOption}, opts...) opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate)) opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) opts = append(opts, internaloption.EnableNewAuthLibrary()) client, endpoint, err := htransport.NewClient(ctx, opts...) if err != nil { return nil, err } s, err := New(client) if err != nil { return nil, err } if endpoint != "" { s.BasePath = endpoint } return s, nil } // New creates a new Service. It uses the provided http.Client for requests. // // Deprecated: please use NewService instead. // To provide a custom HTTP client, use option.WithHTTPClient. // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. func New(client *http.Client) (*Service, error) { if client == nil { return nil, errors.New("client is nil") } s := &Service{client: client, BasePath: basePath} s.Customers = NewCustomersService(s) s.Resellernotify = NewResellernotifyService(s) s.Subscriptions = NewSubscriptionsService(s) return s, nil } type Service struct { client *http.Client BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment Customers *CustomersService Resellernotify *ResellernotifyService Subscriptions *SubscriptionsService } func (s *Service) userAgent() string { if s.UserAgent == "" { return googleapi.UserAgent } return googleapi.UserAgent + " " + s.UserAgent } func NewCustomersService(s *Service) *CustomersService { rs := &CustomersService{s: s} return rs } type CustomersService struct { s *Service } func NewResellernotifyService(s *Service) *ResellernotifyService { rs := &ResellernotifyService{s: s} return rs } type ResellernotifyService struct { s *Service } func NewSubscriptionsService(s *Service) *SubscriptionsService { rs := &SubscriptionsService{s: s} return rs } type SubscriptionsService struct { s *Service } // Address: JSON template for address of a customer. type Address struct { // AddressLine1: A customer's physical address. An address can be composed of // one to three lines. The `addressline2` and `addressLine3` are optional. AddressLine1 string `json:"addressLine1,omitempty"` // AddressLine2: Line 2 of the address. AddressLine2 string `json:"addressLine2,omitempty"` // AddressLine3: Line 3 of the address. AddressLine3 string `json:"addressLine3,omitempty"` // ContactName: The customer contact's name. This is required. ContactName string `json:"contactName,omitempty"` // CountryCode: 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. CountryCode string `json:"countryCode,omitempty"` // Kind: Identifies the resource as a customer address. Value: // `customers#address` Kind string `json:"kind,omitempty"` // Locality: An example of a `locality` value is the city of `San Francisco`. Locality string `json:"locality,omitempty"` // OrganizationName: The company or company division name. This is required. OrganizationName string `json:"organizationName,omitempty"` // PostalCode: A `postalCode` example is a postal zip code such as `94043`. // This property is required when creating a new customer. PostalCode string `json:"postalCode,omitempty"` // Region: An example of a `region` value is `CA` for the state of California. Region string `json:"region,omitempty"` // ForceSendFields is a list of field names (e.g. "AddressLine1") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AddressLine1") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Address) MarshalJSON() ([]byte, error) { type NoMethod Address return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ChangePlanRequest: JSON template for the ChangePlan rpc request. type ChangePlanRequest struct { // DealCode: 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. DealCode string `json:"dealCode,omitempty"` // Kind: Identifies the resource as a subscription change plan request. Value: // `subscriptions#changePlanRequest` Kind string `json:"kind,omitempty"` // PlanName: 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 PlanName string `json:"planName,omitempty"` // PurchaseOrderId: 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. PurchaseOrderId string `json:"purchaseOrderId,omitempty"` // Seats: This is a required property. The seats property is the number of user // seat licenses. Seats *Seats `json:"seats,omitempty"` // ForceSendFields is a list of field names (e.g. "DealCode") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DealCode") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChangePlanRequest) MarshalJSON() ([]byte, error) { type NoMethod ChangePlanRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Customer: When a Google customer's account is registered with a reseller, // the customer's subscriptions for Google services are managed by this // reseller. A customer is described by a primary domain name and a physical // address. type Customer struct { // AlternateEmail: 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 "domain" customer and should not use the same domain as // `customerDomain`. The `alternateEmail` field is not necessary to create a // "team" customer. AlternateEmail string `json:"alternateEmail,omitempty"` // CustomerDomain: 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. CustomerDomain string `json:"customerDomain,omitempty"` // CustomerDomainVerified: Whether the customer's primary domain has been // verified. CustomerDomainVerified bool `json:"customerDomainVerified,omitempty"` // CustomerId: 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. CustomerId string `json:"customerId,omitempty"` // CustomerType: Identifies the type of the customer. Acceptable values // include: * `domain`: Implies a domain-verified customer (default). * `team`: // Implies an email-verified customer. For more information, see managed teams // (https://support.google.com/a/users/answer/9939479). // // Possible values: // "customerTypeUnspecified" - Customer type not known // "domain" - Domained or domain-owning customers // "team" - Domainless or email-verified customers CustomerType string `json:"customerType,omitempty"` // Kind: Identifies the resource as a customer. Value: `reseller#customer` Kind string `json:"kind,omitempty"` // PhoneNumber: 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. PhoneNumber string `json:"phoneNumber,omitempty"` // PostalAddress: A customer's address information. Each field has a limit of // 255 charcters. PostalAddress *Address `json:"postalAddress,omitempty"` // PrimaryAdmin: The first admin details of the customer, present in case of // TEAM customer. PrimaryAdmin *PrimaryAdmin `json:"primaryAdmin,omitempty"` // ResourceUiUrl: 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. ResourceUiUrl string `json:"resourceUiUrl,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AlternateEmail") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AlternateEmail") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Customer) MarshalJSON() ([]byte, error) { type NoMethod Customer return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PrimaryAdmin: JSON template for primary admin in case of TEAM customers type PrimaryAdmin struct { // PrimaryEmail: The business email of the primary administrator of the // customer. The email verification link is sent to this email address at the // time of customer creation. Primary administrators have access to the // customer's Admin Console, including the ability to invite and evict users // and manage the administrative needs of the customer. PrimaryEmail string `json:"primaryEmail,omitempty"` // ForceSendFields is a list of field names (e.g. "PrimaryEmail") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PrimaryEmail") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PrimaryAdmin) MarshalJSON() ([]byte, error) { type NoMethod PrimaryAdmin return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // RenewalSettings: JSON template for a subscription renewal settings. type RenewalSettings struct { // Kind: Identifies the resource as a subscription renewal setting. Value: // `subscriptions#renewalSettings` Kind string `json:"kind,omitempty"` // RenewalType: 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. RenewalType string `json:"renewalType,omitempty"` // ForceSendFields is a list of field names (e.g. "Kind") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Kind") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *RenewalSettings) MarshalJSON() ([]byte, error) { type NoMethod RenewalSettings return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ResellernotifyGetwatchdetailsResponse: JSON template for resellernotify // getwatchdetails response. type ResellernotifyGetwatchdetailsResponse struct { // ServiceAccountEmailAddresses: List of registered service accounts. ServiceAccountEmailAddresses []string `json:"serviceAccountEmailAddresses,omitempty"` // TopicName: Topic name of the PubSub TopicName string `json:"topicName,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. // "ServiceAccountEmailAddresses") to unconditionally include in API requests. // By default, fields with empty or default values are omitted from API // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields // for more details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ServiceAccountEmailAddresses") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ResellernotifyGetwatchdetailsResponse) MarshalJSON() ([]byte, error) { type NoMethod ResellernotifyGetwatchdetailsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ResellernotifyResource: JSON template for resellernotify response. type ResellernotifyResource struct { // TopicName: Topic name of the PubSub TopicName string `json:"topicName,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "TopicName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "TopicName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ResellernotifyResource) MarshalJSON() ([]byte, error) { type NoMethod ResellernotifyResource return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Seats: JSON template for subscription seats. type Seats struct { // Kind: Identifies the resource as a subscription seat setting. Value: // `subscriptions#seats` Kind string `json:"kind,omitempty"` // LicensedNumberOfSeats: 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` // (/admin-sdk/licensing/v1/reference/licenseAssignments/listForProductAndSku). LicensedNumberOfSeats int64 `json:"licensedNumberOfSeats,omitempty"` // MaximumNumberOfSeats: 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. MaximumNumberOfSeats int64 `json:"maximumNumberOfSeats,omitempty"` // NumberOfSeats: 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: // *Google Workspace subscriptions automatically assign a license to every // user. NumberOfSeats int64 `json:"numberOfSeats,omitempty"` // ForceSendFields is a list of field names (e.g. "Kind") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Kind") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Seats) MarshalJSON() ([]byte, error) { type NoMethod Seats return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Subscription: JSON template for a subscription. type Subscription struct { // BillingMethod: Read-only field that returns the current billing method for a // subscription. BillingMethod string `json:"billingMethod,omitempty"` // CreationTime: The `creationTime` property is the date when subscription was // created. It is in milliseconds using the Epoch format. See an example Epoch // converter. CreationTime int64 `json:"creationTime,omitempty,string"` // CustomerDomain: Primary domain name of the customer CustomerDomain string `json:"customerDomain,omitempty"` // CustomerId: 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. CustomerId string `json:"customerId,omitempty"` // DealCode: 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. DealCode string `json:"dealCode,omitempty"` // Kind: Identifies the resource as a Subscription. Value: // `reseller#subscription` Kind string `json:"kind,omitempty"` // Plan: 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. Plan *SubscriptionPlan `json:"plan,omitempty"` // PurchaseOrderId: 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. PurchaseOrderId string `json:"purchaseOrderId,omitempty"` // RenewalSettings: Renewal settings for the annual commitment plan. For more // detailed information, see renewal options in the administrator help center. RenewalSettings *RenewalSettings `json:"renewalSettings,omitempty"` // ResourceUiUrl: 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. ResourceUiUrl string `json:"resourceUiUrl,omitempty"` // Seats: This is a required property. The number and limit of user seat // licenses in the plan. Seats *Seats `json:"seats,omitempty"` // SkuId: 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. SkuId string `json:"skuId,omitempty"` // SkuName: 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. SkuName string `json:"skuName,omitempty"` // Status: This is an optional property. Status string `json:"status,omitempty"` // SubscriptionId: 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. SubscriptionId string `json:"subscriptionId,omitempty"` // SuspensionReasons: 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). SuspensionReasons []string `json:"suspensionReasons,omitempty"` // TransferInfo: Read-only transfer related information for the subscription. // For more information, see retrieve transferable subscriptions for a // customer. TransferInfo *SubscriptionTransferInfo `json:"transferInfo,omitempty"` // TrialSettings: The G Suite annual commitment and flexible payment plans can // be in a 30-day free trial. For more information, see the API concepts. TrialSettings *SubscriptionTrialSettings `json:"trialSettings,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "BillingMethod") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BillingMethod") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Subscription) MarshalJSON() ([]byte, error) { type NoMethod Subscription return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SubscriptionPlan: 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. type SubscriptionPlan struct { // CommitmentInterval: 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. CommitmentInterval *SubscriptionPlanCommitmentInterval `json:"commitmentInterval,omitempty"` // IsCommitmentPlan: 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. IsCommitmentPlan bool `json:"isCommitmentPlan,omitempty"` // PlanName: 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. PlanName string `json:"planName,omitempty"` // ForceSendFields is a list of field names (e.g. "CommitmentInterval") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CommitmentInterval") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SubscriptionPlan) MarshalJSON() ([]byte, error) { type NoMethod SubscriptionPlan return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SubscriptionPlanCommitmentInterval: 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. type SubscriptionPlanCommitmentInterval struct { // EndTime: An annual commitment plan's interval's `endTime` in milliseconds // using the UNIX Epoch format. See an example Epoch converter. EndTime int64 `json:"endTime,omitempty,string"` // StartTime: An annual commitment plan's interval's `startTime` in // milliseconds using UNIX Epoch format. See an example Epoch converter. StartTime int64 `json:"startTime,omitempty,string"` // ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "EndTime") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SubscriptionPlanCommitmentInterval) MarshalJSON() ([]byte, error) { type NoMethod SubscriptionPlanCommitmentInterval return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SubscriptionTransferInfo: Read-only transfer related information for the // subscription. For more information, see retrieve transferable subscriptions // for a customer. type SubscriptionTransferInfo struct { // CurrentLegacySkuId: The `skuId` of the current resold subscription. This is // populated only when the customer has a subscription with a legacy SKU and // the subscription resource is populated with the `skuId` of the SKU // recommended for the transfer. CurrentLegacySkuId string `json:"currentLegacySkuId,omitempty"` // MinimumTransferableSeats: 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. MinimumTransferableSeats int64 `json:"minimumTransferableSeats,omitempty"` // TransferabilityExpirationTime: The time when transfer token or intent to // transfer will expire. The time is in milliseconds using UNIX Epoch format. TransferabilityExpirationTime int64 `json:"transferabilityExpirationTime,omitempty,string"` // ForceSendFields is a list of field names (e.g. "CurrentLegacySkuId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CurrentLegacySkuId") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SubscriptionTransferInfo) MarshalJSON() ([]byte, error) { type NoMethod SubscriptionTransferInfo return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SubscriptionTrialSettings: The G Suite annual commitment and flexible // payment plans can be in a 30-day free trial. For more information, see the // API concepts. type SubscriptionTrialSettings struct { // IsInTrial: 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. IsInTrial bool `json:"isInTrial,omitempty"` // TrialEndTime: Date when the trial ends. The value is in milliseconds using // the UNIX Epoch format. See an example Epoch converter. TrialEndTime int64 `json:"trialEndTime,omitempty,string"` // ForceSendFields is a list of field names (e.g. "IsInTrial") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "IsInTrial") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SubscriptionTrialSettings) MarshalJSON() ([]byte, error) { type NoMethod SubscriptionTrialSettings return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Subscriptions: A subscription manages the relationship of a Google // customer's payment plan with a product's SKU, user licenses, 30-day free // trial status, and renewal options. A primary role of a reseller is to manage // the Google customer's subscriptions. type Subscriptions struct { // Kind: Identifies the resource as a collection of subscriptions. Value: // reseller#subscriptions Kind string `json:"kind,omitempty"` // NextPageToken: The continuation token, used to page through large result // sets. Provide this value in a subsequent request to return the next page of // results. NextPageToken string `json:"nextPageToken,omitempty"` // Subscriptions: The subscriptions in this page of results. Subscriptions []*Subscription `json:"subscriptions,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Kind") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Kind") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Subscriptions) MarshalJSON() ([]byte, error) { type NoMethod Subscriptions return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type CustomersGetCall struct { s *Service customerId string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a customer account. Use this operation to see a customer account // already in your reseller management, or to see the minimal account // information for an existing customer that you do not manage. For more // information about the API response for existing customers, see retrieving a // customer account // (/admin-sdk/reseller/v1/how-tos/manage_customers#get_customer). // // - customerId: This can be either the customer's primary domain name or the // customer's unique identifier. If the domain name for a customer changes, // the old domain name cannot be used to access the customer, but the // customer's unique identifier (as returned by the API) can always be used. // We recommend storing the unique identifier in your systems where // applicable. func (r *CustomersService) Get(customerId string) *CustomersGetCall { c := &CustomersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customerId = customerId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *CustomersGetCall) Fields(s ...googleapi.Field) *CustomersGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *CustomersGetCall) IfNoneMatch(entityTag string) *CustomersGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *CustomersGetCall) Context(ctx context.Context) *CustomersGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *CustomersGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *CustomersGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "apps/reseller/v1/customers/{customerId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "customerId": c.customerId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "reseller.customers.get" call. // Any non-2xx status code is an error. Response headers are in either // *Customer.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *CustomersGetCall) Do(opts ...googleapi.CallOption) (*Customer, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Customer{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type CustomersInsertCall struct { s *Service customer *Customer urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Insert: Orders a new customer's account. Before ordering a new customer // account, establish whether the customer account already exists using the // `customers.get` (/admin-sdk/reseller/v1/reference/customers/get) If the // customer account exists as a direct Google account or as a resold customer // account from another reseller, use the `customerAuthToken\` as described in // order a resold account for an existing customer // (/admin-sdk/reseller/v1/how-tos/manage_customers#create_existing_customer). // For more information about ordering a new customer account, see order a new // customer account // (/admin-sdk/reseller/v1/how-tos/manage_customers#create_customer). After // creating a new customer account, you must provision a user as an // administrator. The customer's administrator is required to sign in to the // Admin console and sign the G Suite via Reseller agreement to activate the // account. Resellers are prohibited from signing the G Suite via Reseller // agreement on the customer's behalf. For more information, see order a new // customer account (/admin-sdk/reseller/v1/how-tos/manage_customers#tos). func (r *CustomersService) Insert(customer *Customer) *CustomersInsertCall { c := &CustomersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customer = customer return c } // CustomerAuthToken sets the optional parameter "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. func (c *CustomersInsertCall) CustomerAuthToken(customerAuthToken string) *CustomersInsertCall { c.urlParams_.Set("customerAuthToken", customerAuthToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *CustomersInsertCall) Fields(s ...googleapi.Field) *CustomersInsertCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *CustomersInsertCall) Context(ctx context.Context) *CustomersInsertCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *CustomersInsertCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *CustomersInsertCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.customer) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "apps/reseller/v1/customers") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "reseller.customers.insert" call. // Any non-2xx status code is an error. Response headers are in either // *Customer.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *CustomersInsertCall) Do(opts ...googleapi.CallOption) (*Customer, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Customer{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type CustomersPatchCall struct { s *Service customerId string customer *Customer urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates a customer account's settings. This method supports patch // semantics. You cannot update `customerType` via the Reseller API, but a // "team" customer can verify their domain and become `customerType = // "domain". For more information, see Verify your domain to unlock Essentials // features (https://support.google.com/a/answer/9122284). // // - customerId: This can be either the customer's primary domain name or the // customer's unique identifier. If the domain name for a customer changes, // the old domain name cannot be used to access the customer, but the // customer's unique identifier (as returned by the API) can always be used. // We recommend storing the unique identifier in your systems where // applicable. func (r *CustomersService) Patch(customerId string, customer *Customer) *CustomersPatchCall { c := &CustomersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customerId = customerId c.customer = customer return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *CustomersPatchCall) Fields(s ...googleapi.Field) *CustomersPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *CustomersPatchCall) Context(ctx context.Context) *CustomersPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *CustomersPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *CustomersPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.customer) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "apps/reseller/v1/customers/{customerId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "customerId": c.customerId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "reseller.customers.patch" call. // Any non-2xx status code is an error. Response headers are in either // *Customer.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *CustomersPatchCall) Do(opts ...googleapi.CallOption) (*Customer, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Customer{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type CustomersUpdateCall struct { s *Service customerId string customer *Customer urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Update: Updates a customer account's settings. You cannot update // `customerType` via the Reseller API, but a "team" customer can verify // their domain and become `customerType = "domain". For more information, see // update a customer's settings // (/admin-sdk/reseller/v1/how-tos/manage_customers#update_customer). // // - customerId: This can be either the customer's primary domain name or the // customer's unique identifier. If the domain name for a customer changes, // the old domain name cannot be used to access the customer, but the // customer's unique identifier (as returned by the API) can always be used. // We recommend storing the unique identifier in your systems where // applicable. func (r *CustomersService) Update(customerId string, customer *Customer) *CustomersUpdateCall { c := &CustomersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customerId = customerId c.customer = customer return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *CustomersUpdateCall) Fields(s ...googleapi.Field) *CustomersUpdateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *CustomersUpdateCall) Context(ctx context.Context) *CustomersUpdateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *CustomersUpdateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *CustomersUpdateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.customer) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "apps/reseller/v1/customers/{customerId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PUT", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "customerId": c.customerId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "reseller.customers.update" call. // Any non-2xx status code is an error. Response headers are in either // *Customer.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *CustomersUpdateCall) Do(opts ...googleapi.CallOption) (*Customer, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Customer{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ResellernotifyGetwatchdetailsCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Getwatchdetails: Returns all the details of the watch corresponding to the // reseller. func (r *ResellernotifyService) Getwatchdetails() *ResellernotifyGetwatchdetailsCall { c := &ResellernotifyGetwatchdetailsCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ResellernotifyGetwatchdetailsCall) Fields(s ...googleapi.Field) *ResellernotifyGetwatchdetailsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ResellernotifyGetwatchdetailsCall) IfNoneMatch(entityTag string) *ResellernotifyGetwatchdetailsCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ResellernotifyGetwatchdetailsCall) Context(ctx context.Context) *ResellernotifyGetwatchdetailsCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ResellernotifyGetwatchdetailsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ResellernotifyGetwatchdetailsCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "apps/reseller/v1/resellernotify/getwatchdetails") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "reseller.resellernotify.getwatchdetails" call. // Any non-2xx status code is an error. Response headers are in either // *ResellernotifyGetwatchdetailsResponse.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *ResellernotifyGetwatchdetailsCall) Do(opts ...googleapi.CallOption) (*ResellernotifyGetwatchdetailsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ResellernotifyGetwatchdetailsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ResellernotifyRegisterCall struct { s *Service urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Register: Registers a Reseller for receiving notifications. func (r *ResellernotifyService) Register() *ResellernotifyRegisterCall { c := &ResellernotifyRegisterCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // ServiceAccountEmailAddress sets the optional parameter // "serviceAccountEmailAddress": The service account which will own the created // Cloud-PubSub topic. func (c *ResellernotifyRegisterCall) ServiceAccountEmailAddress(serviceAccountEmailAddress string) *ResellernotifyRegisterCall { c.urlParams_.Set("serviceAccountEmailAddress", serviceAccountEmailAddress) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ResellernotifyRegisterCall) Fields(s ...googleapi.Field) *ResellernotifyRegisterCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ResellernotifyRegisterCall) Context(ctx context.Context) *ResellernotifyRegisterCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ResellernotifyRegisterCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ResellernotifyRegisterCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "apps/reseller/v1/resellernotify/register") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "reseller.resellernotify.register" call. // Any non-2xx status code is an error. Response headers are in either // *ResellernotifyResource.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ResellernotifyRegisterCall) Do(opts ...googleapi.CallOption) (*ResellernotifyResource, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ResellernotifyResource{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ResellernotifyUnregisterCall struct { s *Service urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Unregister: Unregisters a Reseller for receiving notifications. func (r *ResellernotifyService) Unregister() *ResellernotifyUnregisterCall { c := &ResellernotifyUnregisterCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // ServiceAccountEmailAddress sets the optional parameter // "serviceAccountEmailAddress": The service account which owns the // Cloud-PubSub topic. func (c *ResellernotifyUnregisterCall) ServiceAccountEmailAddress(serviceAccountEmailAddress string) *ResellernotifyUnregisterCall { c.urlParams_.Set("serviceAccountEmailAddress", serviceAccountEmailAddress) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ResellernotifyUnregisterCall) Fields(s ...googleapi.Field) *ResellernotifyUnregisterCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ResellernotifyUnregisterCall) Context(ctx context.Context) *ResellernotifyUnregisterCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ResellernotifyUnregisterCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ResellernotifyUnregisterCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "apps/reseller/v1/resellernotify/unregister") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "reseller.resellernotify.unregister" call. // Any non-2xx status code is an error. Response headers are in either // *ResellernotifyResource.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ResellernotifyUnregisterCall) Do(opts ...googleapi.CallOption) (*ResellernotifyResource, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ResellernotifyResource{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type SubscriptionsActivateCall struct { s *Service customerId string subscriptionId string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Activate: Activates a subscription previously suspended by the reseller. If // you did not suspend the customer subscription and it is suspended for any // other reason, such as for abuse or a pending ToS acceptance, this call will // not reactivate the customer subscription. // // - customerId: This can be either the customer's primary domain name or the // customer's unique identifier. If the domain name for a customer changes, // the old domain name cannot be used to access the customer, but the // customer's unique identifier (as returned by the API) can always be used. // We recommend storing the unique identifier in your systems where // applicable. // - 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. func (r *SubscriptionsService) Activate(customerId string, subscriptionId string) *SubscriptionsActivateCall { c := &SubscriptionsActivateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customerId = customerId c.subscriptionId = subscriptionId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *SubscriptionsActivateCall) Fields(s ...googleapi.Field) *SubscriptionsActivateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *SubscriptionsActivateCall) Context(ctx context.Context) *SubscriptionsActivateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *SubscriptionsActivateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *SubscriptionsActivateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/activate") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "customerId": c.customerId, "subscriptionId": c.subscriptionId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "reseller.subscriptions.activate" call. // Any non-2xx status code is an error. Response headers are in either // *Subscription.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *SubscriptionsActivateCall) Do(opts ...googleapi.CallOption) (*Subscription, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Subscription{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type SubscriptionsChangePlanCall struct { s *Service customerId string subscriptionId string changeplanrequest *ChangePlanRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // ChangePlan: Updates a subscription plan. Use this method to update a plan // for a 30-day trial or a flexible plan subscription to an annual commitment // plan with monthly or yearly payments. How a plan is updated differs // depending on the plan and the products. For more information, see the // description in manage subscriptions // (/admin-sdk/reseller/v1/how-tos/manage_subscriptions#update_subscription_plan // ). // // - customerId: This can be either the customer's primary domain name or the // customer's unique identifier. If the domain name for a customer changes, // the old domain name cannot be used to access the customer, but the // customer's unique identifier (as returned by the API) can always be used. // We recommend storing the unique identifier in your systems where // applicable. // - 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. func (r *SubscriptionsService) ChangePlan(customerId string, subscriptionId string, changeplanrequest *ChangePlanRequest) *SubscriptionsChangePlanCall { c := &SubscriptionsChangePlanCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customerId = customerId c.subscriptionId = subscriptionId c.changeplanrequest = changeplanrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *SubscriptionsChangePlanCall) Fields(s ...googleapi.Field) *SubscriptionsChangePlanCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *SubscriptionsChangePlanCall) Context(ctx context.Context) *SubscriptionsChangePlanCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *SubscriptionsChangePlanCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *SubscriptionsChangePlanCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.changeplanrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/changePlan") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "customerId": c.customerId, "subscriptionId": c.subscriptionId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "reseller.subscriptions.changePlan" call. // Any non-2xx status code is an error. Response headers are in either // *Subscription.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *SubscriptionsChangePlanCall) Do(opts ...googleapi.CallOption) (*Subscription, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Subscription{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type SubscriptionsChangeRenewalSettingsCall struct { s *Service customerId string subscriptionId string renewalsettings *RenewalSettings urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // ChangeRenewalSettings: Updates a user license's renewal settings. This is // applicable for accounts with annual commitment plans only. For more // information, see the description in manage subscriptions // (/admin-sdk/reseller/v1/how-tos/manage_subscriptions#update_renewal). // // - customerId: This can be either the customer's primary domain name or the // customer's unique identifier. If the domain name for a customer changes, // the old domain name cannot be used to access the customer, but the // customer's unique identifier (as returned by the API) can always be used. // We recommend storing the unique identifier in your systems where // applicable. // - 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. func (r *SubscriptionsService) ChangeRenewalSettings(customerId string, subscriptionId string, renewalsettings *RenewalSettings) *SubscriptionsChangeRenewalSettingsCall { c := &SubscriptionsChangeRenewalSettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customerId = customerId c.subscriptionId = subscriptionId c.renewalsettings = renewalsettings return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *SubscriptionsChangeRenewalSettingsCall) Fields(s ...googleapi.Field) *SubscriptionsChangeRenewalSettingsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *SubscriptionsChangeRenewalSettingsCall) Context(ctx context.Context) *SubscriptionsChangeRenewalSettingsCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *SubscriptionsChangeRenewalSettingsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *SubscriptionsChangeRenewalSettingsCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.renewalsettings) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/changeRenewalSettings") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "customerId": c.customerId, "subscriptionId": c.subscriptionId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "reseller.subscriptions.changeRenewalSettings" call. // Any non-2xx status code is an error. Response headers are in either // *Subscription.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *SubscriptionsChangeRenewalSettingsCall) Do(opts ...googleapi.CallOption) (*Subscription, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Subscription{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type SubscriptionsChangeSeatsCall struct { s *Service customerId string subscriptionId string seats *Seats urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // ChangeSeats: Updates a subscription's user license settings. For more // information about updating an annual commitment plan or a flexible plan // subscription’s licenses, see Manage Subscriptions // (/admin-sdk/reseller/v1/how-tos/manage_subscriptions#update_subscription_seat // ). // // - customerId: This can be either the customer's primary domain name or the // customer's unique identifier. If the domain name for a customer changes, // the old domain name cannot be used to access the customer, but the // customer's unique identifier (as returned by the API) can always be used. // We recommend storing the unique identifier in your systems where // applicable. // - 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. func (r *SubscriptionsService) ChangeSeats(customerId string, subscriptionId string, seats *Seats) *SubscriptionsChangeSeatsCall { c := &SubscriptionsChangeSeatsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customerId = customerId c.subscriptionId = subscriptionId c.seats = seats return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *SubscriptionsChangeSeatsCall) Fields(s ...googleapi.Field) *SubscriptionsChangeSeatsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *SubscriptionsChangeSeatsCall) Context(ctx context.Context) *SubscriptionsChangeSeatsCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *SubscriptionsChangeSeatsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *SubscriptionsChangeSeatsCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.seats) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/changeSeats") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "customerId": c.customerId, "subscriptionId": c.subscriptionId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "reseller.subscriptions.changeSeats" call. // Any non-2xx status code is an error. Response headers are in either // *Subscription.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *SubscriptionsChangeSeatsCall) Do(opts ...googleapi.CallOption) (*Subscription, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Subscription{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type SubscriptionsDeleteCall struct { s *Service customerId string subscriptionId string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Cancels, suspends, or transfers a subscription to direct. // // - customerId: This can be either the customer's primary domain name or the // customer's unique identifier. If the domain name for a customer changes, // the old domain name cannot be used to access the customer, but the // customer's unique identifier (as returned by the API) can always be used. // We recommend storing the unique identifier in your systems where // applicable. // - deletionType: The `deletionType` query string enables the cancellation, // downgrade, or suspension of a subscription. // - 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. func (r *SubscriptionsService) Delete(customerId string, subscriptionId string, deletionType string) *SubscriptionsDeleteCall { c := &SubscriptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customerId = customerId c.subscriptionId = subscriptionId c.urlParams_.Set("deletionType", deletionType) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *SubscriptionsDeleteCall) Fields(s ...googleapi.Field) *SubscriptionsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *SubscriptionsDeleteCall) Context(ctx context.Context) *SubscriptionsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *SubscriptionsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *SubscriptionsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "customerId": c.customerId, "subscriptionId": c.subscriptionId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "reseller.subscriptions.delete" call. func (c *SubscriptionsDeleteCall) Do(opts ...googleapi.CallOption) error { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if err != nil { return err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return gensupport.WrapError(err) } return nil } type SubscriptionsGetCall struct { s *Service customerId string subscriptionId string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a specific subscription. The `subscriptionId` can be found using // the Retrieve all reseller subscriptions // (/admin-sdk/reseller/v1/how-tos/manage_subscriptions#get_all_subscriptions) // method. For more information about retrieving a specific subscription, see // the information descrived in manage subscriptions // (/admin-sdk/reseller/v1/how-tos/manage_subscriptions#get_subscription). // // - customerId: This can be either the customer's primary domain name or the // customer's unique identifier. If the domain name for a customer changes, // the old domain name cannot be used to access the customer, but the // customer's unique identifier (as returned by the API) can always be used. // We recommend storing the unique identifier in your systems where // applicable. // - 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. func (r *SubscriptionsService) Get(customerId string, subscriptionId string) *SubscriptionsGetCall { c := &SubscriptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customerId = customerId c.subscriptionId = subscriptionId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *SubscriptionsGetCall) Fields(s ...googleapi.Field) *SubscriptionsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *SubscriptionsGetCall) IfNoneMatch(entityTag string) *SubscriptionsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *SubscriptionsGetCall) Context(ctx context.Context) *SubscriptionsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *SubscriptionsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *SubscriptionsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "customerId": c.customerId, "subscriptionId": c.subscriptionId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "reseller.subscriptions.get" call. // Any non-2xx status code is an error. Response headers are in either // *Subscription.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *SubscriptionsGetCall) Do(opts ...googleapi.CallOption) (*Subscription, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Subscription{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type SubscriptionsInsertCall struct { s *Service customerId string subscription *Subscription urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Insert: Creates or transfer a subscription. Create a subscription for a // customer's account that you ordered using the Order a new customer account // (/admin-sdk/reseller/v1/reference/customers/insert.html) method. For more // information about creating a subscription for different payment plans, see // manage subscriptions // (/admin-sdk/reseller/v1/how-tos/manage_subscriptions#create_subscription).\ // If you did not order the customer's account using the customer insert // method, use the customer's `customerAuthToken` when creating a subscription // for that customer. If transferring a G Suite subscription with an associated // Google Drive or Google Vault subscription, use the batch operation // (/admin-sdk/reseller/v1/how-tos/batch.html) to transfer all of these // subscriptions. For more information, see how to transfer subscriptions // (/admin-sdk/reseller/v1/how-tos/manage_subscriptions#transfer_a_subscription) // . // // - customerId: This can be either the customer's primary domain name or the // customer's unique identifier. If the domain name for a customer changes, // the old domain name cannot be used to access the customer, but the // customer's unique identifier (as returned by the API) can always be used. // We recommend storing the unique identifier in your systems where // applicable. func (r *SubscriptionsService) Insert(customerId string, subscription *Subscription) *SubscriptionsInsertCall { c := &SubscriptionsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customerId = customerId c.subscription = subscription return c } // Action sets the optional parameter "action": The intented insert action. The // usage of this field is governed by certain policies which are being // developed & tested currently. Hence, these might not work as intended. Once // this is fully tested & available to consume, we will share more information // about its usage, limitations and policy documentation. // // Possible values: // // "actionUnspecified" - Auto determines whether to create new subscription, // // upgrade or downagrade existing subscription or transfer the existing // subscription // // "buy" - Create new subscription // "switch" - Switch existing subscription to another sku (upgrade/downgrade) func (c *SubscriptionsInsertCall) Action(action string) *SubscriptionsInsertCall { c.urlParams_.Set("action", action) return c } // CustomerAuthToken sets the optional parameter "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. func (c *SubscriptionsInsertCall) CustomerAuthToken(customerAuthToken string) *SubscriptionsInsertCall { c.urlParams_.Set("customerAuthToken", customerAuthToken) return c } // SourceSkuId sets the optional parameter "sourceSkuId": The sku_id of the // existing subscription to be upgraded or downgraded. This is required when // action is SWITCH. The usage of this field is governed by certain policies // which are being developed & tested currently. Hence, these might not work as // intended. Once this is fully tested & available to consume, we will share // more information about its usage, limitations and policy documentation. func (c *SubscriptionsInsertCall) SourceSkuId(sourceSkuId string) *SubscriptionsInsertCall { c.urlParams_.Set("sourceSkuId", sourceSkuId) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *SubscriptionsInsertCall) Fields(s ...googleapi.Field) *SubscriptionsInsertCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *SubscriptionsInsertCall) Context(ctx context.Context) *SubscriptionsInsertCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *SubscriptionsInsertCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *SubscriptionsInsertCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.subscription) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "apps/reseller/v1/customers/{customerId}/subscriptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "customerId": c.customerId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "reseller.subscriptions.insert" call. // Any non-2xx status code is an error. Response headers are in either // *Subscription.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *SubscriptionsInsertCall) Do(opts ...googleapi.CallOption) (*Subscription, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Subscription{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type SubscriptionsListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists of subscriptions managed by the reseller. The list can be all // subscriptions, all of a customer's subscriptions, or all of a customer's // transferable subscriptions. Optionally, this method can filter the response // by a `customerNamePrefix`. For more information, see manage subscriptions // (/admin-sdk/reseller/v1/how-tos/manage_subscriptions). func (r *SubscriptionsService) List() *SubscriptionsListCall { c := &SubscriptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // CustomerAuthToken sets the optional parameter "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. func (c *SubscriptionsListCall) CustomerAuthToken(customerAuthToken string) *SubscriptionsListCall { c.urlParams_.Set("customerAuthToken", customerAuthToken) return c } // CustomerId sets the optional parameter "customerId": This can be either the // customer's primary domain name or the customer's unique identifier. If the // domain name for a customer changes, the old domain name cannot be used to // access the customer, but the customer's unique identifier (as returned by // the API) can always be used. We recommend storing the unique identifier in // your systems where applicable. func (c *SubscriptionsListCall) CustomerId(customerId string) *SubscriptionsListCall { c.urlParams_.Set("customerId", customerId) return c } // CustomerNamePrefix sets the optional parameter "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`. func (c *SubscriptionsListCall) CustomerNamePrefix(customerNamePrefix string) *SubscriptionsListCall { c.urlParams_.Set("customerNamePrefix", customerNamePrefix) return c } // MaxResults sets the optional parameter "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. func (c *SubscriptionsListCall) MaxResults(maxResults int64) *SubscriptionsListCall { c.urlParams_.Set("maxResults", fmt.Sprint(maxResults)) return c } // PageToken sets the optional parameter "pageToken": Token to specify next // page in the list func (c *SubscriptionsListCall) PageToken(pageToken string) *SubscriptionsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *SubscriptionsListCall) Fields(s ...googleapi.Field) *SubscriptionsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *SubscriptionsListCall) IfNoneMatch(entityTag string) *SubscriptionsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *SubscriptionsListCall) Context(ctx context.Context) *SubscriptionsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *SubscriptionsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *SubscriptionsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "apps/reseller/v1/subscriptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "reseller.subscriptions.list" call. // Any non-2xx status code is an error. Response headers are in either // *Subscriptions.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *SubscriptionsListCall) Do(opts ...googleapi.CallOption) (*Subscriptions, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Subscriptions{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *SubscriptionsListCall) Pages(ctx context.Context, f func(*Subscriptions) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type SubscriptionsStartPaidServiceCall struct { s *Service customerId string subscriptionId string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // StartPaidService: Immediately move a 30-day free trial subscription to a // paid service subscription. This method is only applicable if a payment plan // has already been set up for the 30-day trial subscription. For more // information, see manage subscriptions // (/admin-sdk/reseller/v1/how-tos/manage_subscriptions#paid_service). // // - customerId: This can be either the customer's primary domain name or the // customer's unique identifier. If the domain name for a customer changes, // the old domain name cannot be used to access the customer, but the // customer's unique identifier (as returned by the API) can always be used. // We recommend storing the unique identifier in your systems where // applicable. // - 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. func (r *SubscriptionsService) StartPaidService(customerId string, subscriptionId string) *SubscriptionsStartPaidServiceCall { c := &SubscriptionsStartPaidServiceCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customerId = customerId c.subscriptionId = subscriptionId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *SubscriptionsStartPaidServiceCall) Fields(s ...googleapi.Field) *SubscriptionsStartPaidServiceCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *SubscriptionsStartPaidServiceCall) Context(ctx context.Context) *SubscriptionsStartPaidServiceCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *SubscriptionsStartPaidServiceCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *SubscriptionsStartPaidServiceCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/startPaidService") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "customerId": c.customerId, "subscriptionId": c.subscriptionId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "reseller.subscriptions.startPaidService" call. // Any non-2xx status code is an error. Response headers are in either // *Subscription.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *SubscriptionsStartPaidServiceCall) Do(opts ...googleapi.CallOption) (*Subscription, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Subscription{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type SubscriptionsSuspendCall struct { s *Service customerId string subscriptionId string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Suspend: Suspends an active subscription. You can use this method to suspend // a paid subscription that is currently in the `ACTIVE` state. * For // `FLEXIBLE` subscriptions, billing is paused. * For `ANNUAL_MONTHLY_PAY` or // `ANNUAL_YEARLY_PAY` subscriptions: * Suspending the subscription does not // change the renewal date that was originally committed to. * A suspended // subscription does not renew. If you activate the subscription after the // original renewal date, a new annual subscription will be created, starting // on the day of activation. We strongly encourage you to suspend subscriptions // only for short periods of time as suspensions over 60 days may result in the // subscription being cancelled. // // - customerId: This can be either the customer's primary domain name or the // customer's unique identifier. If the domain name for a customer changes, // the old domain name cannot be used to access the customer, but the // customer's unique identifier (as returned by the API) can always be used. // We recommend storing the unique identifier in your systems where // applicable. // - 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. func (r *SubscriptionsService) Suspend(customerId string, subscriptionId string) *SubscriptionsSuspendCall { c := &SubscriptionsSuspendCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.customerId = customerId c.subscriptionId = subscriptionId return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *SubscriptionsSuspendCall) Fields(s ...googleapi.Field) *SubscriptionsSuspendCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *SubscriptionsSuspendCall) Context(ctx context.Context) *SubscriptionsSuspendCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *SubscriptionsSuspendCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *SubscriptionsSuspendCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/suspend") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "customerId": c.customerId, "subscriptionId": c.subscriptionId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "reseller.subscriptions.suspend" call. // Any non-2xx status code is an error. Response headers are in either // *Subscription.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *SubscriptionsSuspendCall) Do(opts ...googleapi.CallOption) (*Subscription, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Subscription{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil }